/* Functions for SMA calculators
	April 2003 - jmildenb
*/
// Premium Functions ----------------------------------------------------------
	
	
	function validate_age(who) {
		var form = document.prem_calc;
		if(who=="md_life") {
			if(!form.md_age.value.match(/\d/g)){alert("Please enter your age."); form.md_age.focus(); return false;}
		}
		if(who=="sp_life") {
			if(!form.sp_age.value.match(/\d/g)){alert("Please enter your age."); form.sp_age.focus(); return false;}
		}
		if(who=="md_dis") {
			if(!form.md_age.value.match(/\d/g) || form.md_age.value==0){alert("Please enter your age."); form.md_age.focus(); return false;}
			if(!form.md_salary.value.match(/\d/g) || form.md_salary.value==0){alert("Please enter your salary."); form.md_salary.focus(); return false;}
		}
		return true;
	}
	
	
	function calc_LifePrems(who) {
		var form = document.prem_calc;
		if(who=="md_life" && validate_age(who)) { // physician life
			with (form) {
				mdAmtLife = document.prem_calc.md_life_wants[document.prem_calc.md_life_wants.selectedIndex].value -0;
				mdAmtAdd = document.prem_calc.md_add_wants[document.prem_calc.md_add_wants.selectedIndex].value -0;
				//alert(mdAmtAdd);
				if (mdAmtLife==-1) {
					monthlyPremLife = 0;
				}else{
					monthlyPremLife =  mdLifeRate(md_age.value,mdAmtLife);		
				}
				if (mdAmtAdd==-1) {
					monthlyPremAdd = 0;
				}else{
					monthlyPremAdd =  mdAddRate(mdAmtAdd);
				}
				
				mdLifePrem.value = formatAsCurrency(monthlyPremLife);
				mdAddPrem.value = formatAsCurrency(monthlyPremAdd);	
				// Adds both premiums together
				//mdPrem.value = formatAsCurrency(monthlyPremLife+monthlyPremAdd);
			}
		}
		if(who=="sp_life" && validate_age(who)) {  // spouse life
			with (form) {
				spAmtLife = document.prem_calc.sp_life_wants[document.prem_calc.sp_life_wants.selectedIndex].value -0;
				spAmtAdd = document.prem_calc.sp_add_wants[document.prem_calc.sp_add_wants.selectedIndex].value -0;
				//alert(spAmtAdd);
				if (spAmtLife==-1) {
					monthlyPremLife = 0;
				}else{
					monthlyPremLife =  spLifeRate(sp_age.value,spAmtLife);			
				}
				if (spAmtAdd==-1) {
					monthlyPremAdd = 0;
				}else{
					monthlyPremAdd =  spAddRate(spAmtAdd);			
				}
				
				spLifePrem.value = formatAsCurrency(monthlyPremLife);
				spAddPrem.value = formatAsCurrency(monthlyPremAdd);
				//spPrem.value = formatAsCurrency(monthlyPremLife+monthlyPremAdd);
			}
		}
	
	}
/* > Physician Life Rates < */
	function mdLifeRate(myAge,myAmtL) {
		if(myAge < 30){var ageArray = new Array(7.65,15.30,22.95,30.60,36.97,43.33,49.70,56.07,62.43,68.80,75.23,81.60,87.98,94.35,100.73,107.10,113.48,119.85,126.23,132.60,169.57,206.53,243.50,280.47);}
		if(myAge >=30 && myAge <=34){var ageArray = new Array(11.48,22.95,34.43,45.90,55.46,65.00,74.55,84.10,93.65,103.20,112.84,122.40,131.96,141.53,151.09,160.65,170.21,179.78,189.34,198.90,254.35,309.81,365.26,420.72)}
		if(myAge >=35 && myAge <=39){var ageArray = new Array(13.73,27.46,41.18,54.91,66.34,77.77,89.20,100.62,112.06,123.48,135.58,147.05,158.53,170.00,181.48,192.95,204.43,215.90,227.38,238.85,305.19,371.54,437.88,504.22)}
		if(myAge >=40 && myAge <=44){var ageArray = new Array(20.61,41.23,61.84,82.45,101.31,120.17,139.03,157.88,176.74,195.59,214.84,233.75,252.66,271.58,290.49,309.40,328.31,347.23,366.14,385.05,486.36,587.67,688.98,790.30)}
		if(myAge >=45 && myAge <=49){var ageArray = new Array(36.13,72.25,108.38,144.50,177.56,210.61,243.67,276.73,309.78,342.84,376.55,409.70,442.85,476.00,509.15,542.30,575.45,608.60,641.75,674.90,852.46,1030.01,1207.57,1385.13)}
		if(myAge >=50 && myAge <=54){var ageArray = new Array(63.20,126.40,189.59,252.79,310.64,368.49,426.34,484.20,542.05,599.90,657.39,715.19,772.99,830.79,888.59,946.39,1004.19,1061.99,1119.79,1177.59,1488.23,1798.87,2109.51,2420.15)}
		if(myAge >=55 && myAge <=59){var ageArray = new Array(103.91,207.83,311.74,415.65,502.11,588.57,675.03,761.48,847.94,934.40,1021.06,1107.55,1194.04,1280.53,1367.01,1453.50,1539.99,1626.48,1712.96,1799.45,2301.56,2803.67,3305.79,3807.90)}
		if(myAge >=60 && myAge <=64){var ageArray = new Array(183.60,367.20,550.80,734.40,887.16,1039.92,1192.68,1345.43,1498.19,1650.95,1803.91,1956.70,2109.49,2262.28,2415.06,2567.85,2720.64,2873.43,3026.21,3179.00,4066.16,4953.32,5840.49,6727.65)}
		if(myAge >=65 && myAge <=69){var ageArray = new Array(137.70,275.40,413.10,550.80,665.37,779.94,894.51,1009.07,1123.64,1238.20,1352.56,1467.10,1581.64,1696.18,1810.71,1925.25,2039.79,2154.33,2268.86,2383.40,3048.77,3714.14,4379.51,5044.89)}
		if(myAge >=70){alert("Coverage not available."); return 0;}
		
		return ageArray[myAmtL];
	}
	
	function mdAddRate(myAmtA) {
		var amtArray = new Array(6.50,13.01,19.51,26.01,32.51,39.02,45.52,52.02,58.52,65.03,71.53,78.03,84.53,91.04,97.54,104.04,110.54,117.05,123.55,130.05,162.56,195.08,227.59,260.10);
		return amtArray[myAmtA];
	}
/* > Spouse Life Rates < */
	function spLifeRate(myAge,myAmtL) {
		if(myAge < 30){var ageArray = new Array(2.64,5.26,7.90,10.52,13.16,15.78,18.42,21.05,23.68,26.31,28.94,31.58,34.21,36.85,39.48,42.12,44.75,47.39,50.02,52.66);}
		if(myAge >=30 && myAge <=34){var ageArray = new Array(3.83,7.65,11.48,15.30,19.13,22.95,26.78,30.60,34.43,38.25,42.08,45.90,49.73,53.55,57.38,61.20,65.03,68.85,72.68,76.50)}
		if(myAge >=35 && myAge <=39){var ageArray = new Array(5.02,10.05,15.07,20.09,25.12,30.14,35.16,40.19,45.21,50.24,55.26,60.28,65.31,70.33,75.35,80.38,85.40,90.42,95.45,100.47)}
		if(myAge >=40 && myAge <=44){var ageArray = new Array(9.32,18.65,27.97,37.30,46.62,55.95,65.27,74.60,83.92,93.25,102.57,111.89,121.22,130.54,139.87,149.36,158.52,167.84,177.17,186.49)}
		if(myAge >=45 && myAge <=49){var ageArray = new Array(15.78,31.56,47.35,63.12,78.91,94.68,110.47,126.24,142.03,157.80,173.59,189.37,205.16,220.94,236.72,252.51,268.29,284.08,299.86,315.65)}
		if(myAge >=50 && myAge <=54){var ageArray = new Array(25.82,51.64,77.46,103.28,129.10,154.91,180.74,206.55,232.37,258.19,284.01,309.83,335.66,361.48,387.30,413.13,438.95,464.77,490.60,516.42)}
		if(myAge >=55 && myAge <=59){var ageArray = new Array(38.73,77.46,116.20,158.32,193.66,232.38,271.12,309.84,348.58,387.30,426.04,464.77,503.51,542.24,580.97,619.71,658.44,697.18,735.91,774.65)}
		if(myAge >=60 && myAge <=64){var ageArray = new Array(62.40,124.80,187.20,249.59,311.99,374.39,436.79,499.19,561.59,623.99,686.38,748.78,811.18,873.58,935.98,998.38,1060.78,1123.17,1185.57,1247.97)}
		if(myAge >=65 && myAge <=69){var ageArray = new Array(46.86,93.71,140.57,187.43,234.29,281.14,328.00,374.85,421.71,468.56,515.42,562.28,609.14,656.01,702.86,749.73,796.59,843.45,890.31,937.17)}
		if(myAge >=70){alert("Coverage not available."); return 0;}
		
		return ageArray[myAmtL];
	}

	function spAddRate(myAmtA) {
		var amtArray = new Array(2.40,4.79,7.19,9.59,11.99,14.38,16.78,19.18,21.57,23.97,26.37,28.76,31.16,33.56,35.96,38.35,40.75,43.15,45.54,47.94);
		return amtArray[myAmtA];
	}

// Disability ----------------------------------------------------------------------

	
	
	function calcDisPrems(what) {
		var form = document.prem_calc;
		
		if(what=="md_LTD" && validate_age('md_dis')) {  // LTD
			//alert("testing");
			if(document.prem_calc.md_ltd_benefit==null || document.prem_calc.md_ltd_benefit.value==-1){alert("Use the Next button,\nthen select a benefit amount.");}
				else{
			with (form) {
				mdBWP = document.prem_calc.md_ltd_bwp[document.prem_calc.md_ltd_bwp.selectedIndex].value -0;
				mdBenAmt = document.prem_calc.md_ltd_benefit[document.prem_calc.md_ltd_benefit.selectedIndex].value -0;
				
				if (mdBWP==-1) {
					quarterlyRateLTD = 0;
					alert("Please choose a benefit waiting period.");
				}else{
					quarterlyRateLTD =  mdLTDRate(md_age.value,mdBWP) * (mdBenAmt/1000);
					
				}	
			mdLTDPrem.value = formatAsCurrency(quarterlyRateLTD);
			}
				}	//end else
		}
		
		if(what=="md_STD" && validate_age('md_dis')) {  // STD
			//alert("testing");
			if(document.prem_calc.md_std_benefit==null || document.prem_calc.md_std_benefit.value==-1){alert("Use the Next button,\nthen select a benefit amount.");}
				else{
			with (form) {
				mdStdBen = document.prem_calc.md_std_benefit[document.prem_calc.md_std_benefit.selectedIndex].value -0;
				
				if (isNaN(stdOpt)) {
					alert("Please select a plan.");
					return false;
				}else{
					monthlyPremSTD =  mdSTDRate(md_age.value,stdOpt) * (mdStdBen/1000);
				}	
			mdSTDPrem.value = formatAsCurrency(monthlyPremSTD);
			}
				} //end else
		}
	}
	
	function mdLTDRate(myAge,myBWP) {
		if(myAge < 30){var ageArray = new Array(51.56,46.47,43.59,37.03,32.60);}
		if(myAge >=30 && myAge <=34){var ageArray = new Array(57.63,51.93,48.69,41.39,36.42);}
		if(myAge >=35 && myAge <=39){var ageArray = new Array(72.80,65.61,61.52,52.29,46.01);}
		if(myAge >=40 && myAge <=44){var ageArray = new Array(151.42,135.65,125.13,109.36,96.23);}
		if(myAge >=45 && myAge <=49){var ageArray = new Array(227.14,203.48,187.71,164.05,144.36);}
		if(myAge >=50 && myAge <=54){var ageArray = new Array(315.74,283.63,262.92,238.09,209.52);}
		if(myAge >=55 && myAge <=59){var ageArray = new Array(526.19,472.71,438.22,396.79,349.18);}
		if(myAge >=60 && myAge <=64){var ageArray = new Array(380.92,342.28,317.45,267.77,235.64);}
		if(myAge >=65){alert("Coverage not available."); }
		
		return ageArray[myBWP];
	}
	
	function mdSTDRate(myAge,myOpt) {
		if(myAge < 30){var ageArray = new Array(258.90,320.40,180.90,244.50);}
		if(myAge >=30 && myAge <=34){var ageArray = new Array(277.80,349.80,192.00,267.00);}
		if(myAge >=35 && myAge <=39){var ageArray = new Array(180.30,243.60,121.20,186.30);}
		if(myAge >=40 && myAge <=44){var ageArray = new Array(138.90,202.20,89.70,154.80);}
		if(myAge >=45 && myAge <=49){var ageArray = new Array(156.60,233.40,100.20,178.80);}
		if(myAge >=50 && myAge <=54){var ageArray = new Array(177.30,264.00,113.10,202.50);}
		if(myAge >=55 && myAge <=59){var ageArray = new Array(239.10,357.00,152.40,273.90);}
		if(myAge >=60 && myAge <=64){var ageArray = new Array(295.50,440.40,188.70,337.80);}
		if(myAge >=65){alert("Coverage not available."); }
		
		return ageArray[myOpt];
	}