// JavaScript Document
function validate_form()
{
	// set page form element
	var form = document.web_contact;
	// 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':
			case 'surname':
			case 'date_start':
			case 'date_end':
				if(trim(form.elements[i].value)=='') ef=1;
				form.elements[i].style.height = '18px';
				form.elements[i].style.paddingTop = '2px';
				form.elements[i].style.paddingLeft = '1px';
				break;

			case 'comments':
				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;
				form.elements[i].style.height = '18px';
				form.elements[i].style.paddingTop = '2px';
				form.elements[i].style.paddingLeft = '1px';
				break;
				
			default:
				// reset element flag (non-required element)
				var ef = -1;
				break;
		}

		if(ef==1) {	// error on field
			form.elements[i].style.backgroundColor = '#DDDDDD';
			form.elements[i].style.border = '1px solid #000000';
			flag = false;	// error on form
		} else if(ef==0) {	// reset field if validated
			form.elements[i].style.backgroundColor = '#FFFFFF';
			form.elements[i].style.border = '1px solid #999999';
		}
	}
	
	if(!flag) 
	{	alert("Invalid information entered, please complete the highlighted fields (*)."); }
		
	return flag;
}
