function main(f){
	if(!(kakaku_chk(f) && n_syuunyuu_chk(f) && akiritsu_chk(f) && syokeiritsu_chk(f) && sikin_chk(f)
		&& n_kari_chk(f) && kikan_chk(f) && kinri_chk(f) && seigousei_chk(f))){
		return;
	}

	n_y_syuunyuu         = eval(n_y_syuunyuu_calc(f));
	m_y_syuunyuu         = eval(m_y_syuunyuu_calc(f));
	mon_hensai           = Math.ceil(mon_hensai_calc(f));
	tot_hensai           = tot_hensai_calc(f);
	n_syokeihi           = Math.ceil(n_syokeihi_calc(f));

	f.n_y_syuunyuu.value = n_y_syuunyuu;
	f.m_y_syuunyuu.value = m_y_syuunyuu;
	f.mon_hensai.value   = mon_hensai;
	f.year_hensai.value  = eval(mon_hensai * 12);
	f.tot_hensai.value   = tot_hensai;
	f.n_syokeihi.value   = n_syokeihi;
	n_sisyutu            = eval((mon_hensai * 12) + n_syokeihi);
	f.n_tedori.value     = eval(n_y_syuunyuu - n_sisyutu);
	kakaku               = eval(f.kakaku.value * 10000);
	f.h_rimawari.value   = Math.floor((n_y_syuunyuu / kakaku) * 100);
	f.j_rimawari.value   = Math.floor(((n_y_syuunyuu - n_syokeihi) / kakaku) * 100);

	f.n_y_syuunyuu.value = c(f.n_y_syuunyuu.value);
	f.m_y_syuunyuu.value = c(f.m_y_syuunyuu.value);
	f.year_hensai.value  = c(f.year_hensai.value);
	f.mon_hensai.value   = c(f.mon_hensai.value);
	f.tot_hensai.value   = c(f.tot_hensai.value);
	f.n_syokeihi.value   = c(f.n_syokeihi.value);
	f.n_tedori.value     = c(f.n_tedori.value);
	//f.h_rimawari.value   = c(f.h_rimawari.value);
	//f.j_rimawari.value   = c(f.j_rimawari.value);
}

function com_num_chk(n){
	for(i = 0; i <  n.length; i++){
		t = n.substring(i,i+1);
		if(t == "0" || t == "1" || t == "2" || t == "3" || t == "4" ||
			t == "5" || t == "6" || t == "7" || t == "8" || t == "9" ||
			t == "."){
			continue;
		}else{
			return false;
		}
	}
	return true;
}

function c(n){
	cnt = 0;
	ans = "";
	len = n.length;
	for(i = 0; i < n.length; i++){
		t = n.substring(i,i+1);
		ans = ans + t;
		cnt = cnt + 1;
		if(n.length - cnt == 9 || n.length - cnt == 6 || n.length - cnt == 3){
			ans = ans + ",";
		}
	}
	return(ans);
}

function kakaku_chk(f){
	wk        = f.kakaku.value;
	wk_kakaku = f.kakaku.value;
	if(wk == ""){
		alert("物件価格が入力されていません。");
		f.kakaku.focus();
		return false;
	}
	if(!com_num_chk(wk)){
		alert ("物件価格は半角数字で入力してください。");
		f.kakaku.focus();
		return false;
	}
	if(wk < 500 || wk > 100000){
		alert ("物件価格は500万～100,000万円(10億円)の範囲で入力して下さい。");
		f.kakaku.focus();
		return false;
	}
	return true;
}

function n_syuunyuu_chk(f){
	wk = f.n_syuunyuu.value;
	if(wk == ""){
		alert("年間想定収入が入力されていません。");
		f.n_syuunyuu.focus();
		return false;
	}
	if(!com_num_chk(wk)){
		alert ("年間想定収入は半角数字で入力してください。");
		f.n_syuunyuu.focus();
		return false;
	}
	if(wk < 50 || wk > 100000){
		alert ("年間想定収入は50万～10,000万円(1億円)の範囲で入力して下さい。");
		f.n_syuunyuu.focus();
		return false;
	}
	return true;
}

function akiritsu_chk(f){
	wk = f.akiritsu.value;
	if(wk == ""){
		alert("空室率が入力されていません。");
		f.akiritsu.focus();
		return false;
	}
	if(!com_num_chk(wk)){
		alert ("空室率は半角数字で入力してください。");
		f.akiritsu.focus();
		return false;
	}
	if(wk < 0 || wk > 50.00){
		alert ("空室率は0％～50％の範囲で入力して下さい。");
		f.akiritsu.focus();
		return false;
	}
	return true;
}

function syokeiritsu_chk(f){
	wk = f.syokeiritsu.value;
	if(wk == ""){
		alert("諸経費率が入力されていません。");
		f.syokeiritsu.focus();
		return false;
	}
	if(!com_num_chk(wk)){
		alert ("諸経費率は半角数字で入力してください。");
		f.syokeiritsu.focus();
		return false;
	}
	if(wk < 10.00 || wk > 30.00){
		alert ("諸経費率は10％～30％の範囲で入力して下さい。");
		f.syokeiritsu.focus();
		return false;
	}
	return true;
}

function sikin_chk(f){
	wk = f.sikin.value;
	if(wk == ""){
		f.sikin.value = 0;
		return true;
	}
	if(!com_num_chk(wk)){
		alert ("自己資金は半角数字で入力してください。");
		f.sikin.focus();
		return false;
	}
	if(wk < 0 || wk > 100000){
		alert ("自己資金は0円～100,000万円(10億円)までの範囲で入力して下さい。");
		f.sikin.focus();
		return false;
	}
	return true;
}

function n_kari_chk(f){
	wk_kari = f.n_kari.value;
	if(wk_kari == ""){
		f.n_kari.value = 0;
		return true;
	}
	if(!com_num_chk(wk_kari)){
		alert ("借入額は半角数字で入力してください。");
		f.n_kari.focus();
		return false;
	}
	if(wk_kari < 0 || wk_kari > 100000){
		alert ("借入額は0円～100,000万円(10億円)までの範囲で入力して下さい。");
		f.n_kari.focus();
		return false;
	}
	return true;
}

function kikan_chk(f){
	wk_kari  = f.n_kari.value;
	wk_kikan = f.kikan.value;
	if(wk_kari == 0){
		f.kikan.value = 0;
		return true;
	}
	if(wk_kari != 0 && wk_kikan == ""){
		alert("借入期間が入力されていません。");
		f.kikan.focus();
		return false;
	}
	if(wk_kari != 0 && !com_num_chk(wk_kikan)){
		alert ("借入期間は半角数字で入力して下さい。");
		f.kikan.focus();
		return false;
	}
	if((wk_kari != 0) && (wk_kikan < 1 || wk_kikan > 35)){
		alert ("借入期間は最長35年とし、1年～35年の範囲で入力して下さい。");
		f.kikan.focus();
		return false;
	}
	return true;
}

function kinri_chk(f){
	wk_kari  = f.n_kari.value;
	wk_kinri = f.kinri.value;
	if(wk_kari == 0){
		f.kinri.value = 0;
		return true;
	}
	if(wk_kari != 0 && wk_kinri == ""){
		alert("借入利率が入力されていません。");
		f.kinri.focus();
		return false;
	}
	if(wk_kari != 0 && !com_num_chk(wk_kinri)){
		alert ("借入利率は半角数字で入力してください。");
		f.kinri.focus();
		return false;
	}
	if((wk_kari != 0) && (wk_kinri < 1.000 || wk_kinri > 8.00)){
		alert ("借入利率は1～8％の範囲で入力して下さい。");
		f.kinri.focus();
		return false;
	}
	return true;
}

function seigousei_chk(f){
	wk_kakaku = eval(f.kakaku.value);
	wk_sikin  = eval(f.sikin.value);
	wk_kari   = eval(f.n_kari.value);
	wk_total  = eval(wk_sikin + wk_kari);
	if(wk_kakaku != wk_total){
		alert("自己資金 + 借入額 ＝ 物件価格になるように入力してください。");
		f.sikin.focus();
		return false;
	}
	if((wk_kakaku == wk_total) && (wk_kari == 0)){
		f.n_kari.value = 0;
		f.kikan.value  = 0;
		f.kinri.value  = 0;
		return true;
	}
	return true;
}

function m_risoku_calc(zandaka,f){
	zandaka  = 100 * Math.floor(zandaka / 100);
	m_risoku = Math.floor(zandaka * (f.kinri.value) / 100 / 12);
	return(m_risoku);
}

function n_y_syuunyuu_calc(f){
	kingaku = eval(f.n_syuunyuu.value * 10000);
	return(kingaku);
}

function m_y_syuunyuu_calc(f){
	n_syuunyuu = eval(f.n_syuunyuu.value * 10000);
	kingaku    = Math.floor(n_syuunyuu / 12);
	return(kingaku);
}

function mon_hensai_calc(f){
	if(f.n_kari.value == 0){
		kingaku  = 0;
		return(kingaku);
	}else{
		wk_kari  = eval(f.n_kari.value * 10000);
		wk_kinri = eval(f.kinri.value / 100);
		wk_kaisu = eval(f.kikan.value * 12);
		wk_bunsi = wk_kari * (wk_kinri / 12) * Math.pow((1 + (wk_kinri / 12)),wk_kaisu);
		wk_bunbo = Math.pow((1 + (wk_kinri / 12)),wk_kaisu) - 1;
		kingaku  = wk_bunsi / wk_bunbo;
		return(kingaku);
	}
}

function tot_hensai_calc(f){
	if(f.n_kari.value == 0){
		kingaku  = 0;
		return(kingaku);
	}else{
 	 	wk_m_zandaka = eval(f.n_kari.value * 10000);
		mon_zandaka  = 100 * Math.floor(wk_m_zandaka / 100);
		wk_m_zandaka = mon_zandaka;
		wk_zandaka   = mon_zandaka;
		wk_kaisu     = eval(f.kikan.value * 12);
		tot_m_gankin = eval(f.n_kari.value * 10000);
		tot_m_risoku = 0;
		for (i = 1; i <= wk_kaisu; i++){
			wk_m_risoku  = m_risoku_calc(wk_m_zandaka,f);
			tot_m_risoku = tot_m_risoku + wk_m_risoku;
			wk_m_gankin  = mon_hensai - wk_m_risoku;
			wk_m_zandaka = wk_m_zandaka - wk_m_gankin;
			wk_m_hensai  = mon_hensai;
		}
		kingaku = tot_m_gankin + tot_m_risoku;
		return(kingaku);
	}
}

function n_syokeihi_calc(f){
	n_syuunyuu  = eval(f.n_syuunyuu.value * 10000);
	akiritsu    = eval(f.akiritsu.value / 100);
	syokeiritsu = eval(f.syokeiritsu.value / 100);
	kingaku     = eval(n_syuunyuu * (akiritsu + syokeiritsu));
	return(kingaku);
}

