function iniForm()
{	

	resetform();
	temp.setFullYear(stref.getFullYear(),stref.getMonth()+1,stref.getDate()-1);

        if (stref.getMonth()== 1)
	{
		var newtemp;
		if (daysInMon(stref.getFullYear(), 1) == 28)
			newtemp = addDays(2,temp);
		else
			newtemp = addDays(1,temp);                       
		 setDates(stref,newtemp,1);	
	}
       else
	      setDates(stref,temp,1);
        document.form1.NumberOfChildren.value = 0;
	hidetextbox();


	if (document.form1.paymentType.value !='2'  && document.form1.paymentType.value !='3')
	{
		if(document.form1.monthsOfCoverage.value !='' && document.form1.daysOfCoverage.value != '' && document.form1.ReturnDay.value =='' && document.form1.ReturnMonth.value == '' && document.form1.ReturnYear.value=='')
				
	        setdropDowns(document.form1.monthsOfCoverage.value,document.form1.daysOfCoverage.value);
		if (document.form1.monthsOfCoverage.value!='' ) {document.form1.monthsOfCoverage.value = 1};
		if (document.form1.daysOfCoverage.value !='')  {document.form1.daysOfCoverage.value = 0};
		setperiods();
	}
	else
		questiondisplay4(document.form1.paymentType.value);
}

function resetform()
{

	document.form1.Age.value = "";
	document.form1.spouseAge.value=""
	document.form1.NumberOfChildren.value=0;
	document.form1.Deductible.selectedIndex = 3;
        document.form1.paymentType.selectedIndex = 0;
        document.form1.coinsurance.selectedIndex = 1;
document.form1.residence.selectedIndex = 0;

	//document.form1.reset();
	temp.setFullYear(stref.getFullYear(),stref.getMonth()+1,stref.getDate()-1);
	setDates(stref,temp,1);
	hidetextbox();

questiondisplay4(1);	

}


function showtextbox(n)
{
	hidetextbox();
	for(var i=0; i < n; i++)
	{
		document.getElementById("dtc"+i).innerHTML='<div style="font-size:7px; font-family:Arial, Helvetica, sans-serif; color:#000000" >Age Child '+(i+1)+'</div><input size="2" name="dependant'+i+'" id="dependant'+i+'" onKeyPress="return numbersonly(event);" maxlength="2">';
	}
	restorevalues(n)
}

function restorevalues(d)
{
	for(var i=0; i<d; i++)
		document.getElementById("dependant"+i).value = hidden[i+18]!=""?hidden[i+18]:"";
}

function hidetextbox()
{
	for(var i=0; i <= 5; i++)
		document.getElementById("dtc"+i).innerHTML='';
}



function setdropDowns(MM,DD)
{
	if(getDates()==true)
	{
		endd.setFullYear(start.getFullYear(),start.getMonth()+parseInt(MM,10),start.getDate()+parseInt(DD,10)-1);
		setDates(start,endd,0);	//	!! Surprised !! 0 for non-initialization
		setperiods();
	}
}


function setshortperiods()
{
	var pt,d,m,y;
	pt=parseInt(document.form1.paymentType.value, 10);
	//if (pt == 1 || pt ==4)
	if (pt == 1)
		setperiods();
	else
	{
		d=document.form1.DepartureDay[document.form1.DepartureDay.selectedIndex].value;
		m=document.form1.DepartureMonth[document.form1.DepartureMonth.selectedIndex].value-1;
		y=document.form1.DepartureYear[document.form1.DepartureYear.selectedIndex].value;
		validdate(d,m,y);
	}
	
}
function validate()
{	
	var flag,a,s,zf,pt;
	var d, m, y;
	a=document.form1.Age.value;
	s=document.form1.spouseAge.value;
	zf=document.form1.zipcode.value;
	pt=parseInt(document.form1.paymentType.value, 10);

	flag=true;
	
	if(document.form1.Age.value=='' || isNaN(document.form1.Age.value)|| document.form1.Age.value<1 || document.form1.Age.value>64)
	{
		alert("Applicant's Age is mandatory and it should be in numeric format in the range 1-64.");
		document.form1.Age.focus();
		return false;
	}

	if(s!='' && (isNaN(s) || s<18 || s>64) )
	{	
		alert('Spouse Age should be in numeric format in the range 18-64.');
		document.form1.spouseAge.focus();
		flag=false; 
		return false;
	}
	if(zf!=''&&(isNaN(zf)||zf<0||zf>99999))
	{	
		alert('Please enter a valid Zip Code');
		document.form1.zipcode.focus();
		flag=false; 
		return false;
	}
	if (!validDepChildrenAge()) return false;

	if (pt == 1 )
	{	
		if(getDates()==false || start < stref )
		{
			flag=false; 
			alert('Start Date should be valid and more than tommorrow\'s date.'); 
			document.form1.DepartureDay.focus(); 
			return;
		}

		if(getDates()==false|| endd < start )
		{
			flag=false; 
			alert('End Date should be valid and more than Start Date as well as tommorrow\'s date.'); 
			document.form1.ReturnDay.focus();
			return;
		}
		if(document.form1.monthsOfCoverage.value=='' || document.form1.monthsOfCoverage.value>12 || document.form1.monthsOfCoverage.value==12 && document.form1.daysOfCoverage.value>0 || document.form1.monthsOfCoverage.value==11 && document.form1.daysOfCoverage.value>30)
		{
		alert('Coverage period cannot be more than one year(12 months).'); 
		document.form1.ReturnDay.focus(); 
		return;
		}
		if ((document.form1.DepartureMonth.value == 2 && (document.form1.monthsOfCoverage.value<1  || document.form1.monthsOfCoverage.value == 1 && document.form1.daysOfCoverage.value < 2)) ||  (document.form1.DepartureMonth.value != 2 && document.form1.monthsOfCoverage.value==0 && document.form1.daysOfCoverage.value < 30))
		{
			alert('Please change the days of coverage to be 30 days. For coverage < 30 days, please call 877.593.5403'); 
			document.form1.ReturnDay.focus(); 
			return;
		}	
	}
	else
	{
		d=document.form1.DepartureDay[document.form1.DepartureDay.selectedIndex].value;
		m=document.form1.DepartureMonth[document.form1.DepartureMonth.selectedIndex].value-1;
		y=document.form1.DepartureYear[document.form1.DepartureYear.selectedIndex].value;
		if(validdate(d,m,y)==false)
		{
			flag = false;
			return;
		}
	}

/*
	if(document.form1.paymentType.value==4 && document.form1.monthsOfCoverage.value <6)
	{
		alert('If coverage period is less than 6 months, please specify that you would pay your premium as "Single payment (No of days up to 180)"'); 
		document.form1.paymentType.focus(); 
		flag=false; 
		return false;
	}*/
	/*if(document.form1.paymentType.value==1 && (document.form1.monthsOfCoverage.value >6 || (document.form1.monthsOfCoverage.value ==6 && document.form1.daysOfCoverage.value >0)))
	{
		alert('If coverage period is greater than 6 months, please specify that you would pay your premium as "Single payment (No of days > 180 - Up to 12 Months)"'); 
		document.form1.paymentType.focus(); 
		flag=false; 
		return false;
	}*/
	// Not sure of the origin of these conditions
	/*if((document.form1.coinsurance.value==100 && document.form1.Deductible.value==5000) || (document.form1.paymentType.value==3 && document.form1.Deductible.value==250) || (document.form1.paymentType.value!=3 && document.form1.Deductible.value==5000))
	{
		alert('For the following combination of deductible, coinsurance and payment options \nno plans are available:\n\n(i)  $5000 deductible, 100% coinsurance\n(ii) $250 deductible for 12 month payment option\n(iii) $5000 deductible, single or 6 month payment option.'); document.form1.Deductible.focus(); 
		flag=false; 
		return false;
	}
	*/
	if(document.form1.residence.value=='')
	{
		alert('Please select a valid state.');
		document.form1.residence.focus(); 
		flag=false; 
		return false;
	}

	if(document.form1.zipcode && (document.form1.zipcode.value=='' || isNaN(document.form1.zipcode.value) || (document.form1.zipcode.value).length!=5) )
	{
		alert('Please enter five digit numeric zip code for the valid state.'); 
		document.form1.zipcode.focus(); 
		return false;
	}
	
	if(flag==true)	
	{
		document.form1.quote.disabled=true;
		document.form1.resetquote.disabled=true;
		document.form1.submit();
	}	
}
// This function is to disable the end date if monthly option is chosen
function questiondisplay4(s)
{
	var strRetDate, strMonsDays, dtStart, newtemp;
	
	if(s=='2' || s=='3')
	{
		document.getElementById("frmEndDate").innerHTML = '';
		document.getElementById("frmReturnDate").innerHTML = '';
		document.getElementById("frmMonsDays").innerHTML = '';
	}
	else
	{
		document.getElementById("frmEndDate").innerHTML = 'End Date:&nbsp;&nbsp;';
		strRetDate = '<select onchange="setperiods();" size="1" name="ReturnMonth">';
		strRetDate += getMonthHTML();
		strRetDate += '</select>&nbsp;<select onchange="setperiods();" size="1" name="ReturnDay">';
		strRetDate += getDayHTML();
		strRetDate += '</select>&nbsp;<select onchange="setperiods();" size="1" name="ReturnYear">';
		strRetDate += getYearHTML();
		strRetDate += '                 </select>&nbsp;&nbsp; ';
		strMonsDays = '<input name="monthsOfCoverage" readonly="true" size="1" value="" maxlength="2">months ';
		strMonsDays += '<input name="daysOfCoverage" readonly="true" size="1" value="" maxlength="2"> days';
		document.getElementById("frmReturnDate").innerHTML =  strRetDate;
		document.getElementById("frmMonsDays").innerHTML = strMonsDays;

		if (stref.getMonth()== 1)
		{
			var newtemp;
			if (daysInMon(stref.getFullYear(), 1) == 28)
				newtemp = addDays(2,temp);
			else
				newtemp = addDays(1,temp);                       
			 setDates(stref,newtemp,1);	
		}
		else		
			setDates(stref,temp,1);		
		setperiods();
	}
}

function FixGender(g,w)
{
	if(w=='p')
	{document.form1.sgender.value=g=="F"?"M":"F";}
	if(w=='s')
	{document.form1.pgender.value=g=="F"?"M":"F";}
}

function setZip(v)
		{var found=false;
		var v3=v.substr(0,3);
			if(document.form1.ziprange){
				for(var i=0; i<document.form1.ziprange.length;i++)
					if(v3==document.form1.ziprange[i].value){document.form1.ziprange.value=v3;	found=true; break;}
				if(found==false)document.form1.ziprange.value="";}
		}
		var zipArray=["AL-350-351","AL-353-353","AR-716-729","AR-755-755","AZ-850-865","CA-900-928","CA-939-947","CA-956-958","CO-800-816","DC-200-200","DC-202-205","FL-320-344","FL-346-349","GA-300-319","GA-398-399","HI-967-968","IA-500-516","IA-520-528","IL-600-629","IN-460-479","KS-660-662","KS-664-679","KY-400-427","KY-452-452","LA-700-701","LA-703-708","LA-710-714","MD-206-219","MI-480-499","MO-630-641","MO-644-658","NC-270-289","ND-580-588","NE-680-681","NE-683-693","NM-870-884","NV-889-891","NV-893-898","OH-430-459","OK-730-731","OK-734-741","OK-743-749","OR-970-979","PA-150-196","SC-290-299","TN-370-385","TX-750-799","TX-885-885","UT-840-847","VA-201-201","VA-220-246","WI-530-549","WV-247-253","WV-255-268"];
function fillfivedigit(v)
		{var fivedigit=[["GA","03"],["IL","06"],["KS","02"],["OH","11"]];
		 var found=false;
		 if(v.length==2)document.form1.zipcode.value="0"+v+"01";
		 else
		 {for(var f=0;f<fivedigit.length;f++){if(fivedigit[f][0]==document.form1.residence[document.form1.residence.selectedIndex].value){document.form1.zipcode.value=v+fivedigit[f][1];found=true;}}
		 if(found==false)document.form1.zipcode.value=v+"01";
		 }
		}

