var lastname;
function checkNumber(input,calc) 
{
    //alert('changed ' + input.name);
    if (input.name == 'loanamount' || input.name == 'monthlypayment')
	   lastname = input.name;

	if (input.value == '')
	{
	    //alert('This field requires numeric data');
	    input.value = input.defaultValue;
	}
    if (input.value > 9999999 || input.value < 0)
    {
	    alert ('Value out of bounds');
	    input.value = input.defaultValue;
	}
    // status = '';
    // msg = "This field requires numeric data: " + input.value;
    var str = input.value;
    if (isNaN(str))
    {
	    var straray = str.split(',');
	    if (straray[1])
		    str = straray[0].concat(straray[1]);	
	    if (straray[2])
		    str = str.concat(straray[2]);	
	    if (str.substr(0, 1) == "$")
		    str = str.substr(1, str.length);
        if (str.substr((str.length - 1), str.length) == "%")
		    str = str.substr(0, (str.length - 1));

        input.value = str;
        if (isNaN(input.value))
        {
		    alert ('This field requires numeric data');
		    input.value = input.defaultValue;   
	    }
    }
    add_input(calc);
}

function add_input(calc)
{
    // alert("price:" + calc.price.value + " rate:" + calc.rate.value + " down_payment:" + calc.down_payment.value + " term:" + calc.term.value);
    var total_cost = (calc.loanamount.value * 1 - calc.downpayment.value);
    var i = calc.interestrate.value;
	i = i / 1200.0;
    var pow = 1;
    //var me = calc.term.options[calc.term.selectedIndex].value;
    //alert("me " + me);
    for (var j = 0; j < calc.loanterm.options[calc.loanterm.selectedIndex].value; j++)
        pow = pow * (1 + i);
    var p = (total_cost * pow * i) / (pow - 1);
    if (isNaN(p))
        alert ('This field requires a non-zero value');
	    
    calc.monthlypayment.value = formatCurrency(p);
    return false;
}

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);
}
