<!-- Hide from old browsers
// Copyright (C) 2001-2007 AngelicHost
// All rights reserved

function amortize() {
  var iPmt;
  var pPmt;
  var bal=prin;
  var i=1;
  var tPmt=pmt;
  var taddlPmt=addlPmt;
  
  while(bal > 0) {
    iPmt=bal * mrate;
    iPmt=Math.round(100 * iPmt) / 100;
    if(tPmt > bal+iPmt) {
      tPmt = bal+iPmt;
    }
    pPmt=tPmt-iPmt; 
    bal -= pPmt;
    hTot[i]=iPmt;
    cTot[i]=pPmt;

    if(i <= lterm*12) {
	  totPmt += tPmt;
	  totiPmt += iPmt;
	}
    
    if(bal > 0 && (freq == "M" || (freq == "A" && i % 12 == 0))) {
      if(taddlPmt > bal) {
        taddlPmt = bal;
      }
      bal -= taddlPmt;
      if(i <= lterm*12) { totPmt += taddlPmt; }
    }
    i++;
  }
}

function Graph(){
  var hhgt=0;
  var chgt=0;
  var inc=0;
  
  resWin.document.write('<br /><table border="0" cellspacing="0" width="80%"><td>');
  resWin.document.write('<table><td bgcolor="#ffffff"><table border="0" cellspacing="1"><td bgcolor="#cccccc" align="center"><font face="Arial, Helvetica, san-serif" size="1">Ratio of Interest/Principal over life of loan</td> <tr><td height="200" bgcolor="#ffffff" valign="bottom" nowrap>');
  
  if(term<=17) {
    inc = 1;
  } else {
    inc = 2;
  }

  for(var c=1;c<lterm*12;c+=inc) {
    hhgt=(hTot[c]/pmt)*200;
    chgt=(cTot[c]/pmt)*200;
    resWin.document.write('<img src="images/greypix.gif" width="1" height='+hhgt+' hspace=0 vspace=0>');
    resWin.document.write('<img src="images/redpix.gif" width="1" height='+chgt+' hspace=0 vspace=0>');
  }

  resWin.document.write('</td><tr><td bgcolor="#cccccc"><font face="Arial, Helvetica, san-serif" size="1">Grey = % of payment toward interest<br />Red = % of payment toward principal</font></td></table>');
  resWin.document.write('</td></table>');
  resWin.document.write('</td><td width="200"><font size="2" face="Arial,Helvetica,san-serif">This graph shows how monthy payments are applied towards interest and principal throughout the life of the loan.  Grey shows the percentage of payment applied to interest.  Red shows the percentage of payment applied to the principal.</font></td></table><hr size"1" noshade="noshade" />');
  
}


function chartAmort() {
  var bg="";
  var i=1;
  var bal=prin;
  var cTerm=lterm*12;
  var iPmt=0;
  var pPmt=0;
  var odd=1;
  var tPmt=pmt;
  var taddlPmt=addlPmt;
  
  yr = 1;
  
  resWin.document.write('<h3><font face="Arial,Helvetica,san-serif">Amortization Schedule</font></h3>');
  resWin.document.write('<h4><font face="Arial,Helvetica,san-serif" color="#c00000">Loan amortized over '+term+ ' years, due in '+lterm+' years.</font></h4>');
  resWin.document.write('<h4><font face="Arial,Helvetica,san-serif" color="#c00000">Principal Amount: $'+fmtCurr(prin)+'</font></h4>');
  resWin.document.write('<h4><font face="Arial,Helvetica,san-serif" color="#c00000">Annual Interest Rate: '+rate +'%</font></h4>');
  resWin.document.write('<table cellspacing="0" border="0" width="600"><tr bgcolor="#cccccc"><td width="15%" align="center"><font face="Arial,Helvetica,san-serif" color="#ffffff"><b>Pmt #</b></font></td><td width="20%" align="right"><font face="Arial,Helvetica,san-serif" color="#ffffff"><b>Amount</b></font></td><td width="20%" align="right"><font face="Arial,Helvetica,san-serif" color="#ffffff"><b>Interest</b></font></td><td width="20%" align="right"><font face="Arial,Helvetica,san-serif" color="#ffffff"><b>Principal</b></font></td><td width="25%" align="right"><font face="Arial,Helvetica,san-serif" color="#ffffff"><b>Balance</b></font></td>');
  
  while (bal > 0 && cTerm > 0) {
    iPmt=hTot[i];
    pPmt=cTot[i];
    
    if(tPmt > bal+iPmt) {
     tPmt = bal+iPmt;
    }
    bal -= pPmt;
    
    if(i % 12 == 1) {
      resWin.document.write('<tr><td colspan=5 align=center><font face="Arial,Helvetica,san-serif" color="#000000"><b>Year ' +yr+'</b></font></td></tr>');
      yr++;
    }
    
    if(odd==0) {
      bg="#ffffff";
    } else {
      bg="#cccccc";
    }
    
    odd = 1 - odd;
    
    resWin.document.write('<tr bgcolor="'+bg+'"><td align="center"><font face="Arial,Helvetica,san-serif" color="#000000"><b>'+i+'</b></font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(tPmt)+'</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(iPmt)+'</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(pPmt)+'</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(bal)+'</font></td></tr>');
    
    if(bal > 0 && (freq=="M" || (freq=="A" && i % 12 == 0))) {
      if(taddlPmt > bal) {
        taddlPmt=bal;
      }
      
      if(odd==0) {
        bg="#ffffff";
      } else {
        bg="#cccccc";
      }
      
      odd = 1 - odd;
      bal -= taddlPmt;
      
      resWin.document.write('<tr bgcolor="'+bg+'"><td align="center"><font face="Arial,Helvetica,san-serif" color="#000000"><b>Principal</b></font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(taddlPmt)+'</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">N/A</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(taddlPmt)+'</font></td><td align="right"><font face="Arial,Helvetica,san-serif" color="#000000">'+fmtCurr(bal)+'</font></td></tr>');
    }
    i++;
	cTerm--;
  }

  resWin.document.write('</table>');
  resWin.document.write('<h4><font face="Arial,Helvetica,san-serif" color="#c00000">Total Interest Paid: <font color="#000000"> $'+fmtCurr(totiPmt)+'</font></font></h4>');
  resWin.document.write('<h4><font face="Arial,Helvetica,san-serif" color="#c00000">Total Payments: <font color="#000000">$'+fmtCurr(totPmt)+'</font></font></h4>');
}

function doAmort() {
  initVars();
  term = parseInt(document.amort.term.value);
  lterm = parseInt(document.amort.lterm.value);
  prin = ahparseFloat(document.amort.principle.value);
  rate = ahparsePercent(document.amort.rate.value);
  addlPmt = ahparseFloat(document.amort.addlprin.value);
  freq = document.amort.addlfreq.value;
  
  if(isNaN(prin) || prin <= 0 || document.amort.principle.value.length==0) {
    alert("Please Enter a Loan Amount.  Do not include any characters that are not numbers");
    document.amort.principle.focus();
    document.amort.principle.select();
    return
  }
  
  if(isNaN(lterm) || lterm <= 0 || document.amort.lterm.value.length==0) {
    alert("Please Enter a Value for the Length of the Loan");
    document.amort.lterm.focus();
    document.amort.lterm.select();
    return
  }
  
  if(isNaN(term) || term <= 0 || document.amort.term.value.length==0) {
    alert("Please Enter a Value for the Length of the Loan Amortization");
    document.amort.term.focus();
    document.amort.term.select();
    return
  }
  
  if(isNaN(rate) || rate <= 0 || document.amort.rate.value.length==0) {
    alert("Please Enter an Interest Rate");
    document.amort.rate.focus();
    document.amort.rate.select();
    return
  }

  if(document.amort.addlfreq.value!="N" && (isNaN(addlPmt) || addlPmt <= 0 || document.amort.addlprin.value.length==0)) {
    alert("Please enter a value for the additional payment amount, or set additional payment frequency to None");
    document.amort.addlprin.focus();
    document.amort.addlprin.select();
    return
  }
  
  resWin=window.open("","resultsWindow","scrollbars=yes,height=500,width=700,toolbar=no,menubar=no");
  resWin.document.clear();
  resWin.document.write('<body bgcolor="#ffffff"><div align="center">');
  
  pmt = calcPmt(rate,term*12,prin);
  amortize();
  Graph();
  chartAmort();
  
  resWin.document.write('<p><a href="javascript:self.close();"><font face="Arial,Helvetica,san-serif" color="#000000">Close this Window</font></a></p>');
  resWin.document.close();
}


function doPayment() {
  initVars();
  term = parseInt(document.amort.term.value);
  lterm = parseInt(document.amort.lterm.value);
  prin = ahparseFloat(document.amort.principle.value);
  rate = ahparsePercent(document.amort.rate.value);
  addlPmt = ahparseFloat(document.amort.addlprin.value);
  freq = document.amort.addlfreq.value;

  if(isNaN(prin) || prin <= 0 || document.amort.principle.value.length==0) {
    alert("Please Enter a Loan Amount Do not include any characters that are not numbers");
    document.amort.principle.focus();
    document.amort.principle.select();
    return
  }
  
  if(isNaN(term) || term <= 0 || document.amort.term.value.length==0) {
    alert("Please Enter a Value for the Length of the Loan Amortization");
    document.amort.term.focus();
    document.amort.term.select();
    return
  }
  
  if(isNaN(lterm) || lterm <= 0 || document.amort.lterm.value.length==0) {
    alert("Please Enter a Value for the Length of the Loan");
    document.amort.lterm.focus();
    document.amort.lterm.select();
    return
  }
  
  if(isNaN(rate) || rate <= 0 || document.amort.rate.value.length==0) {
    alert("Please Enter an Interest Rate");
    document.amort.rate.focus();
    document.amort.rate.select();
    return
  }
  
  pmt = calcPmt(rate,term*12,prin);
  pmts = lterm*12;
  bal = calcBalance();
  document.amort.payment.value = fmtCurr(pmt);
  document.amort.balancedue.value = fmtCurr(bal);

}

//-->

