var errorList;

function resetEmailForm(){
	resetColours();
	var nameField = document.getElementById('firstName');
	var surnameField = document.getElementById('lastName');
	var phoneField = document.getElementById('homePhone');
	var mobileField = document.getElementById('mobilePhone');
	var emailField = document.getElementById('email');
	var eventCbx = document.getElementById('eventType');
	var commentsField = document.getElementById('comments');
	
	nameField.value = '';
	surnameField.value = '';
	phoneField.value = '';
	mobileField.value = '';
	emailField.value = '';
	commentsField.value = '';
	eventCbx.selectedIndex = 0;

}

function sendEmail(){
	var valid = validateForm();
	if(valid){
		document.emailForm.submit();
	}else{
		highlightErrors();
		alert('Please correct the highlighted fields before continuing.');
	}
}

function validateForm(){
	resetColours();
	var errorCount = 0;
	var nameField = document.getElementById('firstName');
	var surnameField = document.getElementById('lastName');
	var areaCodeField = document.getElementById('areaCode');
	var phoneField = document.getElementById('homePhone');
	var mobileField = document.getElementById('mobilePhone');
	var emailField = document.getElementById('email');
	var eventCbx = document.getElementById('eventType');
	var commentsField = document.getElementById('comments');
	
	if (trim(nameField.value).length==0) errorList[errorCount++]='firstName';
	if (trim(surnameField.value).length==0) errorList[errorCount++]='lastName';
	if (trim(commentsField.value).length==0) errorList[errorCount++]='comments';
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(emailField.value)) errorList[errorCount++]='email';
	
	
	if ((areaCodeField.value.length==0 || phoneField.value.length==0) && mobileField.value.length==0) {
		// all empty
			errorList[errorCount++]='areaCode';
			errorList[errorCount++]='homePhone';
			errorList[errorCount++]='mobilePhone';
	}
	
	if ((areaCodeField.value.length > 0 || phoneField.value.length > 0) && mobileField.value.length > 0){
		//neither empty		
		if (areaCodeField.value.length != 2 || areaCodeField.value.substring(0,1) != '0' || phoneField.value.length != 8){
			errorList[errorCount++]='areaCode';
			errorList[errorCount++]='homePhone';
		}
		if (mobileField.value.length != 10) errorList[errorCount++]='mobilePhone';
	}
	
	if ((areaCodeField.value.length == 0 && phoneField.value.length == 0) && mobileField.value.length > 0){
		//home phone empty ... mobile not empty	
		if (mobileField.value.length != 10) errorList[errorCount++]='mobilePhone';
	}
	
	if ((areaCodeField.value.length != 0 || phoneField.value.length != 0) && mobileField.value.length == 0){
		//mobile empty ... home phone not empty	
		if (areaCodeField.value.length != 2 || areaCodeField.value.substring(0,1) != '0' || phoneField.value.length != 8){
			errorList[errorCount++]='areaCode';
			errorList[errorCount++]='homePhone';
		}
	}
	
	return errorCount == 0;
}


function highlightErrors(){
	for(i=0;i<errorList.length;i++){
		document.getElementById(errorList[i]).style.backgroundColor = "yellow";	
	}
}

function resetColours(){
	errorList = new Array;
	document.getElementById('firstName').style.backgroundColor = "white";	
	document.getElementById('lastName').style.backgroundColor = "white";
	document.getElementById('areaCode').style.backgroundColor = "white";	
	document.getElementById('homePhone').style.backgroundColor = "white";	
	document.getElementById('mobilePhone').style.backgroundColor = "white";	
	document.getElementById('email').style.backgroundColor = "white";	
	document.getElementById('eventType').style.backgroundColor = "white";	
	document.getElementById('comments').style.backgroundColor = "white";	
}