var webFormVar = new WebForm();
var f; //global form variable
/* START VALIDATION ROUTINE ***********/
function form_onSubmit() {
  webFormVar.resetErrors();
  f = document.forms['genForm'];
  var countryValue = f.countryCode[f.countryCode.selectedIndex].value;
  var stateValue = f.stateProvince[f.stateProvince.selectedIndex].value;

  if (!isValidNameField(f.firstName.value,1)) {webFormVar.addError("firstNameLabel","firstNameErrorDiv","!inst", "instAlt")};
  if (!isValidNameField(f.middleInitial.value,0)) {webFormVar.addError("middleInitLabel","middleInitErrorDiv","!inst", "instAlt")};
  if (!isValidNameField(f.lastName.value,1)) {webFormVar.addError("lastNameLabel","lastNameErrorDiv","!inst", "instAlt")};
  if (!nameContainsNumber(f.firstName.value,1)) {webFormVar.addError("firstNameLabel","firstNameNotValiddErrorDiv","!inst", "instAlt")};
  if (!nameContainsNumber(f.lastName.value,1)) {webFormVar.addError("lastNameLabel","lastNameNotValidErrorDiv","!inst", "instAlt")};
  if (!isValidEmail(f.emailAddress.value)) {webFormVar.addError("emailLabel","emailNotValidErrorDiv","!inst", "instAlt")};
  if (!isValidAddress(f.streetAddress1.value,1)) {webFormVar.addError("addressLabel","addressErrorDiv","!inst", "instAlt")};
  if (!isValidAddress(f.streetAddress2.value,0)) {webFormVar.addError("addressLabel","addressErrorDiv","!inst", "instAlt")};
  if (!isValidCity(f.city.value,1)) {webFormVar.addError("cityLabel","cityErrorDiv","!inst", "instAlt")};
  if (isValidZip(f.zipPostalZone.value, countryValue) == false) {webFormVar.addError("zipLabel","zipNotValidErrorDiv","!inst", "instAlt")};
  if ((countryValue == 'US' || countryValue == 'CA' || countryValue == 'AU' || countryValue == 'MX') && isNull(stateValue)) {webFormVar.addError("stateLabel","stateErrorDiv","!inst", "instAlt")};
  if ((countryValue == 'US' || countryValue == 'CA') && isNull(f.zipPostalZone.value)) {webFormVar.addError("zipLabel","zipErrorDiv","!inst", "instAlt")};
  if (isNull(f.countryCode.value)) {webFormVar.addError("countryLabel","countryErrorDiv","!inst", "instAlt")};
  if (isValidPhone(f.telephone.value, f.countryCode[f.countryCode.selectedIndex].value) == false) {webFormVar.addError("phoneLabel","phoneNotValidErrorDiv","!inst", "instAlt")};
  if (!isValidAccountNumber(f.gpSetNumber.value)) {webFormVar.addError("setNumLabel","setNumNotValidErrorDiv","!inst", "instAlt")};

  if (webFormVar.hasErrors()) {
    webFormVar.showErrors();
    location.href='#topError';
    return false;
  } else {
    return true;
  }
}
/* END VALIDATION ROUTINE ***********/
/* START BUSINESS RULES ***********/
function stateProvince_onChange() {
  f = document.forms['genForm'];
  c = false;
  if(isIn(f.stateProvince.value,us_states)) {
    c = "US";
  } else if(isIn(f.stateProvince.value,ca_prov)) {
    c = "CA";
  } else if(isIn(f.stateProvince.value,misc)) {
    c = "US";
  }
  if (c != false) {
    setDropDown(c,f.countryCode);
  }
}