var IE4 = (document.all && !document.getElementById) ? true : false;
var NS4 = (document.layers) ? true : false;
var IE5 = (document.all && document.getElementById) ? true : false;
var N6 = (document.getElementById && !document.all) ? true : false;

function setSrc(id, url) {
  if (NS4) {eval("document." + id + ".document." + id).src = url}
  else if (IE4) {eval("document.all." + id).src = url}
       else if (IE5 || N6) {document.getElementById(id).src = url};
}

function showHide(object) {

    if (document.getElementById && document.getElementById(object) != null){
		if (document.getElementById(object).style.display == 'none'){
	        document.getElementById(object).style.display ='';
	    }else {
	        document.getElementById(object).style.display ='none';
	    }
	}else if (document.layers && document.layers[object] != null){
        if (document.layers[object].visibility == 'hidden'){
			document.layers[object].visibility = 'visible'
		}else {
			document.layers[object].visibility = 'hidden'
		}
	}else if (document.all){
		if (document.all[object].style.display == 'none'){
			document.all[object].style.display = '';
		}else {
			document.all[object].style.display = 'none';
		}
	}
}

function showHideByAction(object,Action) {
    if (document.getElementById && document.getElementById(object) != null){
	        document.getElementById(object).style.display = (Action == 'show') ? '' : 'none';
	}else if (document.layers && document.layers[object] != null){
			document.layers[object].visibility = (Action == 'show') ? 'visible' : 'hidden';
	}else if (document.all){
			document.all[object].style.display = (Action == 'show') ? '' : 'none';
	}
}

function enableDisableByAction(object,Action) {
	
    if (document.getElementById && document.getElementById(object) != null){
        document.getElementById(object).disabled = (Action == 'show') ? false : true;
	}
	else if (document.layers && document.layers[object] != null){
			document.layers[object].disabled = (Action == 'show') ? false : true;
	}
	else if (document.all){
			document.all[object].disabled = (Action == 'show') ? false : true;
	}
}

function showHideExt(object,img) {

    if (document.getElementById && document.getElementById(object) != null){
		if (document.getElementById(object).style.display == 'none'){
	        document.getElementById(object).style.display ='';
	        setSrc(img,"img/interior/prodselect_exp.gif");
	    }else {
	        document.getElementById(object).style.display ='none';
	        setSrc(img,"img/interior/prodselect_min.gif");
	    }
	}else if (document.layers && document.layers[object] != null){
        if (document.layers[object].visibility == 'hidden'){
			document.layers[object].visibility = 'visible'
	        setSrc(img,"img/interior/prodselect_exp.gif");
		}else {
			document.layers[object].visibility = 'hidden'
			setSrc(img,"img/interior/prodselect_min.gif");
		}
	}else if (document.all){
		if (document.all[object].style.display == 'none'){
			document.all[object].style.display = '';
	        setSrc(img,"img/interior/prodselect_exp.gif");
		}else {
			document.all[object].style.display = 'none';
			setSrc(img,"img/interior/prodselect_min.gif");
		}
	}
}

function DoExpand(divt,divd)
{
	showHide(divd)
	showHide(divt)
}

function DoExpandExt(divt,divd,img)
{
	showHideExt(divt,img)
	showHide(divd)
}

function setDates(Type)
{
	
	var iDay   = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateDay').value;
	var iMonth = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateMonth').value;
	var iYear  = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateYear').value;
	var pType  = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'PolicyType').value
	
	if (pType == 3 || pType == 5)
	{
		if (iDay == 1)	iDay = 32;
		
		if (iDay == 32 && iMonth == 1){ 
			iMonth = 12;
			iYear -= 1;
		}else if (iDay == 32){ 
			iMonth -= 1
		}
		if (iDay==32   && iMonth==2) iDay=29
		if ((iDay==32) && (iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11)) iDay=31
		
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateDay').value   = --iDay;
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateMonth').value = iMonth;
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateYear').value  = ++iYear;
	}
	
	if (pType == 1)
	{
		var cDate = new Date(iMonth.toString() + '/' + iDay.toString() + '/' + iYear.toString());

		var nDate = GetDateAfterDays(cDate,1);
		
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateDay').value   = nDate.getDate()
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateMonth').value = nDate.getMonth() + 1
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateYear').value  = nDate.getFullYear()
	}
}

function setDatesHome()
{
	var startdate = document.frmMain.ControlSearchIns1_txtStartDate.value;
	if (startdate.indexOf('/') > 0)
	{
		
		var iDay   = startdate.split('/')[0];
		var iMonth = startdate.split('/')[1];
		var iYear  = startdate.split('/')[2];
		var pType  = parseInt(document.frmMain.ControlSearchIns1_ddlPolicyType.value);

		if (!(isNaN(iDay) || isNaN(iMonth) || isNaN(iYear)))
		{
			switch (pType)
			{
				case 1:
					var cDate = new Date(iYear, iMonth-1, iDay);

					var nDate = GetDateAfterDays(cDate,1);
					iDay   = nDate.getDate();
					iMonth = nDate.getMonth() + 1;
					iYear  = nDate.getFullYear();

					iDay   = (iDay < 10)   ? '0' + iDay  : iDay;
					iMonth = (iMonth < 10) ? '0' + iMonth: iMonth;
					
					var newDate = iDay + '/' + iMonth + '/' + iYear;
					document.frmMain.ControlSearchIns1_txtEndDate.value = newDate;
					break;

				case 3:
					var cDate = new Date(iYear, iMonth-1, iDay);
					var nDate = GetDateAfterDays(cDate,365);

					iDay   = nDate.getDate();
					iMonth = nDate.getMonth() + 1;
					iYear  = nDate.getFullYear();

					iDay   = (iDay   < 10) ? '0' + iDay  : iDay;
					iMonth = (iMonth < 10) ? '0' + iMonth: iMonth;
					var newDate = iDay + '/' + iMonth + '/' + iYear;
					document.frmMain.ControlSearchIns1_txtEndDate.value = newDate;
					
					break;

				case 5:
					setDatesEVAHome();
			}
		}else{
			alert('Please enter correct date');
		}
	}else{
		alert('Please enter correct date');
	}
}


function GetDateAfterDays(currdate,days)
{	
	var oneday = 60 * 1000 * 60 * 24 ;
	var daysafter = parseInt(days);
	var currdatems = currdate.getTime();

	var addms = oneday * daysafter;

	var daysafterdate = new Date();
	daysafterdate.setTime(currdatems + addms);
	return daysafterdate;
}

function setDatesEVA(Type)
{
	
	var iDay   = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateDay').value;
	var iMonth = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateMonth').value;
	var iYear  = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'StartDateYear').value;

	var cDate = new Date(iMonth.toString() + '/' + iDay.toString() + '/' + iYear.toString());
	var nDate = GetDateAfterDays(cDate,1);

	eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateDay').value   = nDate.getDate()
	eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateMonth').value = nDate.getMonth() + 1
	eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'EndDateYear').value  = nDate.getFullYear()
}

function setDatesEVAHome()
{
	var startdate = document.frmMain.ControlSearchIns1_txtStartDate.value;
	
	var iDay   = startdate.split('/')[0];
	var iMonth = startdate.split('/')[1];
	var iYear  = startdate.split('/')[2];

	var cDate = new Date(iMonth.toString() + '/' + iDay.toString() + '/' + iYear.toString());
	var nDate = GetDateAfterDays(cDate,1);

	iDay = nDate.getDate();
	iMonth = nDate.getMonth() + 1;
	iYear = nDate.getFullYear();

	iDay = (iDay < 10 ? '0' + iDay: iDay);
	iMonth = (iMonth < 10 ? '0' + iMonth: iMonth);

	var newDate = iDay + '/' + iMonth + '/' + iYear;
	document.frmMain.ControlSearchIns1_txtEndDate.value = newDate;
	
}

function EnableDisableControls(ddlCoverFor,Type)
{
	DisableControls(Type);
	var PolicyType = eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'PolicyType').value;
	
	if (PolicyType == '5')
	{
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'CoverFor').value = 0;
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'CoverFor').disabled = true;
	}else{
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'CoverFor').value = 1;
		eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'CoverFor').disabled = false;
	}
	switch (ddlCoverFor)
	{
		case '1': //Individual
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Infants').value = 0;
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Children').value = 0;
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Adults').value = '1';
			break;
		case '2'://Couple
			switch (PolicyType)
			{
				case '1':
					enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Infants','show');			
					eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Children').value = 0;
					eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Adults').value = 2;
					break;
				default :
					eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Infants').value = 0;
					eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Children').value = 0;
					eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Adults').value = 2;
					enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Infants','show');			
					break;
			}
			break;
		case '3'://Single parent family
			enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Infants','show');			
			enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Children','show');			
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Adults').value = 1;
			break;
		case '4'://Family
			enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Infants','show');			
			enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Children','show');	
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Adults').value = 2;
			break;	
		case '5'://Group
			enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Adults','show');
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Infants').value = 0;
			eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'Children').value = 0;
			break;
	}
}


function DisableControls(Type)
{
	enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Infants','hide');			
	enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Children','hide');	
	enableDisableByAction('ControlSearchIns1_ddl' + Type + 'Adults','hide');			
}


function ResetSelection(Type)
{
	if (Type == '')
		ShowHideSelectionHome(document.frmMain.ControlSearchIns1_ddlPolicyType.value,Type);
	else
		ShowHideSelection(eval('document.frmMain.ControlSearchIns1_ddl' + Type + 'CoverFor').value,Type);
}


function ShowHideSelectionHome(ddlPolicyType,Type)
{
	EnableDisableControls(document.frmMain.ControlSearchIns1_ddlCoverFor.value,Type);

	switch (ddlPolicyType)
	{
		case '5':
			for (var i = 1 ; i <= 4; i++)
				showHideByAction('insSearch' + i,'hide');
			for (var i = 1 ; i <= 2; i++)
				showHideByAction('evaSearch' + i,'show');
			break;
		default:
			for (var i = 1 ; i <= 4; i++)
				showHideByAction('insSearch' + i,'show');
				
			for (var i = 1 ; i <= 2; i++)
				showHideByAction('evaSearch' + i,'hide');
			break;				
	}
}