//Read the URL parameters from query string into an array.
var urlParams = getURLParameters()

// This method is called from the body tag of HTML page.
function initPage() {
	initEventHandlers();
	if (urlParams["_act"] != null) {
	    if (urlParams["_act"].toLowerCase() != "officelocator") {
		    setFocusToFirstField();
		}
	}
}

function initEventHandlers () {
	//Get elements by keyword	
	//if (document.getElementById('getQuote')) {
	//	document.getElementById('getQuote').onclick = hdl_onclick_getQuote;
	//}
	if (document.getElementById('ToDoList')) {
		setServToDoFieldVis();
		document.getElementById('ToDoList_R1_add_vehicle_to_policy').onclick = hdl_onclick_ToDoList_R1_add_vehicle_to_policy;
		document.getElementById('ToDoList_R1_rem_vehicle_from_policy').onclick = hdl_onclick_ToDoList_R1_rem_vehicle_from_policy;
		document.getElementById('ToDoList_R1_upd_vehicle_from_policy').onclick = hdl_onclick_ToDoList_R1_upd_vehicle_from_policy;
		document.getElementById('ToDoList_R1_chg_vehicle_coverage').onclick = hdl_onclick_ToDoList_R1_chg_vehicle_coverage;
		document.getElementById('ToDoList_R1_add_driver_to_policy').onclick = hdl_onclick_ToDoList_R1_add_driver_to_policy;
		document.getElementById('ToDoList_R1_rem_driver_from_policy').onclick = hdl_onclick_ToDoList_R1_rem_driver_from_policy;
		document.getElementById('ToDoList_R1_upd_driver_from_policy').onclick = hdl_onclick_ToDoList_R1_upd_driver_from_policy;
		var i = 1;
		while (i != 0) {
			if (document.getElementById('ToDoList_R1_rem_vehicle_from_policy_'+i)) {
				document.getElementById('ToDoList_R1_rem_vehicle_from_policy_'+i).onclick = hdl_onclick_ToDoList_R1_rem_vehicle_from_policy_n;
				i++;
			} else {
				i=0;
			}
		}
		var i = 1;
		while (i != 0) {
			if (document.getElementById('ToDoList_R1_upd_vehicle_from_policy_'+i)) {
				document.getElementById('ToDoList_R1_upd_vehicle_from_policy_'+i).onclick = hdl_onclick_ToDoList_R1_upd_chg_vehicle_from_policy_n;
				i++;
			} else {
				i=0;
			}
		}
		var i = 1;
		while (i != 0) {
			if (document.getElementById('ToDoList_R1_chg_vehicle_coverage_'+i)) {
				document.getElementById('ToDoList_R1_chg_vehicle_coverage_'+i).onclick = hdl_onclick_ToDoList_R1_upd_chg_vehicle_from_policy_n;
				i++;
			} else {
				i=0;
			}
		}
		var i = 1;
		while (i != 0) {
			if (document.getElementById('ToDoList_R1_rem_driver_from_policy_'+i)) {
				document.getElementById('ToDoList_R1_rem_driver_from_policy_'+i).onclick = hdl_onclick_ToDoList_R1_rem_driver_from_policy_n;
				i++;
			} else {
				i=0;
			}
		}
		var i = 1;
		while (i != 0) {
			if (document.getElementById('ToDoList_R1_upd_driver_from_policy_'+i)) {
				document.getElementById('ToDoList_R1_upd_driver_from_policy_'+i).onclick = hdl_onclick_ToDoList_R1_upd_driver_from_policy_n;
				i++;
			} else {
				i=0;
			}
		}
	}
	if (document.getElementById('mcVehicle_R1_Veh_Use')) {
		document.getElementById('mcVehicle_R1_Veh_Use').onchange = hdl_onchange_mcVehicle_R1_Veh_Use;
	}
	if (document.getElementById('mcVehicle_R1_radius_mileage')) {
		document.getElementById('mcVehicle_R1_radius_mileage').onchange = hdl_onchange_mcVehicle_R1_radius_mileage;
	}
	if (document.getElementById('mcDriver_R1_show_incidents')) {
		var els = document.getElementsByName('mcDriver_R1_show_incidents');
		for (i=0;i<els.length;i++) {
			els[i].onclick = hdl_onclick_mcDriver_R1_show_incidents;
		}
		setLinkedFormVisibility('incident_table',false,document.getElementsByName('mcDriver_R1_show_incidents'));
    }
    
    if (document.getElementById('UpdDriver_R1_show_incidents')) {
        document.getElementById('UpdDriver_R1_show_incidents').onclick = hdl_onclick_UpdDriver_R1_show_incidents;
        setLinkedFormVisibility('incident_table', false, document.getElementById('UpdDriver_R1_show_incidents'));
    }
	  
	if (document.getElementById('emailPrefsPopupLink')) {
	    document.getElementById('emailPrefsPopupLink').onclick = hdl_onclick_emailPrefsPopupLink;
	}
	if (document.getElementById('lpSearchPopupLink')) {
	    document.getElementById('lpSearchPopupLink').onclick = hdl_onclick_lpSearchPopupLink;
	}
	if (document.getElementById('signOut')) {
		document.getElementById('signOut').onclick = hdl_onclick_signOut;
	}
	if (document.getElementById('managePolicy')) {
		document.getElementById('managePolicy').onclick = hdl_onclick_managePolicy;
	}
	/*************************************************************************************/
	/* Missing vehicle use javascript added back */
	/*************************************************************************************/
	if (document.getElementById('vehicle_R1_Veh_Use')) {
		document.getElementById('vehicle_R1_Veh_Use').onchange = hdl_onchange_vehicle_R1_Veh_Use;
	}	
	if (document.getElementById('ChangeVehicle_R1_VehicleUse')) {
		document.getElementById('ChangeVehicle_R1_VehicleUse').onchange = hdl_onchange_ChangeVehicle_R1_VehicleUse;
	}
	if (document.getElementById('AddVehNew_R1_veh_use')) {
		document.getElementById('AddVehNew_R1_veh_use').onchange = hdl_onchange_AddVehNew_R1_veh_use;
	}
	if (document.getElementById('AddDriverPrimaryVehicle_R1_veh_use')) {
		document.getElementById('AddDriverPrimaryVehicle_R1_veh_use').onchange = hdl_onchange_AddDriverPrimaryVehicle_R1_veh_use;
	}
	if (document.getElementById('UpdDriverPrimaryVehicle_R1_veh_use')) {
	    document.getElementById('UpdDriverPrimaryVehicle_R1_veh_use').onchange = hdl_onchange_UpdDriverPrimaryVehicle_R1_veh_use;
	}
	if (document.getElementById('UpdVehicle_R1_veh_use')) {
	    document.getElementById('UpdVehicle_R1_veh_use').onchange = hdl_onchange_UpdVehicle_R1_veh_use;
	}
	if (document.getElementById('UpdVehicle_R1_radius_mileage')) {
	    document.getElementById('UpdVehicle_R1_radius_mileage').onchange = hdl_onchange_UpdVehicle_R1_radius_mileage;
	}
	if (document.getElementById('UpdDriverVehicle_R1_veh_use')) {
	    document.getElementById('UpdDriverVehicle_R1_veh_use').onchange = hdl_onchange_UpdDriverVehicle_R1_veh_use;
	}
	if (document.getElementById('UpdDriverVehicle_R1_radius_mileage')) {
	    document.getElementById('UpdDriverVehicle_R1_radius_mileage').onchange = hdl_onchange_UpdDriverVehicle_R1_radius_mileage;
	}
	
	// Next two conditions implements the following validation.
	//   - If Collision is not selected, then Tow and Rental cannot be selected.
	//   - In the above case disable the Tow and Rental fields. Enable them back when Collision
	//     has a value selected. The first condition is for quote screen where there can be multiple
	//     coverages for multiple vehicles.
	if (document.getElementById('vehicle_coverage_table')) {
		//var newonchange;
		for (var i = 1; i < document.getElementById('vehicle_coverage_table').rows.length; i++) {
			// Run this when this code is called from OnLoad().
			DeductibleCollOnChangeQuote();
			//newonchange = new Function("hdl_onchange_vehicle_coverage_Deductible_Coll();");
			document.getElementById('vehicle_coverage_R' + i + '_Deductible_Coll').onchange = hdl_onchange_vehicle_coverage_Deductible_Coll;
		}
	}	
	if (document.getElementById('coverage_R1_Predefined_Coverages_Auto')) {
		document.getElementById('coverage_R1_Predefined_Coverages_Auto').onchange = hdl_onchange_coverage_R1_Predefined_Coverages_Auto;
	}
	if (document.getElementById('coverage_R1_Predefined_Coverages_Cycle')) {
		document.getElementById('coverage_R1_Predefined_Coverages_Cycle').onchange = hdl_onchange_coverage_R1_Predefined_Coverages_Cycle;
	}
	if (document.getElementById('coverage_R1_Predefined_Coverages_Home')) {
		document.getElementById('coverage_R1_Predefined_Coverages_Home').onchange = hdl_onchange_coverage_R1_Predefined_Coverages_Home;
	}	
	if (document.getElementById('coverage_R1_Predefined_Coverages_Rent')) {
		document.getElementById('coverage_R1_Predefined_Coverages_Rent').onchange = hdl_onchange_coverage_R1_Predefined_Coverages_Rent;
	}
	if (document.getElementById('coverage_R1_Predefined_Coverages_Condo')) {
		document.getElementById('coverage_R1_Predefined_Coverages_Condo').onchange = hdl_onchange_coverage_R1_Predefined_Coverages_Condo;
	}	
	if (document.getElementById('ChgAutoCovNew_R1_predefined_coverages_auto')) {
		document.getElementById('ChgAutoCovNew_R1_predefined_coverages_auto').onchange = hdl_ChgAutoCovNew_R1_predefined_coverages_auto;
	}
	if (document.getElementById('ChgAutoCovNew_R1_predefined_coverages_cycle')) {
		document.getElementById('ChgAutoCovNew_R1_predefined_coverages_cycle').onchange = hdl_ChgAutoCovNew_R1_predefined_coverages_cycle;
	}	
	if (document.getElementById('ChgHomeCovNew_R1_predefined_coverages_home')) {
		document.getElementById('ChgHomeCovNew_R1_predefined_coverages_home').onchange = hdl_ChgHomeCovNew_R1_predefined_coverages_home;
	}
	if (document.getElementById('offc_county')) {
	    document.getElementById('offc_county').onchange = hdl_onchange_offc_county;
	}
	if (document.getElementById('product_list')) {
	    document.getElementById('product_list').onchange = hdl_onchange_product_list;
	}
	if (document.getElementById('Create_R1_NewPassword1')) {
	    document.getElementById('Create_R1_NewPassword1').onkeyup = hdl_onkeyup_Create_R1_NewPassword1;
	}
	if (document.getElementById('ChangePassword_R1_NewPassword1')) {
		document.getElementById('ChangePassword_R1_NewPassword1').onkeyup = hdl_onkeyup_ChangePassword_R1_NewPassword1;
	}
	if (document.getElementById('ChangePasswordForce_R1_NewPassword1')) {
	    document.getElementById('ChangePasswordForce_R1_NewPassword1').onkeyup = hdl_onkeyup_ChangePasswordForce_R1_NewPassword1;
	}
	if (document.getElementById('ChangeForgotPassword_R1_NewPassword1')) {
	    document.getElementById('ChangeForgotPassword_R1_NewPassword1').onkeyup = hdl_onkeyup_ChangeForgotPassword_R1_NewPassword1;
	}

	/* New Service Forms */
	if (document.getElementById('UpdDriverVehicle_R1_primary_vehicle_disp')) {
	    document.getElementById('UpdDriverVehicle_R1_primary_vehicle_disp').onchange = hdl_onchange_UpdDriverVehicle_R1_primary_vehicle_disp;
	}

	if (document.getElementById('VehicleCoverage_R1_Deductible_Comp')) {
	    document.getElementById('VehicleCoverage_R1_Deductible_Comp').onchange = hdl_onchange_VehicleCoverage_R1_Deductible_Comp_Coll;
	}
	if (document.getElementById('VehicleCoverage_R1_Deductible_Coll')) {
	    document.getElementById('VehicleCoverage_R1_Deductible_Coll').onchange = hdl_onchange_VehicleCoverage_R1_Deductible_Comp_Coll;
	}
	if (document.getElementById('ViewPolicy')) {
		var els = document.getElementsByTagName('a');
		for (i=0;i<els.length;i++) {
			if (els[i].id == 'ViewPolicy') {
				els[i].onclick = hdl_onclick_ViewPolicy;
			}
		}
		//document.getElementById('ViewPolicy').onclick = hdl_onclick_ViewPolicy;
	}
	
	function hdl_onclick_ViewPolicy (evt) {
		var url = this.href;
		AISPrintPopup(url);
		return false;
	}

	function hdl_onchange_VehicleCoverage_R1_Deductible_Comp_Coll(evt) {
	    var covEl = document.getElementById(this.id);
	    var selValue = covEl.options[covEl.selectedIndex].value;

        var el = document.getElementById('field_' + this.id)
        var divs = el.getElementsByTagName('div');
        
        for (var k = 0; k < divs.length; k++) {
            var div = divs.item(k);
            if (div.className == 'FieldInstruction') {
                if (selValue == "" || selValue == 'No Coverage') {
                    div.style.display = "none";
                }
                else {
					div.style.display = "block";
                }
               
            }
        }
	        
	}
		
	/* Handle Employment Field */
	if (document.getElementById('Lvl2RowCount')) {
	    var lvl2Count = document.getElementById('Lvl2RowCount').value;
	    for (var i = 1; i < lvl2Count; i++) {
	        if (document.getElementById("ud_R" + i + "_employment")) {
	            document.getElementById("ud_R" + i + "_employment").onchange = hdl_onchange_employment; 
	        }
	        else if (document.getElementById("pv_R" + i + "_remHide_veh_use")) {
	            document.getElementById("pv_R" + i + "_remHide_veh_use").onchange = hdl_onchange_veh_use;
	        }
	    }
	}
}

function setServToDoFieldVis(frm) {
	setAddVis('ToDoList_R1_add_vehicle_to_policy','ToDoList_R1_num_new_vehicles');
	setAddVis('ToDoList_R1_add_driver_to_policy','ToDoList_R1_num_new_drivers');
	setRemUpdVis('ToDoList_R1_rem_vehicle_from_policy');
	setRemUpdVis('ToDoList_R1_upd_vehicle_from_policy');
	setRemUpdVis('ToDoList_R1_chg_vehicle_coverage');
	setRemUpdVis('ToDoList_R1_rem_driver_from_policy');
	setRemUpdVis('ToDoList_R1_upd_driver_from_policy');
}
function setAddVis(srcID,tgtID) {
	if (document.getElementById(srcID).checked) {
		var si = document.getElementById(tgtID).selectedIndex
		setErrorVis(srcID,'visible')
		setFieldVisibility(tgtID,'visible');		
		if (si == 0) {
			document.getElementById(tgtID).selectedIndex = 1;
		} else {
			document.getElementById(tgtID).selectedIndex = si;
		}
	} else {
		setErrorVis(srcID,'hidden')
		setFieldVisibility(tgtID,'hidden');
		document.getElementById(tgtID).selectedIndex = 0;
	}
}
function setRemUpdVis(srcID) {
	var visibility;
	if (document.getElementById(srcID).checked) {
		visibility = 'visible';
	} else {
		visibility = 'hidden';
	}
	setErrorVis(srcID,visibility)
	var i = 1;
	while (i != 0) {
		if (document.getElementById(srcID+'_'+i)) {			
			setFieldVisibility(srcID+'_'+i,visibility);
			if (visibility == 'hidden') {
				clearFieldSvc(srcID+'_'+i);
			}
			i++;
		} else {
			i=0;
		}
	}
}
function setErrorVis(srcID,vis) {
	var fld = document.getElementById('field_'+srcID);
	var els = fld.getElementsByTagName('div');
	for (var i = 0; i < els.length; i++) {
		if (els[i].className == 'FieldErrorText') {
			if (vis == 'hidden') {
				els[i].style.display = 'none';
			} else {
				els[i].style.display = 'block';
			}			
		}
	}
}
function enforceMutualExclusivity(clickedEl,clearID) {
	//alert(clearID+'\n'+clickedEl.id+'\n'+clickedEl.checked);
	if (clickedEl.checked) {
		document.getElementById(clearID).checked = false;
	}
}
function hdl_onclick_ToDoList_R1_add_vehicle_to_policy(evt) {
	setAddVis('ToDoList_R1_add_vehicle_to_policy','ToDoList_R1_num_new_vehicles');
}
function hdl_onclick_ToDoList_R1_add_driver_to_policy(evt) {
	setAddVis('ToDoList_R1_add_driver_to_policy','ToDoList_R1_num_new_drivers');
}
function hdl_onclick_ToDoList_R1_rem_vehicle_from_policy(evt) {
	setRemUpdVis('ToDoList_R1_rem_vehicle_from_policy');
}
function hdl_onclick_ToDoList_R1_upd_vehicle_from_policy(evt) {
	setRemUpdVis('ToDoList_R1_upd_vehicle_from_policy');
}
function hdl_onclick_ToDoList_R1_chg_vehicle_coverage(evt) {
	setRemUpdVis('ToDoList_R1_chg_vehicle_coverage');
}
function hdl_onclick_ToDoList_R1_rem_driver_from_policy(evt) {
	setRemUpdVis('ToDoList_R1_rem_driver_from_policy');
}
function hdl_onclick_ToDoList_R1_upd_driver_from_policy(evt) {
	setRemUpdVis('ToDoList_R1_upd_driver_from_policy');
}
function hdl_onclick_ToDoList_R1_rem_vehicle_from_policy_n(evt) {
	var thisIndex = this.id.substr(this.id.lastIndexOf("_")+1);
	enforceMutualExclusivity(this,"ToDoList_R1_upd_vehicle_from_policy_"+thisIndex);
	enforceMutualExclusivity(this,"ToDoList_R1_chg_vehicle_coverage_"+thisIndex);
}
function hdl_onclick_ToDoList_R1_upd_chg_vehicle_from_policy_n(evt) {
	var thisIndex = this.id.substr(this.id.lastIndexOf("_")+1);
	enforceMutualExclusivity(this,"ToDoList_R1_rem_vehicle_from_policy_"+thisIndex);
}
function hdl_onclick_ToDoList_R1_rem_driver_from_policy_n(evt) {
	var thisIndex = this.id.substr(this.id.lastIndexOf("_")+1);
	enforceMutualExclusivity(this,"ToDoList_R1_upd_driver_from_policy_"+thisIndex);
}
function hdl_onclick_ToDoList_R1_upd_driver_from_policy_n(evt) {
	var thisIndex = this.id.substr(this.id.lastIndexOf("_")+1);
	enforceMutualExclusivity(this,"ToDoList_R1_rem_driver_from_policy_"+thisIndex);
}

function hdl_onchange_mcVehicle_R1_Veh_Use(evt) {
    setAnnualMileageQuote();
}
function hdl_onchange_mcVehicle_R1_radius_mileage(evt) {
    setAnnualMileageQuote();
}
function setAnnualMileageQuote() {
	var elUse = document.getElementById('mcVehicle_R1_Veh_Use');
	var elRadius = document.getElementById('mcVehicle_R1_radius_mileage');
	var elAnnualMileage = document.getElementById('mcVehicle_R1_annual_mileage');
	setAnnualMileage(elUse, elRadius, elAnnualMileage);
}

function hdl_onchange_UpdVehicle_R1_veh_use(evt) {
    setAnnualMileageService()
}
function hdl_onchange_UpdVehicle_R1_radius_mileage(evt) {
    setAnnualMileageService()
}

function setAnnualMileageService() {
    var elUse = document.getElementById('UpdVehicle_R1_veh_use');
    var elRadius = document.getElementById('UpdVehicle_R1_radius_mileage');
    var elAnnualMileage = document.getElementById('UpdVehicle_R1_annual_mileage');
    setAnnualMileage(elUse, elRadius, elAnnualMileage);
}

function hdl_onchange_UpdDriverVehicle_R1_veh_use(evt) {
    setAnnualMileageDriver()
}
function hdl_onchange_UpdDriverVehicle_R1_radius_mileage(evt) {
    setAnnualMileageDriver()
}
function setAnnualMileageDriver() {
    var elUse = document.getElementById('UpdDriverVehicle_R1_veh_use');
    var elRadius = document.getElementById('UpdDriverVehicle_R1_radius_mileage');
    var elAnnualMileage = document.getElementById('UpdDriverVehicle_R1_annual_mileage');
    setAnnualMileage(elUse, elRadius, elAnnualMileage);
}

function setAnnualMileage(elUse, elRadius, elAnnualMileage) {
    switch (elUse.options[elUse.selectedIndex].text) {
        case 'Work/School':
            elAnnualMileage.value = (elRadius.value * 500) + 5000;
            numberFormat(elAnnualMileage, numberMask, 'add');
            break;
        case 'Pleasure':
            elAnnualMileage.value = '5,000';
            break;
        case 'Business':
            elAnnualMileage.value = '21,000';
            break;
        case 'Artisan':
            elAnnualMileage.value = '21,000';
            break;
        default:
            elAnnualMileage.value = '';
    }
}

function hdl_onclick_mcDriver_R1_show_incidents(evt) {
	setLinkedFormVisibility('incident_table',true,document.getElementsByName('mcDriver_R1_show_incidents'));
}

function hdl_onclick_UpdDriver_R1_show_incidents(evt) {
    setLinkedFormVisibility('incident_table', true, document.getElementById('UpdDriver_R1_show_incidents'));
}

function clearField(el,txt) {
	if (el.value == txt) {
		el.value="";
		el.style.color="black";
	}
}

function populateField(el,txt) {
	if (el.value == "") {
		el.value=txt;
		el.style.color="gray";
	}
}

// This function is used to call the print popup window 
function AISPrintPopup(href) {
	var hWnd = window.open(href, '', 'width=720,height=500,resizable=yes,scrollbars=yes,status=yes,menubar=yes');
	if (window.focus) hWnd.window.focus();
	return false;
}

function hdl_onclick_emailPrefsPopupLink(evt) {
    window.open("aispopup.aspx?_act=popupEmailPrefs&email=" + document.getElementById(document.forms[0].name + '_R1_p_email_addr').value, "emailPrefsPopup", "toolbar=0,width=525,height=338,resizable=1");
}
function hdl_onclick_lpSearchPopupLink(evt) {
    var sWind = window.open("aispopup.aspx?_act=search&_tab=loss_payee&_sea=find_company&lp_name=" + document.getElementById(document.forms[0].name + '_R1_flc_name').value, "emailPrefsPopup", "scrollbars=1,toolbar=0,width=545,height=338,resizable=1");
	if (window.focus) sWind.window.focus();
}

function hdl_onclick_imgAISSmallBlue(evt) {
	var hpMessageElement = document.getElementById('hpMessage');
	if (hpMessageElement.style.display == '') {
		hpMessageElement.style.display = 'block';
	}
	else {
		hpMessageElement.style.display = '';
	}
}

function hdl_onclick_signOut(evt) {
	document.location.href = '/';
}

function hdl_onclick_getQuote(evt) {
	//alert(document.getElementById('qInput').value);
	if (document.getElementById('qInput').value.substr(0,4) == 'http') {
		window.open(document.getElementById('qInput').value);
	} else {
		document.location.href = document.getElementById('qInput').value;
	}	
}

function hdl_onclick_managePolicy(evt) {
	document.location.href = document.getElementById('sInput').value;
}

function hdl_onchange_offc_county(evt) {
	document.forms['SearchCareer'].action="/ais.aspx?_act=Search";
	document.forms['SearchCareer'].submit(); 
	return false;
}

function hdl_onchange_product_list(evt) {
    document.forms['myScenarios'].action = "/ais.aspx?_act=Search";
    document.forms['myScenarios'].submit();
    return false;
}

/*************************************************************************************/
/*
function hdl_onclick_mileageCalc(evt) {
	var aElement = document.getElementById('mileageCalc');
	var divElement = document.getElementById('mileageCalcDiv');
	var divW = divElement.offsetWidth;
	var divH = divElement.offsetHeight;
	divElement.style.visibility = 'visible';
	var aLeft = findPosX(aElement)
	divElement.style['left'] = Math.abs(aLeft-divW)+'px';
}

function hdl_onclick_mileageCalculate(evt) {
	var divElement = document.getElementById('mileageCalcDiv');
	divElement.style.visibility = 'hidden';
}
*/
function hdl_onkeyup_ChangePassword_R1_NewPassword1(evt) {
    chkPassword(document.getElementById('ChangePassword_R1_p_email_addr').value, document.getElementById('ChangePassword_R1_NewPassword1').value, 'passwd_strength');
}
function hdl_onkeyup_ChangePasswordForce_R1_NewPassword1(evt) {
    chkPassword(document.getElementById('ChangePasswordForce_R1_p_email_addr').value, document.getElementById('ChangePasswordForce_R1_NewPassword1').value, 'passwd_strength');
}
function hdl_onkeyup_Create_R1_NewPassword1(evt) {
    chkPassword(document.getElementById('Create_R1_p_email_addr').value, document.getElementById('Create_R1_NewPassword1').value, 'passwd_strength');
}
function hdl_onkeyup_ChangeForgotPassword_R1_NewPassword1(evt) {
    chkPassword(document.getElementById('ChangeForgotPassword_R1_p_email_addr').value, document.getElementById('ChangeForgotPassword_R1_NewPassword1').value, 'passwd_strength');
}
function hdl_onchange_UpdDriverVehicle_R1_primary_vehicle_disp(evt) {
    var vehEl = document.getElementById(this.id);
    var vehStr = vehEl.options[vehEl.selectedIndex].value;
    //alert(vehStr);

    if (vehStr != "") {
        document.getElementById('UpdDriverVehicle_R1_primary_vehicle').value = vehStr.substr(0, vehStr.indexOf("-"));
        document.getElementById('UpdDriverVehicle_R1_vin').innerHTML = vehStr.substring(vehStr.indexOf("-") + 1);
    }
    else {
        document.getElementById('UpdDriverVehicle_R1_primary_vehicle').value = '';
        document.getElementById('UpdDriverVehicle_R1_vin').innerHTML = '&nbsp;';
    }
}
function hdl_onchange_vehicle_R1_Veh_Use(evt) {
	var radiusElement = document.getElementById('vehicle_R1_radius_mileage');
	var vehuseElement = document.getElementById('vehicle_R1_Veh_Use');
	setRadiusMileage(radiusElement, vehuseElement);
}

function hdl_onchange_AddVehNew_R1_veh_use(evt) {
	var radiusElement = document.getElementById('AddVehNew_R1_radius_mileage');
	var vehuseElement = document.getElementById('AddVehNew_R1_veh_use');
	setRadiusMileage(radiusElement, vehuseElement);
}

function hdl_onchange_AddDriverPrimaryVehicle_R1_veh_use(evt) {
	var radiusElement = document.getElementById('AddDriverPrimaryVehicle_R1_radius_mileage');
	var vehuseElement = document.getElementById('AddDriverPrimaryVehicle_R1_veh_use');
	setRadiusMileage(radiusElement, vehuseElement);
}

function hdl_onchange_UpdDriverPrimaryVehicle_R1_veh_use(evt) {
	var radiusElement = document.getElementById('UpdDriverPrimaryVehicle_R1_radius_mileage');
	var vehuseElement = document.getElementById('UpdDriverPrimaryVehicle_R1_veh_use');
	setRadiusMileage(radiusElement, vehuseElement);
}

function hdl_onchange_veh_use(evt) {
    var prefix = this.id.substr(0, 6);
    var vehUseElement = document.getElementById(this.id);
    var radiusElement = document.getElementById(prefix + "remHide_radius_mileage");
    setRadiusMileage(radiusElement, vehUseElement);
}

function hdl_onchange_employment(evt) {
    var prefix = this.id.substr(0, 6);
    var emplElement = document.getElementById(this.id);
    var emplValue = emplElement.options[emplElement.selectedIndex].text;
    
    var allFieldsArr = new Array();
    var emplFieldsArr = new Array(prefix+"employer_name", prefix+"employer_address", prefix+"employer_city", prefix+"employer_state", prefix+"employer_zip");
    var emplAddlFieldsArr = new Array(prefix + "job_title", prefix + "years_of_employment", prefix + "type_of_business", prefix + "remSho_is_away_at_military");
    var studentAddlFieldsArr = new Array(prefix + "years_of_employment", prefix + "remSho_is_away_at_school", prefix + "is_grade_b_or_better", prefix + "requires_temp_coverage");

    allFieldsArr = emplFieldsArr.concat(emplAddlFieldsArr).concat(studentAddlFieldsArr);

    // Hide and clear all fields
    for (var i in allFieldsArr)
    {
        clearFieldArray(allFieldsArr);
        hideFieldTr(allFieldsArr[i]);
    }

    if (emplValue == 'Employed') {
        emplFieldsArr = emplFieldsArr.concat(emplAddlFieldsArr);

        for (var j in emplFieldsArr) {
            unHideFieldTr(emplFieldsArr[j]);
            var elField = document.getElementById('field_' + emplFieldsArr[j]);
            var divs = elField.getElementsByTagName("DIV");
            for (var k = 0; k < divs.length; k++) {
                var div = divs.item(k);
                if (div.className == 'FieldLabel' && (div.innerHTML.indexOf("School") > -1 || div.innerHTML.indexOf("Enrollment") > -1)) {
                    div.innerHTML = div.innerHTML.replace(/School/, "Employer");
                    div.innerHTML = div.innerHTML.replace(/Enrollment/, "Employment");
                }
            }
        }
        var elFirstField = document.getElementById(emplFieldsArr[0]);
        elFirstField.focus();
    } else if (emplValue == 'Student') {
        emplFieldsArr = emplFieldsArr.concat(studentAddlFieldsArr);
        for (var j in emplFieldsArr) {
            unHideFieldTr(emplFieldsArr[j]);
            var elField = document.getElementById('field_'+emplFieldsArr[j]);
            var divs = elField.getElementsByTagName("DIV");
            for (var k = 0; k < divs.length; k++) {
                var div = divs.item(k);
                if (div.className == 'FieldLabel' && (div.innerHTML.indexOf("Employer") > -1 || div.innerHTML.indexOf("Employment") > -1)) {
                    div.innerHTML = div.innerHTML.replace(/Employer/, "School");
                    div.innerHTML = div.innerHTML.replace(/Employment/, "Enrollment");
                }
            }          
        }
        var elFirstField = document.getElementById(emplFieldsArr[0]);
        elFirstField.focus();

    }
}

/* This function will be used to provide the "Cancel" link for newly inserted records in a parent/child/grand child scenario. */
function deleteNewRec(tblId) {
    // Mark the Child Record as deleted
    toggleTableClassById(tblId, 'deleted');

    var childTblEl = document.getElementById(tblId);
    var inputElName = tblId.replace(/tbl/, "_req");
    var inputEl = document.getElementById(inputElName);
    inputEl.checked = !inputEl.checked;

    // Mark all the grand child records for delete
    var gChildTblElArr = childTblEl.getElementsByTagName("TABLE");

    for (var i = 0; i < gChildTblElArr.length; i++) {
       // If the record is not hidden then mark it for delete.
        if (gChildTblElArr[i].className.indexOf("hidden") < 0) {
            var gchildInputElArr = gChildTblElArr[i].getElementsByTagName("INPUT");
             for (var j = 0; j < gchildInputElArr.length; j++) {
                if (gchildInputElArr[j].name.indexOf("__req") > -1) {
                    gchildInputElArr[j].checked = !gchildInputElArr[j].checked;
                }
            }
        }
    }
    return false;
}

function hideFieldTr(elementId) {
    var el = document.getElementById('row_' + elementId);
    if (el.id) {
        el.className = addToken(el.className, 'initHidden', ' ');
    }
}
function unHideFieldTr(elementId) {
    var el = document.getElementById('row_' + elementId);
    if (el.id) {
        el.className = removeToken(el.className, 'initHidden', ' ');
    }
}

function clearFieldArray(fieldArr) {
    for (i in fieldArr) {
        clearFieldSvc(fieldArr[i]);
    }
}

function clearFieldSvc(elementId) {
    var el = document.getElementById(elementId);
    if (el.id) {
        // define element type
        type = el.type
        // alert before erasing form element  
        //alert('form='+x+' element='+y+' type='+type);  
        // switch on element type  
        switch (type) {
            case "text":
            case "textarea":
            case "password":
                //case "hidden":  
                el.value = "";
                break;
            case "radio":
            case "checkbox":
                el.checked = "";
                break;
            case "select-one":
                el.options[0].selected = true;
                break;
            case "select-multiple":
                for (z = 0; z < el.options.length; z++) {
                    el.options[z].selected = false;
                }
                break;
        }
    } 
}


function setRadiusMileage(radiusElement, vehuseElement)
{
	//alert(vehuseElement.options[vehuseElement.selectedIndex].text);
	if (vehuseElement.options[vehuseElement.selectedIndex].text == 'Pleasure') {
		radiusElement.value = '0';
	}
	else {
		radiusElement.value = '';
	}
	//radiusElement.focus()
}

function hideTableById(tableId) {
    var tbl = document.getElementById(tableId);
    if (tbl != null) {
        tbl.className = addToken(tbl.className, 'hidden', ' ');
    } 
}

function unhideTable(tableName) {
   /* This is a ie workaround as IE does not support getElementsByName function */
   var childTables = document.getElementsByTagName('TABLE',tableName);
   var isTableFound = '0';
   for (var i = 0; i < childTables.length; i++) {
       if (childTables[i].getAttribute("name") == tableName && containsToken(childTables[i].className, 'hidden', ' ')) {
           childTables[i].className = removeToken(childTables[i].className, 'hidden', ' ');
           setFocusToFirstFieldInTable(childTables[i]);
           isTableFound = '1';
           break;
        }
    }

    var form = document.forms[0];
    /* Need to add code here to submit the form if max record to add reached */
    if (form && isTableFound == '0') {
        var s = form.action;
        if (form.id == 'PolicyDriver') {
            form.action = "/ais.aspx?_act=Save&_nan=VehiclePreviousNA";
        } else if (form.id == 'PolicyVehicle') {
            form.action = "/ais.aspx?_act=Save&_nan=CoveragePreviousNA";
        } else {
            return false;
        }
        form.submit();
        form.action = s;
        return false; 
    }
}

function toggleTableClassById(tableId, cls) {
    var tbl = document.getElementById(tableId);
    if (containsToken(tbl.className, cls, ' ')) {
        tbl.className = removeToken(tbl.className, cls, ' ');
    } else {
        tbl.className = addToken(tbl.className, cls, ' ');
    }
}

function RemoveDriverVehicle(section_id) {
	var rLink = document.getElementById(section_id+"remove");
	var tbl = document.getElementById(section_id+"tbl");
	var rows = tbl.getElementsByTagName("TR");
	var spans = tbl.getElementsByTagName("SPAN");
	var fields = tbl.getElementsByTagName("INPUT");
	var linkText;
	var clearFields = false;
	var el;
	var modify_flag_field = document.getElementById(section_id+"modify_flag");
	//alert(rLink.innerHTML);
	if (rLink.innerHTML == 'Remove') {
		rLink.innerHTML = 'Cancel';
		strikeDecoration = 'line-through';
		hideDisplay = 'none';
		if (isIE) {
			showDisplay = 'block';
		} else {
			showDisplay = 'table-row';
		}
		modify_flag_field.value = 'D';
	} else if (rLink.innerHTML == 'Cancel') {
		rLink.innerHTML = 'Remove';
		strikeDecoration = 'none';
		if (isIE) {
			hideDisplay = 'block';
		} else {
			hideDisplay = 'table-row';
		}
		showDisplay = 'none';
		clearFields = true;
		modify_flag_field.value = '';
	}
	for (var span in spans) {
		if (spans[span].id) {
			//alert(spans[span].id+'\n'+spans[span].id.indexOf(section_id+'remStrike_'));
			if (spans[span].id.indexOf(section_id+'remStrike_') == 0) {
				spans[span].style.textDecoration = strikeDecoration;
			}
		}
	}
	for (var field in fields) {
		el = fields[field];
		if (el.id) {			
			if (el.id.indexOf('remSho_') > 0) {
				if (el.options){
					var optMin
					//alert(el.id+'\n'+el.options.length+'\n'+el.value);
					if (el.options.length > 0 && el.options[0].value == ""){
						optMin = 1;
					}
					else {
						optMin = 0;
					}
					while (el.options.length > optMin){
						el.options[el.options.length -1 ] = null;
					}
					if (optMin == 0){
						el.options[0] = new Option('-- Select --','');	
					}
					if(reset){
						el.selectedIndex = 0;
					}
				} else if (el.type == 'checkbox') {		
					el.checked = false;
				} else {
					el.value = "";
				}
			}
		}
	}
	for (var row in rows) {
		if (rows[row].id) {
			if (rows[row].id.indexOf('remHide_') > 0) {
				//alert(rows[row].id);
				rows[row].style.display = hideDisplay;
			} else if (rows[row].id.indexOf('remSho_') > 0) {
				rows[row].style.display = showDisplay;
			}
		}
	}
}

