

//DO NOT REMOVE THIS COPYWRITE INFO!
//Bi-Weekly Mortgage Calculator
//By Daniel C. Peterson
//Web Winder Website Services, 1997-2003  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 = "";

}

