﻿var sNetscape;
var newWindow;
var space = "";
var somePath = "/Images/BookmarkUsOn.gif";
var ver = navigator.appName;
var num = parseInt(navigator.appVersion);

function MM_findObj(n, d) { //v4.01
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function ShowTestimonial(sPage,X,Y,X2,Y2){
	if (newWindow != null){
		if (newWindow.closed == false)
			newWindow.close();
	}
	if (navigator.appName == 'Microsoft Internet Explorer'){
		newWindow=window.open(sPage,'popup','height=' + Y + ',width=' + X + ',left=' + X2 + ',top=' + Y2);
		sNetscape = false;
	}
	else if (navigator.appName == 'Netscape'){
		newWindow=window.open(sPage, 'popup','alwaysRaised=yes,height=' + Y + ',width=' + X + ',screenX=' + X2 + ',screenY=' + Y2 + ',resizable=yes');
		sNetscape = true;
	}
}
function OpenCertDetails(){
	thewindow = window.open('https://www.thawte.com/cgi/server/certdetails.exe?code=CAHEAL21-2', 'anew', config='height=400,width=450,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=yes');
}
function ClearStandAlones(){
	document.Form1.libStandAlone1.checked=false;
	document.Form1.libStandAlone2.checked=false;
	document.Form1.libStandAlone3.checked=false;
	document.Form1.libStandAlone4.checked=false;
	document.Form1.libStandAlone5.checked=false;
	document.Form1.libStandAlone6.checked=false;
	document.Form1.libStandAlone7.checked=false;
}
function ClearCoreAndAddons(){
	document.Form1.libAddon1.checked=false;
	document.Form1.libAddon2.checked=false;
	document.Form1.libAddon3.checked=false;
	document.Form1.libAddon4.checked=false;
	document.Form1.libAddon5.checked=false;
	document.Form1.libAddon6.checked=false;
	document.Form1.libAddon7.checked=false;
	document.Form1.libAddon8.checked=false;
	document.Form1.libAddon9.checked=false;
	document.Form1.libAddon10.checked=false;
	document.Form1.libDrugPlus.checked=false;
	document.Form1.libDentalPlus.checked=false;
	document.Form1.libComboPlus.checked=false;
	document.Form1.libDrugPlusType[0].checked=false;
	document.Form1.libDrugPlusType[1].checked=false;
	document.Form1.libDentalPlusType[0].checked=false;
	document.Form1.libDentalPlusType[1].checked=false;
	document.Form1.libComboPlusType[0].checked=false;
	document.Form1.libComboPlusType[1].checked=false;
	document.Form1.libComboPlusType[2].checked=false;
}		
function InitThePage(){
	
	var chkContactMe = document.getElementById('chkContactMe');	
	// check to see if null
	if (!(null === chkContactMe)){
	    var tdPhone = document.getElementById('tdPhone');
	    var tdLastName = document.getElementById('tdLastName');
	    var trPhone = document.getElementById('trPhone');
	    var trLastName = document.getElementById('trLastName');
	    var tdFirstName = document.getElementById('tdFirstName');
	    if(chkContactMe.checked){
	        if (!(null === trPhone)){
	            trPhone.style.display = "";
	        }
	        if (!(null === trLastName)){
	            trLastName.style.display = "";
	        }
	        tdPhone.style.display = "";
	        tdLastName.style.display = "";
	        tdFirstName.style.display = "";
	    }
	    else{
	        if (!(null === trPhone)){
	            trPhone.style.display = "none";
	        }
	        if (!(null === trLastName)){
	            trLastName.style.display = "none";
	        }	        
	        tdPhone.style.display = "none";
	        tdLastName.style.display = "none";
	        tdFirstName.style.display = "none";
	    }
	}
	
	var claricaDental = document.getElementById('claricaDental');
	var claricaPlan0 = document.getElementById('claricaPlan[0]');        
   if (!(null === claricaPlan0)){
        // check to see if Basic plan selected, if so check Dental
        if (claricaPlan0.checked == true){        
           claricaDental.checked = true;
        }
	}
	
	var lstNumDependents = document.getElementById('lstNumDependents');
	// check to see if null			
	if (!(null === lstNumDependents)){
	    var DependentRow1 = document.getElementById('DependentRow1');
	    var DependentRow2 = document.getElementById('DependentRow2');
	    var DependentPrompt  = document.getElementById('DependentPrompt');
	    var DependentsTable  = document.getElementById('DependentsTable');
	    if(lstNumDependents.value > 0){		    
	        DependentsTable.style.display = "";	
	        DependentPrompt.style.display = "";	
	        DependentRow1.style.display = "";	
	        if(lstNumDependents.value > 4){		    
                DependentRow2.style.display = "";
            }
            else{
                DependentRow2.style.display = "none";
            }        
	    }
	    else{
	        DependentRow1.style.display = "none";
	        DependentRow2.style.display = "none";
	        DependentPrompt.style.display = "none";
	        DependentsTable.style.display = "none";
	    }	    
	}
	
	// finally, check if from out East province, if so hide gender listboxes (only required for Flexcare and out east provinces)
	var sProvince = document.getElementById('Province1');
	if (!(null === sProvince)){
	    var SpouseGenderCell = document.getElementById('SpouseGenderCell');
	    var ApplicantGenderCell = document.getElementById('ApplicantGenderCell');
	    if(sProvince.value == 'New Brunswick' | sProvince.value == 'Nova Scotia' | sProvince.value == 'PEI' | sProvince.value == 'Newfoundland'){
	        SpouseGenderCell.style.display = "";
	        ApplicantGenderCell.style.display = "";
	    }
	    else{
	        SpouseGenderCell.style.display = "none";
	        ApplicantGenderCell.style.display = "none";
	    }
	}	
}

function ShowHideElements(){
	var tdPhone = document.getElementById('tdPhone');
	var tdLastName = document.getElementById('tdLastName');
	var tdFirstName = document.getElementById('tdFirstName');
	var chkContactMe = document.getElementById('chkContactMe');
	var trPhone = document.getElementById('trPhone');
	var trLastName = document.getElementById('trLastName');
	
	if(chkContactMe.checked){
		if (!(null === trPhone)){
	        trPhone.style.display = "";
        }
        if (!(null === trLastName)){
            trLastName.style.display = "";
        }		
		tdPhone.style.display = "";
		tdLastName.style.display = "";
		tdFirstName.style.display = "";
	}
	else{
		if (!(null === trPhone)){
	        trPhone.style.display = "none";
        }
        if (!(null === trLastName)){
            trLastName.style.display = "none";
        }
		tdPhone.style.display = "none";
		tdLastName.style.display = "none";
		tdFirstName.style.display = "none";
	}
	
}
function format_phone(txtBox) {
	var no_funny_chars = txtBox.value.replace(/[^0-9]/g,'');
	
	if(no_funny_chars.length == 0) {
		txtBox.value = "";
		return;
	}

	var replacement = no_funny_chars.substr(0,1);
	
	if(replacement != '1') {
		no_funny_chars = '1' + no_funny_chars;
		replacement = '1';
	}
	
	if(no_funny_chars.length > 1) {
		replacement += "-" + no_funny_chars.substr(1,3);
	}
	if(no_funny_chars.length > 4) {
		replacement += "-" + no_funny_chars.substr(4,3);
	}
	if(no_funny_chars.length > 7) {
		replacement += "-" + no_funny_chars.substr(7,4);
	}
	if(no_funny_chars.length > 11) {
		replacement += " x " + no_funny_chars.substr(11,5);
	}
	txtBox.value = replacement;
}
function show_hide_gender(){
    // get province of residence, which determines if we need to get gender of
    //   applicant and spouse for Flexcare quotes
    var sProvince = document.getElementById('Province1').value;
    if (!(null === sProvince)){    
        
        
        var ApplicantGenderCell = document.getElementById('ApplicantGenderCell');
        var SpouseGenderCell = document.getElementById('SpouseGenderCell');
        
        
        if(sProvince == "New Brunswick" || sProvince == "Newfoundland" || sProvince == "Nova Scotia" || sProvince == "PEI"){
            //display table row that prompts for gender		        
            SpouseGenderCell.style.display = "";
            ApplicantGenderCell.style.display = "";
        }
        else{
            //hide table row that prompts for gender
            SpouseGenderCell.style.display = "none";
            ApplicantGenderCell.style.display = "none";
        }
   } 
}
function ShowHideDependents(){
    
    var NumDependents = document.getElementById('lstNumDependents').value;
    var trDependentPrompt = document.getElementById('DependentPrompt');
    var trDependentRow1 = document.getElementById('DependentRow1');	
    var trDependentRow2 = document.getElementById('DependentRow2');
    var DependentsTable = document.getElementById('DependentsTable');
    	    
    if(NumDependents == '0'){
        trDependentPrompt.style.display = "none";
	    trDependentRow1.style.display = "none";
	    trDependentRow2.style.display = "none";
	    DependentsTable.style.display = "none";
    }
    else{
        trDependentPrompt.style.display = "";
	    trDependentRow1.style.display = "";
	    DependentsTable.style.display = "";
	    // only display second child ages row if more than 4 children
	    if(NumDependents > 4){
	        trDependentRow2.style.display = "";
	    }
	    else{
	        trDependentRow2.style.display = "none";
	    }
    } 
}
// following function validates end-user choices for Insured Data and Plan Information
function ValidateIndHealthChoices(){

       var bPass = true; // initialize to true, if any test fails this variable will be set to false
       var bDependentsError = false; //there are a couple error messages about dependents, we only want to show one
       var bMaritalStatusError = false; //there are a couple error messages about marital status, we only want to show one

        // I must initially set DIV error tag's display to none, otherwise when I post IE sizes DIVs that have height,
        //  and it resizes the table height which looks strange!
        var divProvinceError = document.getElementById('divProvinceError'); 
        var divEmailError = document.getElementById('divEmailError');        
        var divNumDependentsError = document.getElementById('divNumDependentsError');
        var divMaritalStatusError = document.getElementById('divMaritalStatusError');
        var divApplicantAgeError = document.getElementById('divApplicantAgeError');
        var divSpouseAgeError = document.getElementById('divSpouseAgeError');
        var divPartnerGenderError = document.getElementById('divPartnerGenderError');
        var divSpouseGenderError = document.getElementById('divSpouseGenderError');
        var divPhoneError = document.getElementById('divPhoneError');
        var divLastNameError = document.getElementById('divLastNameError');
        var divAgeDependentError1 = document.getElementById('divAgeDependentError1');
        var divAgeDependentError2 = document.getElementById('divAgeDependentError2');
        var divAgeDependentError3 = document.getElementById('divAgeDependentError3');
        var divAgeDependentError4 = document.getElementById('divAgeDependentError4');
        var divAgeDependentError5 = document.getElementById('divAgeDependentError5');
        var divAgeDependentError6 = document.getElementById('divAgeDependentError6');        
        var divDrugDentalError = document.getElementById('divDrugDentalError');
        divEmailError.style.display = "none";
        divProvinceError.style.display = "none";
        divNumDependentsError.style.display = "none";
        divMaritalStatusError.style.display = "none";
        divApplicantAgeError.style.display = "none";
        divSpouseAgeError.style.display = "none";
        divPartnerGenderError.style.display = "none";
        divSpouseGenderError.style.display = "none";
        divPhoneError.style.display = "none";
        divLastNameError.style.display = "none";
        divAgeDependentError1.style.display = "none";
        divAgeDependentError2.style.display = "none";
        divAgeDependentError3.style.display = "none";
        divAgeDependentError4.style.display = "none";
        divAgeDependentError5.style.display = "none";
        divAgeDependentError6.style.display = "none";
        divDrugDentalError.style.display = "none";
        
        // trap for no spouse age selected but Couple indicated
        var SpouseAge = document.getElementById('lstSpouseAge');
        var MaritalStatus = document.getElementById('lstMaritalStatus');
        divMaritalStatusError.innerHTML = "";
        
        // check for spousal age entered if Couple or Family
        if(SpouseAge.value == "NA" && (MaritalStatus.value == "Couple" || MaritalStatus.value == "Family")){
           divSpouseAgeError.innerHTML = "<font color='red'>Please specify partner's age.</font>";
           SpouseAge.focus();
           divSpouseAgeError.style.display = "";
           bPass = false;
        }else{
            divSpouseAgeError.innerHTML = "";
        }

        // trap for Family or Single Parent selected but no children indidcated
        var NumDependents = document.getElementById('lstNumDependents');
        if((MaritalStatus.value == "Family" || MaritalStatus.value == "SingleParent") && NumDependents.value == "0"){
           divNumDependentsError.innerHTML = "<font color='red'>Please indicate number of dependents,<br />or change your marital status.</font>";
           divNumDependentsError.style.display = "";
           NumDependents.focus();
           bDependentsError = true;
           bPass = false;
        }else{
            divNumDependentsError.innerHTML = "";
        }
        
        // check for good email address        
        var str = document.getElementById('Email').value;
        var goodEmail = true;
        if(str.indexOf(".") == '-1' || str.indexOf("@") == '-1'){
            goodEmail = false;
        }
        if(goodEmail){
            divEmailError.innerHTML = "";
        }else{
            divEmailError.innerHTML = "<font color='red'>Please enter a valid email.</font>";
            divEmailError.style.display = "";
            bPass = false;
        }
        
        // check for province selected
        var Province = document.getElementById('Province1').value;
        if(Province == 'NotSet'){
            divProvinceError.innerHTML = "<font color='red'>Please select your province/territory.</font>";
            divProvinceError.style.display = "";
            bPass = false;
        }else{
            divProvinceError.innerHTML = "";
        }

        // trap for children specified, but child ages not set
        if(NumDependents.value > 0){
            var i;
            // check for Single Parent or Family
            if(MaritalStatus.value != "SingleParent" && MaritalStatus.value != "Family"){
                divMaritalStatusError.innerHTML = "<font color='red'>Please select status of Family or Single Parent.</font>";
                divMaritalStatusError.style.display = "";
                bMaritalStatusError = true;
                MaritalStatus.focus();
                bPass = false;
            }else{
                divMaritalStatusError.innerHTML == "";
            }
            
           for(var i = 1; i <= NumDependents.value; i++){
                var ChildAge = document.getElementById('lstChildAge' + i);
                var divChildError = document.getElementById('divAgeDependentError' + i);
                if(ChildAge.value == 'NA'){
                    divChildError.innerHTML = "<font color='red'>Please select age.</font>";
                    divChildError.style.display = "";
                    bPass = false;
                }else{
                    divChildError.innerHTML = "";
                }
            }
        }

        // trap for spouse age selected but Single status indicated
        if (SpouseAge.value != "NA" && (MaritalStatus.value == "Single" || MaritalStatus.value == "SingleParent")){
            if(bMaritalStatusError == false){                
                //see if there are dependents, this will detemrine if we prompt user to enter Family or Couple
                if(NumDependents.value == 0){
                    divMaritalStatusError.innerHTML = "<font color='red'>If you want coverage as a couple<br />please select &quot;Couple&quot;, or set Spouse age to N/A.</font>"
                    divMaritalStatusError.style.display = "";
                }else{
                    divMaritalStatusError.innerHTML = "<font color='red'>If you want coverage as a family<br />please select &quot;Family&quot;, or set Spouse age to N/A.</font>"
                    divMaritalStatusError.style.display = "";
                }
                bPass = false;
            }            
        }

        //trap for no spouse gender selected but Couple indicated
        var SpouseGender = document.getElementById('lstSpouseGender');
        if(SpouseGender.value == "NA" && (MaritalStatus.value == "Couple" || MaritalStatus.value == "Family")){
            // also check for out-east province
           if(Province == "New Brunswick" || Province == "Nova Scotia" || Province == "PEI" || Province == "Newfoundland"){
                divPartnerGenderError.innerHTML = "<font color='red'>Please specify partner's gender.</font>";
                divPartnerGenderError.style.display = "";
                bPass = false;
           }else{
                divPartnerGenderError.innerHTML = "";
           }
        }else{
            divPartnerGenderError.innerHTML = "";
        }
        
        // see if they want us to contact them for followup, if so trap for ph number and last name entered!
        if(document.getElementById('chkContactMe').checked){
            var txtPhone = document.getElementById('txtPhone');
            if(txtPhone.value == ''){
                divPhoneError.innerHTML = "<font color='red'>Please specify a phone number.</font>";
                divPhoneError.style.display = "";
                bPass = false;
            }else{
                divPhoneError.innerHTML = "";
            }
            
            var txtLastName = document.getElementById('txtLastName');
            if(txtLastName.value == ''){
                divLastNameError.innerHTML = "<font color='red'>Please enter your last name.</font>";
                divLastNameError.style.display = "";
                bPass = false;
            }else{
                divLastNameError.innerHTML = "";
            }
        }       
        
        var myForm = document.getElementById('Form1');
        // finally, check to make sure they are selecting at least Drugs or Dental
        if(myForm.DrugBenefits[0].checked && myForm.DentalBenefits[0].checked){
           divDrugDentalError.innerHTML = "<font color='red'>Please select Drug or Dental coverage.</font>";
           divDrugDentalError.style.display = "";
           bPass = false;
       }else{
           divDrugDentalError.innerHTML = "";
        }
        
        return bPass;
}