/* GENERAL VARIABLES */

var d = document;

/* FORM VALIDATION FUNCTIONS */

function checkEmail(varField,varName) {
  if (!isValidEmailAddress(removeExtraSpaces(varField.value))) {
    if (varName.length > 1) // capitalize varName string
      varName = varName.substring(0,1).toUpperCase() + varName.substring(1,varName.length);
    alert(varName + " does not appear to be in the correct format.");
    varField.focus();
    return false;
    }
  else
    return true;
  }

function checkExists(varField,varName) {
  if (removeExtraSpaces(varField.value) == "") {
    alert("Please fill in " + varName + ".");
    varField.focus();
    return false;
    }
  else
    return true;
  }

/* MISCELLANEOUS SCRIPTS */

function isValidEmailAddress(email) {
  return email.match(/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,})$/i);
  }

function removeExtraSpaces(str) {
/*
  Remove any redundant spaces or line returns within the string and eliminate
  leading & trailing spaces and line returns. Requires regular expressions (availabe as of JavaScript 1.2).
  (Note that we use an eval statement to prevent earlier browsers from choking on the regex syntax.
  Also note that all the backslashes in the regex pattern have to be escaped as a result.)
*/
  var output = str;
  if (window.RegExp) {
    output = eval("output.replace(/[ \\t]{2,}/g,' ')");
    output = eval("output.replace(/[\\r\\n]{2,}/g,'\\r\\n')");
    output = eval("output.replace(/^[\\s]*/,'')");
    output = eval("output.replace(/[\\s]*$/,'')");
    }
  return output;
  }