function calcPmnt(form) {
    var prin1 = form.Calculator_Principal.value;
    var intRate = form.Calculator_Rate.value;
    debug("intRate:"+intRate);
    var period = form.Calculator_Period.value;
    var J = intRate / (12 * 100);
    var N = parseInt(period) * 12;
    var monthlyPmnt = 0;
    //monthlyPmnt = parseInt(prin1) * ( J / ( 1 + J ) ** -N ) );
    monthlyPmnt = parseInt(prin1) * ( J / ( 1 - Math.pow( 1 + J, -N )) );
    
 //M = P * ( J / (1 - (1 + J) ** -N))
 
    form.Calculator_Results.value = "$" + Math.round(monthlyPmnt*Math.pow(10,2))/Math.pow(10,2);
    
     //create the link to the amortization table
    var alink=this.document.createElement("a");
    alink.href="amortization.htm" + "?Principal=" + prin1 + "&Rate=" + intRate + "&Period=" + period; 
    var linktext=this.document.createTextNode("Amortization Table");
    alink.appendChild(linktext);

    var amortlink=this.document.getElementById("amortlink");
    //if amortlink already has a child, replace it
    if (amortlink.hasChildNodes()) {
    	var oChild=amortlink.firstChild;
    	amortlink.replaceChild(alink,oChild);
    }
    amortlink.appendChild(alink);
}


function amort(Principal,Interest,Period) {

   debug("function amort");
   var doc = this.document;
   
   //var ct = c.childNodes.item(o);
   
   var t = doc.getElementById("amortTable");
   var tb = t.getElementsByTagName("tbody").item(0);
   var r = tb.getElementsByTagName("tr").item(0);
   var c = r.getElementsByTagName("td").item(0);
   
   var t1 = doc.getElementById("amortParms");
   var tb1 = t1.getElementsByTagName("tbody").item(0);
   var r1 = tb1.getElementsByTagName("tr").item(0);
   var c1 = r1.getElementsByTagName("td").item(0);
   
   var fi = Interest/12;  //fractional interest
   var J = fi/100;
   var N = Period*12;
   var Pmnt = 0;
   
   var I = 0;             //interest part of payment
   var tI = 0;            //total interest paid 
   var P = Pmnt-I;        //principal part of payment
   var tP = 0;            //total principal paid
   
   //Phead.setAttribute("fontWeight","bold");
 
    //monthlyPmnt = parseInt(prin1) * ( J / ( 1 + J ) ** -N ) );
   Pmnt = Principal * ( J / ( 1 - Math.pow( 1 + J, -N )) ); 
      
   //create the parm table
   parmtable=doc.createElement("TABLE");
   parmtable.style.fontSize="11pt";
   parmtable.cellspacing="0";
   //parmtable.style.fontWeight="bold";
   parmtable.style.textAlign="right";
   parmtablebody=doc.createElement("TBODY");  
   parmcurrent_row=doc.createElement("TR");
   parmcurrent_cell=doc.createElement("TD");
   parmcurrenttext=doc.createTextNode(
     "Principal: $"+parseFloat(Principal).toFixed(2) + "  Annual Rate: %"+parseFloat(Interest).toFixed(3) + "  Term: "+Period+" yrs" );
 
   parmcurrent_cell.appendChild(parmcurrenttext);
   parmcurrent_row.appendChild(parmcurrent_cell);  
   parmtablebody.appendChild(parmcurrent_row);
   parmtable.appendChild(parmtablebody);
   c1.appendChild(parmtable);
   parmtable.setAttribute("border","0");
   parmtable.setAttribute("align","center");

   //create the amort table
   mytable = doc.createElement("TABLE");
   mytable.style.fontSize="8pt";
   mytable.style.textAlign="right";
   mytable.style.border="solid 2px gray";
   mytable.style.borderCollapse='collapse';

   mytablebody = doc.createElement("TBODY"); 
   //create the header row
   mycurrent_row=doc.createElement("TR");
   mycurrent_row.style.fontSize="10pt";
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Payment #");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Amount");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
      
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Principal");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Total Principal");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";  
   currenttext=doc.createTextNode("Interest");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Total Interest");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   
   mycurrent_cell=doc.createElement("TD");
   mycurrent_cell.style.border="solid 2px gray";
   currenttext=doc.createTextNode("Balance");
   mycurrent_cell.appendChild(currenttext);
   mycurrent_row.appendChild(mycurrent_cell);
   mytablebody.appendChild(mycurrent_row);
   
  
   for(row=1;row<=Period*12;row++) {
     mycurrent_row=doc.createElement("TR");
     for(col=0;col<6;col++) {
       mycurrent_cell=doc.createElement("TD");
       mycurrent_cell.style.border="solid 1px gray";
       if (col==0) {
         currenttext=doc.createTextNode(row.toString());
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         if (row%12==0)
           mycurrent_row.style.background="rgb(204,204,255)";
	   }	
       else {
         I = fi*(Principal-tP)/100;
         P = Pmnt-I;
         tI+=I;
         tP+=P;
         currenttext=doc.createTextNode(CommaFormatted(Pmnt.toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         
         mycurrent_cell=doc.createElement("TD");
         mycurrent_cell.style.border="solid 1px gray";
         currenttext=doc.createTextNode(CommaFormatted(P.toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         
         mycurrent_cell=doc.createElement("TD");
         mycurrent_cell.style.border="solid 1px gray";
         currenttext=doc.createTextNode(CommaFormatted(tP.toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         
         mycurrent_cell=doc.createElement("TD");
         mycurrent_cell.style.border="solid 1px gray";
         currenttext=doc.createTextNode(CommaFormatted(I.toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         
         mycurrent_cell=doc.createElement("TD");
         mycurrent_cell.style.border="solid 1px gray";
         currenttext=doc.createTextNode(CommaFormatted(tI.toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         
         mycurrent_cell=doc.createElement("TD");
         mycurrent_cell.style.border="solid 1px gray";
         currenttext=doc.createTextNode(CommaFormatted((Principal-tP).toFixed(2)));
         mycurrent_cell.appendChild(currenttext);
         mycurrent_row.appendChild(mycurrent_cell);
         col+=5;
       }  
     }
     mytablebody.appendChild(mycurrent_row);
   }
   
   mytable.appendChild(mytablebody);
   c.appendChild(mytable);
   //mytable.setAttribute("border","solid 1px");
   //mytable.setAttribute("border-width","1px");
  // mytable.style.border="solid 2px gray";
//   mytable.style.borderWidth="2px";
   mytable.setAttribute("align","center");
   //mytable.setAttribute("cellpadding",10);
   //cellspacing=0;
   //mytable.cellpadding=5;
   //mytable.setAttribute("cellspacing","20");

}
