document.querySelector('#a_amount').addEventListener('keyup', calculate) ; document.querySelector('#d_payment').addEventListener('keyup', calculate) ; document.querySelector('#r_amount').addEventListener('keyup', calculate) ; document.querySelector('#p_period').addEventListener('change', calculate) ; document.querySelector('#interest_rate').addEventListener('change', calculate) ; if (document.readyState === 'complete') { document.getElementById('interest_rate').value = document.getElementById('default_interest_rate').textContent; } function calculate(e) { var downPayment = document.getElementById('d_payment').value; var autoAmount = document.getElementById('a_amount').value; var paymentPeriod = document.getElementById('p_period').value; var iRateValue = jQuery('.i_rate_value').text(); var iRateValueNew = parseFloat(iRateValue); var amort = document.getElementById('p_period').value*12; var rate = (iRateValueNew/12)/100; var rate2 = 1+rate; var rate3 = Math.pow(rate2,amort); var rate4 = rate3-1; var rate5 = rate/rate4; var rate6 = rate + rate5; var prin = autoAmount - downPayment; var monthlyPayment = Math.floor(rate6*prin) if(isNaN(monthlyPayment)){ monthlyPayment = 0; } // Computation: http://www.javascriptkit.com/script/cut155.shtml var princ = autoAmount - downPayment; var term = paymentPeriod; var intr = document.getElementById('interest_rate').value / 1200; //document.calc.pay.value = princ * intr / (1 - (Math.pow(1/(1 + intr), term))); document.getElementById('r_amount').textContent = Math.round( princ * intr / (1 - (Math.pow(1/(1 + intr), term))) ); }