
  function validateFormDataPhy(requestData) {
    genderOpt = -1;
    for(i = 0; i < requestData.gender.length; i++) {
      if(requestData.gender[i].checked) {
        genderOpt = i;
      }
    }
    if(!validateName(requestData.firstname.value)) {
      alert("Please enter your first name");
      requestData.firstname.focus();
      requestData.firstname.select();
      return false;
    } else if(!validateName(requestData.lastname.value)) {
      alert("Please enter your last name");
      requestData.lastname.focus();
      requestData.lastname.select();
      return false;
    } else if(genderOpt == -1) {
      alert("Please select your gender");
      return false;
    } else if(!validateDate(requestData.year.value,requestData.month.value,requestData.day.value)) {
      alert("Please enter your complete birth date");
      requestData.month.focus();
      requestData.month.select();
      return false;
    } else if(!validateEmail(requestData.email.value)) {
      alert("Please enter your complete email address");
      requestData.email.focus();
      requestData.email.select();
      return false;
    } else if(!validatePhone(requestData.phone.value) && !validatePhone(requestData.cphone.value)) {
      alert("Please enter your complete phone number.\nExample: 609-888-8888");
      requestData.phone.focus();
      requestData.phone.select();
      return false;
    }
    cookieManager(requestData);
    return true;
  }

  function validateFormDataClss(requestData) {
    genderOpt = -1;
    for(i = 0; i < requestData.gender.length; i++) {
      if(requestData.gender[i].checked) {
        genderOpt = i;
      }
    }
    if(moreThanTen()) {
      alert("You can select a maximum of ten classes.");
      return false;
    } else if(!validateName(requestData.firstname.value)) {
      alert("Please enter your first name");
      requestData.firstname.focus();
      requestData.firstname.select();
      return false;
    } else if(!validateName(requestData.lastname.value)) {
      alert("Please enter your last name");
      requestData.lastname.focus();
      requestData.lastname.select();
      return false;
    } else if(genderOpt == -1) {
      alert("Please select your gender");
      return false;
    } else if(!validateDate(requestData.year.value,requestData.month.value,requestData.day.value)) {
      alert("Please enter your complete birth date");
      requestData.month.focus();
      requestData.month.select();
      return false;
    } else if(!validateEmail(requestData.email.value)) {
      alert("Please enter your complete email address");
      requestData.email.focus();
      requestData.email.select();
      return false;
    } else if(!validatePhone(requestData.phone.value) && !validatePhone(requestData.cphone.value)) {
      alert("Please enter your complete phone number.\nExample: 609-888-8888");
      requestData.phone.focus();
      requestData.phone.select();
      return false;
    } else if(requestData.address1.value == "") {
      alert("Please enter your address");
      requestData.address1.focus();
      requestData.address1.select();
      return false;
    } else if(!validateName(requestData.city.value)) {
      alert("Please enter the city");
      requestData.city.focus();
      requestData.city.select();
      return false;
    } else if(!validateName(requestData.state.value)) {
      alert("Please enter the state");
      requestData.state.focus();
      return false;
    } else if(!validateZipCode(requestData.zipCode.value)) {
      alert("Please enter the zip code");
      requestData.zipCode.focus();
      requestData.zipCode.select();
      return false;
    } else if(requestData.maternity != null) {
      if(requestData.otherIns.value == "") {
        alert("Please enter your partner's name");
        requestData.otherIns.focus();
        requestData.otherIns.select();
        return false;
      } else if(!validateDate2(requestData.dyear.value,requestData.dmonth.value,requestData.dday.value)) {
        alert("Please enter your complete due date");
        requestData.dmonth.focus();
        requestData.dmonth.select();
        return false;
      }
    }
    cookieManager(requestData);
    return true;
  }

  function cookieManager(requestData) {
    if(requestData.preprocess.checked) {
      //bake cookie
      expDate = new Date();
      expDate.setMonth(expDate.getMonth()+6);
      if(requestData.firstname.value != "")
        document.cookie = "firstname="+requestData.firstname.value+";expires="+expDate.toGMTString();
      if(requestData.middlename.value != "")
        document.cookie = "middlename="+requestData.middlename.value+";expires="+expDate.toGMTString();
      if(requestData.lastname.value != "")
        document.cookie = "lastname="+requestData.lastname.value+";expires="+expDate.toGMTString();
      if(requestData.suffix.value != "")
        document.cookie = "suffix="+requestData.suffix.value+";expires="+expDate.toGMTString();
      if(requestData.address1.value != "")
        document.cookie = "address1="+requestData.address1.value+";expires="+expDate.toGMTString();
      if(requestData.address2.value != "")
        document.cookie = "address2="+requestData.address2.value+";expires="+expDate.toGMTString();
      if(requestData.city.value != "")
        document.cookie = "city="+requestData.city.value+";expires="+expDate.toGMTString();
      if(requestData.state.value != "")
        document.cookie = "state="+requestData.state.value+";expires="+expDate.toGMTString();
      if(requestData.zipCode.value != "")
        document.cookie = "zipCode="+requestData.zipCode.value+";expires="+expDate.toGMTString();
      if(requestData.phone.value != "")
        document.cookie = "phone="+requestData.phone.value+";expires="+expDate.toGMTString();
      if(requestData.cphone.value != "")
        document.cookie = "cphone="+requestData.cphone.value+";expires="+expDate.toGMTString();
      if(requestData.email.value != "")
        document.cookie = "email="+requestData.email.value+";expires="+expDate.toGMTString();
      if(requestData.contactPref.value != "")
        document.cookie = "contactPref="+requestData.contactPref.value+";expires="+expDate.toGMTString();
      if(requestData.bestTime.value != "")
        document.cookie = "bestTime="+requestData.bestTime.value+";expires="+expDate.toGMTString();
      if(requestData.gender[0].checked) {
        document.cookie = "gender=0;expires="+expDate.toGMTString();
      } else {
        document.cookie = "gender=1;expires="+expDate.toGMTString();
      }
      if(requestData.month.value != "")
        document.cookie = "month="+requestData.month.value+";expires="+expDate.toGMTString();
      if(requestData.day.value != "")
        document.cookie = "day="+requestData.day.value+";expires="+expDate.toGMTString();
      if(requestData.year.value != "")
        document.cookie = "year="+requestData.year.value+";expires="+expDate.toGMTString();
    } else if(document.cookie.split("; ").length > 1) {
      //remove cookie
      expDate = new Date();
      expDate.setDate(expDate.getDate()-1);
      document.cookie = "firstname=;expires="+expDate.toGMTString();
      document.cookie = "middlename=;expires="+expDate.toGMTString();
      document.cookie = "lastname=;expires="+expDate.toGMTString();
      document.cookie = "suffix=;expires="+expDate.toGMTString();
      document.cookie = "address1=;expires="+expDate.toGMTString();
      document.cookie = "address2=;expires="+expDate.toGMTString();
      document.cookie = "city=;expires="+expDate.toGMTString();
      document.cookie = "state=;expires="+expDate.toGMTString();
      document.cookie = "zipCode=;expires="+expDate.toGMTString();
      document.cookie = "phone=;expires="+expDate.toGMTString();
      document.cookie = "cphone=;expires="+expDate.toGMTString();
      document.cookie = "email=;expires="+expDate.toGMTString();
      document.cookie = "contactPref=;expires="+expDate.toGMTString();
      document.cookie = "bestTime=;expires="+expDate.toGMTString();
      document.cookie = "gender=;expires="+expDate.toGMTString();
      document.cookie = "month=;expires="+expDate.toGMTString();
      document.cookie = "day=;expires="+expDate.toGMTString();
      document.cookie = "year=;expires="+expDate.toGMTString();
    }
  }

  function validateName(name) {
    regexp = /^[a-zA-Z]{2}([a-zA-Z]|\s)*$/;
    if(regexp.test(name)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

  function validateDate(year,month,day) {
    var nday = parseInt(day,10);
    var nyear = parseInt(year,10);
    var nmonth = parseInt(month,10);
    thisDate = new Date();
    lowerLimit = thisDate.getFullYear() - 125;
    upperLimit = thisDate.getFullYear();
    if(isNaN(nday) || isNaN(nmonth) || isNaN(nyear)) {
      return false;
    }
    if(nmonth < 1 || nmonth > 12) {
      return false;
    }
    if(nday < 1 || nday > 31) {
      return false;
    }
    if(nyear < lowerLimit || nyear > upperLimit) {
      return false;
    }
    return true;
  }

  function validateDate2(year,month,day) {
    var nday = parseInt(day,10);
    var nyear = parseInt(year,10);
    var nmonth = parseInt(month,10);
    thisDate = new Date();
    lowerLimit = thisDate.getFullYear();
    upperLimit = thisDate.getFullYear() + 1;
    if(isNaN(nday) || isNaN(nmonth) || isNaN(nyear)) {
      return false;
    }
    if(nmonth < 1 || nmonth > 12) {
      return false;
    }
    if(nday < 1 || nday > 31) {
      return false;
    }
    if(nyear < lowerLimit || nyear > upperLimit) {
      return false;
    }
    return true;
  }

  function validateEmail(email) {
    regexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if(regexp.test(email)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

  function validatePhone(phone) {
    regexp = /^(\d{3})[\-](\d{3})[\-](\d{4})[ ]?(ext[ ]?(\d{1,4}))?$/
    if(regexp.test(phone)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

  function validateZipCode(zcode) {
    regexp = /^(\d{5})$/
    if(regexp.test(zcode)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

  function NewWindow(link) {
    var requestWindow = window.open(link,'','toolbar=no,location=no,status=yes,menubar=no,resizable=yes,scrollbars=yes,width=630,height=550,left=0,top=0');
    requestWindow.focus();
  }

  function updateCost() {//maxReg = total number of checkboxes on form
    var newTot = 0.00;
    var maxFields = parseInt(document.requestData.maxReg.value,10) * 2;
    for(var i = 1; i < maxFields; i += 2) {
      if(document.requestData.elements[(i-1)].checked) {
        newTot += parseFloat(document.requestData.elements[i].value);
      }
    }
    document.requestData.totalCost.value = newTot.toFixed(2);
    document.requestData.ccST1.value = newTot.toFixed(2);
  }//thisCost(int) cost for class

  function moreThanTen() {
    var maxFields = parseInt(document.requestData.maxReg.value,10) * 2;
    var cnt = 0;
    for(var i = 0; i < maxFields; i += 2) {
      if(document.requestData.elements[i].checked) {
        cnt++;
      }
    }
    if(cnt > 10) {
      return true;
    } else {
      return false;
    }
  }

  function initFrm() {
    if(document.cookie != "" && document.cookie.split("; ").length > 1) {
      regexp = /^(firstname)?(middlename)?(lastname)?(suffix)?(address1)?(address2)?(city)?(state)?(zipCode)?(phone)?(cphone)?(email)?(contactPref)?(bestTime)?(gender)?(month)?(day)?(year)?$/;
      var tempStr = "";
      document.requestData.preprocess.checked = true;
      info = document.cookie.split("; ");
      for(var i = 0; i < info.length; i++) {
        thsFld = info[i].split("=")[0];
        if(regexp.test(thsFld)) {
          if(thsFld == "gender") {
            tempStr = "document.requestData."+thsFld+"["+info[i].split("=")[1]+"].checked = true;"
          } else {
            tempStr = "document.requestData."+thsFld+".value = '"+info[i].split("=")[1]+"';";
          }
          eval(tempStr);
        }
      }
    }
  }

  function screeningHandler(i, thisURL) {
    if(document.resultz.elements[i].checked) {
      var link = "" + thisURL + document.resultz.elements[i].value;
      var requestWindow = window.open(link,'','toolbar=no,location=no,status=yes,menubar=no,resizable=no,scrollbars=yes,width=350,height=250,left=0,top=0');
      requestWindow.focus();
    }
  }

  function cookieCheck(requestData) {
    expDate = new Date();
    expDate.setDate(expDate.getDate()-1);
    expdate = expDate.toGMTString();
    document.cookie = "Enabled=true";
    var isCookieValid = document.cookie;
    if(isCookieValid.indexOf("Enabled=true") != -1) {
      requestData.cookieSt.value = "true";
    }
    document.cookie = "Enabled=;expires=" + expdate;
  }

  function NewSmallWindow(link) {
    var requestWindow = window.open(link,'smllWin','toolbar=no,location=no,status=yes,menubar=no,resizable=yes,scrollbars=yes,width=400,height=450,left=0,top=0');
    requestWindow.focus();
  }

  function NewWindow2(link) {
    link = link+"&NAME="+escape(confPort.NAME.value)+"&ADDRESS="+escape(confPort.ADDRESS.value)+"&CITY="+escape(confPort.CITY.value)+"&STATE="+escape(confPort.STATE.value)+"&ZIP="+escape(confPort.ZIP.value)+"&PHONE="+escape(confPort.PHONE.value);
    var requestWindow = window.open(link,'','toolbar=yes,location=no,status=yes,menubar=no,resizable=yes,scrollbars=yes,width=630,height=550,left=0,top=0');
    requestWindow.focus();
  }
