function IsNumeric(strString){
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
 }
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}


function doSubmit(currpage,nextpage)
{ 
   var errmessage,vhphone,vwphone,vmphone,vnonusphone
   errmessage=""
   document.frmApp.currpage.value=nextpage;

   if (currpage==1) {
        if(document.frmApp.referralsource.selectedIndex==0) {
          errmessage="-Referral source\n"+errmessage
          document.frmApp.referralsource.focus();
        }
        else if(document.frmApp.referralsource.options[document.frmApp.referralsource.selectedIndex].value=="Employee referral"){
           if(document.frmApp.empreferralname.value==""){
             errmessage="-If employee referral please list the Quest employee who referred you\n"+errmessage
             document.frmApp.empreferralname.focus();
           }
        }
        else if(document.frmApp.referralsource.options[document.frmApp.referralsource.selectedIndex].value=="Internal applicant"){
           if(document.frmApp.internalapplidept.value==""){
             errmessage="-Internal applicants please select the Quest department that you currently work in\n"+errmessage
             document.frmApp.internalapplidept.focus();
           }
        }
        
        if(document.frmApp.contactmethod.selectedIndex==0){
          errmessage="-Contact Method\n" + errmessage
          document.frmApp.contactmethod.focus();
        }
                  
        if(document.frmApp.mareacode.value!=""||document.frmApp.mprefix.value!=""||document.frmApp.mpostfix.value!=""){
           if(document.frmApp.mpostfix.value.length==0){
              errmessage="-Mobile postfix code\n"+errmessage;
              document.frmApp.mpostfix.focus()
              vmphone=false;
           }
           else if((document.frmApp.mpostfix.value.length<4)||IsNumeric(document.frmApp.mpostfix.value)==false) {
             errmessage="-Mobile postfix code have 4 numeric digits\n"+errmessage;
             document.frmApp.mpostfix.select();
             vmphone=false;
           }
           if(document.frmApp.mprefix.value.length==0){
              errmessage="-Mobile prefix code\n"+errmessage;
               document.frmApp.mprefix.focus()
              vmphone=false;
           }
           else if((document.frmApp.mprefix.value.length<3)||IsNumeric(document.frmApp.mprefix.value)==false) {
             errmessage="-Mobile prefix code have 3 numeric digits\n"+errmessage;
             document.frmApp.mprefix.select();
             vmphone=false;
           }
           if(document.frmApp.mareacode.value.length==0){
              errmessage="-Mobile area code\n"+errmessage;
              document.frmApp.mareacode.focus()
           }
           else if((document.frmApp.mareacode.value.length<3)||IsNumeric(document.frmApp.mareacode.value)==false) {
              errormessage2="-Mobile area code have 3 numeric digits\n"+errmessage;
              document.frmApp.mareacode.select();
              vmphone=false;
           }   
           
        }
        else vmphone=false;

        if(document.frmApp.wareacode.value!=""||document.frmApp.wprefix.value!=""||document.frmApp.wpostfix.value!=""){
           if(document.frmApp.wpostfix.value.length==0){
              errmessage="-Mobile postfix code\n"+errmessage;
               document.frmApp.wpostfix.focus()
               vwphone=false;
           }
           else if ((document.frmApp.wpostfix.value.length<4)||IsNumeric(document.frmApp.wpostfix.value)==false) {
             errmessage="-Work postfix code have 4 numeric digits\n"+errmessage;
             document.frmApp.wpostfix.select();
             vwphone=false;
          }
          if(document.frmApp.wprefix.value.length==0){
              errmessage="-Work prefix code\n"+errmessage;
               document.frmApp.wprefix.focus()
              vwphone=false;
           }  
           else if ((document.frmApp.wprefix.value.length<3)||IsNumeric(document.frmApp.wprefix.value)==false) {
             errmessage="-Work prefix code have 3 numeric digits\n"+errmessage;
             document.frmApp.wprefix.select();
             vwphone=false;
          }
          if(document.frmApp.wareacode.value.length==0){
              errmessage="-Work area code code\n"+errmessage;
              document.frmApp.wareacode.focus()
              vwphone=false;
           }
           else if ((document.frmApp.wareacode.value.length<3)||IsNumeric(document.frmApp.wareacode.value)==false) {
             errmessage="-Work area code have 3 numeric digits\n"+errmessage;
             document.frmApp.wareacode.select();
             vwphone=false;
          }   
         
        }
        else vwphone=false;
        
        if (document.frmApp.nonusphone.value=="") {
           if(document.frmApp.hpostfix.value=="") {
             errmessage="-Home postfix code\n"+errmessage
             document.frmApp.hpostfix.focus()
             vhphone=false;
           }
           if(document.frmApp.hprefix.value=="")  {
             errmessage="-Home prefix code\n"+errmessage
             document.frmApp.hprefix.focus()
              vhphone=false;
           }
           if(document.frmApp.hareacode.value=="") {
              errmessage="-Home area code \n"+errmessage;
              document.frmApp.hareacode.focus();
               vhphone=false;
           }
           vnonusphone=false
         }
         else { 
           if(IsNumeric(document.frmApp.nonusphone.value)==false){
              errmessage="-Non US phone must be numeric\n"+errmessage;
               vnonusphone=false;
           }
         }
 
         if(document.frmApp.hareacode.value!=""||document.frmApp.hprefix.value!=""||document.frmApp.hpostfix.value!=""){
           if ((document.frmApp.hpostfix.value.length<4&&document.frmApp.hpostfix.value.length>0)||IsNumeric(document.frmApp.hpostfix.value)==false){
              errmessage="-Home postfix code must have 4 numeric digits\n"+errmessage;
              document.frmApp.hpostfix.select();
               vhphone=false;
           }
           if ((document.frmApp.hprefix.value.length<3&&document.frmApp.hprefix.value.length>0)||IsNumeric(document.frmApp.hprefix.value)==false){
              errmessage="-Home prefix code must have 3 numeric digits\n"+errmessage;
              document.frmApp.hprefix.select();
               vhphone=false;
           }
           if ((document.frmApp.hareacode.value.length<3&&document.frmApp.hareacode.value.length>0)||IsNumeric(document.frmApp.hareacode.value)==false) {
              errmessage="-Home area code must have 3 numeric digits\n"+errmessage;
             document.frmApp.hareacode.select();
              vhphone=false;
           }
         }
         else vhphone=false;
         
        
        
        if(document.frmApp.postalcode.value=="") {
          errmessage="-Zip/Postal code\n"+errmessage
          document.frmApp.postalcode.focus()
        }
  
        
        if(document.frmApp.countrycode.selectedIndex==0) {
          errmessage="-Country\n"+errmessage
          document.frmApp.countrycode.focus()
        }
       
      if(document.frmApp.countrycode.options[document.frmApp.countrycode.selectedIndex].value=="US" ||
         document.frmApp.countrycode.options[document.frmApp.countrycode.selectedIndex].value=="CA" ||
         document.frmApp.countrycode.options[document.frmApp.countrycode.selectedIndex].value=="AU" ||
         document.frmApp.countrycode.selectedIndex==0) { 
        if(document.frmApp.statecode.selectedIndex==0) {
          errmessage="-State or Province (USA/Canada)\n"+errmessage
          document.frmApp.statecode.focus()
        }
      }
        if(document.frmApp.city.value=="") {
          errmessage="-City\n"+errmessage
          document.frmApp.city.focus()
        }
        if(document.frmApp.address1.value=="") {
          errmessage="-Home address\n"+errmessage
          document.frmApp.address1.focus()
        }
        
        if(document.frmApp.email.value.length==0){
             errmessage="-Email address\n"+errmessage
             document.frmApp.email.focus()
        }
        else if(echeck(document.frmApp.email.value)==false){
               errmessage="-Invalid email address\n"+errmessage
               document.frmApp.email.focus()
        }
        
        
        if(document.frmApp.lname.value=="") {
          errmessage="-Last name\n"+errmessage
          document.frmApp.lname.focus()
        }
        if(document.frmApp.fname.value=="") {
          errmessage="-First name\n"+errmessage
          document.frmApp.fname.focus()
        }
    
        if(document.frmApp.contactmethod.options[document.frmApp.contactmethod.selectedIndex].value=="Home phone" && vhphone==false) 
           errmessage=errmessage+"-If you select home phone for your contact method, you need to enter a valid home phone" 
        else if (document.frmApp.contactmethod.options[document.frmApp.contactmethod.selectedIndex].value=="Work phone" && vwphone==false) 
            errmessage=errmessage+"-If you select work phone for your contact method, you need to enter a valid work phone"  
        else if(document.frmApp.contactmethod.options[document.frmApp.contactmethod.selectedIndex].value=="Mobile phone" && vmphone==false) 
            errmessage=errmessage+"-If you select mobile phone for your contact method, you need to enter a valid mobile phone"
        else if(document.frmApp.contactmethod.options[document.frmApp.contactmethod.selectedIndex].value=="Non-US phone" && vnonusphone==false) 
            errmessage=errmessage+"-If you select non-US phone for your contact method, you need to enter a valid non-US phone"
      
      
       
        if(errmessage!=""){ 
          alert("The following information is required:\n\n"+errmessage)
          return false;
        }
        else document.frmApp.submit()
   } 
 
   else if (currpage==2) {
      document.frmApp.currpage.value=nextpage;
      if(nextpage==3) {
         if(document.frmApp.resume.value==""){
             alert("Enter or paste your CV/resume."); 
             document.frmApp.resume.focus();
             return false;
         }
      }   
      if(document.frmApp.countrycode.value!="US" & nextpage==5){
         document.frmApp.submitjobs.value="yes";
         document.frmApp.action="results.asp"
      }
      else
      {
		 document.frmApp.currpage.value=nextpage;
      }
     
      document.frmApp.submit()
   }
   else if (currpage==3) {
     var authorizedtowork_checked_ind = -1
     var gendertype_checked_ind = -1
     var race_checked_ind = -1
  
     if(nextpage>3) {
        for(index=0;index<=11;index++){
           if(document.frmApp.race[index].checked==true)
              race_checked_ind = index;
        }
		if(race_checked_ind == -1) {
            errmessage = "-Race\n"+errmessage
        }
        for(index=0;index<=2;index++){
           if(document.frmApp.gendertype[index].checked==true)
              gendertype_checked_ind = index;
        }
       
        if(gendertype_checked_ind==-1) {
            errmessage = "-Gender\n"+errmessage
        }
        for(index=0;index<=3;index++){
           if(document.frmApp.authorizedtowork[index].checked==true)
              authorizedtowork_checked_ind = index;
        }
        if(authorizedtowork_checked_ind==-1) {
            errmessage = "-Are you authorized to work.\n"+errmessage
        }
        else if(authorizedtowork_checked_ind==3) {
            if(document.frmApp.visastatus.selectedIndex==0) {
                errmessage = "-Indicate your Visa status.\n"+errmessage
                document.frmApp.visastatus.focus();
            }
        }
     
       
		if(errmessage!=""){ 
          alert("The following information is required:\n\n"+errmessage)
          return false;
        }
        else {
			if(nextpage == 5)
			{
				document.frmApp.submitjobs.value="yes";
				document.frmApp.action="results.asp"
			}
			else
			{
				document.frmApp.currpage.value=nextpage;
			}
		}
     }
     else {
        document.frmApp.currpage.value=nextpage;
     }
	 document.frmApp.submit()
   }
   else {
   
   }
   
   
}
