function validateFormOnSubmit(theForm)
{
	var error = "";
	
	error += validateEmpty(theForm.txtFirstName);
	error += validateEmpty(theForm.txtLastName);
	error += validateEmail(theForm.txtEmailAdd);
	error += validatePhone(theForm.txtPhone);
	error += validateEmpty(theForm.txtMessage);
	
	if(error != "")
	{
		document.getElementById('error_fname').innerHTML = validateEmpty(theForm.txtFirstName);
		document.getElementById('error_lname').innerHTML = validateEmpty(theForm.txtLastName);
		document.getElementById('error_email').innerHTML = validateEmail(theForm.txtEmailAdd);
		document.getElementById('error_phone').innerHTML = validatePhone(theForm.txtPhone);
		document.getElementById('error_msg').innerHTML = validateEmpty(theForm.txtMessage);

		
		return false;
	}
	
	return true;
	
}//validateFormOnSubmit(theForm)

function validateEmpty(fld)
{
	var error = "";
	
	if(fld.value.length == 0)
	{
		fld.style.background = 'Yellow';
		error = fieldName(fld.name) + " cannot be blank\n";
	}
	else
	{
		fld.style.background = 'White';
	}
	
	return error;
	
}//validateEmpty(fld)



function validatePhone(fld)
{
	/*	
	/
	^						// start of regex
	(
		(\+230)				// +230
		|
		(\(230\))			// (230)
	)?
	[-. ]?					// - or . or space zero or once
	\d{3}					// any 3 digits
	[-. ]?					// - or . or space zero or once
	\d{4}					// any 4 digits
	$						// end of regex
	/
	
	
	Examples of accepted phone numbers:
	xxx xxx xxxx or xxx-xxx-xxxx or xxx.xxx.xxxx
	+xxx xxx xxxx or +xxx-xxx-xxxx or +xxx.xxx.xxxx
	(xxx) xxx xxxx or (xxx)-xxx-xxxx or (xxx).xxx.xxxx */
	
	var error = "";
	
	phoneNum =  new RegExp(/^((\+?230)|(\(230\)))?[-. ]?\d{3}[-. ]?\d{4}$/);
	
	if(fld.value.length != 0)
	{
		if(!phoneNum.test(fld.value))
		{
			error = "Invalid " + fieldName(fld.name);
			fld.style.background = 'Yellow';
			fld.select();
		}
		else
		{
			fld.style.background = 'White';
		}
	}//if
	
	return error;

}//validatePhone(fld)

function validateEmail(fld)
{
	var error = "";
	
  	var emailAdd = new RegExp(/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/);
	
	if(fld.value.length == 0)
	{
		fld.style.background = 'Yellow';
		error = fieldName(fld.name) + " cannot be blank\n";
	}
	else
	{
		if(!emailAdd.test(fld.value))
		{
			error = "Invalid email address";
			fld.style.background = 'Yellow';
			fld.select();
		}//if
		else
		{
			fld.style.background = 'White';
		}//else
	}//else
	
	return error;
	
}//validateEmail(fld)

function fieldName(fld)
{
	var field = "";
	
	switch(fld)
	{
		case "txtFirstName":
			field = "First Name";
		break;
		
		case "txtLastName":
			field = "Last Name";
		break;
			
		case "txtPostalAdd":
			field = "Postal Address";
		break;
		
		case "txtPhone":
			field = "Phone Number";
		break;
		
		case "txtEmailAdd":
			field = "Email Address";
		break;
		
		case "txtMessage":
			field = "Message";
		break;
				
		default:
			field = "This field";
		break;
	}//switch
	
	return field;
	
}//fieldName(fld)