var co = new Object;
function recalc_onclick(ctl)
{
  if (ctl=='')
  {

    co.p1D5=eeparseFloatTh(document.mform.p1D5.value);
    co.p1D6=eeparsePercent(document.mform.p1D6.value);
    co.p1D7=eeparseFloatTh(document.mform.p1D7.value);
    co.p1D8=eeparseFloatTh(document.mform.p1D8.value);
    co.p1D9=eeparseFloatTh(document.mform.p1D9.value);
    calc(co);
    document.mform.p1D14.value=eedisplayFloatNDTh(co.p1D14,2);
    document.mform.p1D15.value=eedisplayFloatNDTh(co.p1D15,2);
    document.mform.p1D16.value=eedisplayFloatNDTh(co.p1D16,0);
    document.mform.p1D17.value=eedisplayFloatNDTh(co.p1D17,0);
    document.mform.p1D18.value=eedisplayFloatNDTh(co.p1D18,0);
    document.mform.p1D20.value=eedisplayFloatNDTh(co.p1D20,2);
    document.mform.p1D21.value=eedisplayFloatNDTh(co.p1D21,2);
    document.mform.p1D22.value=eedisplayFloatNDTh(co.p1D22,2);
  };
};

var eeisus=1;
var eetrue="TRUE";
var eefalse="FALSE";
var eedec=".";
var eeth=",";
var eedecreg=new RegExp("[.]","g");
var eethreg=new RegExp(",","g");

function calc(data)
{
  var c1D5=data.p1D5;
  var c1D6=data.p1D6;
  var c1D7=data.p1D7;
  var c1D8=data.p1D8;
  var c1D9=data.p1D9;
  var c1D14=(pmt((((c1D6)/(12))),(((c1D7)*(12))),(((c1D5)*(-1))),(0),(0)));
  var c1D15=(((c1D14)+(c1D9)));
  var c1D16=(((nper((((c1D6)/(12))),(c1D14),(0),(c1D8),(0)))*(-1)));
  var c1D17=(((nper((((c1D6)/(12))),(((c1D14)+(c1D9))),(0),(c1D8),(0)))*(-1)));
  var c1D21=(((c1D17)*(((c1D14)+(c1D9)))));
  var c1D18=(((c1D16)-(c1D17)));
  var c1D20=(((c1D16)*(c1D14)));
  var c1D22=(((c1D20)-(c1D21)));
  data.p1D14=c1D14;
  data.p1D15=c1D15;
  data.p1D16=c1D16;
  data.p1D17=c1D17;
  data.p1D18=c1D18;
  data.p1D20=c1D20;
  data.p1D21=c1D21;
  data.p1D22=c1D22;
}

function myIsNaN(x)
{
  return(isNaN(x)||(typeof x=='number'&&!isFinite(x)));
}

function round(n,nd)
{
  if(isFinite(n)&&isFinite(nd))
  {
    var sign_n=(n<0)?-1:1;
    var abs_n=Math.abs(n);
    var factor=Math.pow(10,nd);
    return sign_n*Math.round(abs_n*factor)/factor;
  }
  else
  {
    return NaN;
  }
}

function eeparsePercent(str)
{
  var parts=String(str).split('%');
  var tmp=String(parts[0]).replace(eedecreg,".");
  var res=parseFloat(tmp)/100;
  if(isNaN(res))
  {
    return 0;
  }
  else
  {
    return res;
  }
}

function eedisplayFloatND(x,nd)
{
  if(myIsNaN(x))
  {
    return Number.NaN;
  }
  else
  {
    var res=round(x,nd);
    if(nd>0)
    {
      var str=String(res);
      if(str.indexOf('e')!=-1)return str;
      if(str.indexOf('E')!=-1)return str;
      var parts=str.split('.');
      if(parts.length<2)
      {
        var decimals=('00000000000000').substring(0,nd);
        return(parts[0]).toString()+eedec+decimals;
      }
      else
      {
        var decimals=((parts[1]).toString()+'00000000000000').substring(0,nd);
        return(parts[0]).toString()+eedec+decimals;
      }
    }
    else
    {
      return res;
    }
  }
}

function eedisplayPercentND(x,nd)
{
  if(myIsNaN(x))
  {
    return Number.NaN;
  }
  else
  {
    return eedisplayFloatND(x*100,nd);
  }
}

function eeparseFloatTh(str)
{
  str=String(str).replace(eethreg,"");
  str=String(str).replace(eedecreg,".");
  var res=parseFloat(str);
  if(isNaN(res))
  {
    return 0;
  }
  else
  {
    return res;
  }
}

function eedisplayFloatNDTh(x,nd)
{
  if(myIsNaN(x))
  {
    return Number.NaN;
  }
  else
  {
    var res=round(x,nd);
    if(nd>0)
    {
      var str=String(res);
      if(str.indexOf('e')!=-1)return str;
      if(str.indexOf('E')!=-1)return str;
      var parts=str.split('.');
      var res2=eeinsertThousand(parts[0].toString());
      if(parts.length<2)
      {
        var decimals=('00000000000000').substring(0,nd);
        return(res2+eedec+decimals);
      }
      else
      {
        var decimals=((parts[1]).toString()+'00000000000000').substring(0,nd);
        return(res2+eedec+decimals);
      }
    }
    else
    {
      return(eeinsertThousand(res.toString()));
    }
  }
}

function eeinsertThousand(whole)
{
  if(whole==""||whole.indexOf("e")>=0)
  {
    return whole;
  }
  else
  {
    var minus_sign="";
    if(whole.charAt(0)=="-")
    {
      minus_sign="-";whole=whole.substring(1);
    };
    var res="";
    var str_length=whole.length-1;
    for(var ii=0;ii<=str_length;ii++)
    {
      if(ii>0&&ii%3==0)
      {
        res=eeth+res;
      };
      res=whole.charAt(str_length-ii)+res;
    };
    return minus_sign+res;
  }
}

function nper(rate,pmt,pv,fv,type)
{
  if(!isFinite(type)||!isFinite(fv)||!isFinite(pv)||!isFinite(pmt)||!isFinite(rate))return Number.NaN;
  if(rate==0.0)return(-(pv+fv)/pmt);
  else
  if(type>0.0)return(Math.log(-(rate*fv-pmt*(1.0+rate))/(rate*pv+pmt*(1.0+rate)))/Math.log(1.0+rate));
  else return(Math.log(-(rate*fv-pmt)/(rate*pv+pmt))/Math.log(1.0+rate));
}

function pmt(rate,nper,pv,fv,type)
{
  if(rate==0)
  {
    return-pv/nper;
  }
  else
  {
    var pvif=Math.pow(1+rate,nper);
    var fvifa=(Math.pow(1+rate,nper)-1)/rate;
    var type1=(type!=0)?1:0;
    return((-pv*pvif-fv)/((1+rate*type1)*fvifa));
  }
}

function explain(value){
  if(document.getElementById("unit").value=="US Dollars")
  {
    document.getElementById("cu1").value="US Dollars"
    document.getElementById("mon1").value="US Dollars / Month"
    document.getElementById("cu2").value="US Dollars"
    document.getElementById("cu3").value="US Dollars"
    document.getElementById("mon2").value="US Dollars / Month"
    document.getElementById("y1").value="US Dollars / Years"
    document.getElementById("cu4").value="US Dollars"
    document.getElementById("cu5").value="US Dollars"
  }
  if(document.getElementById("unit").value=="Canadian Dollars")
  {
    document.getElementById("cu1").value="Canadian Dollars"
    document.getElementById("mon1").value="Canadian Dollars / Month"
    document.getElementById("cu2").value="Canadian Dollars"
    document.getElementById("cu3").value="Canadian Dollars"
    document.getElementById("mon2").value="Canadian Dollars / Month"
    document.getElementById("cu4").value="Canadian Dollars"
    document.getElementById("cu5").value="Canadian Dollars"
    document.getElementById("y1").value="Canadian Dollars / Years"
  }
  if(document.getElementById("unit").value=="Pounds")
  {
    document.getElementById("cu1").value="Pounds"
    document.getElementById("mon1").value="Pounds / Month"
    document.getElementById("cu2").value="Pounds"
    document.getElementById("cu3").value="Pounds"
    document.getElementById("mon2").value="Pounds / Month"
    document.getElementById("cu4").value="Pounds"
    document.getElementById("cu5").value="Pounds"
    document.getElementById("y1").value="Pounds / Years"
  }
  if(document.getElementById("unit").value=="Euro")
  {
    document.getElementById("cu1").value="Euro"
    document.getElementById("mon1").value="Euro / Month"
    document.getElementById("cu2").value="Euro"
    document.getElementById("cu3").value="Euro"
    document.getElementById("mon2").value="Euro / Month"
    document.getElementById("cu4").value="Euro"
    document.getElementById("cu5").value="Euro"
    document.getElementById("y1").value="Euro / Years"
  }
  if(document.getElementById("unit").value=="Australian Dollars")
  {
    document.getElementById("cu1").value="Australian Dollars"
    document.getElementById("mon1").value="Australian Dollars / Month"
    document.getElementById("cu2").value="Australian Dollars"
    document.getElementById("cu3").value="Australian Dollars"
    document.getElementById("mon2").value="Australian Dollars / Month"
    document.getElementById("cu4").value="Australian Dollars"
    document.getElementById("cu5").value="Australian Dollars"
    document.getElementById("y1").value="Australian Dollars / Years"
  }
}

function codename() {

  if(document.mform.unit.selected)
  {
    document.mform.p1D5.disabled=true;
    document.mform.p1D6.disabled=true;
    document.mform.p1D7.disabled=true;
    document.mform.p1D8.disabled=true;
    document.mform.p1D9.disabled=true;
  }

  else
  {
    document.mform.p1D5.disabled=false;
    document.mform.p1D6.disabled=false;
    document.mform.p1D7.disabled=false;
    document.mform.p1D8.disabled=false;
    document.mform.p1D9.disabled=false;
  }
}

