<!--
function tonum(str)
{
	rtn = "";
	str = "" + str;
	
	for(i = 0; i < str.length; i++){
		cs = str.substring(i,i+1);
		if ((cs >= "0" && cs <= "9") || cs == '.')
			rtn += cs;
	}
	
	if(rtn == "") rtn = "0";
	return parseFloat(rtn);
}

function format(val, dec)
{
	scale = 1;
	
	if(dec == null) dec = 2;
	
	for(i = 0;i < dec;i++) scale*=10;
	
	str = "" + Math.round(parseFloat(val) * scale);
	while(str.length <= dec) str = "0" + str;
	
	point = str.length - dec;
	num = "";
	i = point-3;
	while(i >= 0){
		num1 = str.substring(i,i+3);
		if(i != point-3) num1 += "," + num;
		num = num1;
		i-=3;
	}
	if(i != -3){
		num1 = str.substring(0,i+3);
		if(point > 3) num1 += "," + num;
		num = num1;
	}
	return "$" + num + "." + str.substring(point, str.length);
}

function balance(form) 
{
	rate = tonum(form.rate.value)/1200;
	months = tonum(form.months.value);
	contrib = tonum(form.contrib.value);
	ans = 0;
	for(j = 0;j < months;j++){
		ans = ans + contrib;
		ans = ans + ans*rate;
	}
	form.endbal.value = format(ans);
}

function contribution(form) 
{
	rate = tonum(form.rate.value)/1200;
	months = tonum(form.months.value);
	endbal = tonum(form.endbal.value);
	
	answer = 0;
	for(i = 1;i <= months;i++){
		answer = answer + Math.pow(1+rate,i);
	}
	if(answer == 0)
		answer = 0;
	else
		answer = endbal/answer;
	
	form.contrib.value = format(answer);
}
//-->