// JavaScript Document

function bookmarksite(title,url){
    if (window.sidebar) // firefox
    	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
    } 
	else if(document.all)// ie
    	window.external.AddFavorite(url, title);
}

function followliabilities(form) {
  var followlib = form.cliab.value;
  form.cliab2.value = followlib;
  return;
}

function currentratio(form) {
  var cuas = check_num(form.casset.value);
  var culi = check_num(form.cliab.value);
  var current = Math.round((cuas/culi)*100)/100;
  form.curatio.value = current;
  return;
}

function quickratio(form) {
  var cas = check_num(form.cash.value);
  var acctrec = check_num(form.accrec.value);
  var culi2 = check_num(form.cliab2.value);
  var quick = Math.round(((cas + acctrec)/culi2)*100)/100;
  form.quratio.value = quick;
  return;
}

function followassets(form) {
  var followass = form.totalassets.value;
  form.totalassets2.value = followass;
  return;
}

function followpretax(form) {
  var followpre = form.pretaxr.value;
  form.pretax2.value = followpre;
  return;
}

function followsales(form) {
  var followsal = form.sales.value;
  form.sales2.value = followsal;
  return;
}

function followcogs(form) {
  var followcog = form.cogs.value;
  form.cogs2.value = followcog;
  return;
}

function staratio(form) {
  var grosales = check_num(form.sales.value);
  var totassets = check_num(form.totalassets.value);
  var stoa = Math.round((grosales/totassets)*100)/100;
  form.saratio.value = stoa;
  return;
}

function roaratio(form) {
  var prepro = check_num(form.pretaxr.value);
  var totassets2 = check_num(form.totalassets2.value);
  var roar = Math.round((prepro/totassets2)*100);
  form.raratio.value = roar;
  return;
}

function roeratio(form) {
  var prepro2 = check_num(form.pretax2.value);
  var eqty = check_num(form.equity.value);
  var roer = Math.round((prepro2/eqty)*100);
  form.reratio.value = roer;
  return;
}

function inturnratio(form) {
  var costgoods = check_num(form.cogs.value);
  var inventory = check_num(form.invent.value);
  var dip = check_num(form.daysinv.value);
  var turnin = Math.round((costgoods/inventory)*100)/100;
  var turndays = Math.round((dip/turnin)*100)/100;
  form.inventratio.value = turnin;
  form.indays.value = turndays;
  return;
}

function arturnratio(form) {
  var grosales2 = check_num(form.sales2.value);
  var rec = check_num(form.ar.value);
  var dipar = check_num(form.daysar.value);
  var turnar = Math.round((grosales2/rec)*100)/100;
  var turnardays = Math.round((dipar/turnar)*100)/100;
  form.arratio.value = turnar;
  form.ardays.value = turnardays;
  return;
}

function payturnratio(form) {
  var costgoods2 = check_num(form.cogs2.value);
  var pay = check_num(form.ap.value);
  var dipap = check_num(form.daysap.value);
  var turnap = Math.round((costgoods2/pay)*100)/100;
  var turnapdays = Math.round((dipap/turnap)*100)/100;
  form.apratio.value = turnap;
  form.apdays.value = turnapdays;
  return;
}

function followsales(form) {
  var followsal = form.sales.value;
  form.sales2.value = followsal;
  return;
}

function grossratio(form) {
  var gropro = check_num(form.gross.value);
  var salesgro = check_num(form.sales.value);
  var grprratio = Math.round((gropro/salesgro)*100);
  form.gpratio.value = grprratio;
  return;
}

function pretaxratio(form) {
  var prepro = check_num(form.pretax.value);
  var salespre = check_num(form.sales2.value);
  var ptprratio = Math.round((prepro/salespre)*100);
  form.ppratio.value = ptprratio;
  return;
}

function debtratio(form) {
  var totalliab = check_num(form.tliab.value);
  var tequity = check_num(form.equity.value);
  var dtoe = Math.round((totalliab/tequity)*100)/100;
  form.deratio.value = dtoe;
  return;
}

function mthpmt(form) {
  var princ1 = check_num(form.princ.value);
  var rate1 = check_num(form.rate.value);
  var term1 = check_num(form.term.value);
  var rate2 = rate1/1200;
  var rate3 = 1+rate2;
  var rateterm = cal_exp(rate3, term1);
  var newpmt1 = Math.round(princ1*(rate2+(rate2/(rateterm-1)))*100)/100;
  var newint1 = Math.round((newpmt1*term1-princ1)*100)/100;
  form.newpmt.value = formatCurrency(newpmt1);
  form.newint.value = formatCurrency(newint1);
  return;
}

function cal_exp(a,b) {
t = 1;
 for(x = 1; x <= b; x++) 
    {
     t = t * a;
    }
EXP = t;

return(EXP);
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function mthpmt1(form) {
  var princ1 = check_num(form.amount.value);
  var addpmt = check_num(form.extra.value);
  var rate1 = check_num(form.rate.value);
  var term1 = check_num(form.term.value);
  var rate2 = rate1/1200;
  var rate3 = 1+rate2;
  var rateterm = cal_exp(rate3, term1);
  var newpmt1 = princ1*(rate2+(rate2/(rateterm-1)));
  var newint1 = (newpmt1*term1)-princ1;
  form.origpayment.value = formatCurrency(newpmt1);
  form.origtotint.value = formatCurrency(newint1);
  var addpmt = check_num(form.extra.value);
  var newpmt2 = newpmt1+addpmt;
  form.newpayment.value = formatCurrency(newpmt2);
  var origtotpay1 = newpmt1*term1;
  form.origtotpay.value = formatCurrency(origtotpay1);
  form.origterm.value = term1.toFixed(2);
  var q1 = princ1/term1;
  var q2 = q1+addpmt;
  var term2  = princ1/q2;
  form.newterm.value = term2.toFixed(2);
  var newtotpay1 = newpmt2*term2;
  form.newtotpay.value = formatCurrency(newtotpay1);
  var newint2 = newtotpay1-princ1;
  form.newtotint.value = formatCurrency(newint2);
  var interestdiff = newint1-newint2;
  form.intsave.value = formatCurrency(interestdiff);
  return;
}

function mthpmt2(form) {
  var princ1 = check_num(form.princ.value);
  var rate1 = check_num(form.rate.value);
  var term1 = check_num(form.term.value);
  var rate2 = rate1/1200;
  var rate3 = 1+rate2;
  var rateterm = cal_exp(rate3, term1);
  var newpmt1 = Math.round(princ1*(rate2+(rate2/(rateterm-1)))*100)/100;
  
  var m2 = term1/12;
  var n2 = 1/m2;
  var o2 = 1-n2;
  var p2 = o2*term1;
  var termneg22 = cal_exp(rate3, p2);
  var newtermneg2 = Math.round(princ1*(rate2+(rate2/(termneg22-1)))*100)/100;

  var m1 = term1/12;
  var n1 = 1/(m1*2);
  var o1 = 1-n1;
  var p1 = o1*term1;
  var termneg11 = cal_exp(rate3, p1);
  var newtermneg1 = Math.round(princ1*(rate2+(rate2/(termneg11-1)))*100)/100;
    
  var m3 = term1/12;
  var n3 = 1/(m3*2);
  var o3 = 1+n3;
  var p3 = o3*term1;
  var termpos3 = cal_exp(rate3, p3);
  var newtermpos1 = Math.round(princ1*(rate2+(rate2/(termpos3-1)))*100)/100;
  
  var m4 = term1/12;
  var n4 = 1/m4;
  var o4 = 1+n4;
  var p4 = o4*term1;
  var termpos4 = cal_exp(rate3, p4);
  var newtermpos2 = Math.round(princ1*(rate2+(rate2/(termpos4-1)))*100)/100;
  
  var crateneg2 = rate1*.8;
  var crateneg22 = crateneg2/1200;
  var crate2 = 1+crateneg22;
  var crateterm2 = cal_exp(crate2, term1);
  var newrateneg2 = Math.round(princ1*(crateneg22+(crateneg22/(crateterm2-1)))*100)/100;
  
  var crateneg1 = rate1*.9;
  var crateneg11 = crateneg1/1200;
  var crate1 = 1+crateneg11;
  var crateterm1 = cal_exp(crate1, term1);
  var newrateneg1 = Math.round(princ1*(crateneg11+(crateneg11/(crateterm1-1)))*100)/100;
  
  var cratepos1 = rate1*1.1;
  var cratepos11 = cratepos1/1200;
  var cratepos111 = 1+cratepos11;
  var cratetermpos1 = cal_exp(cratepos111, term1);
  var newratepos1 = Math.round(princ1*(cratepos11+(cratepos11/(cratetermpos1-1)))*100)/100;
 
  var cratepos2 = rate1*1.2;
  var cratepos22 = cratepos2/1200;
  var cratepos222 = 1+cratepos22;
  var cratetermpos2 = cal_exp(cratepos222, term1);
  var newratepos2 = Math.round(princ1*(cratepos22+(cratepos22/(cratetermpos2-1)))*100)/100;

  form.newpmt.value = formatCurrency(newpmt1);
  form.rateneg2.value = crateneg2.toFixed(2);
  form.rateneg1.value = crateneg1.toFixed(2);
  form.ratepos1.value = cratepos1.toFixed(2);
  form.ratepos2.value = cratepos2.toFixed(2);
  form.payneg2.value = formatCurrency(newrateneg2);
  form.payneg1.value = formatCurrency(newrateneg1);
  form.paypos1.value = formatCurrency(newratepos1);
  form.paypos2.value = formatCurrency(newratepos2);
  form.termneg2.value = p2.toFixed(2);
  form.termneg1.value = p1.toFixed(2);
  form.termpos1.value = p3.toFixed(2);
  form.termpos2.value = p4.toFixed(2);
  form.pmtneg2.value = formatCurrency(newtermneg2);
  form.pmtneg1.value = formatCurrency(newtermneg1);
  form.pmtpos1.value = formatCurrency(newtermpos1);
  form.pmtpos2.value = formatCurrency(newtermpos2);
  return;
}

function check_num(txt_num) {
  num = parseFloat(txt_num);
  if (num.toString() == "NaN") {
    alert("One of the values is not a number.\n"
      + "Please try again.");
    return;
  }
return num;
}

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

function MM_popupMsg(msg) { //v1.0
  alert(msg);
}
function jumpBox(list) {
  location.href = list.options[list.selectedIndex].value
}
