This calculator will show you how much you will save if you make 1/2 of your mortgage payment every two weeks instead of making a full mortgage payment once a month. In effect, you will be making one extra mortgage payment per year–without hardly noticing the additional cash outflow. But, as your about to discover, you will certainly notice the increased cash flow that will occur when you pay your mortgage off way ahead of schedule!
//DO NOT REMOVE THIS COPYWRITE INFO! //Bi-Weekly Mortgage Calculator //By Daniel C. Peterson //Web Winder Website Services, 1997-2006 All Rights Reserved. //Distribution, editing or reselling of this script is strictyly prohibited //without expressed written permission from Daniel C. Peterson. //For commercial grade (professional) versions of this and many other //calculators, visit http://www.webwinder.com.
function computeForm(form) {
var pmt1 = form.payment.value;
var pmt2 = form.payment.value / 2;
var prin1 = form.principal.value;
var prin2 = form.principal.value;
var intPort1 = 0;
var intPort2 = 0;
var prinPort1 = 0;
var prinPort2 = 0;
var accumInt1 = 0;
var accumPrin1 = 0;
var accumInt2 = 0;
var accumPrin2 = 0;
var i = form.intRate.value;
if (i > 1.0) {
i = i / 100.0;
form.intRate.value = i;
}
var i1 = i / 12;
var i2 = i / 26;
var count1 = 0;
var count2 = 0;
while(prin1 > 0) {
intPort1 = prin1 * i1;
prinPort1 = pmt1 - intPort1;
prin1 = prin1 - prinPort1;
accumPrin1 = accumPrin1 + prinPort1;
accumInt1 = accumInt1 + intPort1;
count1 = count1 + 1;
if(count1 > 600) { break; } else { continue; }
}
if(count1 > 600) { alert("Using your entered terms you will never pay off this amount. Please either lower the principal amount, lower the interest rate, or increase the payment amount.;") form.origInt.value = ""; form.biwkInt.value = ""; form.intSave.value = ""; form.time.value = ""; } else {
form.origInt.value = "$" + parseInt(accumInt1,10);
while(prin2 > 0) {
intPort2 = prin2 * i2;
prinPort2 = pmt2 - intPort2;
prin2 = prin2 - prinPort2;
accumPrin2 = accumPrin2 + prinPort2;
accumInt2 = accumInt2 + intPort2;
count2 = count2 + 1;
if(count1 > 600) {break; } else {continue; }
}
form.biwkInt.value = "$" + parseInt(accumInt2,10);
form.intSave.value = "$" + parseInt(accumInt1 - accumInt2,10);
form.time.value = "In essence, what you are really doing is adding a 13th payment to your annual number of payments, and splitting it up between 26 bi-weekly payments. Which in your case means that by coughing up and extra $" + parseInt(pmt1 / 26,10) + " every two weeks you will pay off your mortgage in " + parseInt(count2 /26*12,10) + " months instead of the current " + count1 + " months, and save $" + parseInt(accumInt1 - accumInt2) + " in mortgage interest in the process. Now I ask you, is there anything else you would rather spend your $" + parseInt(accumInt1 - accumInt2) + " on besides interest?";
}
}
function clearForm(form)
{
form.principal.value = "";
form.payment.value = "";
form.intRate.value = "";
form.intSave.value = "";
form.origInt.value = "";
form.biwkInt.value = "";
form.time.value = "";
}