function gen_state(value)
{
	new Ajax.Updater('neighborhood','/homes/change_city/'+value, 
						 {asynchronous:true,
						  evalScripts:true, 
						  parameters:Form.Element.serialize('country'),
						  requestHeaders:['X-Update', 'neighborhood']});
}
function validate()
{
	if(document.getElementById('zip').value=="")
    {
	alert("Please enter zip code");
	document.getElementById('zip').focus();
	return false;
    }
	else
	{
		var ret_value_zip = validateZIP(document.getElementById('zip').value);
		if(!ret_value_zip)
		{
			document.getElementById('zip').focus();
			return false;
		}
	}
	
	if(document.getElementById('first_name').value=="")
    {
	alert("Please enter Candidate first name");
	document.getElementById('first_name').focus();
	return false;
	
    }
    if(document.getElementById('first_name').value.length > 25)
    {
	alert("First name can not be more than 25 characters");
	document.getElementById('first_name').focus();
	return false;
	
    }
    if(document.getElementById('last_name').value=="")
    {
	alert("Please enter Candidate last name");
	document.getElementById('last_name').focus();
	return false;
	
    }
    if(document.getElementById('last_name').value.length > 25)
    {
	alert("Last name can not be more than 25 characters");
	document.getElementById('last_name').focus();
	return false;
	
    }
	if(document.getElementById('contact_no1').value == "")
    {
	
	    alert("Please enter Phone No");
	    document.getElementById('contact_no1').focus();
	    return false;
	
    }
	else
	{
		var ret_value = ParseUSNumber(document.getElementById('contact_no1').value);
		if(!ret_value)
		{
			document.getElementById('contact_no1').focus();
			return false;
		}
	}
	if(document.getElementById('address1').value == "")
    {
	
	    alert("Please enter your address");
	    document.getElementById('address1').focus();
	    return false;
	
    }
	if(document.getElementById('country').value == "")
    {
	
	    alert("Please select your country");
	    document.getElementById('country').focus();
	    return false;
	
    }
	if(document.getElementById('state').value == "")
    {
	    alert("Please select your state");
	    document.getElementById('state').focus();
	    return false;
    }
	if(document.getElementById('city').value == "")
    {
	
	    alert("Please enter your city name");
	    document.getElementById('city').focus();
	    return false;
    }
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
    
	if(document.getElementById('email_id').value.search(/\S/)==-1)
    {
        alert('Please enter email address');
        document.getElementById('email_id').focus();
        return false;
    }
	var regEmail = /^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)$/;
	if(!regEmail.test(document.getElementById('email_id').value))
	{
		alert("Invalid email address.");
		document.getElementById('email_id').value=''
		document.getElementById('email_id').focus();
		return false;
	}
	if(document.getElementById('conf_email_id').value.search(/\S/)==-1)
    {
        alert('Please enter confirm email address');
        document.getElementById('conf_email_id').focus();
        return false;
    }
	var regEmail = /^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)$/;
	if(!regEmail.test(document.getElementById('conf_email_id').value))
	{
		alert("Invalid email address.");
		document.getElementById('conf_email_id').value=''
		document.getElementById('conf_email_id').focus();
		return false;
	}
	if(document.getElementById('conf_email_id').value!=document.getElementById('email_id').value)
	{
	    alert("Email address mismatch.");
		document.getElementById('conf_email_id').value=''
		document.getElementById('conf_email_id').focus();
		return false;
	}
	
	if(document.getElementById('captcha').value!=document.getElementById('captcha_hidden').value)
    {
	alert("Please enter the text correctly");
	document.getElementById('captcha').focus();
	return false;
    }
	/*if (document.getElementById('resume_path').value.search(/\S/)==-1) 
    {
	alert('Please upload your resume file (.doc)');
    document.getElementById('resume_path').focus();
	return false;
	}*/
   
    return true;
}
/////////// US Phone No format validation ///////////
function ParseUSNumber(PhoneNumberInitialString)
  {
    var FmtStr="";
    var index = 0;
    var LimitCheck;
	var bool = false;

    LimitCheck = PhoneNumberInitialString.length;
    while (index != LimitCheck)
      {
        if (isNaN(parseInt(PhoneNumberInitialString.charAt(index))))
          { }
        else
          { FmtStr = FmtStr + PhoneNumberInitialString.charAt(index); }
        index = index + 1;
      }
    if (FmtStr.length == 10)
      {
        FmtStr =  FmtStr.substring(0,3) + "-" + FmtStr.substring(3,6) + "-" + FmtStr.substring(6,10);
		document.getElementById('contact_no1').value = FmtStr;
		bool = true;
	  }
    else
      {
        FmtStr=PhoneNumberInitialString;
        alert("United States phone numbers must have exactly ten digits.Ex: 714-881-3325");
      }
	
    return bool;
  }
  /////////// End of US Phone No format validation ///////////
function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit or 5 digit+4 zip code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}
