function RegisterForm_Validator(theForm)
{
  
  /* Agent Inforamtion */
  if (theForm.strAgentOfRecord.value == "")
  {
    alert("Please enter a value for the \"Agent of Record\" field.");
    theForm.strAgentOfRecord.focus();
    return (false);
  }
  
  if (theForm.strApplicantName.value == "")
  {
    alert("Please enter a value for the \"Agency/Company Name\" field.");
    theForm.strApplicantName.focus();
    return (false);
  }
  
  
  /* Mailing Address Information */
  if (theForm.strMailingAddr.value == "")
  {
    alert("Please enter a value for the \"Mailing Address\" field.");
    theForm.strMailingAddr.focus();
    return (false);
  }
  
  if (theForm.strCity.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    theForm.strCity.focus();
    return (false);
  }
  
  if (theForm.lngStateID){
	  if (theForm.lngStateID.value == "0")
	  {
	    alert("Please select a State/Province.");
	    theForm.lngStateID.focus();
	    return (false);
	  }
  }  

  if (theForm.strZIP.value == "")
  {
    alert("Please enter a value for the \"ZIP Code\" field.");
    theForm.strZIP.focus();
    return (false);
  }
  
  
  /* Physical Address Inforamtion */
  if (theForm.strStreet.value != "")
  {
	  if (theForm.strCity_Phys.value == "")
	  {
	    alert("Please enter a value for the \"Physical Address - City\" field.");
	    theForm.strCity_Phys.focus();
	    return (false);
	  }
	  
	  if (theForm.lngStateID_Phys){
		  if (theForm.lngStateID_Phys.value == "0")
		  {
		    alert("Please select a State/Province for the Physical Address.");
		    theForm.lngStateID_Phys.focus();
		    return (false);
		  }
	  }  
	
	  if (theForm.strZIP_Phys.value == "")
	  {
	    alert("Please enter a value for the \"Physical Address - ZIP Code\" field.");
	    theForm.strZIP_Phys.focus();
	    return (false);
	  }
  }
  
  
  /* Contact Inforamtion */
  phone_cnt = 0
  if ((theForm.strPhoneArea.value != "") && (theForm.strPhone.value != "")) 
  {
  	phone_cnt += 1
  }
  
 if ((theForm.strPhoneArea2.value != "") && (theForm.strPhone2.value != "")) 
  {
  	phone_cnt += 1
  } 
  
  if ((theForm.strPhoneArea3.value != "") && (theForm.strPhone3.value != "")) 
  {
  	phone_cnt += 1
  }
  
  if (phone_cnt < 2)
  {
  	alert("Please enter atleast two contact numbers under \"Contact Information\".");
    return (false);
  }  

  
   
  if (theForm.strEmail.value == "")
  {
    alert("Please enter a value for the \"Contact E-mail Address\" field.");
    theForm.strEmail.focus();
    return (false);
  }

  if (theForm.strEmail.value != "")
  {   
	  strError = validateEmail(theForm.strEmail.value)
	  if (strError != "") {
			alert(strError);
	    	theForm.strEmail.focus();
	    	return (false);
	  }
  }  
 
 
   /* Dispatch Information */
  if (theForm.strDispatchers.value == "")
  {
    alert("Please enter a value for the \"Dispatcher(s)\" field.");
    theForm.strDispatchers.focus();
    return (false);
  }

  if ((theForm.strPhoneArea_Disp.value == "" || theForm.strPhone_Disp.value == "")) 
  {
  	alert("Please enter a value for the \"Dispatch Telephone\" field.");
    theForm.strPhoneArea_Disp.focus();
   	return (false);
  }  

  if (theForm.strEmailDispatch.value == "")
  {
    alert("Please enter a value for the \"Dispatch E-mail\" field.");
    theForm.strEmailDispatch.focus();
    return (false);
  }

  if (theForm.strEmailDispatch.value != "")
  {   
	  strError = validateEmail(theForm.strEmailDispatch.value)
	  if (strError != "") {
			alert(strError);
	    	theForm.strEmailDispatch.focus();
	    	return (false);
	  }
  }  


  /* Personal Information */
  if (theForm.strAddr_Pers.value == "")
  {
    alert("Please enter a value for the \"Home Address\" field.");
    theForm.strAddr_Pers.focus();
    return (false);
  }
  
  if (theForm.strCity_Pers.value == "")
  {
    alert("Please enter a value for the \"City (Personal)\" field.");
    theForm.strCity_Pers.focus();
    return (false);
  }
  
  if (theForm.lngStateID_Pers)
  {
	  if (theForm.lngStateID_Pers.value == "0")
	  {
	    alert("Please select the State/Province (Personal).");
	    theForm.lngStateID_Pers.focus();
	    return (false);
	  }
  }  

  if (theForm.strZIP_Pers.value == "")
  {
    alert("Please enter a value for the \"ZIP Code (Personal)\" field.");
    theForm.strZIP_Pers.focus();
    return (false);
  }
    

  if (theForm.strBirthdate_Pers.value == "")
  {
    alert("Please enter a value for the \"Birthdate\" field.");
    theForm.strBirthdate_Pers.focus();
    return (false);
  }
  
  if (theForm.strLicenseNum_Pers.value == "")
  {
    alert("Please enter a value for the \"Driver's License Number\" field.");
    theForm.strLicenseNum_Pers.focus();
    return (false);
  }
  
  if (theForm.strLicenseState_Pers.value == "")
  {
    alert("Please enter a value for the \"State of Issue\" field.");
    theForm.strLicenseState_Pers.focus();
    return (false);
  }

  
  if ((theForm.strPhoneArea_Pers.value == "" || theForm.strPhone_Pers.value == "")) 
  {
  	alert("Please enter a value for the \"Phone (Personal)\" field.");
    theForm.strPhoneArea_Pers.focus();
   	return (false);
  }
   
	
  /*Questions*/
  if (theForm.strQuestion1.value == "")
  {
    alert("Please enter an answer for Question #1.");
    theForm.strQuestion1.focus();
    return (false);
  }
    
  if (theForm.strQuestion2.value == "")
  {
    alert("Please enter an answer for Question #2.");
    theForm.strQuestion2.focus();
    return (false);
  }
    
  if (theForm.strQuestion4.value == "")
  {
    alert("Please enter an answer for Question #4.");
    theForm.strQuestion4.focus();
    return (false);
  }
    
  if (theForm.strQuestion5.value == "")
  {
    alert("Please enter an answer for Question #5.");
    theForm.strQuestion5.focus();
    return (false);
  }
    
  if (theForm.strQuestion6.value == "")
  {
    alert("Please enter an answer for Question #6.");
    theForm.strQuestion6.focus();
    return (false);
  }
    
  if (theForm.strQuestion7.value == "")
  {
    alert("Please enter an answer for Question #7.");
    theForm.strQuestion7.focus();
    return (false);
  }
    
  if (theForm.strQuestion8.value == "")
  {
    alert("Please enter an answer for Question #8.");
    theForm.strQuestion8.focus();
    return (false);
  }
    
  if (theForm.strQuestion9.value == "")
  {
    alert("Please enter an answer for Question #9.");
    theForm.strQuestion9.focus();
    return (false);
  }
    
  if (theForm.strQuestion10.value == "")
  {
    alert("Please enter an answer for Question #10.");
    theForm.strQuestion10.focus();
    return (false);
  }
    
  if (theForm.strQuestion11.value == "")
  {
    alert("Please enter an answer for Question #11.");
    theForm.strQuestion11.focus();
    return (false);
  }
    
  if (theForm.strQuestion12.value == "")
  {
    alert("Please enter an answer for Question #12.");
    theForm.strQuestion12.focus();
    return (false);
  }
    
  if (theForm.strQuestion13.value == "")
  {
    alert("Please enter an answer for Question #13.");
    theForm.strQuestion13.focus();
    return (false);
  }
    
  if (theForm.strQuestion14.value == "")
  {
    alert("Please enter an answer for Question #14.");
    theForm.strQuestion14.focus();
    return (false);
  }
 
  
  
   return (true);  
}
