// Insert commas in final answer // ----------------------------- function insert_commas(input) { var result, len; input += ""; len = input.indexOf("."); if(len == -1) { len = input.length; result = ""; } else { result = input.substring(len, input.length); } while(len > 3) { result = input.substring(len-3, len) + result; result = "," + result; len -= 3; } result = input.substring(0, len) + result; // result = "$" + result; // Need to append a zero? len = input.indexOf("."); if(len == input.length - 2) { result = result + "0"; } return result; } // Remove commas and $ from input as return as number // -------------------------------------------- function strip_commas(input) { var newnum; var ch; newnum = ""; for(var i=0; i 100.0) { input.value = ""; } } calcMonthly(input.form); } // Entered Down Payment // -------------------- function checkDown(input) { input.value = parseFloat(input.value); if(input.value == null || input.value.length == 0 || input.value == "NaN") { input.value = "0"; } else { if(parseFloat(input.value) < 0 || parseFloat(input.value) > 100.0) { input.value = "0"; } } calcMonthly(input.form); } // Calculate monthly P&I // --------------------- function calcMonthly(input) { if(input.interest.value == "" || input.nper.value == "" || input.price.value == "") { input.monthly.value = ""; } else { i = strip_commas(input.interest.value) / 100; i = i / 12; n = strip_commas(input.nper.value) * 12; dp = strip_commas(input.downpayment.value); price = strip_commas(input.price.value); loan = price * (100 - dp) / 100; tmp = (1/i) * (1 - Math.pow(1/(1+i), n)); tmp = loan / tmp; tmp = Math.round(tmp*100) / 100; input.monthly.value = "$" + insert_commas(tmp); if(input.monthly.value == null || input.monthly.value.length == 0 || input.monthly.value == "NaN") { input.monthly.value = ""; } } }