function validateFormOnSubmit(theForm)
{
	var reason = "";
	theForm.style.background = '';
	
	reason += validateName(theForm.name);
	reason += validateEmail(theForm.email);
	reason += validateMessage(theForm.message);
	
	if (reason != "")
	{
		alert("The following field(s) need correction(s):\n\n" + reason);
		return false;
	}
	
	return true;
}

function validateEmpty(fld)
{
	var error = "";
	
	if (fld.value.length == 0)
	{
		fld.style.background = '#fff0c5';
		error = "The required field has not been filled in.\n"
	}
	else
	{
		fld.style.background = '#FFFFFF';
	}
	
	return error;
}


function validateName(fld)
{
	var error = "";
	var illegalChars = /[\(\%\`\~\!\@\#\$\%\^\&\*\)\<\>\,\;\:\\\"\[\]]/ ;
	
	if (fld.value.length == "")
	{
		fld.style.background = '#fff0c5';
		document.getElementById('namespan').innerHTML=' ^ Please enter your name ^ ';
		error = "Please enter your Name.\n"
	}
	else if (illegalChars.test(fld.value))
	{
		fld.style.background = '#fff0c5';
		document.getElementById('namespan').innerHTML=' ^  The name contains illegal characters ^ ';
		error = "The name contains illegal characters.\n"
	}
	else if ((fld.value.length < 3) || (fld.value.length > 30))
	{
		fld.style.background = '#fff0c5';
		document.getElementById('namespan').innerHTML=' ^  Please enter your full name ^ ';
		error = "The name is of wrong length.\n"
	}
	else
	{
		fld.style.background = '#FFFFFF';
		document.getElementById('namespan').innerHTML='<img src=images/correct.gif border=0 alt=correct />';
	}	
	return error;
}



function validateMessage(fld)
{
	var error = "";
	
	if (fld.value.length == "")
	{
		fld.style.background = '#fff0c5';
		document.getElementById('messagespan').innerHTML=' ^ Please enter your message ^ ';
		error = "Please enter your Message.\n"
	}
	else if ((fld.value.length < 3) || (fld.value.length > 1000))
	{
		fld.style.background = '#fff0c5';
		document.getElementById('messagespan').innerHTML=' ^  Message is of wrong length ^ ';
		error = "Message is of wrong length.\n"
	}
	else
	{
		fld.style.background = '#FFFFFF';
		document.getElementById('messagespan').innerHTML='<img src=images/correct.gif border=0 alt=correct />';
	}	
	return error;
}




function trim(s)
{
	return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld)
{
	var error = "";
	var tfld = trim(fld.value);
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var illegalChars = /[\(\%\`\~\!\#\$\%\^\&\*\)\<\>\,\;\:\\\"\[\]]/ ;
	
	if (fld.value.length == "")
	{
		fld.style.background = '#fff0c5';
		error = "Please enter your Email address.\n"
		document.getElementById('emailspan').innerHTML=' ^  Please enter your email address ^ ';
	}
	else if (fld.value.match(illegalChars))
	{
		fld.style.background = '#fff0c5';
		error = "The email address contains illegal characters.\n"
		document.getElementById('emailspan').innerHTML=' ^  Email contains illegal characters ^ ';
	}
	else if (!emailFilter.test(tfld))
	{
		fld.style.background = '#fff0c5';
		error = "Please enter a valid Email address.\n"
		document.getElementById('emailspan').innerHTML=' ^  Please enter valid email address ^ ';
	}
	else
	{
		fld.style.background = '#FFFFFF';
		document.getElementById('emailspan').innerHTML='<img src=images/correct.gif border=0 alt=correct />';
	}	
	return error;
}
