// JavaScript Document

// JavaScript未対応のブラウザの為の対処
//リセットルーチン
function reset(f){

	f.i_m_siha.value = "";

	f.i_b_siha.value = "";

	f.i_kanri.value = "";

	f.i_park.value = "";

	f.i_y_syuu.value = "";

	f.i_kikan.value = "";

	f.i_sikin.value = "";

	}

//シミュレーションメインルーチン

function sim_main(f)

{

	f.i_m_siha.value = k_delete(f.i_m_siha.value);

	f.i_b_siha.value = k_delete(f.i_b_siha.value);

	f.i_kanri.value = k_delete(f.i_kanri.value);

	f.i_park.value = k_delete(f.i_park.value);

	f.i_y_syuu.value = k_delete(f.i_y_syuu.value);

	f.i_kikan.value = k_delete(f.i_kikan.value);

	f.i_sikin.value = k_delete(f.i_sikin.value);

	if (!(i_m_siha_chk(f) && i_b_siha_chk(f) && i_kanri_chk(f) && i_park_chk(f) && i_y_syuu_chk(f) && i_sikin_chk(f) && i_syohi_ritu_chk(f) && i_kinri_chk(f)))

	{

return;

	}

//諸費用返済用変数宣言

//	wk_i_m_siha.value = eval(f.i_m_siha.value);

//	wk_i_b_siha.value = eval(f.i_b_siha.value);

//	wk_i_kanri.value = eval(f.i_kanri.value);

//	wk_i_park.value = eval(f.i_park.value);

//	wk_i_y_syuu.value = eval(f.i_y_syuu.value);

//	wk_i_kikan.value = eval(f.i_kikan.value)*12;

//	wk_i_sikin.value = eval(f.i_sikin.value)*10000;

//	各返済額の計算

	bukken_kakaku = Math.ceil(bukken_kakaku_calc(f));

	syohiyou = Math.ceil(syohiyo_calc(f));

	hiritu = hiritu_calc(f);

//預入金変換

	f.i_m_siha.value = k_hensyu(f.i_m_siha.value);

	f.i_b_siha.value = k_hensyu(f.i_b_siha.value);

	f.i_kanri.value = k_hensyu(f.i_kanri.value);

	f.i_park.value = k_hensyu(f.i_park.value);

	f.i_y_syuu.value = k_hensyu(f.i_y_syuu.value);

//	f.i_kikan.value = k_hensyu(f.i_kikan.value);

	f.i_sikin.value = k_hensyu(f.i_sikin.value);

//	各返済額の出力

	f.bukken_kakaku.value = bukken_kakaku;

	f.syohiyou.value = syohiyou;

//	f.tot_hensai.value = bukken_kakaku+syohiyou;

	f.hiritu.value = hiritu;

	f.bukken_kakaku.value = k_hensyu(f.bukken_kakaku.value);

	f.syohiyou.value = k_hensyu(f.syohiyou.value);

//	f.tot_hensai.value = k_hensyu(f.tot_hensai.value);

	f.hiritu.value = f.hiritu.value;

}

//Numericチェック

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 == "." || t == ","){

 	continue;

	}

else{

	return false;

}

	}

	return true;

}

//カンマ編集

function k_hensyu(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 k_delete(n) {

ans = "";

len = n.length;

for(i = 0; i < n.length; i++){

	t = n.substring(i,i+1);

	if(t == ","){

t = "";

	}

	ans = ans + t;

}

return(ans);

}

//お借入額の入力チェック

function i_m_siha_chk(f) {

	wk = f.i_m_siha.value;

	if (wk == ""){

alert("月々お支払い可能額が入力されていません。");

f.i_m_siha.focus();

return false;

	}

	if (!com_num_chk(wk)){

alert ("月々お支払い可能額は半角数字で入力してください。");

f.i_m_siha.focus();

return false;

	}

	if (wk < 1){

alert ("月々お支払い可能額は１万円～で入力して下さい。");

f.i_m_siha.focus();

return false;

	}

	if (wk % 1 != 0){

alert ("氏Xお支払い可能額は１万円単位で入力して下さい。");

return false;

	}

	return true;

}

//ボーナス返済額の入力チェック

function i_b_siha_chk(f) {

	wk_b = f.i_b_siha.value;

	if (wk_b == ""){

f.i_b_siha.value = "0";

return true;

	}

	if (!com_num_chk(wk_b)){

alert ("ボーナス返済額は半角数字で入力してください。");

f.i_b_siha.focus();

return false;

	}

	return true;

}

function i_kanri_chk(f) {

	wk_b = f.i_kanri.value;

	if (wk_b == ""){

f.i_kanri.value = "0";

return true;

	}

	if (!com_num_chk(wk_b)){

alert ("管理費は半角数字で入力してください。");

f.i_kanri.focus();

return false;

	}

	return true;

}

function i_park_chk(f) {

	wk = f.i_park.value;

	if (wk == ""){

f.i_park.value = "0";

return true;

	}

	if (!com_num_chk(wk)){

alert ("駐車場代は半角数字で入力してください。");

f.i_park.focus();

return false;

	}

	return true;

}

function i_y_syuu_chk(f) {

	wk = f.i_y_syuu.value;

	if (wk == ""){

alert("年収が入力されていません。");

f.i_y_syuu.focus();

return false;

	}

	if (!com_num_chk(wk)){

alert ("年収は半角数字で入力してください。");

f.i_y_syuu.focus();

return false;

	}

	return true;

}

//借入期間の入力チェック

function i_kikan_chk(f) {

	wk = f.i_kikan.value;

	if (wk == ""){

alert("返済期間が入力されていません。");

f.i_kikan.focus();

return false;

	}

	if (!com_num_chk(wk)){

alert ("返済期間は半角数字で入力してください。");

f.i_kikan.focus();

return false;

	}

	if(wk < 1 || wk> 50){

alert ("返済期間は１～５０年の間で入力して下さい。");

f.i_kikan.focus();

return false;

	}

	return true;

}

function i_sikin_chk(f) 

{

	wk = f.i_sikin.value;

	if (wk == "")

	{

f.i_sikin.value = "0";

return true;

	}

	if (!com_num_chk(wk))

	{

alert ("自己資金は半角数字で入力してください。");

f.i_sikin.focus();

return false;

	}

	return true;

}

//金利の入力チェック

function i_kinri_chk(f) {

	wk = f.i_kinri.value;

	if (wk == ""){

alert("金利が入力されていません。");

f.i_kinri.focus();

return false;

	}

	if (!com_num_chk(wk)){

alert ("金利は半角数字で入力してください。");

f.i_kinri.focus();

return false;

	}

	if(wk < 0.001 || wk> 99.999){

alert ("金利は0.001～99.999%の間で入力して下さい。");

f.i_kinri.focus();

return false;

	}

	return true;

}

function i_syohi_ritu_chk(f) {

	wk = f.i_syohi_ritu.value;

	if (wk == ""){

f.i_syohi_ritu.value = "0";

return true;

	}

	if (!com_num_chk(wk)){

alert ("管理費は半角数字で入力してください。");

f.i_syohi_ritu.focus();

return false;

	}

	return true;

}

//ブラウザのチェック

function br_chk(m){

	e_lit = "";

	ee_lit = "";

	msg = "";

	e_msg = "";

	ee_msg = "";

	flg = "off";

	if(navigator.appName == "Netscape" && navigator.appVersion.substring(0,3) == "3.0"){

for(i=0; i<m.length; i++){

	lit = m.substring(i,i+1);

	e_lit = escape(lit);

	e_len = e_lit.length;

	for(j=0; j<e_lit.length; j++){

ee_lit = e_lit.substring(j,j+1);

if(ee_lit == "%" && e_len == 3){

	ee_lit = e_lit.substring(j,j+3);

	j = j + 3;

}

if(ee_lit == "%8E"){

	e_msg = e_msg + "%8E%8E";

}

e_msg = e_msg + e_lit;

	}

	msg = unescape(e_msg);

}

return(msg);

	}else{

return(m);

	}

}

//計算

function bukken_kakaku_calc(f){

	wk_pmt = (-1)*((eval(f.i_m_siha.value) *12 + eval(f.i_b_siha.value) *2)/12-eval(f.i_kanri.value)-eval(f.i_park.value));

	wk_rate = eval(f.i_kinri.value) / 100;

	wk_ritu = eval(f.i_syohi_ritu.value) / 100;

	wk_nper = eval(f.i_kikan.value) * 12;

	wk_bunsi = wk_pmt /(wk_rate/12)*(1-(Math.pow((1 + (wk_rate / 12)),wk_nper)));

	wk_bunbo = Math.pow((1 + (wk_rate / 12)),wk_nper);

	kingaku = ((wk_bunsi / wk_bunbo)+eval(f.i_sikin.value)*10000)/(wk_ritu+1);

//	kingaku = 100000;

	return(kingaku);

	}

function syohiyo_calc(f){

	wk_pmt = (-1)*((eval(f.i_m_siha.value) *12 + eval(f.i_b_siha.value) *2)/12-eval(f.i_kanri.value)-eval(f.i_park.value));

	wk_rate = eval(f.i_kinri.value) / 100;

	wk_ritu = eval(f.i_syohi_ritu.value) / 100;

	wk_nper = eval(f.i_kikan.value) * 12;

	wk_bunsi = wk_pmt /(wk_rate/12)* (1-(Math.pow((1 + (wk_rate / 12)),wk_nper)));

	wk_bunbo = Math.pow((1 + (wk_rate / 12)),wk_nper);

	kingaku = ((wk_bunsi / wk_bunbo)+eval(f.i_sikin.value)*10000)*wk_ritu/(wk_ritu+1);

//	kingaku=1000000.876;

	return(kingaku);

	}

function hiritu_calc(f){

	wk_rat = (eval(f.i_m_siha.value) *12 + eval(f.i_b_siha.value) *2)/eval(f.i_y_syuu.value)/10000*100;

//	wk_rat=27.5876;

	wk_rat = Math.round(wk_rat*10);

	wk_rat = wk_rat/10

	return(wk_rat);

	}

//フォーカス処理

function init_focus(f){

	f.forms[0].elements[0].focus();

	}