//  CONVERTS formatted BACK TO A NUMBER.
function fmtDollarNum(num)
{
    var ret = '';
    
	if (num)
	{
		var number = '';
		
		for (var i = 0; i < num.length; i++) 
		{
			var x = num.substring(i, i + 1);
		
		    if ((x >= '0') && (x <= '9'))
		    {
				number += x;
            }
		}
		
		ret = Number(number);
	}
	
	return ret;
}

//  FORMAT NUMBERS PROPERLY IAW A US-BASED MONETARY FORMAT
function fmtDollarStr(number)
{
    var ret = '';
    var num = number.toString();
    
    if (num > 3)
    {   
        var sz      = 3;
        var dollar  = num.substr(num.length - 3, 3);
        var it      = (num.length - 3);
        
        while (it > 0) 
        {
            it -= 3;
            
            if (it < 0)
            {
                sz  = (3 + it);
                it  = 0;
            }

            ret = (num.substr(it, sz) + ',' + dollar);
        }
    }
    else
    {
        ret = num;
    }

    return ret;
}

//  ONLY NUMBERS SHOULD BE TYPED INTO A FIELD.
function numOnly(e)
{
    var charx = '';
    
    if ("Netscape" == navigator.appName)
    {
        charx = e.which;
    }
    else
    {
        charx = e.keyCode;
    }
    
    if ((charx > 31) && (charx< 48 || charx > 57) && (charx != 44) && (charx != 36))
    {
        alert("Only integers can be entered.");
        
        return false;
    }
    
    return true;
}

function paymentCalculator(source)
{
    var txtMortPrice            = fmtDollarNum(document.getElementById('mtgPrice').value);
    var txtMortDownPaymentPct   = document.getElementById('mtgDownPymtPct').value;
    var txtMortDownPayment      = txtMortDownPaymentPct * txtMortPrice;
    var txtMortDownPaymentShow  = (txtMortDownPayment > 0) ? (fmtDollarStr(txtMortDownPayment)) : ('0.00');
    
    document.getElementById('mtgDownPymtValue').innerHTML = '(&#36;' + txtMortDownPaymentShow + ')';
    
    var pVal                    = (txtMortPrice - txtMortDownPayment);
    
    if ((Number(document.getElementById('mtgTerm').value) > 0) && (Number(document.getElementById('mtgRate').value) > 0)) 
    {
        var rVal    = document.getElementById('mtgRate').value / 1200;
        var nVal    = Number(document.getElementById('mtgTerm').value) * 12;
        var mVal    = (pVal * rVal) / (1.0 - Math.pow((1 + rVal), -nVal));
        
        document.getElementById('pymtMonthly').innerHTML = (Math.floor(mVal).length > 3) ? fmtDollarStr(Math.floor(mVal)) : Math.floor(mVal);
    }
    else
    {
        document.getElementById('pymtMonthly').innerHTML = fmtDollarStr(Math.floor('0.00'));
    }
}

//  RETURNS A DOLLAR-SPECIFIC NUMERIC VALUE.
function rtnNum(num)
{
    return Math.floor(num * Math.pow(10, 2))/Math.pow(10, 2);
}

//-->
