function sizeChart(field)
{
	window.open('/size_chart','size chart','width=900,height=600,screenX=100,screenY=100,left=100,top=100,status,dependent,alwaysRaised,resizable,scrollbars')
}

function addItem(aList,aField) {
	rows++;

	var ul = document.getElementById(aList);
	li = document.createElement("li");
	li.setAttribute('id', 'item-' + rows);
	
	var itemHTML='<input type="file" id="image'+rows+'" name="'+aField+'[]" value="" size="30"> ';
	itemHTML+='<a href="javascript:;" class="link" onClick="delItem(\'item-'+rows+'\')">Delete</a>';
	
	li.innerHTML=itemHTML;
	
	ul.appendChild(li); 
	
	//Sortable.create(aField+'_files');
}

function delItem(aItem,aField) {
	var confirmed=confirm('are you sure?');
	
	if(confirmed){
		rows--;
		
		var obj = document.getElementById(aItem);
		obj.parentNode.removeChild(obj);
	}
	
	//Sortable.create(aField+'_files');
}

function clearItem(aField) {
    var field = document.getElementById(aField);
	var label = document.getElementById(aField+'_label');

	field.value='';
	label.innerHTML='';
}

Event.observe(window, 'load', init, false);

function init(evt)
{
	$('form').observe('submit', submitForm);

	Event.observe('sex', 'change', sex_changed, false);
	if( $('cleanlicence') ){
		Event.observe('cleanlicence', 'change', cleanlicence_changed, false);
	}
	if( $('criminal') ){
		Event.observe('criminal', 'change', criminal_changed, false);
	}
	if( $('marketing') ){
		Event.observe('marketing', 'change', marketing_changed, false);
	}
	
	sex_changed();
	cleanlicence_changed();
	criminal_changed();
	marketing_changed();
	
	
	var el, i = 0;
	while (el = $('form').elements[i++]){
		if( el.type != 'hidden' && el.type!='submit' ){
			//el.observe('change', reset_field.bindAsEventListener(el)); //doesn't work in ie!
			new Form.Element.EventObserver(el, reset_field.bindAsEventListener(el));
		}
	}
}

function reset_field(e) {
	this.style.backgroundColor='#FFFFFF';
}
	
function sex_changed()
{
	if( $F('sex')=='Female' ){
		if( $('chest') ){
			//$('chest').disabled=false;
		}
		if( $('cup') ){
			$('cup').disabled=false;
		}
		if( $('dress') ){
			$('dress').disabled=false;
		}
	}else{
		if( $('chest') ){
			//$('chest').disabled=true;
		}
		if( $('cup') ){
			$('cup').disabled=true;
		}
		if( $('dress') ){
			$('dress').disabled=true;
		}
	}
}
	
function cleanlicence_changed()
{
	if( !$('cleanlicence') ){
		return false;	
	}
	
	if( $F('cleanlicence')=='1' ){
		$('points').disabled=false;
	}else{
		$('points').disabled=true;
	}
}
	
function criminal_changed()
{
	if( !$('criminal') ){
		return false;	
	}
	
	if( $F('criminal')=='2' ){
		$('criminal_outline').disabled=false;
	}else{
		$('criminal_outline').disabled=true;
	}
}
	
function marketing_changed()
{
	if( !$('marketing') ){
		return false;	
	}
	
	if( $F('marketing')=='advert' ){
		$('marketing_detail_label').innerHTML='which publication?';
		$('marketing_detail').disabled=false;
	}else if( $F('marketing')=='received a leaflet' ){
		$('marketing_detail_label').innerHTML='where?';
		$('marketing_detail').disabled=false;
	}else if( $F('marketing')=='website, other' ){
		$('marketing_detail_label').innerHTML='please specify';
		$('marketing_detail').disabled=false;
	}else if( $F('marketing')=='saw promo people working' ){
		$('marketing_detail_label').innerHTML='where';
		$('marketing_detail').disabled=false;
	}else{
		$('marketing_detail_label').innerHTML='N/A';
		$('marketing_detail').disabled=true;
	}
}
	
function toggle_availability(check)
{
	if( check ){
		$('avail_mon').checked=true;
		$('avail_tue').checked=true;
		$('avail_wed').checked=true;
		$('avail_thu').checked=true;
		$('avail_fri').checked=true;
		$('avail_sat').checked=true;
		$('avail_sun').checked=true;
	}else{
		$('avail_mon').checked=false;
		$('avail_tue').checked=false;
		$('avail_wed').checked=false;
		$('avail_thu').checked=false;
		$('avail_fri').checked=false;
		$('avail_sat').checked=false;
		$('avail_sun').checked=false;
	}
}
	
function toggle_contact(check)
{
	if( check ){
		$('voicephone').checked=true;
		$('voicemobile').checked=true;
		$('sms').checked=true;
		$('emails').checked=true;
	}else{
		$('voicephone').checked=false;
		$('voicemobile').checked=false;
		$('sms').checked=false;
		$('emails').checked=false;
	}
}

var submitText;

function submitForm(evt)
{
	Event.stop(evt);
	
	var form=document.getElementById('form');

	submitText=$('submitButton').innerHTML;

	$('submitButton').disabled=true;
	$('submitButton').innerHTML='Saving...';

	var url = location.href;
	
	var pars = Form.serialize(form);
		pars=pars+'&validate=1';
	
	var myAjax = new Ajax.Request(
			url, 
			{
				method: 'post', 
				parameters: pars, 
				onComplete: submitResponse
			});
			
	return false;
}

function submitResponse(originalRequest)
{
	result = originalRequest.responseText;

	//alert(result);

	returned=eval(result);

	$('submitButton').disabled=false;
	$('submitButton').innerHTML=submitText;

	if( parseInt(returned)!=returned-0 ){
		if( returned.length>0 ){
			var errors='\n';
			for( i=0;i<returned.length;i++ ){
				if( returned[i]=='email in use' ){
					$('email').className='error';
					errors+='email in use\n';
				}else if( $(returned[i]) ){
					$(returned[i]).style.backgroundColor='#FFBFBF';
					errors+=returned[i]+'\n';
				}else{
					errors+=returned[i]+'\n';
				}
			}
			alert('Please check the following:'+errors);
			$(returned[0]).focus();
		}
	}else{
		showProgress();
		
		var updater = new PeriodicalExecuter(checkProgress, 1);
		
		$('form').submit();
	}
}

function showProgress(){
	Ext.MessageBox.show({
		title: 'Please wait - Uploading',
		msg: 'Uploading..',
		progressText: 'Initializing...',
		width:400,
		progress:true,
		closable:false
	});
}

function checkProgress() {
	var myAjax = new Ajax.Request(
		'_ajax/progress.php', 
		{
			method: 'POST', 
			parameters: { 'uniq': $('progress_key').value }, 
			onComplete: function(result){
				//alert(result.responseText);
				if(result.responseText){
					var upload=eval('(' + result.responseText + ')');
					Ext.MessageBox.updateProgress((upload.perc/100), upload.perc+'% completed');
					Ext.MessageBox.updateText(upload.status);
				}
			}
		});
}