var whitespace = "\t\r\n" 

function validateForm()
 {
  var requiredFields = new Array ("First Name", "Last Name", "Email Address");
  var fieldNames = new Array ("fname", "lname", "email");
  var message = "Please fill in the following fields: \n\n";
  var fieldsGood = true;
  d = document.contactform;

  for(var i=0;i<requiredFields.length;i++)
  {
   if(trim(d.elements[fieldNames[i]].value) == "")
   {
    message += requiredFields[i]+ "\n"
    fieldsGood = false; 
   }// end if
  }//end for loop
 
  if(fieldsGood == true)
  {
   if(!isEmail(d.email.value))
   { 
    alert("The email address entered is invalid.");
    d.email.focus();
    return false;
   }//end isEmail if statement
   
   if ((trim(d.areacode.value) != "") && (trim(d.prefix.value) != "") && (trim(d.suffix.value) != ""))
   {
	  if (buildPhone(d.areacode.value,d.prefix.value,d.suffix.value) == false) 
	  {
	   alert("The phone number entered is invalid");
	   return false;
	  } 
   }
   else
   {
    alert("The phone number entered is invalid");
	return false;
   }
  

 }//end fieldsGood if statement 
 else 
 {
 alert(message);
 return false;
 } //end else statement

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

 function buildPhone(a,p,s)
	     {
	      if((a.length != 3) || (isNaN(a)))
	      {
	       return false;
	      }
	     
	      if((p.length != 3) || (isNaN(p)))
	      {
	       return false;
	      }
	      
	      if((s.length != 4) || (isNaN(s)))
	      {
	       return false;
		  }
							//alert("Phone Number: " + a + " " + p + " " + s)
							document.contactform.fullphone.value = "(" +a+ ") " +p+ "-" +s 
							return true;
	     }//end buildPhone

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 isZip(z)
 {
  var zipPattern = /\d{5}(-\d{4})?/;
  result = z.match(zipPattern);
  if (result != null){return true;}
 }//end function isZip
 
}
