function validateForm()
{
	// set page form element
	var form = document.detailForm;
	// set flag to TRUE: default all fields correct
	var flag = true;
	// set element flag to -1: default (field not required validation)
	var ef = -1;	
	// check each field in the form
	for(i=0; i<form.elements.length; i++) {
		
		ef=0; // presumed valid
		
		// check any field listed
		switch (form.elements[i].id) {
			case 'firstname':
				if(trim(form.elements[i].value)=='') ef=1;
				break;

			case 'email':
				var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
				if(trim(form.elements[i].value)=='' || !form.elements[i].value.match(re)) ef=1;
				break;

			default:
				// reset element flag (non-required element)
				var ef = -1;
				break;
		}

		if(ef==1) {	// error on field
			form.elements[i].style.backgroundColor = '#DDDDDD';
			flag = false;	// error on form
		} else if(ef==0) {	// reset field if validated
			form.elements[i].style.backgroundColor = '#FFFFFF';
		}
	}
	
	if(!flag) 
	{	alert("Invalid information entered, please complete the highlighted fields (*)."); }
		
	return flag;
}
