   var agent  = navigator.userAgent.toLowerCase();
   
   var isNN = (agent.indexOf("netscape")!=-1);
   var isOpera = (agent.indexOf("opera")!=-1);
   var isIE = (agent.indexOf("msie") != -1);
   var isFirefox = (agent.indexOf("mozilla") != -1);


//====================================================================================
//	Function used for trimming the white spaces from control value
//====================================================================================
function Trim(control)
{
	if(control == null) {
		return;
	}
	var str = control.value;

	// Triming spaces on the left
	str = str.replace(/^\s+/, "");

	// Triming spaces on the right
	str = str.replace(/\s+$/, "");

	return str;
}

//====================================================================================
//	Function checks if the control value is empty
//====================================================================================
function checkEmpty(control, ctrlTitle)
{
	if(control == null) {
		return;
	}
	var str = Trim(control);
  //var str = control.value;
		
	if(str.length == 0)
	{
		if(ctrlTitle.length > 0)
		{
		   alert("Please enter "+ctrlTitle);
		   control.focus();
		}

		return false;
	}

	return true;
}

//====================================================================================
//	Function checks if the control value is numeric
//====================================================================================
function checkNumeric(control, ctrlTitle)
{
	var str = Trim(control);
	
	if(str.length != 0)
	{
		if(isNaN(control.value))
		{
			alert(ctrlTitle+" must be numeric");
			control.focus();
			control.select();
			return false;
		}

		if(control.value < 0)
		{
			alert(ctrlTitle+" must be positive");
			control.focus();
			control.select();
			return false;
		}
	}

	return true;
}

//====================================================================================
//	Function checks if the control value has only digits
//====================================================================================
function check_for_all_digit(control,ctrTitle)
{
	var str = Trim(control);

	if(str.length != 0)
	{
	if(!isNaN(control.value)){
		alert(ctrTitle+" cannot contain only digits");
		control.value = '';
		control.focus();
		return false;	
	}
	}
	return true;

}
//================================================================================================================
// Function limitText limits the text input character for the supplied limitField control upto limitNum characters
//================================================================================================================
function limitText(limitField, limitNum) 
{
	if(limitField.value.length >limitNum - 1)
	{
		return false;
	}
	else
	{ 
		return true;
	} 
}
//==================================================================================================================
// Function preventPaste limits the paste of characters for the supplied limitField control upto limitNum characters
//==================================================================================================================
function preventPaste(limitField,limitNum)
{
	var CanInsertLength; 
	var sData = window.clipboardData.getData("Text");
	var newData ; 

	CanInsertLength = limitNum - limitField.value.length ; 

	if(CanInsertLength <= 0)
	{
		return false;
	}
	else
	{
		newData = sData.substr(0,CanInsertLength);
		window.clipboardData.setData("Text",newData);
		return true; 
	} 
}

function gotoNewLine(Field,numberofCharsPerLine)
{
	if(Field.value.length % numberofCharsPerLine  == 0)
		Field.value += '\n';
}

//==================================================================================================================
// Function checkRadiobuttonSelected checks whether any radio button is selected
//==================================================================================================================
function checkRadiobuttonSelected(radio_obj,alert_message)
{

for (i=0;i<radio_obj.length;i++) {
	if (radio_obj[i].checked) {
			return true;
	}
}

	alert(alert_message);
	return false;
}

//============================================================================================
// Cookies Management Functions
//===========================================================================================
function cookie_alert()
{
	var cookie_value = readCookie('PHPSESSID') ; // get the leader login credential before deleting the cookies
	alert('Clear cookies and then click OK');
	
	if(cookie_value != null)
		createCookie('PHPSESSID',cookie_value,1);    // restore the cookie with the previous login credential

}

function createCookie(name,value,days) 
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
// Cookies Management Functions

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function clearDefaultData(type)
{
if(type=="min" && document.forms[0].min_date.value=="MM-DD-YYYY")
   document.forms[0].min_date.value="";
else if(type=="max" && document.forms[0].max_date.value=="MM-DD-YYYY")
   document.forms[0].max_date.value="";
}


function validate_date()
{
if(document.forms[0].min_date.value==0 || document.forms[0].max_date.value==0 ||
   document.forms[0].min_date.value=="MM-DD-YYYY" || document.forms[0].max_date.value=="MM-DD-YYYY")
{
alert("From date and To date is required to generate report.");
return false;
}
}	

// Mantis Task #76 begins
function check_using_RegExp(regEx,regExcontrol,alertString)
{
	var regexpObj = new RegExp(regEx);
		
		
		if(!regexpObj.test(Trim(regExcontrol)))
		{
			alert("Invalid value for "+alertString);
			regExcontrol.select();
			regExcontrol.focus();
			return false;
		}
		return true;
		
}
// Mantis Task #76 ends
//Mantis task #75 start
function validateAffiliateLogin(frm) {
	if(frm.Username.value.length == 0) {
		alert('Please enter username');
		frm.Username.focus();
		return false;
	}
	if(frm.Password.value.length == 0) {
		alert('Please enter password');
		frm.Password.focus();
		return false;
	}
	return true;
}
function validateAffiliateChangePassword(frm) {
	if(frm.OldPassword.value.length == 0) {
		alert('Please enter current password');
		frm.OldPassword.focus();
		return false;
	}	
	if(frm.NewPassword.value.length == 0) {
		alert('Please enter new password');
		frm.NewPassword.focus();
		return false;
	}	
	if(Trim(frm.NewPassword) == '') {
		alert('Please enter valid password');
		frm.NewPassword.focus();
		return false;
	}	
	if(frm.NewPassword.value != frm.ConfirmPassword.value) {
		alert('Password not confirmed');
		frm.NewPassword.focus();
		return false;
	}	
	return true;
}
//Mantis task #75 ends

//============================================================================================
// create ajax request
//===========================================================================================
function getXML_HTTPObj()
{
	var http_obj;
	try
	{
		// Firefox, Opera 8.0+, Safari
		http_obj=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			http_obj=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				http_obj=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}		
	return http_obj;
}


//805 
//sends a mail to admin with the phone number details when an invalid number is entered on the contact page
function send_unacceptable_phonenum_mail(arr, qkey)
{	

	var dayPh = encodeURIComponent(arr[0]);
	var dayPhExt = encodeURIComponent(arr[1]);
	var homePh = encodeURIComponent(arr[2]);
	var cell = encodeURIComponent(arr[3]);
	var fax = encodeURIComponent(arr[4]);	
	var email = encodeURIComponent(arr[5]);
	var fname = encodeURIComponent(arr[6]);
	var lname = encodeURIComponent(arr[7]);

	var xmlHttp = getXML_HTTPObj();	

	var url="https://dev.quotescout.com/auto-insurance/modules/auto/sendmail_debug_phone_nums.php";
	url=url+"?d="+dayPh+"&de="+dayPhExt+"&h="+homePh+"&c="+cell+"&f="+fax+"&qk="+qkey+"&type=Home";	
	url = url+"&email="+email+"&fname="+fname+"&lname="+lname;
	
	//alert(url);
			
		xmlHttp.onreadystatechange = function()
					{
						if(xmlHttp.readyState == 4)
						{
							var responseText = xmlHttp.responseText;
							//alert(responseText);						
						}
						
					}
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);	
}
//805 ends


//============================================================================================
// Onkeypress ,zip count
//===========================================================================================

function count_zip(type, frm, serverURL)
{
	var value;
if(type == 'zip')
  {
   value=document.getElementById('zip').value;
  }
  if(type == 'zip2')
  {
	  value=document.getElementById('contZip').value;
  }
	if(value.length == 5)
	{
		update_related_data(type, frm, serverURL);
	}
	else
	{
		alert("Please enter valid Zip Code");
		  if(type == 'zip')
		  {
			document.getElementById('propCity').value='';
			document.getElementById('propCounty').value='';
			document.getElementById('propState').value='';
		  }
		  if(type == 'zip2')
		  {
			document.getElementById('contCity').value='';
			document.getElementById('contCounty').value='';
			document.getElementById('state').value='';
		 }
		return false;
	}
}

//============================================================================================
// check the others
//===========================================================================================

function update_related_data(type, frm, serverURL)
{
	var ctrl;
  if(type == 'zip')
  {
	value=document.getElementById('zip').value;
	ctrl=document.getElementById('zip');
  }
  if(type == 'zip2')
  {
	  value=document.getElementById('contZip').value;
	  ctrl=document.getElementById('contZip');
  }
	if(Trim(document.getElementById('zip')) =='') return;
	xmlHTTPObj=getXML_HTTPObj();

	if(isValidZip(ctrl,'Please enter valid Zip Code') == false) 
		{
		  if(type == 'zip')
		  {
			document.getElementById('propCity').value='';
			document.getElementById('propCounty').value='';
			document.getElementById('propState').value='';
		  }
		  if(type == 'zip2')
		  {
			document.getElementById('contCity').value='';
			document.getElementById('contCounty').value='';
			document.getElementById('state').value='';
		  }
			return false;
		}
	xmlHTTPObj.onreadystatechange = function()
	{
			if(xmlHTTPObj.readyState == 4)
			{
				var serverText = xmlHTTPObj.responseText;

				if(serverText == 'zip code not found')
				{
					alert('Please enter valid Zip Code');
					if(type == 'zip')
					{
						document.getElementById('propCity').value='';
						document.getElementById('propCounty').value='';
						document.getElementById('propState').value='';
					}
					if(type == 'zip2')
					{
						document.getElementById('contCity').value='';
						document.getElementById('contCounty').value='';
						document.getElementById('state').value='';
					}
					ctrl.value='';
					ctrl.focus();
					return false;
				}
				else 
				{
					var add_arr=serverText.split(":");

					if(type == 'zip')
					{
						document.getElementById('propCity').value=add_arr[0];
						document.getElementById('propCounty').value=add_arr[2];
						document.getElementById('propState').value=add_arr[1];
					}
					if(type == 'zip2')
					{
						document.getElementById('contCity').value=add_arr[0];
						document.getElementById('contCounty').value=add_arr[2];
						document.getElementById('state').value=add_arr[1];

					}
			
				}
			}
	}
	xmlHTTPObj.open("GET",serverURL+"?zipCode="+value,true);
	xmlHTTPObj.send(null);

}

//====================================================================================
//	Function used for validating the Zip code
//====================================================================================

function isValidZip(obj, msg)
{
	if(obj.value == '' || !isNumeric(obj.value) || obj.value.length !=5 || obj.value == '00000')
	{ 
		alert(msg);
		obj.focus();
		return false;
	}
	return true;
}

//====================================================================================
//	Function used for validating the enter field as numeric
//====================================================================================

function isNumeric(s){
	if(s=='')
		return true;
  if(!/^-*[0-9\.]+$/.test(s))
   {
   		return false
   }
   else
   {
   		return true;
   }
}
//====================================================================================
//	Function to validate phone number according to nxx-nxx-xxxx : 290
//====================================================================================

function validate_phonenumber(ph)
{


    var npa=ph.substr(0,3);

    var central_office=ph.substr(3,3);
    var flag=0;

	var other=ph.substr(6,4);

    var npa_c=npa.substr(0,1);
    var central_c=central_office.substr(0,1);
	var c_other=central_office.substr(1,2);
	if(central_office == '555')
	{
		flag=0;
		return flag;
	}

/*    if(/(\d)\1{4,}/.test(ph))
   {
		flag=0;
		return flag;
	}
*/
   if((/^[2-9]+$/.test(npa_c)) && (/^[2-9]+$/.test(central_c)) && (/^[0-9]+$/.test(other)) && (/^[0-9]+$/.test(c_other)))
   {
  	  flag=1;

   }

   else

   {

   		flag=0;

   }



   return flag;

}
function area_code(frm,acode)
{
	var arr_string=frm.area_code_str.value;
	var area_code=arr_string.split("-");
	var cnt=area_code.length;

	for(i=0;i<cnt;i++)
	{
		if(area_code[i] == acode)
		{
			return true;
			break;
		}
	}
	return false;
}
//====================================================================================
//	Function to validate date
//====================================================================================

function validateDate(fld,errorMessage) 
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;

    if ((fld.value.match(RegExPattern)) && (fld.value!='')) 
        return true;
	else 
	{
		if(errorMessage!="")
		{
			alert(errorMessage);
		}

		return false;
    } 
}
//====================================================================================
//	Function returns which checkbox is selected
//====================================================================================

function checkRadioButtonSelected(obj, msg)
{
	for(i=0;i<obj.length;i++)
	{
		if(obj[i].checked) return true
	}
	alert(msg);
	return false;

}

//====================================================================================
//	Functions to check valid numeric numbers
//====================================================================================

function isValidNumeric(obj, msg, null_allowed,take_focus)
{
		// #805
		if(obj.name == "dayPhoneExt")
		{
			obj.value = trim(obj.value);
		}
		// 805 ends
		
		take_focus = (take_focus == false) ? false : true;
		if(null_allowed)
		{
			if(!isNumeric(obj.value))
			{
				alert(msg);
				if(take_focus!=false)
					obj.focus();
				return false;
			}
		}
		else
		{
			if(!isNumeric(obj.value) || !checkEmpty(obj,''))
			{
				alert(msg);
				if(take_focus!=false)
					obj.focus();
				return false;
			}
		}
}

//====================================================================================
//	Function to return true or false acc, to correct month index
//====================================================================================

function valid_month(month)
{
	if(month == '') return false;
	if(month <= 11)
	{
		return true;
	}
	else
	{
		return false;
	}
}

//====================================================================================
//	Function to find wehter string contain any invalid characters
//====================================================================================

function invalid_string(val)
{
var strInput = new String(val);
var re=/\./;
if(strInput.match(re))
	{
		return false;
	}
if(val < 0)
	{
		return false;
	}
var re1=/-\+*@#\$!|\\_\*/;
if(strInput.match(re1))
	{
		return false;
	}
}
//====================================================================================
//	Function to validate email
//====================================================================================

function isValidEmail(emailStr){
	if(emailStr.length== 0){
		return true;
	}
	if(!/^\w+([\.\-\+]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(emailStr))
		return false
	return true	
}
//====================================================================================
//	Function which call validating functions for Home module
//====================================================================================

function validate_home(frm,qkey)
{

	switch(frm.name)
	{
		case 'frmpage2':
				return validatePage1(frm);
				break;
		case 'frmpage3':
				return validatePage2(frm);
				break;
		case 'frmpage4':
				return validatePage3(frm);
				break;
		case 'frmpage5':
				return submitPage(frm,qkey);
				break;	
				
	}
}
//====================================================================================
//	Function for home page 1 validation
//====================================================================================

function validatePage1(frm)
{

		if(checkEmpty(frm.fname1,"First Name.") == false) return false;
		//Task-#881: added on 22 Nov 2009
		isValidFName = validate_name(trim(frm.fname1.value));
		if(isValidFName == false)
		{
			alert('Please enter valid First name.');
			return false;
		}
		if(checkEmpty(frm.lname1,"Last Name.") == false) return false;
		
		//Task-#881: added on 22 Nov 2009
		isValidLName = validate_name(trim(frm.lname1.value));
		if(isValidLName == false)
		{
			alert('Please enter valid Last name.');
			return false;
		}

		if(checkEmpty(frm.propAdd1,"Property Address.") == false) return false;
		//if(checkEmpty(frm.propAdd2,"Property Apt. Number.") == false) return false;
		if(isValidZip(frm.zip,'Please enter valid Zip Code.') == false) 
			{	
				frm.zip.focus();
				return false;
			}

		if(checkEmpty(frm.propCity,"Property City.") == false) return false;
		if(checkEmpty(frm.propCounty,"Property County.") == false) return false;
		if(checkEmpty(frm.propState,"Property State.") == false) return false;

		
		if(frm.residenceYears.value == '')
	    {
			alert("Please select Residence Year.");
			frm.residenceYears.focus();
			return false;
	    }
		if(frm.residenceMonths.value == '')
	    {
			alert("Please select Residence Month.");
			frm.residenceMonths.focus();
			return false;
	    }
		var ins=Trim(frm.insuranceCompany);
		
		if(ins == 'Not Currently Insured')
			ins='';

		date_flag = 'on';

		if(frm.ins_exp_renew_date_Year != undefined && frm.ins_exp_renew_date_Month != undefined && frm.ins_exp_renew_date_Year != undefined)
	    {
				if(frm.ins_exp_renew_date_Year.value != '' && frm.ins_exp_renew_date_Month.value !='' && frm.ins_exp_renew_date_Day.value !='')	
					{	
						
					    frm.ins_exp_renew_date.value = frm.ins_exp_renew_date_Month.value + "-" + frm.ins_exp_renew_date_Day.value + "-" + frm.ins_exp_renew_date_Year.value;
						if(validateDate(frm.ins_exp_renew_date,"Please enter proper expire/renew date.") == false)  return false;
					       frm.ins_exp_renew_date.value = frm.ins_exp_renew_date_Year.value + "-" +frm.ins_exp_renew_date_Month.value + "-" + frm.ins_exp_renew_date_Day.value;
		
						expirydate=new Date();

						expdate=new Date(expirydate.getFullYear(),expirydate.getMonth(),expirydate.getDate()-30);
						cmpdate=new Date(frm.ins_exp_renew_date_Year.value,frm.ins_exp_renew_date_Month.value-1,frm.ins_exp_renew_date_Day.value);
		
						if(cmpdate < expdate)
						{
							alert('Please enter a date that is at least within the past 30 days. ');
							return false;
						}
						

						frm.ins_exp_renew_date.value = frm.ins_exp_renew_date_Year.value + "-" + frm.ins_exp_renew_date_Month.value + "-" + frm.ins_exp_renew_date_Day.value ;
				date_flag = 'off';
					}
			else
						{
							alert("Please select proper Expire/renew Date.");
							frm.ins_exp_renew_date_Month.focus();
							return false;
						}

					frm.dur_cur_ins.value=frm.dur_insured_yr.value+'-'+frm.dur_insured_mnth.value;
					frm.dur_cont_ins.value=frm.cont_insured_yr.value+'-'+frm.cont_insured_mnth.value;

			if((frm.dur_insured_yr.value ==0 && frm.dur_insured_mnth.value == 0))
			{
				alert("You cannot be currently insured for 0 months and 0 years.");
				return false;
			}
			if(frm.cont_insured_yr.value == 0 && frm.cont_insured_mnth.value == 0)
				{
				alert("You cannot be continuously insured for 0 months and 0 years. ");
				return false;
				}
			/* This will be rare case but if select dropdown fails can be helpful */
			c_yr=parseInt(frm.dur_insured_yr.value)*12;
			c_mn=parseInt(frm.dur_insured_mnth.value);
			c_dur=c_yr+c_mn;
				
				cont_yr=parseInt(frm.cont_insured_yr.value)*12;
				cont_mn=parseInt(frm.cont_insured_mnth.value);
				cont_duration=cont_yr+cont_mn;

				if(c_dur > cont_duration)
				{
					alert("You cannot be continuously insured for less time than you are currently insured. ");
					return false;
				}
			}

//		if(check_ssn(frm.ssn1,frm.ssn2,frm.ssn3,frm.ssn,frm)==false) return false;

		//frm.ssn.value=frm.ssn1.value+frm.ssn2.value+frm.ssn3.value;
		frm.request_policy_date.value=frm.request_policy_Month.value + "-" + frm.request_policy_Day.value + "-" + frm.request_policy_Year.value;
		if(validateDate(frm.request_policy_date,"Please enter proper Request Policy Date.") == false)  return false;

				
		if(check_requestPolicy_date(frm.request_policy_Month.value,frm.request_policy_Day.value,frm.request_policy_Year.value) == false) return false;

		if(checkEmpty(frm.propType,"Property Type") == false) return false;

		if(checkRadioButtonSelected(frm.currOwn,"Please select Yes or No to Do you currently own this property?") == false) return false;

		if(checkRadioButtonSelected(frm.currReside,"Please select Current residing status") == false) return false;

		return true;
}

//====================================================================================
//	Function for home page 2 validation
//====================================================================================
function validatePage2(frm)
{


	if(checkEmpty(frm.numberRoomsExcludeBasement,"total number of rooms in your Apartment excluding basement and bathrooms") == false) return false;

	if(checkEmpty(frm.propCoverage,"Amount of Personal Property Coverage") == false) return false;

	//if(checkEmpty(frm.propValue,"Current Market Value of Property") == false) return false;
	//if(!check_using_RegExp('^([0-9]|,)+\$',frm.propValue,"Current Market Value of Property")) return false;


	//if(checkEmpty(frm.propPrice,"Purchase Price of Property") == false) return false;
	//if(!check_using_RegExp('^([0-9]|,)+\$',frm.propPrice,"Purchase Price of Property")) return false;

	//if(checkEmpty(frm.liabCoverage,"Amount of Personal Liability Coverage") == false) return false;
	//if(checkEmpty(frm.deductible,"How much deductible?") == false) return false;

	if(frm.yearBuilt != null)
	{
	if(checkEmpty(frm.yearBuilt,"Approximate year property built") == false) return false;
	if(frm.yearBuilt.value.length == 4)
	{
		if(!check_using_RegExp('^([0-9])+\$',frm.yearBuilt,"Approximate year property built")) return false;
	}else{
			alert("Please enter proper value for Year property built");
		return false;
	}

	var currentTime = new Date();
	var currentyearbuilt = currentTime.getFullYear();
	
	if(frm.yearBuilt.value < 1800 || frm.yearBuilt.value > currentyearbuilt)
	{
		alert("Please enter proper value for Year property built");
		return false;
	}
	}

	if(checkEmpty(frm.residenceSquareFootage,"Livable square footage of residence") == false) return false;
	//if(!check_using_RegExp('^([0-9])+\$',frm.residenceSquareFootage,"Livable square footage of residence")) return false;

	//if(checkEmpty(frm.primarySecondaryResidence,"Is this your primary or secondary residence") == false) return false;
	if(frm.reportedClaims.value != 0)
	{
		cnt=frm.reportedClaims.value;
		for(ind=0;ind<cnt;ind++)
		{
			mclaim='m_claim'+ind;
			ddclaim='dd_claim'+ind;
			yclaim='y_claim'+ind;
			dclaim='d_claim'+ind;
			pclaim='p_claim'+ind;

			if(ind == 0)
				seq='first';
			else if(ind == 1)
				seq='second';
			else if(ind == 2)
				seq='third';
			else if(ind == 3)
				seq='fourth';
			else if(ind == 4)
				seq='fifth';

			 var claim_validate_flag; 
		
		  if(document.getElementById(mclaim) != null && document.getElementById(ddclaim) != null && document.getElementById(yclaim) != null && document.getElementById(dclaim) != null && document.getElementById(pclaim) !=null )
		  {
			 
			 claim_validate_flag= validate_claim_info(document.getElementById(mclaim),document.getElementById(ddclaim),document.getElementById(yclaim),document.getElementById(dclaim),document.getElementById(pclaim),seq);

			  
			  if(claim_validate_flag == false)
			  {
				  return false;
			  }

			  index=ind+1;
			  claimstr='claim'+index;
			  document.getElementById(claimstr).value=document.getElementById(mclaim).value+'-'+document.getElementById(ddclaim).value+'-'+document.getElementById(yclaim).value+'-'+document.getElementById(dclaim).value+'-'+document.getElementById(pclaim).value;
			 
		  }
		}
	}
	if(frm.numUnits != null)
	{
		if(checkEmpty(frm.numUnits,"Number of homes in your building complex") == false) return false;
		if(!check_using_RegExp('^([0-9])+\$',frm.numUnits,"Number of homes in your building complex")) return false;
		if((frm.numUnits.value > 0) && (frm.numUnits.value > 999))
		{
			alert("Please enter proper value of Number of homes");
			frm.numUnits.focus();
			return false;
		}
	}

	if(checkRadioButtonSelected(frm.farming,"Please select wether business or farming conducted on this property?") == false) return false;
	if(checkRadioButtonSelected(frm.dogs,"Please select the breeds of dogs") == false) return false;
	
	if(document.getElementById('hpropType').value == 'Condominium' || document.getElementById('hpropType').value == 'Townhome' )
	{
		//Task Renters Validation starts 24-Nov-09
		// return true;
		if(checkEmpty(frm.ddesign,"Dwelling design.") == false) return false;
		if(checkEmpty(frm.GarageType,"Garage Type.") == false) return false;
		if(checkEmpty(frm.bedrooms,"Number of bedrooms.") == false) return false;
		if(checkEmpty(frm.bathrooms,"Number of bathrooms.") == false) return false;
		if(checkEmpty(frm.baseType,"Foundation or Basement type.") == false) return false;
		//Task Renters Validaion ends
	}
	else
	{
		if(document.getElementById('hcurrOwn').value == 'Y')
		{
		//if(document.getElementById('BasicInfoDivId').style.display == 'block')
		//{
			if(checkEmpty(frm.ddesign,"Dwelling design.") == false) return false;
	
			if(checkEmpty(frm.constructionExteriorWalls,"Construction and Exterior Walls") == false) return false;

			//if(checkEmpty(frm.basement,"Exterior wall type.") == false) return false;

			if(checkEmpty(frm.bedrooms,"Number of bedrooms.") == false) return false;

			if(checkEmpty(frm.bathrooms,"Number of bathrooms.") == false) return false;


			if(checkEmpty(frm.RoofType,"Roof Type.") == false) return false;


			if(checkEmpty(frm.roofAge,"Roof Age.") == false) return false;


			if(checkEmpty(frm.GarageType,"Garage Type.") == false) return false;


			if(checkEmpty(frm.baseType,"Foundation or Basement type.") == false) return false;

			if(checkEmpty(frm.SelBurglarAlarm,"Burglar Alarm.") == false) return false;
			if(checkEmpty(frm.CentralFireAlarm,"Central Fire Alarm.") == false) return false;

			if(checkEmpty(frm.Proximitywater,"Proximity To Water.") == false) return false;
			if(checkEmpty(frm.constructiontype,"Construction type.") == false) return false;

			if(checkEmpty(frm.HeatingSystemDetails,"Heating System.") == false) return false;


			if(checkEmpty(frm.NumberOfGasPelletWood," number of Gas, Pellet and Woodfireplaces or Stoves.") == false) return false;

			if(checkEmpty(frm.is_your_home_prone_to_flodding,"Flood Plain.") == false) return false;
		}
		//Task Renters Validation starts 24-Nov-09
		else
		{
			if(checkEmpty(frm.ddesign,"Dwelling design.") == false) return false;
			if(checkEmpty(frm.GarageType,"Garage Type.") == false) return false;
			if(checkEmpty(frm.bedrooms,"Number of bedrooms.") == false) return false;
			if(checkEmpty(frm.bathrooms,"Number of bathrooms.") == false) return false;
			if(checkEmpty(frm.baseType,"Foundation or Basement type.") == false) return false;
		}
		//Task Renters Validaion ends
	}

	
	//if(checkEmpty(frm.roofingMaterial,"Roofing Material") == false) return false;
	//if(checkEmpty(frm.roofShape,"Shape of Roof") == false) return false;
return true;
}

//====================================================================================
//	Function for home page 3 validation
//====================================================================================

function validatePage3(frm)
{

	if(checkEmpty(frm.residentFname,"Owner's First Name") == false) return false;
	//Task-#881: added on 22 Nov 2009
	isValidFName = validate_name(trim(frm.residentFname.value));
	if(isValidFName == false)
	{
		alert('Please enter Owner\'s valid First name.');
		return false;
	}

	if(checkEmpty(frm.residentLname,"Owner's Last Name") == false) return false;
	//Task-#881: added on 22 Nov 2009
	isValidLName = validate_name(trim(frm.residentLname.value));
	if(isValidLName == false)
	{
		alert('Please enter Owner\'s valid Last name.');
		return false;
	}
	
	if(frm.residentDOB_month.value !='' && frm.residentDOB_day.value != '' &&  frm.residentDOB_year.value !='')
	{
		frm.residentDOB.value = frm.residentDOB_month.value + "-" + frm.residentDOB_day.value + "-" + frm.residentDOB_year.value;
	}
	else
	{
		alert("Please enter Owner's Date of Birth.");
		frm.residentDOB_month.focus();
		return false;
	}
	if(validateDate(frm.residentDOB,"Please enter proper Owner's Date of Birth.") == false)  return false;	
	if(checkRadioButtonSelected(frm.residentGender,"Please select Owner's Gender.") == false) return false;


	if(checkRadioButtonSelected(frm.credRating,"Please select Owner's Credit Rating.") == false) return false;
	if(frm.co_residentFname != null && (frm.co_residentFname.value != '' || frm.co_residentLname.value != ''))
	   {

		if(checkEmpty(frm.co_residentFname," Co-Resident's First Name") == false) return false;
		if(checkEmpty(frm.co_residentLname," Co-Resident's Last Name") == false) return false;
		if(frm.co_residentDOB_month.value !='' && frm.co_residentDOB_day.value != '' &&  frm.co_residentDOB_year.value !='')
		{
			frm.co_residentDOB.value = frm.co_residentDOB_month.value + "-" + frm.co_residentDOB_day.value + "-" + frm.co_residentDOB_year.value;
		}
		else
		{
			alert("Please enter Co-Resident's Date of Birth.");
			frm.co_residentDOB_month.focus();
			return false;
		}
		if(validateDate(frm.co_residentDOB,"Please enter proper Co-owner's Date of Birth.") == false)  return false;

		if(checkRadioButtonSelected(frm.co_residentGender,"Please select Co-owner's Gender.") == false) return false;

		if(checkRadioButtonSelected(frm.co_credRating,"Please select Co-owner's Credit Rating.") == false) return false;
	}
}

//====================================================================================
//	Function for final home page submit
//====================================================================================
function submitPage(frm, qkey)
{
	if(checkEmpty(frm.contFname,"Contact First Name.") == false) return false;
	//Task-#881: added on 22 Nov 2009
	isValidFName = validate_name(trim(frm.contFname.value));
	if(isValidFName == false)
	{
		alert('Please enter valid Contact First name.');
		return false;
	}

	if(checkEmpty(frm.contLname,"Contact Last Name.") == false) return false;
	
	//Task-#881: added on 22 Nov 2009
	isValidLName = validate_name(trim(frm.contLname.value));
	if(isValidLName == false)
	{
		alert('Please enter valid Contact Last name.');
		return false;
	}

	if(checkEmpty(frm.contAdd1,"Contact Street Address.") == false) return false;
//	if(checkEmpty(frm.contAdd2,"Contact Apt.") == false) return false;
	if(checkEmpty(frm.contZip,"Contact Zip.") == false) return false;
	if(checkEmpty(frm.contCity,"Contact City.") == false) return false;
	if(checkEmpty(frm.contCounty,"Contact County.") == false) return false;
	if(checkEmpty(frm.contState,"Contact State.") == false) return false;


	/*if(frm.dobmonth.value != '' && frm.dobday.value != '' &&  frm.dobyear.value != '')
	{
		frm.contactDOB.value = frm.dobmonth.value + "-" + frm.dobday.value + "-" + frm.dobyear.value;
	}
	else
	{
		alert('Please enter Date of Birth.');
		return false;
	}*/

	//if(validateDate(frm.contactDOB,"Please enter proper Date of Birth.") == false)  return false;

	//if(checkEmpty(frm.residenceStatus,"Contact residence status.") == false) return false;
	//if(checkEmpty(frm.residenceYears," Residence Years.") == false)return false;
	//if(checkEmpty(frm.residenceMonths," Residence Months.") == false)return false;

	emailobj=document.getElementById('emailAddress');

	if(checkEmpty(emailobj,"Contact Email.") == false) return false;
	if(!isValidEmail(emailobj.value) || checkEmpty(emailobj,"") == false)
	{
		alert("Please enter proper Email Address.");
		emailobj.focus();
		return false;
	}

		//805 (email)				
		var dayPhone_debug = frm.dayPhone1.value + '-' + frm.dayPhone2.value + '-' + frm.dayPhone3.value;
						
		var dayPhoneExt_debug = frm.dayPhoneExt.value;
				
		var homePhone_debug = frm.homePhone1.value + '-' + frm.homePhone2.value + '-' +	frm.homePhone3.value;
				
		var cellPhone_debug = frm.cellPhone1.value + '-' + frm.cellPhone2.value + '-' +	frm.cellPhone3.value;
																
		var	fax_debug = frm.fax1.value + '-' + frm.fax2.value + '-' + frm.fax3.value;		
				
		var debug_home_arr = new Array(8);
		debug_home_arr[0] = dayPhone_debug;
		debug_home_arr[1] = dayPhoneExt_debug;
		debug_home_arr[2] = homePhone_debug;
		debug_home_arr[3] = cellPhone_debug;
		debug_home_arr[4] = fax_debug;
		debug_home_arr[5] = emailobj.value;
		debug_home_arr[6] = frm.contFname.value;
		debug_home_arr[7] = frm.contLname.value;
		
		//805(email)  ends here
	
	//805
	frm.dayPhone.value = trim(frm.dayPhone1.value) + trim(frm.dayPhone2.value) + 
															trim(frm.dayPhone3.value);
	if(frm.dayPhone.value.length<10)
		{
				alert("Please enter proper Daytime Telephone Number-length less than 10");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);				
				frm.dayPhone1.focus();
				return false;
		}
		if(isNumeric(frm.dayPhone.value)== false)
		{
			alert("Please enter proper Daytime Telephone number-Not numeric");
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
			 return false;
		}

		if(validate_phonenumber(frm.dayPhone.value)==0) 
			{
			   alert('Please enter valid Daytime Telephone Number-Not valid');
			   send_unacceptable_phonenum_mail(debug_home_arr, qkey);
			   return false;

			}

		if(false == area_code(frm,trim(frm.dayPhone1.value)))
		{
			alert("Please enter valid Daytime Telephone Number- invalid area code");
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
			return false;
		}

		if(isValidNumeric(frm.dayPhoneExt,"Please enter proper Daytime Phone Extension.", true) == false) 
		{
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
			return false;
		}

		if(frm.homePhone1.value !='' || frm.homePhone2.value !='' || frm.homePhone3.value!='')
		{
			frm.homePhone.value = trim(frm.homePhone1.value) + trim(frm.homePhone2.value) + 
																	trim(frm.homePhone3.value);
		
		
		if(isNumeric(frm.homePhone.value) == false)
		{
		    alert("Please enter proper Home Telephone Number.");
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.homePhone1.focus();
		    return false;
		}
		if(frm.homePhone.value.length!=0 && frm.homePhone.value.length<10)
		{
				alert("Please enter proper Home Telephone Number");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.homePhone1.focus();
				return false;
		}
		if(validate_phonenumber(frm.homePhone.value)==0)

		{

			alert('Please enter valid Home Telephone Number');
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
			return false;

		}

		if(false == area_code(frm,trim(frm.homePhone1.value)))
		{
			alert("Please enter valid Evening Telephone Number");
			send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				return false;
		}

		}

		frm.cellPhone.value = trim(frm.cellPhone1.value) + trim(frm.cellPhone2.value) + 
																trim(frm.cellPhone3.value);

		if(frm.cellPhone.value != '')
		{
			if(frm.cellPhone.value.length<10)
			{
				alert("Please enter proper Cell Phone Number");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.cellPhone1.focus();
				return false;
			}
			if(isNumeric(frm.cellPhone.value) == false)
		     {
			    alert("Please enter proper Cell Phone Number.");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.cellPhone1.focus();
			    return false;
		     }
			if(validate_phonenumber(frm.cellPhone.value)==0)

			{
				alert('Please enter valid Cell Number');
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.cellPhone1.focus();
				return false;
			}	
			//if(false == area_code(frm,frm.cellPhone1.value))
			//{		
				//alert("Please enter valid Cell Number");
				//return false;
			//}

		}

		if(frm.fax1.value !='' || frm.fax2.value !='' || frm.fax3.value != '')
		{
			frm.fax.value = trim(frm.fax1.value) + trim(frm.fax2.value) + trim(frm.fax3.value);
			
		   if(frm.fax.value.length<10)
		  {
				alert("Please enter proper fax number");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.fax1.focus();
				return false;
		   }
			if(isNumeric(frm.fax.value) == false)
			{
				alert('Please enter proper Fax Number.');
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				frm.fax1.focus();
				return false;
		   }
			if(validate_phonenumber(frm.fax.value)==0)
			{
				alert('Please enter valid Fax Number');
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				return false;
			}
			if(false == area_code(frm,trim(frm.Fax1.value)))
			{		
				alert("Please enter valid Fax Number");
				send_unacceptable_phonenum_mail(debug_home_arr, qkey);
				return false;
			}

		}

		//805 ends

	if(checkRadioButtonSelected(frm.contactTime,"Please select contact time.") == false) return false;
	if(checkRadioButtonSelected(frm.multiPolicy,"Please select multipolicy.") == false) return false;
 
	return true;
}

//====================================================================================
//	Function for updating month accordingly on selection of year
//====================================================================================
function update_month(obj,frm)
{
		if(obj.value == '10+')
		{
				frm.residenceMonths.value='0';
		}
}

//====================================================================================
//	Function for showing and hiding insurance div
//====================================================================================

function show_insuranceDiv(selobj)
{
	var ele=selobj.value;
	if(ele == 'Not Currently Insured' || ele == '-- Current Carrier Not Listed --' )
	{
		hide_ID_part('insuranceTable','','');
	}
	else
	{
		show_ID_part('insuranceTable','','');
	}
}

//====================================================================================
//	Function to hide div
//====================================================================================

function hide_ID_part(id,str_style,id_to_change) {
if(document.getElementById(id) != null)
	{
	document.getElementById(id).style.display = 'none';

	if(str_style != '' && id_to_change!= '')
		document.getElementById(id_to_change).className = 'rowGray';
	}
}

//====================================================================================
//	Function to show div
//====================================================================================

function show_ID_part(id,str_style,id_to_change) {
if(document.getElementById(id) != null)
	{
	 document.getElementById(id).style.display = 'block';

	if(str_style !='' && id_to_change!= '')
		document.getElementById(id_to_change).className = 'rowWhite';
	}
}

//====================================================================================
//	Function to fill in continous year
//====================================================================================

function fill_continous_yr(frm,val)
{
	frm.dur_insured_yr.value=val;
}

//====================================================================================
//	Function to fill in continous month
//====================================================================================

function fill_continous_mn(frm,val)
{
	frm.dur_insured_mnth.value=val;
}

//====================================================================================
//	Function to enters the dynamic claims information
//====================================================================================

function enter_claims_info(countvar)
{
	var is_claims_already_exists=check_claims_already_entered();
	populate_hidden_claim_values();


	if(is_claims_already_exists == true && countvar > 0)
	{
		check_vars('set4');
	}
	else
	{
		var show_div=document.getElementById('claimDiv');
		show_div.style.display = 'block';
		tbl_obj = document.getElementById('claimTable');
		
		var lastRow = tbl_obj.rows.length;
		//	j=i+1;

		var tblBody = document.createElement("tbody");
	    tbl_obj.appendChild(tblBody);

	if(countvar != 0)
	{
		claim_table_header();
	}
	if(countvar==0){
		var show_div=document.getElementById('claimDiv');
		show_div.style.display = 'block';

		obj=document.getElementById('claimTable');
		
		for(i=obj.rows.length-1;i>=0;i--)
			obj.deleteRow(i);

    }
		for(i=0; i<countvar ; i++)
		{
			var id='claim'+i;
			add_incident(id,i,null,null,null,null,null,tblBody);
		}
		}
	
}
//====================================================================================
//	Function to add incident
//====================================================================================

function add_incident(claimid,i,m,dd,y,t,a,tblBody)
{
	var row = document.createElement("tr"); // create row
	row.id='claim_row_id'+claimid;
	tblBody.appendChild(row);

        var celltext = document.createElement("td");
		celltext = row.insertCell(0);		
	var textNode = document.createTextNode('Claim '+ (i+1) +' : ');
	celltext.appendChild(textNode);
	row.appendChild(celltext);

		var cell_month = document.createElement("td");
		cell_month = row.insertCell(1);		
	var cell_month_node=document.createElement("select");
	cell_month_node.id='m_'+claimid;
	cell_month_node.name='m_'+claimid;
	cell_month_node.className="frmElements";
	cell_month.appendChild(cell_month_node);
	populateMonth(document.getElementById('m_'+claimid));	
	if(m != null || m !='')
	{
		cell_month_node.value=m;
	}

	row.appendChild(cell_month);

	var cell_day = document.createElement("td");
	cell_day = row.insertCell(2);
	var cell_day_node=document.createElement("select");
	cell_day_node.id='dd_'+claimid;
	cell_day_node.name='dd_'+claimid;
	cell_day_node.className="frmElements";
	cell_day.appendChild(cell_day_node);
	populateDay(document.getElementById('dd_'+claimid));	
	if(dd != null || dd !='')
	{
		cell_day_node.value=dd;
	}

	row.appendChild(cell_day);

		var cell_year = document.createElement("td"); // create cell
	cell_year = row.insertCell(3);		
	var cell_year_node=document.createElement("select");
	cell_year_node.id='y_'+claimid;
	cell_year_node.name='y_'+claimid;
	cell_year_node.className="frmElements";
	cell_year.appendChild(cell_year_node);
	populateYear(document.getElementById('y_'+claimid));	
	if(y != null || y !='')
	{
		cell_year_node.value=y;
	}

	row.appendChild(cell_year);

		var cell_desc = document.createElement("td"); // create cell
	cell_desc = row.insertCell(4);		
	var cell_desc_node=document.createElement("select");
	cell_desc_node.id='d_'+claimid;
	cell_desc_node.name='d_'+claimid;
	cell_desc_node.className="frmElements";
	cell_desc_node.maxlength=20;
	cell_desc.appendChild(cell_desc_node);
	
	populateClaims(document.getElementById('d_'+claimid));	
	if(t != null || t !='')
	{
		cell_desc_node.value=t;
	}
	row.appendChild(cell_desc);

		var cell_payins = document.createElement("td"); // create cell
	cell_payins = row.insertCell(5);	

		if(a == null)a='';

	var cell_payins_node=document.createElement("input");
	cell_payins_node.id='p_'+claimid;
	cell_payins_node.name='p_'+claimid;
	if(a != null || a !='')
	{
		cell_payins_node.value=a;
	}	
	cell_payins_node.className="frmElements";
	cell_payins_node.size=4;
	cell_payins_node.maxlength=5;
	cell_payins.appendChild(cell_payins_node);
	row.appendChild(cell_payins);
}

//====================================================================================
//	Function to populate claims
//====================================================================================

function populateClaims(field)
{
	comprehensive=['- Select claims-','Fire Or Lightning Damage','Windstorm Or Hail Damage','Ice Snow Sleet Damage','Smoke Damage','Water Damage','Vandalism','Theft','Loss Claim Not Listed'];
	var count=comprehensive.length;
	for (var m=0; m<count; m++)
	{
		if(m == 0)
			field.options[m]=new Option(comprehensive[m], '')
		else		
		{
				field.options[m]=new Option(comprehensive[m], comprehensive[m])
		}
	}
}

//====================================================================================
//	Function to populate years
//====================================================================================

function populateYear(yearfield)
{
	//select today's year
	var today = new Date();
	var thisyear=today.getFullYear();
	
	//Mantis Task: # 597 -- Start
	var yrStart;
	var day = today.getDate();
	var month = today.getMonth()+1; 
	
	if(day <= 31 && month == 1)	
	{
		yrStart=thisyear-7;
	}
	else
	{
		yrStart=thisyear-6;
	}
	//Mantis Task: # 597 -- End
	
	
	
	//var yrStart=thisyear-6;
	var countYr=thisyear-yrStart;

	for (var y=0; y<countYr; y++)
	{
		yrStart = yrStart+1;
		if(y==0)
		{
			yearfield.options[y]=new Option('-year-','');
		}
		else
		{
			yearfield.options[y]=new Option(yrStart,yrStart);
		}
		}
}

//=====================================================
//	Function to populate Day
//====================================================================================

function populateDay(dayfield)
{
	dayfield.options[0]=new Option('-day-','');

	for (var d=1; d<=31; d++)
	{
		if(d <= 9)
			d = '0'+d;
		dayfield.options[d]=new Option(d,d);
	}
}

//====================================================================================
//	Function to populate month
//====================================================================================

function populateMonth(monthfield)
{

	monthtext=['-month-','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
	var m;
	//select today's month
	for (m=0; m<=12; m++)
	{
		if(m==0)
		{
			monthfield.options[m]=new Option(monthtext[m], '');
		}
		else
		  {
			monthfield.options[m]=new Option(monthtext[m], monthtext[m])
		  }
		}
	//monthfield.options[today.getMonth()]=new Option('-month-','-month-', true, true) 
}

//====================================================================================
//	Function to check zip for home
//====================================================================================

function check_zip_home(zip,serverURL)
{
	var zipVal=zip.value;
	if(zipVal.length == 5)
	{
		if(isValidZip(zip,'Please enter valid Zip Code') == false) 
		{
			document.getElementById('img_Zip').style.visibility="hidden";
			return false;
		}
		validate_zip(zip,serverURL);
	}
}

//====================================================================================
//	Function for zip
//====================================================================================

function validate_zip(zip,serverURL)
{
	document.getElementById('img_Zip').style.visibility="visible";
	xmlHTTPObj=getXML_HTTPObj();
	if(isValidZip(zip,'Please enter valid Zip Code') == false) 
		{
		document.getElementById('img_Zip').style.visibility="hidden";
			return false;
		}
	xmlHTTPObj.onreadystatechange = function()
	{
			if(xmlHTTPObj.readyState == 4)
			{
				document.getElementById('img_Zip').style.visibility="hidden";
				var serverText = xmlHTTPObj.responseText;
				if(serverText == 'zip code not found')
				{
					document.getElementById('zip_flag_val').value='incorrect';
					alert('Please enter valid Zip Code');
					document.getElementById('zip').focus();
					document.getElementById('img_Zip').style.visibility="hidden";
					return false;
				}
				else
				{
					document.getElementById('zip_flag_val').value='correct';
					return true;
				}
	       }
	}
	xmlHTTPObj.open("GET",serverURL+"?zipCode="+zip.value,true);
	xmlHTTPObj.send(null);

	return false;
}
//====================================================================================
//	Function to validate ihome
//====================================================================================

function ValidateHomeLanding(frm,serverURL)
{
	zip=document.getElementById('zip');
	
	//Task 732 Renter field
	var ins_type_rent = document.getElementById('ins_type_rent').checked;
	var ins_type_home = document.getElementById('ins_type_home').checked;
	
	var return_val=false;

	if (zip.value == ''){
		alert("Please enter Zip Code");
		return_val = false;
	}
	else if(zip.value.length != 5)
	{
		alert("Please enter five digit Zip Code");
		return_val = false;
	}
	else if(zip.value == 0)
	{
		alert("Please enter valid Zip Code");
		return_val = false;
	}
	else if(isNumeric(zip.value)==false)
	{
		alert("Please enter numeric Zip Code");
		document.getElementById('zip').value='';
		return_val = false;
	}
	//Task 732 Renter field
	else if(!(ins_type_rent) && !(ins_type_home))
	{
		alert("Please select whether you are the owner of this property or a tenant.");
		return_val = false;
	}else
	{
		document.getElementById('img_Zip').style.visibility="visible";

		if(isValidZip(zip,'Please enter valid Zip Code') == false) 
		{
			document.getElementById('img_Zip').style.visibility="hidden";
			alert("Please enter valid Zip Code");
			return false;
	}

		xmlHTTPObj=getXML_HTTPObj();
		xmlHTTPObj.onreadystatechange = function()
	{
				if(xmlHTTPObj.readyState == 4   )
				{
					document.getElementById('img_Zip').style.visibility="hidden";
					var serverText = xmlHTTPObj.responseText;
	
					if(serverText == 'zip code not found')
	                 {
						document.getElementById('zip_flag').value='off';
						document.getElementById('zip').focus();
						document.getElementById('img_Zip').style.visibility="hidden";
						alert('Please enter valid Zip Code');
						return false;
	  }
	  else
	  {
						document.getElementById('zip_flag').value='on';
						frm.submit();
						return true;
					}
			   }
		}
		xmlHTTPObj.open("GET",serverURL+"?zipCode="+zip.value,true);
		xmlHTTPObj.send(null);

	  }
		document.getElementById('img_Zip').style.visibility="hidden";
		zip.focus();
		return false;

}

//====================================================================================
//	Functions for checking var on load
//====================================================================================

function check_vars(flag)
{
	var empty_tab_flag;
	if(document.getElementById('reportedClaims') != null)
	{
		var show_div=document.getElementById('claimDiv');
		show_div.style.display = 'block';
		tbl_obj = document.getElementById('claimTable');

		var lastRow = tbl_obj.rows.length;

		var tblBody = document.createElement("tbody");
	    tbl_obj.appendChild(tblBody);
		if(flag == 'set4')
			{
			empty_tab_flag=true;
			current_rc_val=document.getElementById('reportedClaims').value;
	}
		
		countr=document.getElementById('reportedClaims').value;
	
		if(countr > 0)
		{
			claim_table_header();

			for(q=0;q<countr;q++)
			{
				id=q+1;
				id='claim'+id;
				var claim=document.getElementById(id).value;
	
				if(claim != '')
				{
					var claim_arr=claim.split("-");
					var idr='claim'+q;
					add_incident(idr,q,claim_arr[0],claim_arr[1],claim_arr[2],claim_arr[3],claim_arr[4],tblBody);
				}
				else if(empty_tab_flag == true && q < current_rc_val)
				{
					var idr='claim'+q;
					add_incident(idr,q,'','','','','',tblBody);
				}
			}
		}
	}
}
//====================================================================================
//	Function to print claim table headers
//====================================================================================

function claim_table_header()
{
	obj = document.getElementById('claimTable');
	for(i=obj.rows.length-1;i>=0;i--)
		obj.deleteRow(i);

	var tblBody = document.createElement("tbody");
	row = obj.insertRow(0);

    var cellheader = document.createElement("td");
	cellheader = row.insertCell(0);		

    var celldate_1 = document.createElement("td");
	celldate_1 = row.insertCell(1);		
    celldate_1.innerHTML = '<b>Month</b>';

	var celldate_3 = document.createElement("td");
	celldate_3 = row.insertCell(2);		
    celldate_3.innerHTML = '<b>Day</b>';

    var celldate_4 = document.createElement("td");
	celldate_4 = row.insertCell(3);		
    celldate_4.innerHTML = '<b>Year</b>';

	var celltype = document.createElement("td");
	celltype = row.insertCell(4);		
    celltype.innerHTML = '<b>Type of Claim</b>';	

	var cellamt = document.createElement("td");
	cellamt = row.insertCell(5);		
    cellamt.innerHTML = '<b>Amount</b>';	

}

//====================================================================================
//	Function to fill in continous
//====================================================================================

function fill_continous_yr(frm,val)
{
	frm.cont_insured_yr.value=val;
}
function fill_continous_mn(frm,val)
{
	frm.cont_insured_mnth.value=val;
}
//====================================================================================
//	Function to fill in claims details
//====================================================================================

function validate_claim_info(mclaim,ddclaim,yclaim,dclaim,pclaim,i)
{
	//alert('in validating routine: '+mclaim.value+' - '+yclaim.value+' - '+dclaim.value+' - '+pclaim.value+' - '+i);
	if(mclaim.value == '')
	{
		alert("Please select "+i+" Claim Month.");
		mclaim.focus();
		return false;
	}
	if(ddclaim.value == '')
	{
		alert("Please select "+i+" Claim Day.");
		ddclaim.focus();
		return false;
	}
	if(yclaim.value == '')
	{
		alert("Please select "+i+" Claim Year.");
		yclaim.focus();
		return false;
	}

	var m=return_numeric_month(mclaim.value);
    document.getElementById('claimdt').value = m + '-' + ddclaim.value + '-' + yclaim.value;

	if(validateDate(document.getElementById('claimdt'),"Please enter proper Claim Date.") == false)  return false;	

	if(dclaim.value == '')
	{
		alert("Please select "+i+" Claim Description.");
		dclaim.focus();
		return false;
	}

	if(pclaim.value == '')
	{
		alert("Please enter "+i+" Claim Insurance Payment.");
		pclaim.focus();
		return false;
	}else{
		if(isNumeric(pclaim.value) == false)
		{
			alert("Please enter "+i+" numeric Claim Insurance Payment.");
			pclaim.value='';
			pclaim.focus();
			return false;
		}
	}
	return true;
}

//====================================================================================
//	Function to update cont_insured_yr
//====================================================================================

function update_cont_select(cur)
{
	var obj=document.getElementById('cont_insured_yr');
	obj.value=cur;
}

//====================================================================================
//	Function to update cont_insured_mnth
//====================================================================================

function update_contMonth_select(curmonth)
{
	var obj=document.getElementById('cont_insured_mnth');
	obj.value=curmonth;

}

//805
//====================================================================================
//	Function to update new Policy starting month, day and year
//====================================================================================

function update_newPol_date(curmonth, curday, curyear)
{
	if(curmonth != "")
	{	
		var obj1=document.getElementById('request_policy_Month');
		obj1.value=curmonth;
	}
	
	if(curday != "")
{
		var obj2=document.getElementById('request_policy_Day');
		obj2.value=curday;
	}

	if(curyear != "")
	{
		var obj3=document.getElementById('request_policy_Year');
		obj3.value=curyear;		
	}
}

//====================================================================================
//	Function to set new Policy starting month, day and year to todays date if insurance 
//	expiry/renew date is older than today
//====================================================================================

function revert_newPol_date()
{
	var obj1=document.getElementById('ins_exp_renew_date_Month');
	sel_mon = obj1.value;

	var obj2=document.getElementById('ins_exp_renew_date_Day');
	sel_day = obj2.value;
	
	var obj3=document.getElementById('ins_exp_renew_date_Year');
	sel_year = obj3.value;

	var dt = new Date();
	dt.setDate(sel_day);
	dt.setMonth(sel_mon - 1);
	dt.setYear(sel_year);
	var today = new Date();

	if(dt < today)
{
		var obj_yr = document.getElementById('request_policy_Year');
		var obj_mon = document.getElementById('request_policy_Month');
		var obj_day = document.getElementById('request_policy_Day');
		
		obj_yr.value = today.getYear();
		obj_mon.value = today.getMonth()+1;
		obj_day.value = today.getDate();	

}
}
//805 ends


//====================================================================================
//	Function for autotab
//====================================================================================
   function autoTab(eCtrl,len, e)
   {
      var keyCode;
      var filter;

      if (isOpera | isIE | isFirefox)
      {
         keyCode = e.keyCode;
         filter = [0,8,9,16,17,18,37,38,39,40,46];
      }
      else if (isNN)
      {
		 keyCode = e.which;
         filter = [0,8,9];
      }
		  
      if(eCtrl.value.length >= len && !containsElement(filter,keyCode))
      {
         eCtrl.value = eCtrl.value.slice(0, len);
         eCtrl.form[(getIndex(eCtrl)+1) % eCtrl.form.length].focus();
      }

      function containsElement(arr, ele)
      {

         var found = false, index = 0;

         while(!found && index < arr.length)

            if(arr[index] == ele)
               found = true;
            else
               index++;

         return found;
      }

      function getIndex(eCtrl)
      {

         var index = -1, i = 0, found = false;

         while (i < eCtrl.form.length && index == -1)

            if (eCtrl.form[i] == eCtrl) index = i;
            else i++;

         return index;
      }
      return true;
   }
//====================================================================================
//	Function for finds users have already entered his/her claims
//====================================================================================

function check_claims_already_entered()
{
		mclaim='m_claim0';
		ddclaim='dd_claim0';
		yclaim='y_claim0';
		dclaim='d_claim0';
		pclaim='p_claim0';

	if((document.getElementById(mclaim) != null && document.getElementById(ddclaim) != null && document.getElementById(yclaim) != null && document.getElementById(dclaim) != null && document.getElementById(pclaim) !=null ) || (document.getElementById('claim1').value != ''))
	{
		return true;
	}
	else
	{
		return false;
	}
}
//====================================================================================
//	Function for populate the claim realted hidden fields.
//====================================================================================

function populate_hidden_claim_values()
{
	if(document.getElementById('reportedClaims').value != 0)
	{
		ind=0;
		while(ind<4)
		{

			mclaim='m_claim'+ind;
			ddclaim='dd_claim'+ind;
			yclaim='y_claim'+ind;
			dclaim='d_claim'+ind;
			pclaim='p_claim'+ind;

		  if(document.getElementById(mclaim) != null && document.getElementById(ddclaim) != null && document.getElementById(yclaim) != null && document.getElementById(dclaim) != null && document.getElementById(pclaim) !=null )
		  {
			 
			  index=ind+1;
			  claimstr='claim'+index;
			  
			 document.getElementById(claimstr).value=document.getElementById(mclaim).value+'-'+document.getElementById(ddclaim).value+'-'+document.getElementById(yclaim).value+'-'+document.getElementById(dclaim).value+'-'+document.getElementById(pclaim).value;

		  }

		  ind=ind+1;
		}
	}
}


function check_ssn(ssn1,ssn2,ssn3,resultssn,frm)
{
	if(trim(ssn1.value) != '' || trim(ssn2.value) != '' || trim(ssn3.value) != '')
	{

		resultssn.value = ssn1.value+'-'+ssn2.value+'-'+ssn3.value;
		if(resultssn.value.length == 8)
		{
			alert("Please enter proper SSN");
			return false;
		}
		else if(check_mask_SSN(resultssn,'')==false)
		{
			alert("Please enter proper SSN");
			return false;
		}
	}
	else
	{
		resultssn.value='';
		return true;
	}
}
function check_mask_SSN(obj, maskval)
{
	if(isNaN(obj.value))
	{
		if(/^\d{3}-\d{2}-\d{4}$/.test(obj.value) == false)
			return false;
	}
	else
	{
		str = '';
		cnt = 0;
		j = 0;
		for(i=0;i<maskval.length;i++)
		{
			if(maskval.charAt(i) == '#')
				str = str + obj.value.charAt(j++);
			else
				str = str + maskval.charAt(i);
		}
		obj.value = str;
	}
}
/*
	Function is used to trim the string
*/
function trim(s) {
	if(typeof(s) == 'undefined')  
		return s;

	while (s.substring(0,1) == " ") {
		s = s.substring(1, s.length);
	}

	while (s.substring(s.length-1, s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}

	return s;
}
//==================================================================================================================
// Function checkRadiobuttonSelected checks whether any radio button is selected
//==================================================================================================================
function checkRadioListSelected(radio_obj)
{

for (i=0;i<radio_obj.length;i++) {
	if (radio_obj[i].checked) {
			return true;
	}
}
	return false;
}

function setfocus(type)
{
	if(type == 'home')
	{
		document.getElementById('zip').focus();
	}
	else if(type == 'one' )
	{
		frmElement=document.getElementById('frmpage2');
	}
	else if(type == 'two' )
	{
		frmElement=document.getElementById('frmpage3');
	}
	else if(type == 'three' )
	{
		frmElement=document.getElementById('frmpage4');
	}
	else if(type == 'four' )
	{
		frmElement=document.getElementById('frmpage5');
	}
	if(type != 'home')
	{
		var formCnt=frmElement.elements.length;

		for(i=0; i<formCnt; i++)
		{
			if(frmElement.elements[i].type !='hidden')
			{
				frmElement.elements[i].focus();
				break;
			}
		}
	}
}


function waitmsg(frm)
{
	if(frm.zip.value == '')
		return true;

    if(document.getElementById('zip_flag').value == 'on')
    {
		return true;
	}
	else
	{
		//alert("Please wait while we validate your zip code");
		return false;
	}
}

function resetfield(frm)
{
	document.getElementById('zip_flag').value = 'off';
}
function return_numeric_month(mn)
{
	if(mn == 'Jan')
		return 1;
	else if(mn == 'Feb')
		return 2;
	else if(mn == 'Mar')
		return 3;
	else if(mn == 'Apr')
		return 4;
	else if(mn == 'May')
		return 5;
	else if(mn == 'Jun')
		return 6;
	else if(mn == 'Jul')
		return 7;
	else if(mn == 'Aug')
		return 8;
	else if(mn == 'Sep')
		return 9;
	else if(mn == 'Oct')
		return 10;
	else if(mn == 'Nov')
		return 11;
	else if(mn == 'Dec')
		return 12;

}
function check_requestPolicy_date(m,d,y)
{
	var date_obj=new Date();

	today_day=date_obj.getDate();
	
	today_month=date_obj.getMonth();

	today_year=date_obj.getFullYear();
	expected_year_finish=today_year+1;

	m=m-1;
	entered_date=new Date(y,m,d);

    cmpdate=new Date(expected_year_finish,today_month,today_day);
	
	today_date=new Date(date_obj.getFullYear(),date_obj.getMonth(),date_obj.getDate());

    show_month=date_obj.getMonth();
	show_day=date_obj.getDate();

	if(show_day < 10)
		show_day='0'+show_day;
	if(show_month < 10)
		show_month='0'+show_month;


	show_month1=today_month;
	show_day1=today_day;

	if(show_day1 < 10)
		show_day1='0'+show_day1;
	if(show_month1 < 10)
		show_month1='0'+show_month1;

	date_frm=date_obj.getFullYear()+"-"+show_month+"-"+show_day;
	date_to=expected_year_finish+"-"+show_month1+"-"+show_day1;


	if(entered_date < today_date)
	{
		alert("Please enter Request Policy date greator then or equal to today's date");
		return false;
	}
	if(entered_date > cmpdate)
	{
		alert("Please enter Request Policy date between " +date_frm + " to "+date_to);
		return false;
	}
	else
	{
		return true;
	}
}
//validates user first or last name.The specification is the name atleast contain one of letters in 'a','e','i','o','u','y','A','E','I','O','U','Y' and name length should be atleast 2.
function  validate_name(name)
{		
	var vowels_arr = new Array('a','e','i','o','u','y','A','E','I','O','U','Y');
	var len = name.length;
	var is_good_lead = false;
	//If name length is less than 2,mark the name as invalid.
	if(len <2)
		return false;
	for(i = 0; i < len; i++) 
	{	
		if(search_array(vowels_arr, name.charAt(i)))
		{					
			is_good_lead = true;
			break;
		}						
	}
	if(is_good_lead == false)
	{
		return false;
	}		
	return true;				
}
//Searches array for the specified character
function search_array(arr,element)
{
	var i=0;		
	while(arr.length>i)
	{			
		
		if(arr[i]==element)
		{			
			return true;				
		}
		i++;		
	}
	return false;
}
