//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Net Worth Calculator V2
//2004 Daniel C. Peterson ALL RIGHTS RESERVED
//Created: 03/31/2004
//Last Modified: 03/31/2004
//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-127-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 formatNumberDec(num, places, comma) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    var myDecFact = 1;
    var myPlaces = 0;
    var myZeros = "";
    while(myPlaces < places) {
       myDecFact = myDecFact * 10;
       myPlaces = eval(myPlaces) + eval(1);
       myZeros = myZeros + "0";
    }
    
	onum=Math.round(num*myDecFact)/myDecFact;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal=myZeros;
	} else{
		decimal=Math.round((onum-integer)* myDecFact)
	}
	decimal=decimal.toString();
	if (decimal.length<places) {
        fillZeroes = places - decimal.length;
	   for (z=0;z<fillZeroes;z++) {
        decimal="0"+decimal;
        }
     }

   if(places > 0) {
      decimal = "." + decimal;
   }

   if(comma == 1) {
	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;
   } else {
      finNum=integer+""+decimal;
   }

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function calcNW(form) {

var la_arr = new Array()
la_arr[1] = "Cash (checking & savings accounts, from below)";
la_arr[2] = "Short-Term Investments";
la_arr[3] = "Treasury Bills";
la_arr[4] = "Savings Certificates";
la_arr[5] = "Money Market Funds";
la_arr[6] = "Cash Value of Life Insurance (from below)";
la_arr[7] = "Other";

var ia_arr = new Array()
ia_arr[1] = "Notes Receivable";
ia_arr[2] = "Marketable Securities";
ia_arr[3] = "Securities";
ia_arr[4] = "Bonds";
ia_arr[5] = "Real Estate (investment)";
ia_arr[6] = "Tax Incentive Investments";
ia_arr[7] = "Retirement Funds";

var pa_arr = new Array()
pa_arr[1] = "Residence";
pa_arr[2] = "Vacation Property";
pa_arr[3] = "Art, Antiques";
pa_arr[4] = "Furnishings";
pa_arr[5] = "Vehicles";
pa_arr[6] = "Other";

var sl_arr = new Array()
sl_arr[1] = "Credit Cards";
sl_arr[2] = "Car Loan";
sl_arr[3] = "Construction Liens/Notes/Balances Due";
sl_arr[4] = "Loan on Life Insurance";
sl_arr[5] = "Installment Loans";
sl_arr[6] = "Accrued Income Taxes";
sl_arr[7] = "Other Debt";

var ll_arr = new Array()
ll_arr[1] = "Loans to Purchase Personal Assets";
ll_arr[2] = "Loan to Acquire Business";
ll_arr[3] = "Mortgage on Personal Residence(s)";
ll_arr[4] = "Note to Business";
ll_arr[5] = "Other";
ll_arr[6] = "Other";
ll_arr[7] = "Other";

var cl_arr = new Array()
cl_arr[1] = "Endorser";
cl_arr[2] = "Guarantor (SBA Loan)";
cl_arr[3] = "Damage Claims";
cl_arr[4] = "Taxes";
cl_arr[5] = "Other";
cl_arr[6] = "Other";

//SET REPORT FONTS/STYLES
var head_row_start = "<tr><td colspan=\"2\"><font face=\"arial\"><small><b>";
var head_row_end = "</b></small></font></td></tr>\n";

var sub_head_row_start = "<tr><td colspan=\"2\">   <font face=\"arial\"><small><i>";
var sub_head_row_end = "</i></small></font></td></tr>\n";

var line_item_row_start = "<tr><td><font face=\"arial\"><small>";
var line_item_row_mid = "</small></font></td><td align=\"right\"><font face=\"arial\"><small>$";
var line_item_row_end = "</small></font></td></tr>\n";

var sub_total_row_start = "<tr bgcolor=\"#EEEEEE\"><td align=\"right\"><font face=\"arial\"><small>";
var sub_total_row_mid = "</small></font></td><td align=\"right\"><font face=\"arial\"><small>$";
var sub_total_row_end =  "</small></font></td></tr>\n";

var total_row_start = "<tr><td align=\"right\"><font face=\"arial\"><small><b>";
var total_row_mid = "</b></small></font></td><td align=\"right\"><font face=\"arial\"><small><b>$";
var total_row_end = "</small></font></td></tr>\n";

var nw_row_start = "<tr bgcolor=\"#EEEEEE\"><td align=\"right\"><font face=\"arial\"><small><b>Net Worth</b></small></font></td><td align=\"right\"><font face=\"arial\"><small><b>";
var nw_row_end = "</b></small></font></td></tr>\n";

var rpt_rows = "";
rpt_rows += "<table width=\"500\" border=\"1\" bordercolor=\"#CCCCCC\" cellpadding=\"4\" cellspacing=\"0\">";
rpt_rows += head_row_start + "Assets" + head_row_end;

var num_la = 7;
var num_ia = 7
var num_pa = 6;

var num_sl = 7;
var num_ll = 7;
var num_cl = 6;

var total_la = 0;
var total_ia = 0;
var total_pa = 0;

var total_sl = 0;
var total_ll = 0;
var total_cl = 0;

var total_a = 0;
var total_l = 0;

var nw = 0;

var i = 0;
var amt = 0;

rpt_rows += sub_head_row_start + "Liquid Assets" + sub_head_row_end;

for (i = 1; i<=num_la; i++) {

   eval("amt = stripNum(form.la_" + i + ".value);");

   total_la = eval(total_la) + eval(amt);
   total_a = eval(total_a) + eval(amt);

   if(amt > 0) {
   rpt_rows += line_item_row_start + "" + la_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_la.value = "$" + formatNumberDec(total_la,2,1);
rpt_rows += sub_total_row_start + "" + "Total Liquid Assets" + "" + sub_total_row_mid + "" + formatNumberDec(total_la,0,1) + "" + 

sub_total_row_end;


rpt_rows += sub_head_row_start + "Investment Assets" + sub_head_row_end;

for (i = 1; i<=num_ia; i++) {

   eval("amt = stripNum(form.ia_" + i + ".value);");

   total_ia = eval(total_ia) + eval(amt);
   total_a = eval(total_a) + eval(amt);

   if(amt > 0) {
   rpt_rows += line_item_row_start + "" + ia_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_ia.value = "$" + formatNumberDec(total_ia,2,1);
rpt_rows += sub_total_row_start + "" + "Total Investment Assets" + "" + sub_total_row_mid + "" + formatNumberDec(total_ia,0,1) + "" + 

sub_total_row_end;


rpt_rows += sub_head_row_start + "Personal Assets" + sub_head_row_end;

for (i = 1; i<=num_pa; i++) {

   eval("amt = stripNum(form.pa_" + i + ".value);");

   total_pa = eval(total_pa) + eval(amt);
   total_a = eval(total_a) + eval(amt);

   if(amt > 0) {
      rpt_rows += line_item_row_start + "" + pa_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_pa.value = "$" + formatNumberDec(total_pa,2,1);
rpt_rows += sub_total_row_start + "" + "Total Personal Assets" + "" + sub_total_row_mid + "" + formatNumberDec(total_pa,0,1) + "" + 

sub_total_row_end;

form.total_a.value = "$" + formatNumberDec(total_a,2,1);
rpt_rows += total_row_start + "Total Assets" + "" + total_row_mid + "" + formatNumberDec(total_a,0,1) + "" + total_row_end;


rpt_rows += head_row_start + "Liabilities" + head_row_end;


rpt_rows += sub_head_row_start + "Short-Term" + sub_head_row_end;

for (i = 1; i<=num_sl; i++) {

   eval("amt = stripNum(form.sl_" + i + ".value);");

   total_sl = eval(total_sl) + eval(amt);
   total_l = eval(total_l) + eval(amt);

   if(amt > 0) {
      rpt_rows += line_item_row_start + "" + sl_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_sl.value = "$" + formatNumberDec(total_sl,2,1);
rpt_rows += sub_total_row_start + "" + "Total Long-Term Liabilities" + "" + sub_total_row_mid + "" + formatNumberDec(total_sl,0,1) + "" + 

sub_total_row_end;


rpt_rows += sub_head_row_start + "Long-Term" + sub_head_row_end;

for (i = 1; i<=num_ll; i++) {

   eval("amt = stripNum(form.ll_" + i + ".value);");

   total_ll = eval(total_ll) + eval(amt);
   total_l = eval(total_l) + eval(amt);

   if(amt > 0) {
      rpt_rows += line_item_row_start + "" + ll_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_ll.value = "$" + formatNumberDec(total_ll,2,1);
rpt_rows += sub_total_row_start + "" + "Total Contingent Liabilities" + "" + sub_total_row_mid + "" + formatNumberDec(total_ll,0,1) + "" + 

sub_total_row_end;


rpt_rows += sub_head_row_start + "Contingent Liabilities" + sub_head_row_end;

for (i = 1; i<=num_cl; i++) {

   eval("amt = stripNum(form.cl_" + i + ".value);");

   total_cl = eval(total_cl) + eval(amt);
   total_l = eval(total_l) + eval(amt);

   if(amt > 0) {
      rpt_rows += line_item_row_start + "" + cl_arr[i] + "" + line_item_row_mid + "" + formatNumberDec(amt,0,1) + "" + line_item_row_end;
   }

}

form.total_cl.value = "$" + formatNumberDec(total_cl,2,1);
rpt_rows += sub_total_row_start + "" + "Total Short-Term Liabilities" + "" + sub_total_row_mid + "" + formatNumberDec(total_cl,0,1) + "" + 

sub_total_row_end;

form.total_l.value = "$" + formatNumberDec(total_l,2,1);
rpt_rows += total_row_start + "Total Liabilities" + "" + total_row_mid + "" + formatNumberDec(total_l,0,1) + "" + total_row_end;

nw = eval(total_a) - eval(total_l);

if(nw < 0) {
   nw = nw * -1;
  form.nw.value = "-$" + formatNumberDec(nw,2,1);
  rpt_rows += nw_row_start + "-$" + formatNumberDec(nw,0,1) + "" + nw_row_end;
} else {
   form.nw.value = "$" + formatNumberDec(nw,2,1);
   rpt_rows += nw_row_start + "$" + formatNumberDec(nw,0,1) + "" + nw_row_end;
}

rpt_rows += "</table>\n";

form.report_rows.value = rpt_rows;


}

function createReport(form) {

var Vrpt_rows = form.report_rows.value;

var fin_stmt = ("<HEAD><TITLE>Personal Financial Statement</TITLE></HEAD>" + "<BODY BGCOLOR =  '#FFFFFF'><CENTER><font face='arial'><big><strong>Personal Financial Statement of</strong></big></font><br><font face='arial'><small><b>" + form.name.value + "</b></small></font><br><font face='arial'><small><b>as of:</b></small></font><br><font face='arial'><small><b>" + form.date.value + "</b></small></font></CENTER><P><center>" + Vrpt_rows + "</center><p><center><form method='post'><input type='button' value='Close Window' onClick='window.close()'></form></CENTER></body></html>");

printWin = window.open("","","width=600,height=400,toolbar=yes,menubar=yes,scrollbars=yes");
printWin.document.write( fin_stmt);
printWin.document.close();

}

function noEntry(elem) {

eval("document.finance." + elem + "_1.focus();");

}
