 var whitespace = "\t\r\n"
 
 function validate()
 {
  var requiredFields = new Array ("First Name", "Last Name", "Email Address", "Comment");
  var fieldNames = new Array ("fname", "lname", "email", "question");
  var message = "Please fill in the following fields: \n\n";
  var fieldsGood = true;
  var d = document.askapro;

  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 ((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;
	  } 
     }
  
   if(!isEmail(d.email.value))
   { 
    alert("The email address entered is invalid.");
    d.email.focus();
    return false;
   }//end isEmail if statement
   return true;
  }//end fieldsGood if statement 
  else 
  {
  alert(message);
  return false;
  } //end else statement
}//end validate function

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 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.askapro.fullphone.value = "(" +a+ ") " +p+ "-" +s ;
							return true;
	     }//end buildPhone




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