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 floor(number){  return formatCurrency(Math.floor(number*Math.pow(10,2))/Math.pow(10,2));}function getValue(s){	var z = s.length;	var c = '';	var oks = '.0123456789';	var n  ='';	for (var i = 0; i < z; i++)	{		c = s.charAt(i);		if (oks.indexOf(c) > -1) n += c;	}	return n;}function dosum(f){	var irv = getValue(f.IR.value);	var aiv = getValue(f.AI.value);	var atv = getValue(f.AT.value);	var lav = getValue(f.LA.value) - getValue(f.DP.value);  var mi = irv / 1200;  var base = 1;  var mbase = 1 + mi;  for (i=0; i<f.YR.value * 12; i++)  {    base = base * mbase  }  f.PI.value = floor(lav * mi / ( 1 - (1/base)));  f.MT.value = floor(atv / 12);  f.MI.value = floor(aiv / 12);  var dasum = lav * mi / ( 1 - (1/base)) +  atv / 12 +  aiv / 12;  f.MP.value = floor(dasum);}dosum();