var errorMessage = "";var errorFocus = null;function validateEmailOrEmpty(formField, fieldName) {  var valid = true;  if (!isEmpty(formField)) {    email = formField.value;    var firstAtSign = email.indexOf('@');    var lastDot = email.lastIndexOf('.');    valid = (      lastDot > (firstAtSign + 1)      && lastDot < (email.length - 1)      && firstAtSign > 0    )  }  if (!valid) {    addError(formField, fieldName + " must be a valid email address (or blank)");  }  return valid;}function validateEmail(formField, fieldName) {  var valid = false;  if (!isEmpty(formField)) {    email = formField.value;    var firstAtSign = email.indexOf('@');    var lastDot = email.lastIndexOf('.');    valid = (      lastDot > (firstAtSign + 1)      && lastDot < (email.length - 1)      && firstAtSign > 0    )  }  if (!valid) {    addError(formField, fieldName + " must be a valid email address");  }  return valid;}function validateMultiRadio(form, startIndex, endIndex, fieldRealName, requiredValue, requiredName) {/*  var selection = false;  for (var i = startIndex; i <= endIndex; i++) {    var radio = form[i];    if (radio.checked && radio.value == requiredValue) {      selection = true;    }  }  if (selection == false) {    addError(form[startIndex], "at least one " + fieldRealName + " must be marked \"" + requiredName + "\"");  }  return selection;*/  return true;}function validateRadio(formField, fieldName) {  for (var i = 0; i < formField.length; i++) {    if (formField[i].checked) {      return true;    }  }  addError(formField[0], "Please choose yes or no for the " + fieldName );  return false;}function validateSelect(formField, fieldName) {  var selected = formField.selectedIndex;  if (selected == -1 || formField.options[selected].value == "") {    addError(formField, "a " + fieldName + " must be selected");    return false;  }  return true;}function validateCheckboxes(formField, fieldName) {  //for (var i = 0; i < formField.length; i++) {    if (formField.checked) {      return true;    }  //}	else {  addError(formField[0], fieldName + " must be checked");  return false;  }}function validateNumeric(formField, fieldName) {  var valid = false;  if(!isEmpty(formField)) {    valid = !isNaN(formField.value);  }  if (!valid) {    addError(formField, fieldName + " must be numeric (should not contain commas, $'s, etc.)");    return false;  }  return true;}function validateNumericOrEmpty(formField, fieldName) {  var valid = true;  if(isEmpty(formField)) {    valid = !isNaN(formField.value);  }  if (!valid) {    addError(formField, fieldName + " must be numeric");    return false;  }  return true;}function validateNumericLength(formField, fieldName, fieldLength) {  if (formField.value.length != fieldLength) {    addError(formField, fieldName + " must contain " + fieldLength + " digits");    return false;  }  return validateNumeric(formField, fieldName);}function validateNumericLengthOrEmpty(formField, fieldName, fieldLength) {  if (isEmpty(formField)) {    return true;  } else {    valid = validateNumericLength(formField, fieldName, fieldLength);    if (!valid) {      errorMessage += " (or be blank)";    }    return valid;  }}function validateText(formField, fieldName) {  if (isEmpty(formField)) {    addError(formField, fieldName + " is required");    return false;  } else {    return true;  }}function validateConfirmText(formField, formFieldConfirm, fieldName) {  if (isEmpty(formField)) {    addError(formField, fieldName + " must be specified");    return false;  } else if (isEmpty(formFieldConfirm)) {    addError(formFieldConfirm, fieldName + " confirmation must be specified");    return false;  } else if (formField.value != formFieldConfirm.value) {    addError(formField, fieldName + " confirmation must match " + fieldName);    return false;  } else {    return true;  }}function isEmpty(formField) {  if (formField.value.length == 0) {    return true;  }  for (var i = 0; i < formField.value.length; i++) {    var c = formField.value.charAt(i);    if (c != ' ' && c != '\t' && c != '\r' && c != '\n') {      return false;    }  }  formField.value = "";  return true;}function validateChecked(formField, fieldName) {  if (formField.checked) {  return true;  } else {  addError(formField, fieldName + " must be checked");    return false;  }}function addError(formField, message) {  if (errorFocus == null) {    errorFocus = formField;  }  errorMessage += ("\n   * " + message);}function writeErrorMessage() {  if (errorMessage != "") {    message = "Please check the form:";    message += errorMessage;    alert(message);    errorFocus.focus();    return false;  } else {    return true;  }}function clearValidate() {  errorMessage = "";  errorFocus = null;}function validatePositiveOrEmpty(formField, fieldName) {  if (formField.value != "") {    if (!validateNumeric(formField, fieldName)) {      return false;    }        if (formField.value < 0) {      addError(formField, fieldName + " can not be negative");      return false;    }  }    return true;}function validateNumericGreaterThanOrEqualOrEmpty(gtField, ltField, gtName, ltName) {  if ((gtField.value == "" && ltField.value != "") || (gtField.value != "" && ltField.value == "")) {    addError(ltField, ltName + " and " + gtName + " must both be completed (or blank)");    return false;  } else if (gtField.value == "" && ltField.value == "") {    return true;  } else if (!validateNumeric(gtField, gtName) || !validateNumeric(ltField, ltName)) {    return false;  }  if (gtField.value >= ltField.value) {    return true;  } else {    addError(ltField, gtName + " must be greater than or equal to " + ltName);    return false;  }}function validateSelectGreaterThanOrEmpty(gtSelect, ltSelect, gtName, ltName) {  var ltGreatestSelected = -1;  var gtLeastSelected = 99999999999;    for (var i = 0; i < ltSelect.options.length; i++) {    if (ltSelect.options[i].selected && (ltSelect.options[i].value != "") && (ltSelect.options[i].value > ltGreatestSelected)) {      ltGreatestSelected = ltSelect.options[i].value;    }  }    for (var i = 0; i < gtSelect.options.length; i++) {    if (gtSelect.options[i].selected && (gtSelect.options[i].value != "") && (gtSelect.options[i].value < gtLeastSelected)) {      gtLeastSelected = gtSelect.options[i].value;    }  }    if (ltGreatestSelected != -1 && gtLeastSelected != -1) {    if (gtLeastSelected <= ltGreatestSelected) {      addError(ltSelect, gtName + " must be greater than " + ltName);      return false;    }  }  return true;}