
<!--



// initializing strings for all of the form elements
// the description will appear below where their default value is set
var doc_age = document.DHForm.age;
var doc_retire = document.DHForm.retire;
var doc_inflation = document.DHForm.inflation;
var doc_investment = document.DHForm.investment;

var doc_d15 = document.DHForm.d15;
var doc_e15 = document.DHForm.e15;
var doc_f15 = document.DHForm.f15;
var doc_g15 = document.DHForm.g15;
var doc_j15 = document.DHForm.j15;
var doc_l15 = document.DHForm.l15;

var doc_d16 = document.DHForm.d16;
var doc_e16 = document.DHForm.e16;
var doc_f16 = document.DHForm.f16;
var doc_g16 = document.DHForm.g16;
var doc_j16 = document.DHForm.j16;
var doc_l16 = document.DHForm.l16;

var doc_d17 = document.DHForm.d17;
var doc_e17 = document.DHForm.e17;
var doc_f17 = document.DHForm.f17;
var doc_g17 = document.DHForm.g17;
var doc_j17 = document.DHForm.j17;
var doc_l17 = document.DHForm.l17;

var doc_d18 = document.DHForm.d18;
var doc_e18 = document.DHForm.e18;
var doc_f18 = document.DHForm.f18;
var doc_g18 = document.DHForm.g18;
var doc_j18 = document.DHForm.j18;
var doc_l18 = document.DHForm.l18;

var doc_d19 = document.DHForm.d19;
var doc_e19 = document.DHForm.e19;
var doc_f19 = document.DHForm.f19;
var doc_g19 = document.DHForm.g19;
var doc_j19 = document.DHForm.j19;
var doc_l19 = document.DHForm.l19;

var doc_d20 = document.DHForm.d20;
var doc_e20 = document.DHForm.e20;
var doc_f20 = document.DHForm.f20;
var doc_g20 = document.DHForm.g20;
var doc_j20 = document.DHForm.j20;
var doc_l20 = document.DHForm.l20;

var doc_d22 = document.DHForm.d22;
var doc_e22 = document.DHForm.e22;
var doc_f22 = document.DHForm.f22;
var doc_g22 = document.DHForm.g22;
var doc_j22 = document.DHForm.j22;
var doc_l22 = document.DHForm.l22;

var doc_g28 = document.DHForm.g28;
var doc_g30 = document.DHForm.g30;
var doc_g32 = document.DHForm.g32;

// initializing the variables for the computations
var var_age;
var var_retire;
var var_inflation;
var var_investment;

var var_d15;
var var_e15;
var var_f15;
var var_g15;
var var_j15;
var var_l15;

var var_d16;
var var_e16;
var var_f16;
var var_g16;
var var_j16;
var var_l16;

var var_d17;
var var_e17;
var var_f17;
var var_g17;
var var_j17;
var var_l17;

var var_d18;
var var_e18;
var var_f18;
var var_g18;
var var_j18;
var var_l18;

var var_d19;
var var_e19;
var var_f19;
var var_g19;
var var_j19;
var var_l19;

var var_d20;
var var_e20;
var var_f20;
var var_g20;
var var_j20;
var var_l20;

var var_d22;
var var_e22;
var var_f22;
var var_g22;
var var_j22;
var var_l22;

var var_g28;
var var_g30;
var var_g32;

/* ------------------------------------------------------------------*/
/*                               Input                               */


/*
doc_age.value = 30;
doc_retire.value = 65;
doc_inflation.value = 2.5;  // % pourcentage 
doc_investment.value = 8.5; //% pourcentage

// [Daily Habit]=(d)  [and/or Weekly Habit]=(e) [Per Unit, Cost]=(f)
// Box of Cigarettes
doc_d15.value = 0;
doc_e15.value = 1;
doc_f15.value = 7.40;
// Cup of Coffee 
doc_d16.value = 1;
doc_e16.value = 0;
doc_f16.value = 3.15;
// Half-dozen Donuts
doc_d17.value = 0;
doc_e17.value = 3;
doc_f17.value = 5.25;
// One Lottery Ticket
doc_d18.value = 0;
doc_e18.value = 1;
doc_f18.value = 4.30;
// Eating-out Lunch
doc_d19.value = 0;
doc_e19.value = 2;
doc_f19.value = 20.00;
// Magazine 
doc_d20.value = 0;
doc_e20.value = 2;
doc_f20.value = 5.25;
// Other (bad) Habit   = (22)
doc_d22.value = 0;
doc_e22.value = 0;
doc_f22.value = 1.00;
*/



// set the value to the result fields
update();

/*                               Input                               */
/* ------------------------------------------------------------------*/

function update()
{
	
	/* ------------------------------------------------------------------*/
	/*                               Input                               */
	
	// setting the variables for the computations
	var_age = eval(isNumeric(doc_age.value));
	var_retire = eval(isNumeric(doc_retire.value));
	var_inflation = eval(isNumeric(doc_inflation.value))/100;
	var_investment = eval(isNumeric(doc_investment.value))/100;
	/*                               Input                               */
	/* ------------------------------------------------------------------*/
	
	
	
	
	/* ------------------------------------------------------------------*/
	/*                               Habits                              */
	var_d15 = eval(isNumeric(doc_d15.value));
	var_e15 = eval(doc_e15.options[doc_e15.selectedIndex].value);
	var_f15 = eval(isNumeric(doc_f15.value));
	
	var_d16 = eval(isNumeric(doc_d16.value));
	var_e16 = eval(doc_e16.options[doc_e16.selectedIndex].value);
	var_f16 = eval(isNumeric(doc_f16.value));
	
	var_d17 = eval(isNumeric(doc_d17.value));
	var_e17 = eval(doc_e17.options[doc_e17.selectedIndex].value);
	var_f17 = eval(isNumeric(doc_f17.value));
	
	var_d18 = eval(isNumeric(doc_d18.value));
	var_e18 = eval(doc_e18.options[doc_e18.selectedIndex].value);
	var_f18 = eval(isNumeric(doc_f18.value));
	
	var_d19 = eval(isNumeric(doc_d19.value));
	var_e19 = eval(doc_e19.options[doc_e19.selectedIndex].value);
	var_f19 = eval(isNumeric(doc_f19.value));
	
	var_d20 = eval(isNumeric(doc_d20.value));
	var_e20 = eval(doc_e20.options[doc_e20.selectedIndex].value);
	var_f20 = eval(isNumeric(doc_f20.value));
	
	var_d22 = eval(isNumeric(doc_d22.value));
	var_e22 = eval(doc_e22.options[doc_e22.selectedIndex].value);
	var_f22 = eval(isNumeric(doc_f22.value));
	
	
	var_g15 = var_d15 * var_e15 * var_f15;
	var_g16 = var_d16 * var_e16 * var_f16;
	var_g17 = var_d17 * var_e17 * var_f17;
	var_g18 = var_d18 * var_e18 * var_f18;
	var_g19 = var_d19 * var_e19 * var_f19;
	var_g20 = var_d20 * var_e20 * var_f20;
	var_g22 = var_d22 * var_e22 * var_f22;
	
	
	// +F15*(1+inflation/52)^(52*(retire-age))  					
	// --"^" signifies "to the power of" -- [Math.pow((num, exponent)]--
	var tmpCost = Math.pow((1 + var_inflation/52),(52*(var_retire - var_age)));
	var_j15 = var_f15 * tmpCost;
	var_j16 = var_f16 * tmpCost;
	var_j17 = var_f17 * tmpCost;
	var_j18 = var_f18 * tmpCost;
	var_j19 = var_f19 * tmpCost;
	var_j20 = var_f20 * tmpCost;
	var_j22 = var_f22 * tmpCost;
	
//=FV(((1+investment)/(1+inflation)-1)/52,52*(retire-age),-G15)/PV(((1+investment)/(1+inflation)-1)/52,52*20,-F15,0,0)
	var_l15 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire-var_age),-var_g15,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20,-var_f15,0,0);

	var_l16 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g16,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f16, 0, 0);

	var_l17 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g17,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f17, 0, 0);

	var_l18 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g18,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f18, 0, 0);

	var_l19 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g19,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f19, 0, 0);

	var_l20 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g20,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f20, 0, 0);

	var_l22 = futureValue(((1+var_investment)/(1+var_inflation)-1)/52,52*(var_retire - var_age),-var_g22,0,0)/presentValue(((1+var_investment)/(1+var_inflation)-1)/52, 52*20, -var_f22, 0, 0);
	
	/*                               Habits                              */
	/* ------------------------------------------------------------------*/
	
	
	
	/* ------------------------------------------------------------------*/
	/*                               Output                              */
	
	var_g28 = var_g15 + var_g16 + var_g17 + var_g18 + var_g19 + var_g20 + var_g22;
	var_g30 = var_g28 * 52 * (var_retire - var_age);
	// =FV(investment/52,52*(retire-age),-G28)
	var_g32 = futureValue(var_investment/52,52*(var_retire - var_age),-var_g28,0,0);
	
	
	/*                               Output                              */
	/* ------------------------------------------------------------------*/
	
	
	
	//setting values to the form fields
	doc_g15.value = cash(var_g15);
	doc_j15.value = cash(var_j15);
	doc_l15.value = decimal(var_l15);
	
	doc_g16.value = cash(var_g16);
	doc_j16.value = cash(var_j16);
	doc_l16.value = decimal(var_l16);
	
	doc_g17.value = cash(var_g17);
	doc_j17.value = cash(var_j17);
	doc_l17.value = decimal(var_l17);
	
	doc_g18.value = cash(var_g18);
	doc_j18.value = cash(var_j18);
	doc_l18.value = decimal(var_l18);
	
	doc_g19.value = cash(var_g19);
	doc_j19.value = cash(var_j19);
	doc_l19.value = decimal(var_l19);
	
	doc_g20.value = cash(var_g20);
	doc_j20.value = cash(var_j20);
	doc_l20.value = decimal(var_l20);
	
	doc_g22.value = cash(var_g22);
	doc_j22.value = cash(var_j22);
	doc_l22.value = decimal(var_l22);
	
	
	doc_g28.value = cash(var_g28);
	doc_g30.value = cash(var_g30);
	doc_g32.value = cash(var_g32);
}

//-->
