// JavaScript Document			<!-- Begin			var i = 0; // interest			var m = 0; // months			var f = 0; // factor			var den = 0; 			var s = "0"; // string			var d = 0; // decimal place			function CalcA() 			{				if(document.calform.interest.value=="" || document.calform.months.value=="" || document.calform.payment.value=="") 				{					alert("Please fill in all of the required fields.");				}				else 				{ 					if(document.calform.period.options[1].selected == true) 					{						m = document.calform.months.value * 12;					}					else 					{						m = document.calform.months.value;					} 					i = Math.pow(((document.calform.interest.value/100)+1),.0833333)-1;					den = i / (i+1);					f = Math.pow((i+1),m)-1;					f /= den;					f *= document.calform.payment.value;					d = String(f).indexOf(".");					s = String(f).substring(0,(d+3));					document.calform.total.value = "$" + s;  				}			}						function floor(number)			{				return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);			}			function dosum()			{				var mi = document.temps.IR.value / 1200;				var base = 1;				var mbase = 1 + mi;				for (i=0; i<document.temps.YR.value * 12; i++)				{					base = base * mbase				}				document.temps.PI.value = floor(document.temps.LA.value * mi / ( 1 - (1/base)))				document.temps.MT.value = floor(document.temps.AT.value / 12)				document.temps.MI.value = floor(document.temps.AI.value / 12)				var dasum = document.temps.LA.value * mi / ( 1 - (1/base)) +						document.temps.AT.value / 12 + 						document.temps.AI.value / 12;				document.temps.MP.value = floor(dasum);			}						function checkNumber(input, min, max, msg)			{				msg = msg + " field has invalid data: " + input.value;				var str = input.value;				for (var i = 0; i < str.length; i++) 				{					var ch = str.substring(i, i + 1)					if ((ch < "0" || "9" < ch) && ch != '.') 					{						alert(msg);						return false;					}				}							var num = parseFloat(str)				if (num < min || max < num) 				{					alert(msg + " not in range [" + min + ".." + max + "]");					return false;				}				input.value = str;				return true;			}			function computeField(input) 			{				if (input.value != null && input.value.length != 0)					input.value = "" + eval(input.value);				computeForm(input.form);			}			function computeForm(form) 			{				if ((form.payments.value == null || form.payments.value.length == 0) ||				(form.interest.value == null || form.interest.value.length == 0) ||				(form.principal.value == null || form.principal.value.length == 0)) 				{					return;				}				if (!checkNumber(form.payments, 1, 480, "# of payments") ||				!checkNumber(form.interest, .001, 99, "Interest") ||				!checkNumber(form.principal, 100, 10000000, "Principal")) 				{					form.payment.value = "Invalid";					return;				}				var i = form.interest.value;				if (i > 1.0) 				{					i = i / 100.0;					form.interest.value = i;				}				i /= 12;				var pow = 1;				for (var j = 0; j < form.payments.value; j++)				pow = pow * (1 + i);				money = "" + .01* Math.round(100*(form.principal.value * pow * i) / (pow - 1));				dec = money.indexOf(".");				dollars = money.substring(0,dec); 				cents = money.substring(dec+1,dec+3);				cents = (cents.length < 2) ? cents + "0" : cents;				money = dollars + "." + cents;				form.payment.value = money;			}			function clearForm(form) 			{				form.payments.value = "";				form.interest.value = "";				form.principal.value = "";			}						function round(num) 			{				amount = Math.round(num*Math.pow(10,2))/Math.pow(10,2);				amount -= 0;				// .99 cent format courtsey of Martin Webb				return (amount == Math.floor(amount)) ? amount + '.00' : ( (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);			}			function dectable() 			{				windowprops = 'personalbar=no,toolbar=no,' +				'status=no,scrollbars=yes,location=no,' +				'resizable=yes,menubar=no,width=340,height=400';				decimalWin=window.open('', 'table', windowprops);				text = "<html><body><table width=300 cellpadding=0 cellspacing=1>";				text += "<tr><td bgcolor='#333366' align=center><font face='arial";				text += ",helvetica' size=2 color='#ffffff'><b>Fractional Price</";				text += "b></font></td><td bgcolor='#333366' align=center><font f";				text += "ace='arial,helvetica' size=2 color='#ffffff'><b>Dollar E";				text += "quivalent</b></font></td></tr><tr align=center><td align";				text += "=center><font face='arial,helvetica' size=2>1/32<br />1/16";				text += "<br />3/32<br />1/8<br />5/32<br />3/16<br />7/32<br />1/4<br />9/32<b";				text += "r>5/16<br />11/32<br />3/8<br />13/32<br />7/16<br />15/32<br />1/2<";				text += "br>17/32<br />9/16<br />19/32<br />5/8<br />21/32<br />11/16<br />23";				text += "/32<br />3/4<br />25/32<br />13/16<br />27/32<br />7/8<br />29/32<br";				text += ">15/16<br />31/32<br />1</td><td align=center><font face='ar";				text += "ial,helvetica' size=2>$0.03125<br />$0.06250<br />$0.09375<b";				text += "r>$0.12500<br />$0.15625<br />$0.18750<br />$0.21875<br />$0.250";				text += "00<br />$0.28125<br />$0.31250<br />$0.34375<br />$0.37500<br />$0";				text += ".40625<br />$0.43750<br />$0.46875<br />$0.50000<br />$0.53125<b";				text += "r>$0.56250<br />$0.59375<br />$0.62500<br />$0.65625<br />$0.687";				text += "50<br />$0.71875<br />$0.75000<br />$0.78125<br />$0.81250<br />$0";				text += ".84375<br />$0.87500<br />$0.90625<br />$0.93750<br />$0.96875<b";				text += "r>$1.00000</td></tr></table></body></html>";				decimalWin.document.open();				decimalWin.document.writeln(text);				decimalWin.document.close();			}			function stocks(form) 			{				shares = form.shares.value * 1;				buyprice = form.buyprice.value * 1;				buycomm = form.buycomm.value * 1;				sellprice = form.sellprice.value * 1;				sellcomm = form.sellcomm.value * 1;				bought = round(parseFloat(shares * buyprice) + buycomm); // price for purchase				sold = round(parseFloat(shares * sellprice) - sellcomm); // price sold for				result = round(sold - bought);				form.buycost.value  = "$ " + bought;				form.sellcost.value = "$ " + sold;				form.result.value = "$ " + result;			}			//  End -->