//contact.js

var nameArr = new Array();
nameArr[0] = "Company Name";
nameArr[1] = "E-mail";
nameArr[2] = "First Name";
nameArr[3] = "Last Name";
nameArr[4] = "City";
nameArr[5] = "State/Provice";
nameArr[6] = "Zip Code";
nameArr[7] = "Country";
nameArr[8] = "Comments";

function fieldck(obj) {
for (i=0; i<obj.elements.length-1; i++) {
 if (i == 5 || i == 7) continue;
 //skip the check for zip code cause if someone lives outside the U.S. or Canada, they won't have one!
 	if (obj.elements[i].value == "" && nameArr[i] != "Zip Code") {
		alert(nameArr[i] + " is a required field.");
		obj.elements[i].focus();
		return false;
	}//closing inner if brace
	if (i == 1) {//check to make sure we have a properly formatted e-mail address
		if (!checkcontactemail()) {
			obj.elements[i].focus();
			obj.elements[i].select();
			return false;
		}
	}//closing i == 1 brace
	
	//now check that if we have a state selected, we have a U.S. zip. Else if we have a province selected, we have a Canadian zip
	if (i == 6) {
		if (!checkzip()) {
			obj.elements[i].focus();
			obj.elements[i].select();
			return false;
		}
	}//closing i == 6 brace
}//closing loop brace
return true;
}

function checkcontactemail() {
fieldvalue = document.contact.email.value;
	var str = fieldvalue;
	var filter=/^[A-Z|a-z|0-9|\-|\_|\.]*[A-Z|a-z|0-9]+@[A-Z|a-z|0-9|\-]*[A-Z|a-z|0-9|\-|\.]*[A-Z|a-z|0-9]+\.[A-Z|a-z|0-9]{2,3}$/;	

	if (str.indexOf(" ") != -1)
	{
		alert("Please do not include space(s) in your e-mail address.");
		return false;
	}
	//now use test method to check for a pattern match
	if (!filter.test(str))		
	{	
		alert("Please enter your e-mail address in the format shown below. \njohn.doe@aol.com or johndoe@aol.com.");		
		return false;
	}
	return true;
}

function checkzip() {
var uszip;
var isUsa;
	var zipStr = document.contact.zipcode.value;
	if (zipStr == "") return true;//only check it if we have something in the zip code field, otherwise let it go since zip code is not req'd

	//if the country isn't the U.S. then skip the zip check even if something is in the field.

	var selCountry = document.contact.country.options[document.contact.country.selectedIndex].value;
	
	if (selCountry == "United States") isUsa = true;
	else isUsa = false;
	if (isUsa) {
	//determine whether we are checking a U.S. zip or a Canadian zip
	var selStateObj = document.contact.state_province.options[document.contact.state_province.selectedIndex].value;
	
	if (selStateObj > 51) uszip = false;
	else uszip = true;
	
	if (uszip)
	//check for valid US Zipcode
	var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	//else it's Canadian
	else objRegExp  = /^[a-cehj-npr-tvxy]\d[a-z](\s)?\d[a-z]\d$/i
   
  if (!objRegExp.test(zipStr)) {
  	alert("Please check the formatting of your zip code.\nU.S. zip codes should be in the format 99999 or 99999-9999.\nCanadian zip codes should be in the format L0L 0L0\n'(letternumberletterspacenumberletternumber)'.");
	return false;
  }
  return true;
  }//closing if statement for isUsa if statement
  else return true;
}