var tmp = 0;

function go(){
document.gross.APUI_Yr.value = year(document.gross.APUI_Mo.value);
document.gross.Num_Yr.value = document.gross.Num_Mo.value;
document.gross.EsGI_Mo.value = document.gross.Num_Mo.value*document.gross.APUI_Mo.value;
document.gross.EsGI_Yr.value = year(document.gross.EsGI_Mo.value); 
document.gross.Other_Yr.value = year(document.gross.Other_Mo.value);
document.gross.PGI_Yr.value = year(document.gross.PGI_Mo.value);
document.gross.PGI_Mo.value = parseFloat(document.gross.EsGI_Mo.value) + parseFloat(document.gross.Other_Mo.value);
document.gross.PGI_Yr.value = year(document.gross.PGI_Mo.value);
document.gross.Vac_Mo.value = document.gross.Vac_Per.value * document.gross.EsGI_Mo.value / 100;
document.gross.Vac_Yr.value = year(document.gross.Vac_Mo.value);
document.gross.EfGI_Mo.value = document.gross.PGI_Mo.value-document.gross.Vac_Mo.value;
document.gross.EfGI_Yr.value = year(document.gross.EfGI_Mo.value);

if(document.gross.Num_Mo.value>1 && document.expenses.Mnt_Amt.value==35) document.expenses.Mnt_Amt.value = 45;
if(document.gross.Num_Mo.value<=1 && document.expenses.Mnt_Amt.value==45) document.expenses.Mnt_Amt.value = 35;
document.expenses.Tax_Yr.value = year(document.expenses.Tax_Mo.value);
document.expenses.Mnt_Mo.value = document.expenses.Mnt_Amt.value * document.gross.Num_Mo.value;
document.expenses.Mnt_Yr.value = year(document.expenses.Mnt_Mo.value);
document.expenses.Ins_Yr.value = year(document.expenses.Ins_Mo.value);
document.expenses.Man_Off_Mo.value = document.expenses.Man_Off_Per.value * document.gross.EsGI_Mo.value / 100;
document.expenses.Man_Off_Yr.value = year(document.expenses.Man_Off_Mo.value);
document.expenses.H2O_Yr.value = year(document.expenses.H2O_Mo.value);
document.expenses.Man_On_Mo.value = document.expenses.Man_On_Per.value * document.gross.EsGI_Mo.value / 100;
document.expenses.Man_On_Yr.value = year(document.expenses.Man_On_Mo.value);
document.expenses.Gbg_Yr.value = year(document.expenses.Gbg_Mo.value);
document.expenses.Acc_Yr.value = year(document.expenses.Acc_Mo.value);
document.expenses.Elc_Yr.value = year(document.expenses.Elc_Mo.value);
document.expenses.Misc_Yr.value = year(document.expenses.Misc_Mo.value);
document.expenses.Lic_Yr.value = year(document.expenses.Lic_Mo.value);
document.expenses.Gas_Yr.value = year(document.expenses.Gas_Mo.value);
document.expenses.Adv_Yr.value = year(document.expenses.Adv_Mo.value);
document.expenses.Tel_Yr.value = year(document.expenses.Tel_Mo.value);
document.expenses.Sup_Yr.value = year(document.expenses.Sup_Mo.value);
document.expenses.Fire_Yr.value = year(document.expenses.Fire_Mo.value);
document.expenses.Pest_Yr.value = year(document.expenses.Pest_Mo.value);
document.expenses.Elv_Yr.value = year(document.expenses.Elv_Mo.value);
document.expenses.Lawn_Yr.value = year(document.expenses.Lawn_Mo.value);
document.expenses.Bud_Yr.value = year(document.expenses.Bud_Mo.value);

tmp = parseFloat(document.expenses.Tax_Mo.value) + parseFloat(document.expenses.Pest_Mo.value) + parseFloat(document.expenses.Ins_Mo.value) + parseFloat(document.expenses.Man_Off_Mo.value) + parseFloat(document.expenses.H2O_Mo.value);
tmp = tmp + parseFloat(document.expenses.Man_On_Mo.value) + parseFloat(document.expenses.Gbg_Mo.value) + parseFloat(document.expenses.Acc_Mo.value) + parseFloat(document.expenses.Elc_Mo.value) + parseFloat(document.expenses.Misc_Mo.value);
tmp = tmp + parseFloat(document.expenses.Lic_Mo.value) + parseFloat(document.expenses.Gas_Mo.value) + parseFloat(document.expenses.Adv_Mo.value) + parseFloat(document.expenses.Tel_Mo.value) + parseFloat(document.expenses.Sup_Mo.value);
tmp = tmp + parseFloat(document.expenses.Fire_Mo.value) + parseFloat(document.expenses.Mnt_Mo.value) + parseFloat(document.expenses.Elv_Mo.value) + parseFloat(document.expenses.Lawn_Mo.value) + parseFloat(document.expenses.Bud_Mo.value);
document.gross.Tot_Exp_Mo.value = tmp;
document.gross.Tot_Exp_Yr.value = year(document.gross.Tot_Exp_Mo.value);

document.gross.NOI_Mo.value = document.gross.EfGI_Mo.value-document.gross.Tot_Exp_Mo.value;
document.gross.NOI_Yr.value = year(document.gross.NOI_Mo.value);

if(document.loan.FMort_Loan.value*document.loan.FMort_Per.value*document.loan.FMort_Years.value!=0){
	document.debt.FMort_Mo.value = rnd(pmt(document.loan.FMort_Loan.value,document.loan.FMort_Per.value,document.loan.FMort_Years.value),1);
	document.debt.FMort_Yr.value = rnd(year(document.debt.FMort_Mo.value),1);
}
else {
	document.debt.FMort_Mo.value = 0;
	document.debt.FMort_Yr.value = 0;
}
if(document.loan.SMort_Loan.value*document.loan.SMort_Per.value*document.loan.SMort_Years.value!=0){
	document.debt.SMort_Mo.value = rnd(pmt(document.loan.SMort_Loan.value,document.loan.SMort_Per.value,document.loan.SMort_Years.value),1);
	document.debt.SMort_Yr.value = rnd(year(document.debt.SMort_Mo.value),1);
}
else {
	document.debt.SMort_Mo.value = 0;
	document.debt.SMort_Yr.value = 0;
}
if(document.loan.TMort_Loan.value*document.loan.TMort_Per.value*document.loan.TMort_Years.value!=0){
	document.debt.TMort_Mo.value = rnd(pmt(document.loan.TMort_Loan.value,document.loan.TMort_Per.value,document.loan.TMort_Years.value),1);
	document.debt.TMort_Yr.value = rnd(year(document.debt.TMort_Mo.value),1);
}
else {
	document.debt.TMort_Mo.value = 0;
	document.debt.TMort_Yr.value = 0;
}

document.debt.Tot_Debt_Mo.value = rnd(parseFloat(document.debt.FMort_Mo.value) + parseFloat(document.debt.SMort_Mo.value) + parseFloat(document.debt.TMort_Mo.value),1);
document.debt.Tot_Debt_Yr.value = rnd(year(document.debt.Tot_Debt_Mo.value),1);

tmp = document.gross.NOI_Yr.value / document.price.Pur_Price.value;
document.price.Cap.value = rnd(tmp,0);

document.cflow.BTC_Mo.value = rnd(parseFloat(document.gross.NOI_Mo.value) - parseFloat(document.debt.Tot_Debt_Mo.value),1);
document.cflow.BTC_Yr.value = rnd(year(document.cflow.BTC_Mo.value),1);

tmp = document.cflow.BTC_Yr.value / document.price.Init_Inv.value;
document.yellow.EDR.value = rnd(tmp,0);

tmp = (parseFloat(document.loan.FMort_Loan.value) + parseFloat(document.loan.SMort_Loan.value) + parseFloat(document.loan.TMort_Loan.value)) / document.price.Pur_Price.value; 
document.yellow.LTV.value = rnd(tmp,0);

tmp = document.gross.NOI_Yr.value / document.debt.Tot_Debt_Yr.value;
document.yellow.DCR.value = rnd(tmp,1);

tmp = document.gross.Tot_Exp_Yr.value / document.gross.EfGI_Yr.value;
document.yellow.OER.value = rnd(tmp,0);

tmp = (parseFloat(document.gross.Tot_Exp_Yr.value) + parseFloat(document.debt.Tot_Debt_Yr.value) - parseFloat(document.expenses.Bud_Yr.value)) / document.gross.PGI_Yr.value;
document.yellow.CBR.value = rnd(tmp,0);
}

function pmt(pv,rate,years){
pv = parseFloat(pv);
rate = parseFloat(rate);
years = parseFloat(years);
var i = rate/1200;
var n = years*12;
var r3 = pv*i/(1-power(i,-n));
r3 = Math.round(100*r3)/100;
return r3;
}

function power(i,n) {
var b = 1 + i;
var w = Math.pow(b,n);
return w;
}

function year(month){
return month*12;
}

function rnd(x,fmt) {
if(fmt == 1 && x != 0) {
	if(((Math.round(100*x) % 10) % 100) == 0)
	   	x = (Math.round(100*x)/100) + '0';
	else
		x = Math.round(100*x)/100;
}
else
	x = Math.round(100*x);
return x;
}

function today() {
var time=new Date();
var month=time.getMonth() + 1;
var date=time.getDate();
var year=time.getYear();
if (year < 2000)
year = year + 1900;
document.prop.date.value = month + "/" + date + "/" + year;
}

