function numbersOnly(f, e)
{
	var key;
	var keychar;
	
	if(window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;
	
	keychar = String.fromCharCode(key);
	
	if((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
		return true;
	
	if((("0123456789.,$%").indexOf(keychar) > -1))
		return true;
	
	return false;
}

function getFieldNumber(i)
{
	var s = document.getElementById(i).value;
	if(s == "")
		return 0;
	return parseFloat(s.replace(/[^0-9\.]/g, ''));
}

function updatePayCalculator()
{
	var price = getFieldNumber("payprice") - getFieldNumber("paydownpayment");
	var rate = getFieldNumber("payapr") / 1200;
	var term = getFieldNumber("payterm");

	var result = (rate + (rate / (Math.pow(1 + rate, term) - 1))) * price;
	result = Math.round(result * 100) / 100;

	var result = "";	
	if(rate == 0)
		result = price / term;
	else
		result = (rate + (rate / (Math.pow(1 + rate, term) - 1))) * price;

	result = Math.round(result * 100) / 100;

	document.getElementById("payresult").value = "$" + result.toString();
}

function updateAffordCalculator()
{
	var afford = getFieldNumber("affordprice");
	var rate = getFieldNumber("affordapr") / 1200;
	var term = getFieldNumber("affordterm");

	var result = "";	
	if(rate == 0)
		price = afford * term;
	else
		result = afford / (rate + (rate / (Math.pow(1 + rate, term) - 1)));

	result += getFieldNumber("afforddownpayment");
	result = Math.round(result * 100) / 100;

	document.getElementById("affordresult").value = "$" + result.toString();
}
