// JavaScript Document
<!-- 元利均等返済額試算シミュレーション　-->
<!--
//Coded by Bit Co.Ltd.,2005/08/01

	//シミュレーションメインルーチン
	function sim_main(f){

	       	if (!(n_kari_chk(f) && b_kari_chk(f) && kikan_chk(f) && kinri_chk(f))){
	                return;
	       	 }

			//諸費用返済用変数宣言
			wk_n = eval(k_delete(document.f.n_kari.value));
	        wk_n_kari = wk_n * 10000;
			
			//各返済額の計算
	        mon_hensai = Math.floor(mon_hensai_calc(f));
	        bon_hensai = Math.floor(bon_hensai_calc(f));

	        tot_hensai = tot_hensai_calc(f);

			//各返済額の出力
	        document.f.mon_hensai.value = mon_hensai;
	        document.f.bon_hensai.value = bon_hensai + mon_hensai;
	        document.f.year_hensai.value = (mon_hensai * 12) +(bon_hensai * 2);
	        document.f.tot_hensai.value = tot_hensai;
	        document.f.mon_hensai.value = k_hensyu(document.f.mon_hensai.value);
	        document.f.bon_hensai.value = k_hensyu(document.f.bon_hensai.value);
	        document.f.tot_hensai.value = k_hensyu(document.f.tot_hensai.value);
	        document.f.year_hensai.value = k_hensyu(document.f.year_hensai.value);

	}

	//ラジオボタンチェック
	function radio(part){
	        if(part == "2.000"){
	                document.f.kinri.value = "2.000";
	        }
	        if(part == "2.250"){
	                document.f.kinri.value = "2.250";
	        }
	        if(part == "2.800"){
	                document.f.kinri.value = "2.800";
	        }
	        if(part == "3.500"){
	                document.f.kinri.value = "3.500";
	        }
		if(part == "2.375"){
	                document.f.kinri.value = "2.375";
	        }
	        if(part == "0"){
	                document.f.kinri.value = "";
	                document.f.kinri.focus();
	        }
	        return true;
	}

	//毎月返済利息の計算
	function m_risoku_calc(zandaka,f){
	        zandaka = 100 * Math.floor(zandaka / 100);

	        m_risoku = Math.floor(zandaka * (document.f.kinri.value) / 100 / 12);
	        return(m_risoku);
	        }

	//ボーナス返済利息の計算
	function b_risoku_calc(zandaka,f){
	        zandaka = 100 * Math.floor(zandaka / 100);
	        b_risoku = Math.floor(zandaka * (document.f.kinri.value) / 100 / 2);
	        return(b_risoku);
	        }

	//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 == "."){
	                        continue;
	                        }
	                else{
	                        return false;
	                }
	        }
	        return true;
	}

	//フォーカス喪失時のカンマ編集
	function lost_hensyu(obj){
	        obj.value = k_delete(obj.value);
	        obj.value = k_hensyu(obj.value);
	}

	//フォーカス喪失時のカンマ編集(ボーナス返済分)
	function k2_hensyu(f,b_kari){
	        b_kari1 = document.f.b_kari.value;
	        document.f.b_kari.value = k_delete(b_kari1);
	        b_kari1 = document.f.b_kari.value;
	        f.b_kari.value = k_hensyu(b_kari1);
	        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);
	}

//ADD Start (20040204)

	// 全角数字→半角数字変換(及びカンマ除去)
	function zenToHanChange(v) {
		var s = "";
		if(v) {
			var l = v.length;
			var w;
			var f;
			for(i=0;i<l;i++) {
				f = false;
				w = v.substring(i,i+1);
				if ((w == "0") || (w == "1") || (w == "2") || (w == "3") || (w == "4") || (w == "5") || (w == "6") || (w == "7") || (w == "8") || (w == "9") || (w == ".")) {
					s += w;
				} else {
					if (w == "０") {s += "0"; f = true;}
					if (w == "１") {s += "1"; f = true;}
					if (w == "２") {s += "2"; f = true;}
					if (w == "３") {s += "3"; f = true;}
					if (w == "４") {s += "4"; f = true;}

					if (w == "５") {s += "5"; f = true;}
					if (w == "６") {s += "6"; f = true;}
					if (w == "７") {s += "7"; f = true;}
					if (w == "８") {s += "8"; f = true;}
					if (w == "９") {s += "9"; f = true;}
					if (w == "．") {s += "."; f = true;}
					if (w == "," || w == "，") {f = true;}
					if (!f) s += w;
				}
			}
		}
		return s;
	}

	//両端の半角/全角スペース除去
	function jsTrim(v) {
		// 前方
		var s = "";
		s = v.replace(/^[ 　]+/,"");
		// 後方
		var l = s.length;
		var w;
		var aW = new Array();
		var j = 0;
		if(l > 1){
			for(i=l;i>=1;i--) {
				w = s.substring(i-1,i);
				if(((w != " ") && (w != "　")) || aW[0]) {
					aW[j] = w;
					j++;
				}
			}
			s = "";
			l = aW.length;
			aW.reverse();
			for(i=0;i<l;i++) {
				s += aW[i];
			}
		}
		return s;
	}

//ADD End (20040204)

	//お借入額の入力チェック
	function n_kari_chk(f) {
			document.f.n_kari.value = zenToHanChange(jsTrim(document.f.n_kari.value));
	        wk = document.f.n_kari.value;
			document.f.n_kari.value = k_hensyu(document.f.n_kari.value);
	        if (wk == ""){
	                alert("お借入額が入力されていません。");
	                document.f.n_kari.focus();
	                return false;
	        }
//Mod 04216 if (!com_num_chk(wk)){
			if (isNaN(wk)) {
	                alert ("お借入額は半角数字で入力してください。");
	                document.f.n_kari.focus();
	                return false;
	        }
	        if(wk < 50 || wk > 10000){
	                alert ("お借入額は５０万円～1億円の間で入力してください。");
	                document.f.n_kari.focus();
	                return false;
	        }
	       return true;
	}

	//ボーナス返済額の入力チェック
	function b_kari_chk(f) {
//	        wk_n = document.f.n_kari.value;
	        wk_n = k_delete(document.f.n_kari.value);
			document.f.b_kari.value = zenToHanChange(jsTrim(document.f.b_kari.value));
	        wk_b = document.f.b_kari.value;
			document.f.b_kari.value = k_hensyu(document.f.b_kari.value);
	        if (wk_b == ""){
					alert("ボーナス返済額を入力してください。");
	                document.f.b_kari.value = "0";
					document.f.b_kari.focus();
	                return false;
	        }
//Mod 04216 if (!com_num_chk(wk_b)){
			if (isNaN(wk_b)){
	                alert ("ボーナス返済額は半角数字で入力してください。");
	                document.f.b_kari.focus();
	                return false;
	        }
	        if((wk_b * 2) > wk_n){
	                alert ("ボーナス返済額はお借入額の半分以下を入力して下さい。");
	                document.f.b_kari.focus();
	                return false;
	        }
			return true;
	}

	//借入期間の入力チェック
	function kikan_chk(f) {
			document.f.kikan.value = zenToHanChange(jsTrim(document.f.kikan.value));
	        wk = document.f.kikan.value;
	        if (wk == ""){
	                alert("返済期間が入力されていません。");
	                document.f.kikan.focus();
	                return false;
	        }
//Mod 04216 if (!com_num_chk(wk)){
	        if (isNaN(wk)){
	                alert ("返済期間は半角数字で入力してください。");
	                document.f.kikan.focus();
	                return false;
	        }
	        if(wk < 2 || wk > 35){
	                alert ("返済期間は２～３５年の間で入力して下さい。");
	                document.f.kikan.focus();
	                return false;
	        }
	        return true;
	}

	//金利の入力チェック
	function kinri_chk(f) {
			document.f.kinri.value = zenToHanChange(jsTrim(document.f.kinri.value));
	        wk = document.f.kinri.value;
	        if (wk == ""){
	                alert("金利が入力されていません。");
	                document.f.kinri.focus();
	                return false;
	        }

	        if (isNaN(wk)){
	                alert ("金利は半角数字で入力してください。");
	                document.f.kinri.focus();
	                return false;
	        }
	        if(wk < 0.001 || wk > 15.00){
	                alert ("金利は0.001～15.00%の間で入力して下さい。");
	                document.f.kinri.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 mon_hensai_calc(f){
			wk_n = eval(k_delete(document.f.n_kari.value));
	        wk_b = eval(k_delete(document.f.b_kari.value));
	        wk_kari = (wk_n * 10000) - (wk_b * 10000);
	        wk_kinri = eval(document.f.kinri.value / 100);
	        wk_kaisu = eval(document.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 = Math.floor(wk_bunsi / wk_bunbo);
	        return(kingaku);
	        }

	//ボーナス返済額の計算
	function bon_hensai_calc(f){
	        wk_b = eval(k_delete(document.f.b_kari.value));
	        wk_b_kari = wk_b * 10000;
	        wk_kinri = eval(document.f.kinri.value / 100);
	        wk_kaisu = eval(document.f.kikan.value * 2);
	        wk_bunsi = wk_b_kari * wk_kinri / 2 * (1 + 6 * wk_kinri / 12) * Math.pow((1 + wk_kinri / 2),(wk_kaisu - 1));
	        wk_bunbo = Math.pow(1 + wk_kinri / 2,wk_kaisu) - 1;

	        kingaku = Math.floor(wk_bunsi / wk_bunbo);
	        return(kingaku);
	}

	//総返済額の計算
	function tot_hensai_calc(f){
			wk_n = eval(k_delete(document.f.n_kari.value));
	        wk_b = eval(k_delete(document.f.b_kari.value));
	        wk_m_zandaka = (wk_n - wk_b) * 10000;
	        mon_zandaka = 100 * Math.floor(wk_m_zandaka / 100);
	        wk_b_zandaka = wk_b * 10000;
	        bon_zandaka = 100 * Math.floor(wk_b_zandaka / 100);
	        wk_m_zandaka = mon_zandaka;
	        wk_b_zandaka = bon_zandaka;
	        wk_zandaka = mon_zandaka + bon_zandaka;
	        wk_kaisu = eval(document.f.kikan.value) * 12;

	        tot_m_gankin = (wk_n - wk_b) * 10000;
	        tot_b_gankin = wk_b * 10000;

	        //毎月返済＆ボーナス返済利息合計
	        tot_m_risoku = 0;
	        tot_b_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;
	                if(i % 6 == 0){
	                        wk_b_risoku = b_risoku_calc(wk_b_zandaka,f);
	                        tot_b_risoku = tot_b_risoku + wk_b_risoku;
	                        wk_b_gankin = bon_hensai - wk_b_risoku;
	                        wk_b_zandaka = wk_b_zandaka - wk_b_gankin;
	                        wk_m_hensai = mon_hensai + wk_b_risoku + wk_b_gankin;
	                }else{
	                        wk_m_hensai = mon_hensai;
	                }
	        }

	        //毎月返済額合計
	        kingaku = tot_m_gankin + tot_b_gankin + tot_m_risoku + tot_b_risoku;
	        return(kingaku);
	  }

	//フォーカス処理
	function init_focus(f){
	        document.f.forms[0].elements[0].focus();
	        }


// -->
