function stripNum(num) {
var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length
//lalalla Line #114
if(numLength > 0) {
num=num.toString();
iPercent = num.indexOf("%");
if(iPercent >= 0) {
num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
numLength=num.length;
}
iDollar = num.indexOf("$");
if(iDollar >= 0) {
num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
numLength=num.length;
}
iSpace = num.indexOf(" ");
if(iSpace >= 0) {
num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
numLength=num.length;
}
iComma = num.indexOf(",");
if(iComma >= 0) {
while(iComma >=1) {
num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
numLength=num.length;
iComma = num.indexOf(",");
}
}
num = eval(num);
} else {
num = 0;
}
return num;
}
function formatNumber(num) {
var isNeg=0;
if(num < 0) {
num=num*-1;
isNeg=1;
}
onum=Math.round(num*100)/100;
integer=Math.floor(onum);
if (Math.ceil(onum) == integer) {
decimal="00";
} else{
decimal=Math.round((onum-integer)*100)
}
decimal=decimal.toString();
if (decimal.length<2) decimal="0"+decimal;
integer=integer.toString();
var tmpnum="";
var tmpinteger="";
var y=0;
for (x=integer.length;x>0;x--) {
tmpnum=tmpnum+integer.charAt(x-1);
y=y+1;
if (y==3 & x>1) {
tmpnum=tmpnum+",";
y=0;
}
}
for (x=tmpnum.length;x>0;x--) {
tmpinteger=tmpinteger+tmpnum.charAt(x-1);
}
finNum=tmpinteger+"."+decimal;
if(isNeg == 1) {
finNum = "-" + finNum;
}
return finNum;
}
function computeForm(form) {
if(form.payment.value == "") {
alert("Please enter the amount of your mortgage payment.");
} else 
if(form.principal.value == "") {
alert("Please enter the your mortgage's current principal balance.");
}
else
if(form.intRate.value == "") {
alert("Please enter your mortgage's annual interest rate.");
} else {
var pmt1 = stripNum(form.payment.value);
var pmt2 = pmt1 / 2;
var prin1 = stripNum(form.principal.value);
var prin2 = stripNum(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 = stripNum(form.intRate.value);
if (i >= 1.0) {
i = i / 100.0;
}
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; }
}
form.origInt.value = "$" + formatNumber(accumInt1);
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 = "$" + formatNumber(accumInt2);
var VintSave = eval(accumInt1) - eval(accumInt2);
form.intSave.value = "$" + formatNumber(VintSave);
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. In your this case means that by paying an extra $" + formatNumber(pmt1 / 26) + " every two weeks you will pay off your mortgage in " + parseInt(count2 /26*12,10) + " months instead of the current " + count1 + " months, and save $" + formatNumber(accumInt1 - accumInt2) + " in mortgage interest in the process.";
}
}