function validateFormDataPhy(requestData) {
    genderOpt = -1;
    for(i = 0; i < requestData.gender.length; i++) {
      if(requestData.gender[i].checked) {
        genderOpt = i;
      }
    }

    if(validateNameWithBadCharacters(requestData.firstname.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.firstname.focus();
        requestData.firstname.select();
        return false;
    } else if(!validateName(requestData.firstname.value)) {
      alert("Please enter your first name");
      requestData.firstname.focus();
      requestData.firstname.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.middlename.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed. \n");
        requestData.middlename.focus();
        requestData.middlename.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.suffix.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.suffix.focus();
        requestData.suffix.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.address1.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.address1.focus();
        requestData.address1.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.address2.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.address2.focus();
        requestData.address2.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.city.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.city.focus();
        requestData.city.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.salutat.value)) { 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.salutat.focus();
        requestData.salutat.select();
        return false;
    } else if(requestData.salutat.value == "") {
      alert("Please enter your salutation");
      return false;
    } else if(validateNameWithBadCharacters(requestData.lastname.value)) { 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.lastname.focus();
        requestData.lastname.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(validateNameWithBadCharacters(requestData.zipCode.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.zipCode.focus();
        requestData.zipCode.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.otherIns.value)){ 
        alert("Sorry, but the following characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.otherIns.focus();
        requestData.otherIns.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.poname.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.poname.focus();
        requestData.poname.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.bestTime.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.bestTime.focus();
        requestData.bestTime.select();
        return false;
    } else if(validateEmailWithBadCharacters(requestData.email.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.email.focus();
        requestData.email.select();
        return false;
    } else if(!validateZipCode(requestData.zipCode.value)) {
      alert("Please enter your zip code/postal code");
      requestData.zipCode.focus();
      requestData.zipCode.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.phone.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.phone.focus();
        requestData.phone.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.cphone.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.cphone.focus();
        requestData.cphone.select();
        return false;
    }else if(!validatePhone(requestData.phone.value) && !validatePhone(requestData.cphone.value)) {
      alert("Please enter your complete phone number.\nExample: (888) 888-8888");
      requestData.phone.focus();
      requestData.phone.select();
      return false;
    } else if(genderOpt == -1) {
      alert("Please select your gender");
      return false;
    } else if(validateNameWithBadCharacters(requestData.year.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.year.focus();
        requestData.year.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.month.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.month.focus();
        requestData.month.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.day.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.day.focus();
        requestData.day.select();
        return false;
    }else if(!validateDate(requestData.year.value,requestData.month.value,requestData.day.value)) {
      alert("The birthdate you entered is not valid.  Please re-enter your birthdate.");
      requestData.month.focus();
      requestData.month.select();
      return false;
     }else if(validateNameWithBadCharacters(requestData.reason.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.reason.focus();
        requestData.reason.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.comment.value)){ 
        alert("Sorry, but the following rare characters\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ not allowed.\n");
        requestData.comment.focus();
        requestData.comment.select();
        return false;
    } else if(!validateDate13(requestData.year.value,requestData.month.value,requestData.day.value)) {
      window.location = "warning2.do";
      return false;
    }
    
    /*cookieManager(requestData);*/
    return true;
  }

  function validateFormDataPhy2(requestData) {
    genderOpt = -1;
    for(i = 0; i < requestData.gender.length; i++) {
      if(requestData.gender[i].checked) {
        genderOpt = i;
      }
    }
    if(requestData.salutat.value == "") {
      alert("Por favor de escribir su saludo");
      requestData.firstname.focus();
      requestData.firstname.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.salutat.value)) { 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.salutat.focus();
        requestData.salutat.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.firstname.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.firstname.focus();
        requestData.firstname.select();
        return false;
    } else if(!validateName(requestData.firstname.value)) {
      alert("Por favor de escribir su nombre");
      requestData.firstname.focus();
      requestData.firstname.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.middlename.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.middlename.focus();
        requestData.middlename.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.suffix.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.suffix.focus();
        requestData.suffix.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.address1.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.address1.focus();
        requestData.address1.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.address2.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.address2.focus();
        requestData.address2.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.city.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.city.focus();
        requestData.city.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.lastname.value)) { 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.lastname.focus();
        requestData.lastname.select();
        return false;
    } else if(!validateName(requestData.lastname.value)) {
      alert("Por favor de escribir su apellido");
      requestData.lastname.focus();
      requestData.lastname.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.zipCode.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.zipCode.focus();
        requestData.zipCode.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.otherIns.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.otherIns.focus();
        requestData.otherIns.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.poname.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.poname.focus();
        requestData.poname.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.bestTime.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.bestTime.focus();
        requestData.bestTime.select();
        return false;
    } else if(!validateZipCode(requestData.zipCode.value)) {
      alert("Por favor de escribir su c\363digo postal");
      requestData.zipCode.focus();
      requestData.zipCode.select();
      return false;
    }else if(validateEmailWithBadCharacters(requestData.email.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.email.focus();
        requestData.email.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.phone.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.phone.focus();
        requestData.phone.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.cphone.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.cphone.focus();
        requestData.cphone.select();
        return false;
    } else if(!validatePhone(requestData.phone.value) && !validatePhone(requestData.cphone.value)) {
      alert("Por favor escriba su numero de tel\351fono completo.\nPor ejemplo: (888) 888-8888");
      requestData.phone.focus();
      requestData.phone.select();
      return false;
    } else if(genderOpt == -1) {
      alert("Por favor seleccione su sexo");
      return false;
    } else if(validateNameWithBadCharacters(requestData.year.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.year.focus();
        requestData.year.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.month.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.month.focus();
        requestData.month.select();
        return false;
    }else if(validateNameWithBadCharacters(requestData.day.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.day.focus();
        requestData.day.select();
        return false;
    } else if(!validateDate(requestData.year.value,requestData.month.value,requestData.day.value)) {
      alert("Su fecha de nacimiento esta vacia o es invalida.  Por favor escriba su fecha de nacimiento completa.  Debe ser mayor de 13 a\361os para usar este servicio.");
      requestData.month.focus();
      requestData.month.select();
      return false;
    } else if(validateNameWithBadCharacters(requestData.reason.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.reason.focus();
        requestData.reason.select();
        return false;
    } else if(validateNameWithBadCharacters(requestData.comment.value)){ 
        alert("Desafortunadamente, los siguientes carecteres \n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  | \n\r\n\ no son validos.\n");
        requestData.comment.focus();
        requestData.comment.select();
        return false;
    } else if(!validateDate13(requestData.year.value,requestData.month.value,requestData.day.value)) {
      window.location = "warning2.do";
      return false;
    }
    /*cookieManager(requestData);*/
   return true;
  }

  function validateFormDataCheckOK(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(!validateZipCode(requestData.zipCode.value)) {
      alert("Please enter your zip code");
      requestData.zipCode.focus();
      requestData.zipCode.select();
      return false;
    } else if(!validatePhone(requestData.phone.value) && !validatePhone(requestData.cphone.value)) {
      alert("Please enter your complete phone number.\nExample: (888)888-8888");
      requestData.phone.focus();
      requestData.phone.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(!validateDate13(requestData.year.value,requestData.month.value,requestData.day.value)) {
      window.location = "warning2.do";
      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 validateNameWithBadCharacters(badname) {
    var badChar = /[@\$\%\^\&\*\#\(\)\[\]\{\+\}\`\~\=\|\']/;
    if(badChar.test(badname)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

    function validateEmailWithBadCharacters(bademail) {
    var badChar2 = /[$\%\ \^\&\*\#\(\)\[\]\\\{\+\}\`\~\=\|\']/;
    if(badChar2.test(bademail)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }


    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) {
    nday = parseInt(day,10);
    nyear = parseInt(year,10);
    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==2){								//Check february
        if(nday>29){								//if day is over 29 return error
            return false;
            }
        if(nday==29){								//if day is 29 check for leap year
            if(nyear%4==0 && (nyear%100!=0 || nyear%400==0)){
                return true;							//Allow entry of 29 if leap year conditions met
                }
            else return false;                                                  //leap year condition not met
            }
        if(nday<29){								//allow entry if day is less than 29
            return true;
            }
     }
	
    if((nmonth==4||nmonth==6||nmonth==9||nmonth==11)&&nday==31){	//Check for months with only 30 days
        return false;
    }
    
    if(nmonth < 1 || nmonth > 12) {
        return false;
    }
    if(nday < 1 || nday > 31) {
        return false;
    }
    if(nyear < lowerLimit || nyear > upperLimit) {
        alert("Year over or under lmit");
      return false;
    }
    return true;
  }

  function validateDate13(year,month,day) {
    minimum_age = 13;
    nday = parseInt(day,10);
    nyear = parseInt(year,10);
    nmonth = parseInt(month,10);
    var theirDate = new Date((nyear + minimum_age), nmonth-1, nday);
    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;
    }
    if ((thisDate.getTime() - theirDate.getTime()) < 0) {
      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*(\d{3})\D*(\d{3})\D*(\d{4})\D*$/
    if(regexp.test(phone)) {
      return true;  //it matches
    } else {
      return false; //it doesn't
    }
  }

  function validateZipCode(zipcode) {// change to anything not blank!
    //regexp = /^\D*(\d{5})\D*$/
    regexp = /^.+$/
    if(regexp.test(zipcode)) {
      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=1024,height=768,left=0,top=0');
    requestWindow.focus();
  }

  function updateCost() {//maxReg = total number of checkboxes on form
    var newTot = 0.00;
    var maxFields = parseInt(document.dgForm.maxReg.value,10) * 2;
    for(var i = 1; i < maxFields; i += 2) {
      if(document.dgForm.elements[(i-1)].checked) {
        newTot += parseFloat(document.dgForm.elements[i].value);
      }
    }
    document.dgForm.totalCost.value = newTot.toFixed(2);
  }//thisCost(int) cost for class


  function moreThanTen() {
    var maxFields = parseInt(document.dgForm.maxReg.value,10) * 2;
    var cnt = 0;
    for(var i = 0; i < maxFields; i += 2) {
      if(document.dgForm.elements[i].checked) {
        cnt++;
      }
    }
    if(cnt > 10) {
      return true;
    } else {
      return false;
    }
  }


  function initFrm() {
    if(document.cookie != "" && document.cookie.split("; ").length > 1) {
      regexp = /^(salutat)?(firstname)?(middlename)?(lastname)?(suffix)?(address1)?(address2)?(city)?(state)?(zipCode)?(phone)?(cphone)?(email)?(contactPref)?(bestTime)?(gender)?(month)?(day)?(year)?$/;
      var tempStr = "";
      document.dgForm.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.dgForm."+thsFld+"["+info[i].split("=")[1]+"].checked = true;"
          } else {
            tempStr = "document.dgForm."+thsFld+".value = '"+info[i].split("=")[1]+"';";
          }
          eval(tempStr);
        }
      }
    }
  }


  function screeningHandler(i, thisURL) {
    if(document.crForm.elements[i].checked) {
      var link = "" + thisURL + document.crForm.elements[i].value;
      var requestWindow = window.open(link,'','toolbar=no,location=no,status=yes,menubar=no,resizable=no,scrollbars=yes,width=400,height=450,left=0,top=0');
      requestWindow.focus();
    }
  }


  function NewCalWindow(month) {
    var link = "classCalendar.jsp?mnthInc=" + month
    var requestWindow = window.open(link,'','toolbar=no,location=no,status=yes,menubar=no,resizable=yes,scrollbars=no,width=350,height=250,left=0,top=0');
    requestWindow.focus();
  }


  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 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 linkCookieCheck(Data) {
    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) {
      Data = Data + "&cookieSt=true";
    }
    document.cookie = "Enabled=;expires=" + expdate;
    return Data
  }

  function screeningNotify(){
    window.close();
    alert('Please return to the Search Results screen and choose \n"Finished - Complete Registration" to complete your registration.');
}


//Function to keep character count in textboxes English version
function Checkfieldlength(treason, charcnt,remcnt, maxcnt){
    var len=treason.value.length;
    if(len>maxcnt){                                                                            //character limit exceeded alert
        treason.value=treason.value.substring(0, maxcnt);
        len=maxcnt;
        alert("Character limit exceeded, Please reduce your comment to 240 characters!")
        }
    document.getElementById(charcnt).innerHTML=len;
    document.getElementById(remcnt).innerHTML=maxcnt-len;
}
     
//Function to keep character count in textboxes Spanish version
function Checkfieldlength2(treason2, charcnt2,remcnt2, maxcnt2){
    var len2=treason2.value.length;
    if(len2>maxcnt2){                                                                            //character limit exceeded alert
        treason2.value=treason2.value.substring(0, maxcnt2);
        len2=maxcnt2;
        alert("Su respuesta no puede excedir 240 letras.  Por favor revise su respuesta y lim\355tela a 240 letras!")
        }
    document.getElementById(charcnt2).innerHTML=len2;
document.getElementById(remcnt2).innerHTML=maxcnt2-len2;
}