function Calc_Finl_Stmt(){		NumUnits = document.BMC_MultiFam_Calc.NumUnits.value-0	GrossPotInc = document.BMC_MultiFam_Calc.GrossPotInc.value-0	VacancyPercent = document.BMC_MultiFam_Calc.VacancyPercent.value-0	VacancyTotal = Math.round((GrossPotInc*VacancyPercent)/100)	if (VacancyTotal<=1) {		document.BMC_MultiFam_Calc.VacancyTotal.value = ""	} else {		document.BMC_MultiFam_Calc.VacancyTotal.value = VacancyTotal	}	OtherInc = document.BMC_MultiFam_Calc.OtherInc.value-0	EffGrossInc = GrossPotInc+OtherInc-VacancyTotal	document.BMC_MultiFam_Calc.EffGrossInc.value = EffGrossInc		Taxes = document.BMC_MultiFam_Calc.Taxes.value-0	Insurance = document.BMC_MultiFam_Calc.Insurance.value-0	Utilities = document.BMC_MultiFam_Calc.Utilities.value-0	Management = document.BMC_MultiFam_Calc.Management.value-0	Maintenance = document.BMC_MultiFam_Calc.Maintenance.value-0	Administrative = document.BMC_MultiFam_Calc.Administrative.value-0	Marketing = document.BMC_MultiFam_Calc.Marketing.value-0	Trash_Sewer = document.BMC_MultiFam_Calc.Trash_Sewer.value-0	Miscellaneous = document.BMC_MultiFam_Calc.Miscellaneous.value-0	TotOperExp = Taxes+Insurance+Utilities+Management+Maintenance+Administrative+Trash_Sewer+Marketing+Miscellaneous	document.BMC_MultiFam_Calc.TotOperExp.value = TotOperExp			MgmtPercent = Math.round(GrossPotInc*0.05)		if (Management<MgmtPercent)	{		Management = Math.round(GrossPotInc*0.05)		document.BMC_MultiFam_Calc.Management.value = Management	}		NetOperInc = EffGrossInc-TotOperExp	document.BMC_MultiFam_Calc.NetOperInc.value = NetOperInc	OperExpPerUnit = Math.round(TotOperExp/NumUnits)	valTest = OperExpPerUnit/OperExpPerUnit	if(!isNaN(valTest))	{			document.BMC_MultiFam_Calc.OperExpPerUnit.value = OperExpPerUnit	} else	{		document.BMC_MultiFam_Calc.OperExpPerUnit.value = ""	}		OperExpRatio = TotOperExp/EffGrossInc	valTest = OperExpRatio/OperExpRatio	if(!isNaN(valTest))	{			document.BMC_MultiFam_Calc.OperExpRatio.value = format_number(OperExpRatio,2)	} else	{		document.BMC_MultiFam_Calc.OperExpRatio.value = ""	}		CapExPerUnit = document.BMC_MultiFam_Calc.CapExPerUnit.value-0			if (CapExPerUnit < 150)	{		CapExPerUnit = 150	}		document.BMC_MultiFam_Calc.CapExPerUnit.value = CapExPerUnit		TotCapEx = Math.round(CapExPerUnit*NumUnits)	document.BMC_MultiFam_Calc.TotCapEx.value = TotCapEx		CashFlow = NetOperInc-TotCapEx	document.BMC_MultiFam_Calc.CashFlow.value = CashFlow		Rate = document.BMC_MultiFam_Calc.Rate.value-0	Amort = document.BMC_MultiFam_Calc.Amort.value-0	DSCR = document.BMC_MultiFam_Calc.DSCR.value-0		Rate = (Rate/12)/100	NPER = Amort * 12	PV = -100	FV = 0	ptype = 0		powRate = Math.pow(1+Rate,NPER)		PMT  = (Rate*(FV+PV*(powRate)))/((1+Rate*ptype)*(1-(powRate)))*12	pmtRev = format_number(PMT,2)		valTest = pmtRev/pmtRev		if(!isNaN(valTest))	{			document.BMC_MultiFam_Calc.LoanSize.value = Math.round((NetOperInc/DSCR/pmtRev)*100)	} else	{		document.BMC_MultiFam_Calc.LoanSize.value = ""	}}function format_number(pnumber,decimals){ if (isNaN(pnumber)) { return 0}; if (pnumber=='') { return 0}; var snum = new String(pnumber); var sec = snum.split('.'); var whole = parseFloat(sec[0]); var result = ''; if(sec.length > 1){ var dec = new String(sec[1]); dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals))); dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals)); var dot = dec.indexOf('.'); if(dot == -1){ dec += '.'; dot = dec.indexOf('.'); } while(dec.length <= dot + decimals) { dec += '0'; } result = dec; } else{ var dot; var dec = new String(whole); dec += '.'; dot = dec.indexOf('.'); while(dec.length <= dot + decimals) { dec += '0'; } result = dec; } return result; } 