function round(number) {
	return Math.round(number*Math.pow(10,2))/Math.pow(10,2);
}

function calcForm(form) {
	PR = form.PR[0].checked
	PP = form.PP.value
	IR = form.IR.value
	LA = parseFloat(form.LA.value)
	AttFee = parseFloat(form.AttFee.value)
	RecFee = parseFloat(form.RecFee.value)
	Appr = parseFloat(form.Appr.value)
	TExam = parseFloat(form.TExam.value)
	PropSurv = parseFloat(form.PropSurv.value)
	CredRep = parseFloat(form.CredRep.value)
	LendFee = parseFloat(form.LendFee.value)

	if (isNaN(LA)) { LA = 0.8 * PP }
	OrigFee = 0.01 * LA
	TitIns = (PP - 100000) * 0.00175 + 275
	HomIns = PP * (0.00612 - 0.001 * PR ) 			// 0.00612 or 0.00512
	TransTax = PP * 0.0025
	WFHIns = PP * 0.001818

	nmonths = 360
	ycent = IR / 100 / 12
	bracks = 1 + ycent
	powe = Math.pow(bracks, nmonths)
	PI = LA*powe*ycent/bracks/(powe-1)

	DP = PP - LA
	CC = OrigFee + TitIns + HomIns + TransTax + WFHIns
	CC = CC + AttFee + RecFee + Appr + TExam + PropSurv + CredRep + LendFee
	CR = DP + CC

	HIns = HomIns / 12
	FIns = WFHIns / 12
	Taxes = PP * 0.00697 * (3 - PR) / 24		// 0.85*0.205*0.04(or 0.06) / 12
	TotMonth = PI + HIns + FIns + Taxes

	form.LA.value = round(LA);
	form.PI.value="$ " + round(PI);
	form.HIns.value="$ " + round(HIns);
	form.FIns.value="$ " + round(FIns);
	form.Taxes.value="$ " + round(Taxes);
	form.TotMonth.value="$ " + round(TotMonth);
	form.DP.value="$ " + round(DP);
	form.CC.value="$ " + round(CC);
	form.CR.value="$ " + round(CR);
	form.OrigFee.value=round(OrigFee);
	form.TitIns.value=round(TitIns);
	form.HomIns.value=round(HomIns);
	form.TransTax.value=round(TransTax);
	form.WFHIns.value=round(WFHIns);
}