var popWin = null;
var winCount = 0;
var winName = "popWin";

function getCoverage()
{
	var loc = window.location;
	var coverageURL = loc.href.replace(/calculator.asp/gi, "coverage.asp");
	var	textSizeFactor = 10;
	var inputFrm = document.clientinfo;

	if (isBasicInfoValid()) {
		if (inputFrm) {
			coverageURL += "?Age=" + inputFrm.Age.value;
			coverageURL += "&SpouseAge=" + inputFrm.SpouseAge.value;
			coverageURL += "&SimilarCoverage=" + inputFrm.SimilarCoverage[0].checked;
			coverageURL += "&GWLCoverage=" + inputFrm.GWLCoverage[0].checked;
			coverageURL += "&IllLast24Months=" + inputFrm.IllLast24Months[0].checked;
			coverageURL += "&ExpectTreatment=" + inputFrm.ExpectTreatment[0].checked;
			coverageURL += "&Province=" + inputFrm.Province.value;
			coverageURL += "&Children=" + inputFrm.Children.value;
		}
	
		openPopWin(coverageURL, 20*(textSizeFactor*2), (27*(textSizeFactor+2)), ",resizable=yes,dependent=yes");
	}
}

function getQuote()
{
	 var loc = window.location;
	 var coverageURL = loc.href.replace(/calculator.asp/gi, "calculator.asp");
	 popWin = window.open(coverageURL,"_self"); 	 
}
function doSubmit()
{
	if (isAllInfoValid() == true) {
		document.clientinfo.action = window.location.href;
		document.clientinfo.submit();
	}
}
function goBack()
{
	history.go(-1);
	return false;
}
function isCoverageValid()
{
	var	result = true;
	var inputFld;
	var inputFrm = document.coverageinfo;
	
	if (isOneSelected(inputFrm.Plan) == false) {
		result = false;
		alert("Please select a plan.");
	}

	if (inputFrm.OptionADD != null) {
		if (result == true) {
			if ((inputFrm.OptionADD.checked == true) && 
				(inputFrm.ADDAmount.selectedIndex <= 0)) {
				result = false;
				alert("The range for the optional Accidental Death & Dismemberment benefit is 25,000 to 250,000.");
			}
		}
	
		if (result == true) {
			if ((inputFrm.OptionADD.checked == false) && 
				(inputFrm.ADDAmount.selectedIndex > 0)) {
				result = false;
				alert("You have chosen an Accidental Death & Dismemberment amount but have not included the benefit.  Please either include the benefit or enter a blank amount for the coverage.");
			}
		}
	}
	
	if (inputFrm.OptionEPD != null) {
		if (result == true) {
			if ((inputFrm.OptionEPD.checked == true) && 
				(inputFrm.EPDAmount.selectedIndex <= 0)) {
				result = false;
				alert("The range for the optional Enhanced Prescription Drug benefit is 2,500 to 5,000.");
			}
		}
	
		if (result == true) {
			if ((inputFrm.OptionEPD.checked == false) && 
				(inputFrm.EPDAmount.selectedIndex > 0)) {
				result = false;
				alert("You have chosen an Enhanced Prescription Drug amount but have not included the benefit.  Please either include the benefit or enter a blank amount for the coverage.");
			}
		}
	}

	return result;
}

function isBasicInfoValid()
{
	var	result = true;
	var inputFld;
	var inputFrm = document.clientinfo;
	var oldestAge = 0;

	inputFld = inputFrm.Age;
	if (!(isWithinRange(inputFld, 50, 75)) || (inputFld.value.length == 0)) {
		result = false;
		alert("Your age must be between 50 and 75.");
	}

	inputFld = inputFrm.SpouseAge;
	if ((result == true) && !(isWithinRange(inputFld, 50, 75))) {
		if (inputFld.value.length > 0) {
			result = false;
			alert("Your spouse's age must be between 50 and 75.");
		}
	}
	
	inputFld = inputFrm.Province;
	if ((result == true) && (inputFld.selectedIndex == 0)) {
		result = false;
		alert("Please select a province.");
	}
	
	if (result == true) {
		if (inputFrm.Age.value > inputFrm.SpouseAge.value) {
			oldestAge = inputFrm.Age.value;
		} else {
			oldestAge = inputFrm.SpouseAge.value;
		}
	}
	
	
	if ((result == true) && 
		((hasYesNoAnswer(inputFrm.SimilarCoverage[0], inputFrm.SimilarCoverage[1]) == false) ||
		(hasYesNoAnswer(inputFrm.IllLast24Months[0], inputFrm.IllLast24Months[1]) == false) ||
		(hasYesNoAnswer(inputFrm.ExpectTreatment[0], inputFrm.ExpectTreatment[1]) == false)) ) {
		result = false;
		alert("Please complete the eligibility questions.");
	}
	
	if (result == true) {
		if (document.forms['clientinfo'].SimilarCoverage[0].checked == true) {
			if (hasYesNoAnswer(inputFrm.GWLCoverage[0], inputFrm.GWLCoverage[1]) == false)
			{
				result = false;
				alert("Please complete the eligibility questions.");
			
			}
	}}
	
	inputFld = inputFrm.SimilarCoverage;
	if (result == true) {
		if ((oldestAge > 70) && (inputFld[0].checked == false)) {
			result = false;
			alert("If the oldest applicant is 71 years of age or older, the eligibility question regarding similar coverage in the last 60 days must be 'Yes'.");
		}
	}
	
	return result;
}

function isAllInfoValid()
{
	var result = isBasicInfoValid();
	var inputFrm = document.clientinfo;
	
	if ((result == true) && (inputFrm.Plan.value == "-1")) {
		result = false;
		alert("Please select your coverage options.");
		getCoverage();
	}
	
	if (result == true) {
		result = isConsistentWithCoverage();
	}
	
	return result;
}

function isConsistentWithCoverage()
{
	var	result = true;
	var	oldestAge = 0;
	var youngestAge = 0;
	var inputFrm = document.clientinfo;

	if ((inputFrm.SimilarCoverage[1].checked == true) &&
		(("" + inputFrm.Plan.value) == "7")) {
		result = false;
	}

	if ((inputFrm.SimilarCoverage[1].checked == true) &&
		(inputFrm.OptionDental.value == "true")) {
		result = false;
	}
	
	if (inputFrm.Age.value > inputFrm.SpouseAge.value) {
		oldestAge = inputFrm.Age.value;
		if (inputFrm.SpouseAge.value > 0) {
			youngestAge = inputFrm.SpouseAge.value;
		} else {
			youngestAge = inputFrm.Age.value;
		}
	} else {
		oldestAge = inputFrm.SpouseAge.value;
		youngestAge = inputFrm.Age.value;
	}
	
	if ((oldestAge > "69") && (inputFrm.OptionEmergTravel.value == "true")) {
		result = false;
	}
	
	if ((oldestAge > "70") && (inputFrm.ADDAmount.value > 0)) {
		result = false;
	}

	if ((inputFrm.Province.value == "5") && (inputFrm.EPDAmount.value > 0)) {
		result = false;
	}
	
	if (inputFrm.Children.value > 0) {
	  youngestAge = 49;
	 }  
	  
	if ((youngestAge > "65") && (inputFrm.EPDAmount.value > 0)) {
		result = false;
	}
	
	if (result == false) {
		alert("Changes to your personal information have changed the coverage options available.  Please re-select your coverage options.");
		getCoverage();
	}
	
	return result;
}

function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, winTop)
{
	var d_winLeft = 20; 
	var d_winTop = 20; 
	winName = "popWin" + winCount++; 
	closePopWin();
	
	if (openPopWin.arguments.length >= 4) {
		winFeatures = "," + winFeatures;
	} else {
		winFeatures = "";
	}
	
	if (openPopWin.arguments.length == 6) {
		winFeatures += getLocation(winWidth, winHeight, winLeft, winTop);
	} else {
		winFeatures += getLocation(winWidth, winHeight, d_winLeft, d_winTop);
	}
	popWin = window.open(winURL, winName, "width=" + winWidth + ",height=" + winHeight + winFeatures);
}

function closePopWin()
{
	if ((navigator.appName != "Microsoft Internet Explorer") || (parseInt(navigator.appVersion) >=4)) {
		if (popWin != null) {
			if (!popWin.closed) {
				popWin.close();
			}
		}
	}
}

function getLocation(winWidth, winHeight, winLeft, winTop)
{
	var winLocation = "";
	
	if (winLeft < 0) {
		winLeft = screen.width - winWidth + winLeft;
	}
	if (winTop < 0) {
		winTop = screen.height - winHeight + winTop;
	}
	if (winTop == "cen") {
		winTop = (screen.height - winHeight)/2 - 20;
	}
	if (winLeft == "cen") {
		winLeft = (screen.width - winWidth)/2;
	}
	if (winLeft>0 & winTop>0) {
		winLocation =  ",screenX=" + winLeft + ",left=" + winLeft + ",screenY=" + winTop + ",top=" + winTop;
	} else {
		winLocation = "";
	}
	return winLocation;
}



