function GetNp8(form) {	
	var nSprod = 0
	var fact1 = 0.000000001
	var principal = 0
	var termy = 0
	var rrate = 0.000000001
	var payment = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))*12
	payment = parseFloat(stripBad(form.txtNumbe3.value))
	var i = 0
	while (nSprod < payment) {
		nSprod = principal*(rrate*Math.pow((1+rrate),termy))/(Math.pow((1+rrate),termy)-1)
	rrate = rrate + i
		i = i + fact1}
	rrate = rrate - fact1
	rrate = rrate * 12 * 100
	nSprod = gesult2(rrate)
	form.txtResult.value= "  " + nSprod + " %" }

function GetNp10f(form) {	
	var nSprod = 0
	var nSpri = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	var ncp =0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	ncp = parseFloat(stripBad(form.txtNumbe4.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate/ncp)
	var termy2 = (ncp * termy)
	nSprod = principal * Math.pow(rrate2, termy2)
	nSpri = nSprod - principal
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	form.txtResult.value= "  $" + nSprod
	form.txtResulti.value= "  $" + nSpri}

function GetNp10p(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	var ncp = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	ncp = parseFloat(stripBad(form.txtNumbe4.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate/ncp)
	var termy2 = (ncp * termy)
	nSprod = principal / Math.pow(rrate2, termy2)
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp11(form) {	
	var nSprod = 0
	var nSpri = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate/12)
	var termy2 = (12 * termy)
	nSprod = principal * Math.pow(rrate2, termy2)
	nSpri = nSprod - principal
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	form.txtResult.value= "  $" + nSprod
	form.txtResulti.value= "  $" + nSpri}

function GetNp12(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate/12)
	var termy2 = (12 * termy)
	nSprod = principal / Math.pow(rrate2, termy2)
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}


function GetNp11y(form) {	
	var nSprod = 0
	var nSpri = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate)
	var termy2 = (termy)
	nSprod = principal * Math.pow(rrate2, termy2)
	nSpri = nSprod - principal
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	form.txtResult.value= "  $" + nSprod
	form.txtResulti.value= "  $" + nSpri}

function GetNp12y(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
	var rrate2 = (1 + rrate)
	var termy2 = (termy)
	nSprod = principal / Math.pow(rrate2, termy2 )
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp13y(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
	nSprod = principal*(rrate*Math.pow((1+rrate),termy))/(Math.pow((1+rrate),termy)-1)
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp13m(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))*12
	rrate = parseFloat(stripBad(form.txtNumbe3.value))/12
	rrate = rrate/100
	nSprod = principal*(rrate*Math.pow((1+rrate),termy))/(Math.pow((1+rrate),termy)-1)
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp14m(form) {	
	var nSprod = 0
	var principal = 0
	var termy = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))*12
	rrate = parseFloat(stripBad(form.txtNumbe3.value))/12
	rrate = rrate/100
   	var TEMP1 = (1 + rrate)
   	var TEMP2 = Math.pow(TEMP1,termy)
	nSprod = principal*rrate/(TEMP2-1)
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp14d(form) {	
	var nSprod = 0
	var nSpri = 0
	var mdp = 0
	var termy = 0
	var rrate = 0
	mdp = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))*12
	rrate = parseFloat(stripBad(form.txtNumbe3.value))/12
	rrate = rrate/100
 	var TEMP1 = (1 + rrate)
	var TEMP2 = Math.pow(TEMP1,termy)
	nSprod = mdp*(TEMP2-1) / rrate
	nSpri = nSprod - (mdp*termy)
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	form.txtResult.value= "  $" + nSprod
	form.txtResulti.value= "  $" + nSpri}

function GetNp15m(form) {	

	var nSprod = 0
	var nSpri = 0
	var ppay = 0
	var termy = 0
	var rrate = 0
	ppay =  document.getElementById('txtNumber').value;
	termy = parseFloat(document.getElementById('txtNumbe2').value)*12;
	rrate =  document.getElementById('txtNumbe3').value;
//	ppay = parseFloat(stripBad(form.txtNumber.value))
//	termy = parseFloat(stripBad(form.txtNumbe2.value))*12
//	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	
	rrate = rrate/100
   	var TEMP1 = (1 + rrate/12)
   	var TEMP2 = Math.pow(TEMP1,termy)
	nSprod = ppay * 12 / rrate * (1 - 1/TEMP2)
	nSpri = (ppay * termy) - nSprod
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	document.getElementById('txtResult').value = nSprod;
	//form.txtResult.value= "  $" + nSprod
	
	form.txtResulti.value= "  $" + nSpri}

function GetNp15y(form) {	
	var nSprod = 0
	var nSpri = 0
	var ppay = 0
	var termy = 0
	var rrate = 0
	ppay = parseFloat(stripBad(form.txtNumber.value))
	termy = parseFloat(stripBad(form.txtNumbe2.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = rrate/100
   	var TEMP1 = (1 + rrate)
   	var TEMP2 = Math.pow(TEMP1,termy)
	nSprod = ppay / rrate * (1 - 1/TEMP2)
	nSpri = (ppay * termy) - nSprod
	nSprod = gesult4(nSprod)
	nSpri = gesult4(nSpri)
	form.txtResult.value= "  $" + nSprod
	form.txtResulti.value= "  $" + nSpri}

function GetNp16y(form) {	
	var nSprod = 0
   	var TEMP1 = 0
   	var TEMP2 = 0
	var PV = 0
	var FV = 0
	var N = 0
	PV = parseFloat(stripBad(form.txtNumber.value))
	FV = parseFloat(stripBad(form.txtNumbe2.value))
	N = parseFloat(stripBad(form.txtNumbe3.value))
	TEMP1 = FV / PV
	TEMP2 = Math.pow(TEMP1, 1/N)
	nSprod = (TEMP2 -1) * 100
	nSprod = gesult2(nSprod)
	form.txtResult.value= "  " + nSprod + "  %" }

function GetNp16m(form) {	
	var nSprod = 0
   	var TEMP1 = 0
   	var TEMP2 = 0
	var PV = 0
	var FV = 0
	var N = 0
	PV = parseFloat(stripBad(form.txtNumber.value))
	FV = parseFloat(stripBad(form.txtNumbe2.value))
	N = parseFloat(stripBad(form.txtNumbe3.value))*12
	TEMP1 = FV / PV
	TEMP2 = Math.pow(TEMP1, 1/N)
	nSprod = (TEMP2 -1) * 1200
	nSprod = gesult2(nSprod)
	form.txtResult.value= "  " + nSprod + "  %" }

function GetNp17r(form) {	
	var nSprod = 0
   	var TEMP1 = 0
   	var TEMP2 = 0
	var ipy = 0
	var ncp = 0
	ipy = parseFloat(stripBad(form.txtNumber.value))
	ncp = parseFloat(form.txtNumbe4.value)
	ipy = ipy/100
	TEMP1 = 1 + (ipy/ncp)
	TEMP2 = Math.pow(TEMP1, ncp)
	nSprod = (TEMP2 -1)*100
	nSprod = gesult3(nSprod)
	form.txtResult.value= "  " + nSprod + "  %" }

function GetNp17i(form) {	
	var nSprod = 0
   	var TEMP1 = 0
   	var TEMP2 = 0
   	var TEMP3 = 0
	var apr = 0
	var ncp = 0
	apr = parseFloat(stripBad(form.txtNumber.value))
	ncp = parseFloat(form.txtNumbe4.value)
	apr = apr/100
	TEMP1 = 1 + apr
	TEMP2 = Math.pow(TEMP1, 1/ncp)
	TEMP3 = TEMP2 -1
	nSprod = ncp*TEMP3*100
	nSprod = gesult3(nSprod)
	form.txtResult.value= "  " + nSprod + "  %" }

function GetNp18y(form) {	
	var nSprod = 0
   	var TEMP1 = 0
   	var TEMP2 = 0
   	var PV = 0
   	var FV = 0
	var ipy = 0
	var ncp = 0
	PV = parseFloat(stripBad(form.txtNumber.value))
	FV = parseFloat(stripBad(form.txtNumbe2.value))
	ncp = parseFloat(stripBad(form.txtNumbe3.value))
	ipy = parseFloat(stripBad(form.txtNumbe4.value))
	ipy = ipy/100
	TEMP1 = Math.log(FV/PV)
	TEMP2 = ncp * Math.log(1 + (ipy/ncp))
	nSprod = TEMP1 / TEMP2
	nSprod = gesult2(nSprod)
	form.txtResult.value= "  " + nSprod + "  years" }


function GetNp19a(form) {	
	var nSprod = 0
	var nSpro2 = 0
	var nSpro3 = 0
	var principal = 0
	var rrate = 0
	var mp = 0
	var k = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	mp = parseFloat(stripBad(form.txtNumbe4.value))
	k = parseFloat(stripBad(form.txtNumbe5.value))
	rrate = rrate/100
	nSprod = (principal-mp*12/rrate)*Math.pow((1+(rrate/12)), k) + (mp*12/rrate)
	nSpro2 = principal - nSprod
	nSpro3 = (mp * k) - nSpro2
	nSprod = gesult2(nSprod)
	nSprod = gesult4(nSprod)
	nSpro2 = gesult4(nSpro2)
	nSpro3 = gesult4(nSpro3)
	form.txtResult.value= "  $" + nSprod
	form.txtResultr.value= "  $" + nSpro2
	form.txtResulti.value= "  $" + nSpro3}

function GetNp19b(form) {	
	var nSprod = 0
	var nSpro2 = 0
	var nSpro3 = 0
	var principal = 0
	var rrate = 0
	var mp = 0
	var k = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	k = parseFloat(stripBad(form.txtNumbe2.value))*12
	rrate = parseFloat(stripBad(form.txtNumbe3.value))
	mp = parseFloat(stripBad(form.txtNumbe4.value))
	rrate = rrate/100
	nSprod = (principal-mp*12/rrate)*Math.pow((1+(rrate/12)), k) + (mp*12/rrate)
	nSpro2 = principal - nSprod
	nSpro3 = (mp * k) - nSpro2
	nSprod = gesult2(nSprod)
	nSprod = gesult4(nSprod)
	nSpro2 = gesult4(nSpro2)
	nSpro3 = gesult4(nSpro3)
	form.txtResult.value= "  $" + nSprod
	form.txtResultr.value= "  $" + nSpro2
	form.txtResulti.value= "  $" + nSpro3}

function GetNp19c(form) {	
	var nSprod = 0
	var q = 0
	var principal = 0
	var rrate = 0
	var mp = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	mp = parseFloat(stripBad(form.txtNumbe2.value))
	q = parseFloat(stripBad(form.txtNumbe3.value))
	rrate = parseFloat(stripBad(form.txtNumbe4.value))
	rrate = rrate/100
	nSprod = -Math.log(1-((principal*rrate)/(mp*q))) / (q*Math.log(1+(rrate/q)))
	nSprod = gesult2(nSprod)
	form.txtResult.value= "  " + nSprod + " Years"}

function GetNp21m(form) {	
	var nSprod = 0
	var principal = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))/12
	rrate = rrate/100
	nSprod = principal*rrate
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}

function GetNp22b(form) {	
	var nSprod = 0
	var principal = 0
	var rrate = 0
	principal = parseFloat(stripBad(form.txtNumber.value))
	rrate = parseFloat(stripBad(form.txtNumbe3.value))/12
	rrate = rrate/100
	nSprod = principal/rrate
	nSprod = gesult4(nSprod)
	form.txtResult.value= "  $" + nSprod}


function gesult4(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
num = Math.floor(num*100+0.50000000001);
var 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 (num + '.' + cents);
}

function stripBad(string) {
    for (var i=0, output='', valid="eE-0123456789."; i<string.length; i++)
       if (valid.indexOf(string.charAt(i)) != -1)
          output += string.charAt(i)
    return output;
} 

function gesult(ff){

 if (Number.prototype.toFixed) {
   ff = ff.toFixed(7);
   ff = parseFloat(ff);
 }
 else {
   var leftSide = Math.floor(ff);
   var rightSide = ff - leftSide;
   ff = leftSide + Math.round(rightSide *1e+14)/1e+14;
 }

 return comma(ff);
}

function gesult2(ff){

 if (Number.prototype.toFixed) {
   ff = ff.toFixed(2);
   ff = parseFloat(ff);
 }
 else {
   var leftSide = Math.floor(ff);
   var rightSide = ff - leftSide;
   ff = leftSide + Math.round(rightSide *1e+14)/1e+14;
 }

 return comma(ff);
}

function gesult3(ff){

 if (Number.prototype.toFixed) {
   ff = ff.toFixed(3);
   ff = parseFloat(ff);
 }
 else {
   var leftSide = Math.floor(ff);
   var rightSide = ff - leftSide;
   ff = leftSide + Math.round(rightSide *1e+14)/1e+14;
 }

 return comma(ff);
}

function comma(num) {
 var n = Math.floor(num);
 var myNum = num + "";
 var myDec = ""
 
 if (myNum.indexOf('.',0) > -1){
  myDec = myNum.substring(myNum.indexOf('.',0),myNum.length);
 }

  var arr=new Array('0'), i=0; 
  while (n>0) 
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0)
    while (arr[i].length<3) arr[i]='0'+arr[i];
  return arr.join() + myDec;
}

