//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Irregular Payments Budget Calculator
//1998 Daniel C. Peterson ALL RIGHTS RESERVED
//Created: 08/21/1998
//Last Modified: 07/04/2002
//This script may not be copied, edited, distributed or reproduced
//without express written permission from
//Daniel C. Peterson of Web Winder Website Services
//For commercial use rates, contact:
//Dan Peterson:
//Web Winder Website Services
//P.O. Box 11
//Bemidji, MN  56619
//dan@webwinder.com
//http://www.webwinder.com
//Commercial User Licence #:5782-1237-47-1198
//Commercial Licence Date:2008-09-11
//*******************************************



function stripNum(num) {

   num=num.toString();


   var len = num.length;
   var rnum = "";
   var test = "";
   var j = 0;

   var b = num.substring(0,1);
   if(b == "-") {
      rnum = "-";
   }

   for(i = 0; i <= len; i++) {

      b = num.substring(i,i+1);

      if(b == "0" || b == "1" || b == "2" || b == "3" || b == "4" || b == "5" || b == "6" || b == "7" || b == "8" || b == "9" || b == ".") {
         rnum = rnum + "" + b;

      }

   }

   if(rnum == "" || rnum == "-") {
      rnum = 0;
   }

   rnum = Number(rnum);

   return rnum;

}



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 compute(form)  {

var tableRows = "";

var Vpmt1 = stripNum(form.pmt1.value);
var VppYr1 = stripNum(form.ppYr1.value);
var VmoAmt1 = 0;
if(Vpmt1 > 0 && VppYr1 > 0) {
   VmoAmt1 = ((VppYr1 * Vpmt1) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D1.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr1) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt1) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt1) + "</small></font></td></tr>";
form.moAmt1.value = "$" + formatNumber(VmoAmt1);
}

var Vpmt2 = stripNum(form.pmt2.value);
var VppYr2 = stripNum(form.ppYr2.value);
var VmoAmt2 = 0;
if(Vpmt2 > 0 && VppYr2 > 0) {
   VmoAmt2 = ((VppYr2 * Vpmt2) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D2.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr2) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt2) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt2) + "</small></font></td></tr>";
form.moAmt2.value = "$" + formatNumber(VmoAmt2);
}

var Vpmt3 = stripNum(form.pmt3.value);
var VppYr3 = stripNum(form.ppYr3.value);
var VmoAmt3 = 0;
if(Vpmt3 > 0 && VppYr3 > 0) {
   VmoAmt3 = ((VppYr3 * Vpmt3) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D3.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr3) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt3) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt3) + "</small></font></td></tr>";
form.moAmt3.value = "$" + formatNumber(VmoAmt3);
}

var Vpmt4 = stripNum(form.pmt4.value);
var VppYr4 = stripNum(form.ppYr4.value);
var VmoAmt4 = 0;
if(Vpmt4 > 0 && VppYr4 > 0) {
   VmoAmt4 = ((VppYr4 * Vpmt4) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D4.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr4) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt4) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt4) + "</small></font></td></tr>";
form.moAmt4.value = "$" + formatNumber(VmoAmt4);
}

var Vpmt5 = stripNum(form.pmt5.value);
var VppYr5 = stripNum(form.ppYr5.value);
var VmoAmt5 = 0;
if(Vpmt5 > 0 && VppYr5 > 0) {
   VmoAmt5 = ((VppYr5 * Vpmt5) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D5.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr5) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt5) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt5) + "</small></font></td></tr>";
form.moAmt5.value = "$" + formatNumber(VmoAmt5);
}

var Vpmt6 = stripNum(form.pmt6.value);
var VppYr6 = stripNum(form.ppYr6.value);
var VmoAmt6 = 0;
if(Vpmt6 > 0 && VppYr6 > 0) {
   VmoAmt6 = ((VppYr6 * Vpmt6) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D6.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr6) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt6) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt6) + "</small></font></td></tr>";
form.moAmt6.value = "$" + formatNumber(VmoAmt6);
}

var Vpmt7 = stripNum(form.pmt7.value);
var VppYr7 = stripNum(form.ppYr7.value);
var VmoAmt7 = 0;
if(Vpmt7 > 0 && VppYr7 > 0) {
   VmoAmt7 = ((VppYr7 * Vpmt7) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D7.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr7) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt7) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt7) + "</small></font></td></tr>";
form.moAmt7.value = "$" + formatNumber(VmoAmt7);
}

var Vpmt8 = stripNum(form.pmt8.value);
var VppYr8 = stripNum(form.ppYr8.value);
var VmoAmt8 = 0;
if(Vpmt8 > 0 && VppYr8 > 0) {
   VmoAmt8 = ((VppYr8 * Vpmt8) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D8.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr8) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt8) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt8) + "</small></font></td></tr>";
form.moAmt8.value = "$" + formatNumber(VmoAmt8);
}

var Vpmt9 = stripNum(form.pmt9.value);
var VppYr9 = stripNum(form.ppYr9.value);
var VmoAmt9 = 0;
if(Vpmt9 > 0 && VppYr9 > 0) {
   VmoAmt9 = ((VppYr9 * Vpmt9) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D9.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr9) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt9) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt9) + "</small></font></td></tr>";
form.moAmt9.value = "$" + formatNumber(VmoAmt9);
}

var Vpmt10 = stripNum(form.pmt10.value);
var VppYr10 = stripNum(form.ppYr10.value);
var VmoAmt10 = 0;
if(Vpmt10 > 0 && VppYr10 > 0) {
   VmoAmt10 = ((VppYr10 * Vpmt10) /12);
   tableRows = tableRows + "<tr><td><font face='arial'><small>" + form.D10.value + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VppYr10) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(Vpmt10) + "</small></font></td><td align='right'><font face='arial'><small>" + formatNumber(VmoAmt10) + "</small></font></td></tr>";
form.moAmt10.value = "$" + formatNumber(VmoAmt10);
}

var Vtotal = (eval(VmoAmt1) + eval(VmoAmt2) + eval(VmoAmt3) + eval(VmoAmt4) + eval(VmoAmt5) + eval(VmoAmt6) + eval(VmoAmt7) + eval(VmoAmt8) + eval(VmoAmt9) + eval(VmoAmt10));

form.total.value = "$" + formatNumber(Vtotal);
form.HtableRows.value = tableRows;
form.Htotal.value =Vtotal;
} 

function createReport(form) {

compute(form);

var VtableRows = form.HtableRows.value;
var VtotalMonthly = form.Htotal.value;

var part1 = ("<head><title>Irregular Payment Budget Report</title></head>" + "<body bgcolor= '#FFFFFF'><br><br><center><font face='arial'><big><strong>Irregular Payment Budget Report</strong></big></font></center><p>");

var part2 = ("<center><table border=1 cellpadding=2 cellspacing=0><tr bgcolor='silver'><td align='center'><font face='arial'><small><b>Payment Description</b></small></font></td><td align='center'><font face='arial'><small><b># of Payments<br>per Year</b></small></font></td><td align='center'><font face='arial'><small><b>Payment<br>Amount</b></small></font></td><td align='center'><font face='arial'><small><b>Monthly<br>Amount</b></small></font></td></tr>");

var part3 = ("" + VtableRows + "");

var part4 = ("<tr><td align=right colspan=3><font face='arial'><small><b>Amount to set aside each month:</b></small></font></td><td align=right><font face='arial'><small><b>$" + formatNumber(VtotalMonthly) + "</b></small></font></td></tr></table><br><center><form method='post'><input type='button' value='Close Window' onClick='window.close()'></form></center></body></html>");

var schedule = (part1 + "" + part2 + "" + part3 + part4 + "");

  reportWin = window.open("","","width=500,height=400,toolbar=yes,menubar=yes,scrollbars=yes");

  reportWin.document.write(schedule);

  reportWin.document.close();

}
