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.p1D10=eeparseFloatTh(document.mform.p1D10.value);
co.p1D11=eeparseFloatTh(document.mform.p1D11.value);
calc(co);
document.mform.p1D16.value=eedisplayFloatNDTh(co.p1D16,2);
document.mform.p1D17.value=eedisplayFloatNDTh(co.p1D17,2);
document.mform.p1D18.value=eedisplayFloatNDTh(co.p1D18,2);
document.mform.p1D20.value=eedisplayPercentND(co.p1D20,3);
};
};


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 c1D10=data.p1D10;
var c1D11=data.p1D11;
var c1D16=(((c1D10)+(c1D11)));
var c1D17=(pmt((((c1D6)/(12))),(((c1D8)*(12))),(((c1D5)*(-1))),(0),(0)));
var c1D18=(((pmt((((c1D6)/(12))),(((c1D8)*(12))),(((((c1D5)+(c1D16)))+(((((c1D7)*(c1D5)))/(100))))),(0),(0)))*(-1)));
var c1D20=(((rate((((c1D8)*(12))),(((c1D18)*(-1))),(c1D5),(0),(0),(0.1)))*(12)));
data.p1D16=c1D16;data.p1D17=c1D17;data.p1D18=c1D18;data.p1D20=c1D20;};

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 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 rate(nper,pmt,pv,fv,type,guess)
{
if(!isFinite(guess)||!isFinite(type)||!isFinite(fv)||!isFinite(pv)||!isFinite(pmt)||!isFinite(nper))return Number.NaN;
var type2=(type)?1:0;
var wanted_precision=0.00000001;
var current_diff=Number.MAX_VALUE;
var x,next_x,y,z;
if(guess==0)x=0.1;
else x=guess;
var max_iterations=100;
var iterations_done=0;
while(current_diff>wanted_precision&&iterations_done<max_iterations)
{
if(x==0)next_x=x-(pv+pmt*nper+fv)/(pv*nper+pmt*(nper*(nper-1)+2*type2*nper)/2);
else
{
y=Math.pow(1+x,nper-1);
z=y*(1+x);
next_x=x*(1-(x*pv*z+pmt*(1+x*type2)*(z-1)+x*fv)/(x*x*nper*pv*y-pmt*(z-1)+x*pmt*(1+x*type2)*nper*y));
}
iterations_done++;
current_diff=Math.abs(next_x-x);x=next_x;
}
if(guess==0&&Math.abs(x)<wanted_precision)x=0;
if(current_diff>=wanted_precision)
{
return Number.NaN;
}
else
{
return x;
};
};

function explain(value){
	if(document.getElementById("unit").value=="US Dollars")
	{
		document.getElementById("exp").value="US Dollars"
		document.getElementById("exp1").value="US Dollars / Month"
		document.getElementById("exp2").value="US Dollars"
		document.getElementById("exp3").value="US Dollars"
		document.getElementById("exp4").value="US Dollars / Month"
		document.getElementById("exp5").value="US Dollars"
	}
	if(document.getElementById("unit").value=="Canadian Dollars")
	{
		document.getElementById("exp").value="Canadian Dollars"
		document.getElementById("exp1").value="Canadian Dollars / Month"
		document.getElementById("exp2").value="Canadian Dollars"
		document.getElementById("exp3").value="Canadian Dollars"
		document.getElementById("exp4").value="Canadian Dollars / Month"
		document.getElementById("exp5").value="Canadian Dollars"
	}
	if(document.getElementById("unit").value=="Pounds")
	{
		document.getElementById("exp").value="Pounds"
		document.getElementById("exp1").value="Pounds / Month"
		document.getElementById("exp2").value="Pounds"
		document.getElementById("exp3").value="Pounds"
		document.getElementById("exp4").value="Pounds / Month"
		document.getElementById("exp5").value="Pounds"
	}
	if(document.getElementById("unit").value=="Euro")
	{
		document.getElementById("exp").value="Euro"
		document.getElementById("exp1").value="Euro / Month"
		document.getElementById("exp2").value="Euro"
		document.getElementById("exp3").value="Euro"
		document.getElementById("exp4").value="Euro / Month"
		document.getElementById("exp5").value="Euro"
	}
	if(document.getElementById("unit").value=="Australian Dollars")
	{
		document.getElementById("exp").value="Australian Dollars"
		document.getElementById("exp1").value="Australian Dollars / Month"
		document.getElementById("exp2").value="Australian Dollars"
		document.getElementById("exp3").value="Australian Dollars"
		document.getElementById("exp4").value="Australian Dollars / Month"
		document.getElementById("exp5").value="Australian Dollars"
	}
}

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.p1D10.disabled=true;
document.mform.p1D11.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.p1D10.disabled=false;
document.mform.p1D11.disabled=false;
}
}