// target nest egg script december 2007
  
  var amount;
  var rate;
  var mumber_payments;
  var period_adjustor = new Array();
  var interval = new Array();
  var ri = new Array();
  var interest_rate;
  
  function CurrencyFormatted(amount)
  {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
   }
// end of function CurrencyFormatted()

    function CommaFormatted(amount)
    {
	var delimiter = ","; // replace comma if desired
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
    }
// end of function CommaFormatted()
  
	function formatCurrency(strValue)
    {
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
	return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);
    } 

  function power(interest_rate,number_payments)
  {
  var add_one = 1 + interest_rate;
  var pow = Math.pow(add_one,number_payments);
  return pow;
  } 
  
  function calculate(form)
  {
  amount = form.amount.value;
  rate = form.rate.value;
  number_payments = form.number_payments.value;
  
  interest_rate = rate/100;
  
  var pa;
  var np;
  var result;
  
  period_adjustor[0] = 1; //annual
  period_adjustor[1] = 12; //monthly
  period_adjustor[2] = 52; // weekly
  
  for (var i=0; i<form.interval.length; i++)
  {
    if (form.interval[i].checked == true)
    {
	pa = period_adjustor[i];
	interest_rate = interest_rate / period_adjustor[i];
	number_payments = number_payments *  period_adjustor[i];
    }
  }
  
  recurring_invest = (amount*interest_rate)/((power(interest_rate,number_payments)-1));
  
  recurring_invest = Math.round(100*recurring_invest)/100;
  result = CurrencyFormatted(recurring_invest);
  form.recurring_invest.value = CommaFormatted(result);
  result = formatCurrency(recurring_invest);
  form.recurring_invest.value = result;
  
  for (var i = 0; i < 100; i++)
  {
  np = (i + 1)*pa;
  ri[i]= (amount*interest_rate)/((power(interest_rate,np)-1));
  }
   
  for (var i = 0; i < 100; i++)
  {
  result = Math.round(100*ri[i])/100;
  result = CurrencyFormatted(result);
  result = CommaFormatted(result);
  result = formatCurrency(result);
  ri[i] = result; 
  }
 
  form.recurring_invest10.value = ri[9];
  form.recurring_invest20.value = ri[19];
  form.recurring_invest30.value = ri[29];
  form.recurring_invest40.value = ri[39];
  form.recurring_invest50.value = ri[49];
  form.recurring_invest100.value = ri[99];
  }
	     
// Copyright ©Richard A. Howard 2003-2007