//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Life Insurance Need Calculator
//2002 Daniel C. Peterson ALL RIGHTS RESERVED
//Created: 10/31/2002
//Last Modified: 10/31/2002
//This script may not be copied, edited, distributed or reproduced
//without express written permission from
//Daniel C. Peterson of Web Winder Website Services
//For commercial use rates, contact:
//Dan Peterson:
//Web Winder Website Services
//P.O. Box 11
//Bemidji, MN  56619
//dan@webwinder.com
//http://www.webwinder.com
//Commercial User Licence #:5016-1145-78-1102
//Commercial Licence Date:2007-10-28
//*******************************************



function stripNum(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

if(numLength > 0) {

   num=num.toString();

   iPercent = num.indexOf("%");
   if(iPercent >= 0) {
      num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
      numLength=num.length;
      }
   iDollar = num.indexOf("$");
   if(iDollar >= 0) {
      num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
      numLength=num.length;
      }
   iSpace = num.indexOf(" ");
   if(iSpace >= 0) {
      num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
      numLength=num.length;
      }
   iComma = num.indexOf(",");
   if(iComma >= 0) {
      while(iComma >=1) {
         num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
         numLength=num.length;
         iComma = num.indexOf(",");
      }
      }

      num = eval(num);


} else {

num = 0;

}

return num;

}




function formatNumber(num) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    
	onum=Math.round(num*100)/100;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal="00";
	} else{
		decimal=Math.round((onum-integer)*100)
	}
	decimal=decimal.toString();
	if (decimal.length<2) decimal="0"+decimal;

	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;

	for (x=integer.length;x>0;x--) {
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) {
			tmpnum=tmpnum+",";
			y=0;
		}
	}

	for (x=tmpnum.length;x>0;x--) {
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}
		
	finNum=tmpinteger+"."+decimal;

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function computeForm(form) {
if(form.deathCost.value.length == 0 || form.deathCost.value == 0) {
   alert("Please enter an amount in the \"Funeral costs\" field.");
   form.deathCost.focus();
} else
if(form.avgAnnExp.value.length == 0 || form.avgAnnExp.value == 0) {
   alert("Please enter your survivor's expected average annual living expenses.");
   form.avgAnnExp.focus();
} else
if(form.spouseAge.value.length == 0) {
   alert("Please enter your spouse's current age.");
   form.spouseAge.focus();
} else {

var VdeathCost = stripNum(form.deathCost.value);
var VdebtAmt = stripNum(form.debtAmt.value);
var VemergFund = stripNum(form.emergFund.value);
var VcollegeFund = stripNum(form.collegeFund.value);
var VavgAnnExp = stripNum(form.avgAnnExp.value);
var VspouseIncome = stripNum(form.spouseIncome.value);
var VannSocSec = stripNum(form.annSocSec.value);
var VspouseAge = stripNum(form.spouseAge.value);
var VinvestStrategy = form.investStrategy.selectedIndex;
var VcurrentAssets = stripNum(form.currentAssets.value);

var VnetAnnExp = eval(VavgAnnExp) - eval(VspouseIncome) - eval(VannSocSec);

var VyearsTill90 = (eval(90) - eval(VspouseAge)) / 5;
VyearsTill90 = Math.round(VyearsTill90) * 5;

if(VyearsTill90 < 25) {
   VyearsTill90 = 25;
} else
if(VyearsTill90 > 60) {
   VyearsTill90 = 60;
}

investFactor = new Array();
investFactor[0] = new Array();
investFactor[0][25] = 20;
investFactor[0][30] = 22;
investFactor[0][35] = 25;
investFactor[0][40] = 27;
investFactor[0][45] = 30;
investFactor[0][50] = 31;
investFactor[0][55] = 33;
investFactor[0][60] = 35;

investFactor[1] = new Array();
investFactor[1][25] = 16;
investFactor[1][30] = 17;
investFactor[1][35] = 19;
investFactor[1][40] = 20;
investFactor[1][45] = 21;
investFactor[1][50] = 21;
investFactor[1][55] = 22;
investFactor[1][60] = 23;

var VinvRateFact = 0;
//if(VinvestStrategy == 0) {
   //VinvRateFact = conserveFactor[VyearsTill90];
   //VinvRateFact = 22;
//} else {
   //VinvRateFact = agressFactor[VyearsTill90];
   //VinvRateFact = 33;
//}
VinvRateFact = investFactor[VinvestStrategy][VyearsTill90];

var VtotLivExp = VnetAnnExp * VinvRateFact;

var VtotMoneyNeeds = eval(VdeathCost) + eval(VdebtAmt) + eval(VemergFund) + eval(VcollegeFund) + eval(VtotLivExp);

VinsNeeds = eval(VtotMoneyNeeds) - eval(VcurrentAssets);

form.insNeeds.value = "$" + formatNumber(VinsNeeds);
//form.insNeeds.value = VyearsTill90;

   }
}
