var chtFin = {
    loan: {
        calculate: function() {
            var payment,finAmt,moFactor,apr, intPayable;

            var amount = $('#amount').get(0).value.replace(/[^0-9]/g, '');
            var down = $('#down').get(0).value.replace(/[^0-9]/g, '');
            var interest = $('#interest').get(0).value.replace(/[^0-9\.]/g, '');
            var term =  $('#term').get(0).value.replace(/[^0-9]/g, '');

            amount = ( amount=='') ? 10000 : parseInt(amount);
            down = ( down=='') ? 0 : parseInt(down);
            interest = ( interest=='') ? 0 : parseFloat(interest);
            term = ( term=='') ? 48 : parseInt(term);

            $('#amount').get(0).value = amount;
            $('#down').get(0).value = down;
            $('#interest').get(0).value = interest;

            if ( down > amount ) {
                alert('Down payment is greater than vehicle price');
                return false;
            }

            finAmt = amount - down;
            apr = interest/100;
            moFactor = this.factor(term, apr);
            payment = Math.round(finAmt / moFactor);
            intPayable = ( payment * term ) - finAmt;

            $('#loanPayment').get(0).innerHTML = "<div id=\"lPamount\">$" + payment + "/mo * " + term + "</div>" +
                                         "<div id=\"lPinfo\">Amount to finance is <strong>$" + finAmt +
                                         "</strong><br />Total interest payable is <strong>$" +
                                         intPayable + "</strong></div>";
        },

        factor: function(term, apr) {
            var moInt = apr/12;
            var factor = 0;
            var base_rate = 1 + moInt;
            var denom = base_rate;
            for (i=0; i<term; i++) {
                factor += (1/denom);
                denom *= base_rate;
            }
            return factor;
        }
    }
};
