var whitespace = " \t\n\r";

function isEmpty(s) {
var i; 

if((s==null)||(s.length==0)) return true;
for(i=0; i<s.length;i++) {
var c = s.charAt(i);
if (whitespace.indexOf(c) == -1) return false;
}

return true;
}

function IsNumber(sText) {
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
   
function IsPhoneNumber(sText) {
	phoneRegex = /^\(\d{3]\) \d{3}-\d{4}$/;
  
  	//if( !sText.match( phoneRegex ) )
  		//return false;   
		
	return true;
}
   
function validateZipCode(theField) {
   	var ValidChars = "0123456789";
	var x = theField.value;
			
			
	if(isEmpty(x)) {
		/*
		alert("Zip code is required");
		theField.focus();
		return false; 
		*/
		return true;
	}
		
	if (x.length != 5) {
		alert("Zip code is invalid.");
		theField.focus();
		return false;
		}
		
	if (!IsNumber(x)) {
		alert("Zip code is invalid.");
		theField.focus();
		return false;
		}
		
	return true;
   }

function validateEmailAddress(theField) {
	var x = theField.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
			if(isEmpty(x)) {
		alert("Email is required");
		theField.focus();
		return false; }
	
	if (!filter.test(x)) {
		alert("Invalid email address");
		theField.focus();
		return false;
		}

	return true;
}

function validatePhoneNumber(theField) {
  	var n = theField.value; 
	
	if(isEmpty(n)) {
		alert("Phone number is required");
		theField.focus();
		return false; }
		
	if (!IsPhoneNumber(n)) {
		alert("The phone number you entered is not valid.\r\nPlease enter a phone number with the format (xxx) xxx-xxxx.");
		theField.focus();
		return false;
	}
		
	return true;
}

function validate(theForm) {
	/*
	if(isEmpty(theForm.firstname.value)) {
		alert("First name is required");
		theForm.firstname.focus();
		return false; }
		
	if(isEmpty(theForm.lastname.value)) {
		alert("Last name is required");
		theForm.lastname.focus();
		return false; }
	*/
	if (!validateEmailAddress(theForm.email))
		return false;
	
	if (!validateZipCode(theForm.zipcode))
		return false;
		
	/*	
	if (!validatePhoneNumber(theForm.phone))
		return false;
		*/
	return true;
}
/* THIS WAS CREATING AN ERROR IN IE */
function focusFirst() {
	document.forms[0].elements['email'].focus();
}

window.onload = focusFirst; 