var whitespace = "\t\r\n"


function validate()
{
	var requiredFields = new Array("fname", "lname","email","comment");
	var fieldNames = new Array("First Name", "Last Name","Email Address","Comments");
	var missedFields = "Please enter values in the following fields:\n\n" ;
	var f = document.contactform;
	var fieldsGood = true;

	for(var i=0; i<requiredFields.length; i++)
	{
	if(trim(f.elements[requiredFields[i]].value) == "")
	{
		missedFields = missedFields += fieldNames[i]+"\n";
		fieldsGood = false;   
	}
	} 
	
    
	if(fieldsGood == true)
	{
	 
	 if(!isEmail(f.email.value))
	 { 
		alert("The email address entered is invalid.");
		f.email.focus();
		return false;
	 } //end isEmail if statement
	 
	 if(f.location.selectedIndex == 0)
	 {
	  alert("Please select your nearest location.");
	  f.location.focus();
	  return false;
	 }
	 
	 
     return true;
	}
	else
	{
	 alert(missedFields);
	 return false;
	}
 }


function trim(s)
{//trims whitespace and carrige returns from beginnings and ends values
 s = s.replace(/\s*$/, "");
 s = s.replace(/^\s*/, "");
 return s; 
}//end function trim



function isEmail(x)
{
 if((x == "") || (x == null)){return false;}
	      
 if(hasWhitespace(x)){return false;}
	      
 var i = 1;
 while((i<x.length) && (x.charAt(i) != "@"))
 {
   i++;
 }
    
 if((i>x.length) || (x.charAt(i) != "@"))
 {
  return false;
 }
 else
 {
  i += 2;
 }
	      
 while((i<x.length) && (x.charAt(i) != "."))
 {
   i++;
 }
	      
 if((i>x.length) || (x.charAt(i) != "."))
 {
  return false;
 }
 else
 {
  return true;
 }
}//end isEmail function

function hasWhitespace(x)
{     	      
 for(var i=0;i<x.length;i++)
 {
  var c = x.charAt(i)
  if(whitespace.indexOf(c) == -1){return false;}
 }
 
 return true;
}//end whitespace function
