function validEmail(email) {
			invalidChars = " /:,#'`$~!%^&*()+\"\;<>?\\|	";
			
			if (email == "") {						
				return false;
			}
			for (i = 0; i < invalidChars.length; i++) {	// does it contain any invalid characters?
				badChar = invalidChars.charAt(i);
				if (email.indexOf(badChar,0) > -1) {
					return false;
				}
			}
			atPos = email.indexOf("@",1);			// there must be one "@" symbol
			if (atPos == -1) {
				return false;
			}
			if (email.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
				return false;
			}
			periodPos = email.indexOf(".",atPos);
			if (periodPos == -1) {					// and at least one "." after the "@"
				return false;
			}
			if (periodPos+3 > email.length)	{		// must be at least 2 characters after the "."
				return false;
			}
			return true;
	}
	
function sqlFriendly(inStr)
{
return inStr.replace(/[^a-zA-Z0-9. \-@]/g,"");;
}

function Validator(frmMain)
{
frmMain.first_name.value = sqlFriendly(frmMain.first_name.value );
frmMain.last_name.value = sqlFriendly(frmMain.last_name.value);
frmMain.email.value  = sqlFriendly(frmMain.email.value );

  if (frmMain.first_name.value == "")
  {
    alert("Please enter a value for the \"First Name\" field.");
    frmMain.first_name.focus();
    return (false);
  }
  
  if (frmMain.last_name.value == "")
  {
    alert("Please enter a value for the \"Last Name\" field.");
    frmMain.last_name.focus();
    return (false);
  }  

    
//  email address validation 
  if (frmMain.email.value == "")
  {
    alert("Please enter a value for the \"Email Address\" field.");
    frmMain.email.focus();
    return (false);
  }
  
  if ((frmMain.email.value.length < 7) && (frmMain.email.value.length !=0))
  {
    alert("Please enter at least 7 characters in the \"E-mail Address\" field.");
    frmMain.email.focus();
    return (false);
  }
  if (! validEmail(frmMain.email.value))
      {
         alert("Invalid Email Address");
         frmMain.email.focus();	
         return (false);
      }	  
  // email validation end 

    if (frmMain.city.value == "")
  {
    alert("Please enter a value for the \"City\" field.");
    frmMain.city.focus();
    return (false);
  }  
    
  if (frmMain.state.selectedIndex == 0)
  {
    alert("Please enter a value for the \"State\" field.");
    return (false);
  }  
  
    if (frmMain.zip.value == "")
  {
    alert("Please enter a value for the \"Zip\" field.");
    frmMain.zip.focus();	
    return (false);
  }  
  
    if ((frmMain.zip.value.length < 5))
  {
    alert("Please enter a value for the \"Zip\" field.");
    frmMain.zip.focus();
    return (false);
  }
  
  // area code 
  if (frmMain.home_areacode.value == "")
  { 
    alert("Please enter a value for the \"Primary Area Code\" field.");
    frmMain.home_areacode.focus();
    return (false);
  }

  if ((frmMain.home_areacode.value.length < 3))
  {
    alert("Please enter 3 characters in the \"Primary Area Code\" field.");
    frmMain.home_areacode.focus();
    return (false);
  }

  if (frmMain.home_areacode.value.slice(0,1) == "1" || frmMain.home_areacode.value == "123" || frmMain.home_areacode.value == "123" || frmMain.home_areacode.value == "222" || frmMain.home_areacode.value == "333" || frmMain.home_areacode.value == "444" || frmMain.home_areacode.value == "555" || frmMain.home_areacode.value == "666" || frmMain.home_areacode.value == "777" || frmMain.home_areacode.value == "999")
  { 
    alert("You have entered invalid value for the \"Primary Area Code\" field.");
    frmMain.home_areacode.focus();
    return (false);
  }

  if (frmMain.home_prefix.value == "")
  {
    alert("Please enter a value for the \"First Three Digits of Your Primary Phone\" field.");
    frmMain.home_prefix.focus();
    return (false);
  }  
  
  if ((frmMain.home_prefix.value.length < 3))
  {
    alert("Please enter 3 characters in the \"First Three Digits of Your Primary Phone\" field.");
    frmMain.home_prefix.focus();
    return (false);
  }
  
  if (frmMain.home_phone.value == "")
  {
    alert("Please enter a value for the \"Last Four Digits of Your Primary Phone\" field.");
    frmMain.home_phone.focus();
    return (false);
  }    
  
  if ((frmMain.home_phone.value.length < 4))
  {
    alert("Please enter 4 characters in the \"Last Four Digits of Your Primary Phone\" field.");
    frmMain.home_phone.focus();
    return (false);
  }  
  
  // end home phone end

  
  // work phone start 
  if ((frmMain.work_areacode.value.length < 3) && (frmMain.work_areacode.value.length !=0))
  {
    alert("Please enter 3 characters in the \"Secondary Area Code\" field.");
    frmMain.work_areacode.focus();
    return (false);
  }

  if ((frmMain.work_areacode.value.length !=0) && (frmMain.work_areacode.value.slice(0,1) == "1" || frmMain.work_areacode.value == "123" || frmMain.work_areacode.value == "123" || frmMain.work_areacode.value == "222" || frmMain.work_areacode.value == "333" || frmMain.work_areacode.value == "444" || frmMain.work_areacode.value == "555" || frmMain.work_areacode.value == "666" || frmMain.work_areacode.value == "777" || frmMain.work_areacode.value == "999"))
  { 
    alert("You have entered invalid value for the \"Secondary Area Code\" field.");
    frmMain.work_areacode.focus();
    return (false);
  }
  
  if ((frmMain.work_prefix.value.length < 3) && (frmMain.work_prefix.value.length !=0))
  {
    alert("Please enter 3 characters in the \"First Three Digits of Your Secondary Phone\" field.");
    frmMain.work_prefix.focus();
    return (false);
  }
  
  if ((frmMain.work_phone.value.length < 4) && (frmMain.work_phone.value.length !=0))
  {
    alert("Please enter 4 characters in the \"Last Four Digits of Your Secondary Phone\" field.");
    frmMain.work_phone.focus();
    return (false);
  }
  
  if ((frmMain.work_areacode.value.length > 0) || (frmMain.work_prefix.value.length >0) || (frmMain.work_phone.value.length >0))
  {
   	   if (frmMain.work_areacode.value.length <3)
	   { 
	      alert("Please enter 3 characters in the \"Secondary Area Code\" field.");
    	  frmMain.work_areacode.focus();
    	  return (false);
	   }  
	   
	   if (frmMain.work_prefix.value.length <3)
	   { 
	      alert("Please enter 3 characters in the \"First Three Digits of Your Secondary Phone\" field.");
    	  frmMain.work_prefix.focus();
    	  return (false);
	   }    
	   
	   if (frmMain.work_phone.value.length <4)
	   { 
	      alert("Please enter 4 characters in the \"Last Four Digits of Your Secondary Phone\" field.");
    	  frmMain.work_phone.focus();
    	  return (false);
	   }    
 }
    
// end work phone 

  // best time to call 
  if (frmMain.best_time.selectedIndex == 0)
  {
    alert("Please enter a value for the \"Best Time To Call\" field.");
    return (false);
  }  

// total unsecured debt 
  if (frmMain.total_unsecured_debt_id.selectedIndex == 0)
  {
    alert("Please enter a value for the \"Amount of Debt\" field.");
    return (false);
  }  
  


    
if (!frmMain.debt_settlement_lead.checked && 
	  !frmMain.tax_debt_lead.checked )
  {
    alert("Please select a \"Service\".");
    return (false);
  }


	return (true);
}
