//フラット35らくらく診断
warningMes2 = new Array();
warningMes2[0] = '';
warningMes2[1] = '<p class=\"warining\">総返済負担率の基準（30％）以下になるように、<br>借入可能額を減額させていただきました。<br><span style="font-size: 90%; font-weight: normal;">※総返済負担率とは、収入に占める各種ローンの返済割合です。</span></p><ul class=\"link\"><li><a href="../guide/outline/index.html#use" target="_blank">フラット３５のご利用条件等ついての詳細はこちら</a></li></ul>';
warningMes2[2] = '<p class=\"warining\">総返済負担率の基準（35％）以下になるように、<br>借入可能額を減額させていただきました。<br><span style="font-size: 90%; font-weight: normal;">※総返済負担率とは、収入に占める各種ローンの返済割合です。</span></p><ul class=\"link\"><li><a href="../guide/outline/index.html#use" target="_blank">フラット３５のご利用条件等ついての詳細はこちら</a></li></ul>';

warningMes1 = new Array();
warningMes1[0] = '';
warningMes1[1] = '<p class=\"warining\">ご希望の金額をお借入できません。</p>';

function warning4(obj,type,num){
document.getElementById(obj).style.display = "block";
document.getElementById(obj).innerHTML = eval("warningMes"+type)[num];
}

function resetwarning4(){
document.getElementById("warning1").innerHTML = "";
document.getElementById("warning2").innerHTML = "";
document.getElementById("warning1").style.display = "none";
document.getElementById("warning2").style.display = "none";
}

//-------------------------------------------------

//借入希望金額の入力チェック
function karikin_chk4(fm4) {
	w_karikin = document.fm4.kinngaku4.value;
	w_karinen = document.fm4.karinen4.value;
	w_kensetsuhi = document.fm4.kensetsuhi4.value;
	w_nenshu = document.fm4.nenshu4.value;
	w_yold = document.fm4.yold4.value;
	w_menseki = document.fm4.menseki4.value;

//年齢チェック
	if (w_yold == ""){
		alert("年齢を入力してください。");
		document.fm4.yold4.focus();
		return false;
	}

	if (w_yold >= 70){
		alert("年齢が70歳未満の方がお申し込みいただけます。\n親子リレー返済を利用される場合には、70歳以上の方もお申し込みいただけますが、当シミュレーションでは対応しておりません。\n（親子リレー返済については、「資金計画診断システム」でご確認いただけます。）");
		document.fm4.yold4.focus();
		return false;
	}

//年収チェック
	if (w_nenshu == ""){
		alert("年収を入力してください。");
		document.fm4.nenshu4.focus();
		return false;
	}
	if (!checkNum4(w_nenshu)){
		alert ("年収は半角数字で入力してください。");
		document.fm4.nenshu4.focus();
		return false;
	}
	karicheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_nenshu.match(karicheck)) {}
	else{   alert("年収に入力された値は数字ではありません。");
		document.fm4.nenshu4.focus();
		return false;
	}
	if (w_nenshu == "."){
		alert("年収に入力された値は数字ではありません。");
		document.fm4.nenshu4.focus();
		return false;
	}

//面積チェック

	if (w_menseki == ""){
		alert("面積を入力してください。");
		document.fm4.menseki4.focus();
		return false;
	}
	if (!checkNum4(w_menseki)){
		alert ("面積は半角数字で入力してください。");
		document.fm4.menseki4.focus();
		return false;
	}
	karicheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_menseki.match(karicheck)) {}
	else{   alert("面積に入力された値は数字ではありません。");
		document.fm4.menseki4.focus();
		return false;
	}
	if (w_menseki == "."){
		alert("面積に入力された値は数字ではありません。");
		document.fm4.menseki4.focus();
		return false;
	}
	
	if (document.fm4.type4[0].checked == true){
	var type = 0;
	} else if (document.fm4.type4[1].checked == true){
	var type = 1;
	}
	
	
	if (type == 0){
		if (w_menseki < 70){
			alert("住宅面積は70㎡以上必要です。");
			document.fm4.menseki4.focus();
			return false;
		}
	} else if (type == 1){
		if (w_menseki < 30){
			alert("住宅面積は30㎡以上必要です。");
			document.fm4.menseki4.focus();
			return false;
		}
	}

//他の借入金の返済額チェック
/*	if (w_karinen == ""){
		alert("他の借入金の返済額を入力してください。");
		document.fm4.karinen4.focus();
		return false;
	}
	if (!checkNum4(w_karinen)){
		alert ("他の借入金の返済額は半角数字で入力してください。");
		document.fm4.karinen4.focus();
		return false;
	}*/
//	karicheck = /.*\..*\..*|.*\..*\..*\..*/;
/*	if (!w_karinen.match(karicheck)) {}
	else{   alert("他の借入金の返済額に入力された値は数字ではありません。");
		document.fm4.karinen4.focus();
		return false;
	}
	if (w_karinen == "."){
		alert("他の借入金の返済額に入力された値は数字ではありません。");
		document.fm4.karinen4.focus();
		return false;
	}*/

//建設費または購入価額チェック
	if (w_kensetsuhi == ""){
		alert("建設費または購入価額を入力してください。");
		document.fm4.kensetsuhi4.focus();
		return false;
	}
	if (!checkNum4(w_kensetsuhi)){
		alert ("建設費または購入価額は半角数字で入力してください。");
		document.fm4.kensetsuhi4.focus();
		return false;
	}
	karicheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_kensetsuhi.match(karicheck)) {}
	else{   alert("建設費または購入価額に入力された値は数字ではありません。");
		document.fm4.kensetsuhi4.focus();
		return false;
	}
	if (w_kensetsuhi == "."){
		alert("建設費または購入価額に入力された値は数字ではありません。");
		document.fm4.kensetsuhi4.focus();
		return false;
	}

	if (w_kensetsuhi >10000){
		alert("建設費または購入価額が、1億円以下の住宅が対象となります。");
		document.fm4.kensetsuhi4.focus();
		return false;
	}

//借入希望金額チェック
	if (w_karikin == ""){
		alert("借入希望金額を入力してください。");
		document.fm4.kinngaku4.focus();
		return false;
	}
	if (!checkNum4(w_karikin)){
		alert ("借入希望金額は半角数字で入力してください。");
		document.fm4.kinngaku4.focus();
		return false;
	}
	karicheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_karikin.match(karicheck)) {}
	else{   alert("借入希望額に入力された値は数字ではありません。");
		document.fm4.kinngaku4.focus();
		return false;
	}
	if (w_karikin == "."){
		alert("借入希望額に入力された値は数字ではありません。");
		document.fm4.kinngaku4.focus();
		return false;
	}

	w_kensetsuhi80 = w_kensetsuhi * 0.9;

	if ( w_karikin < 100 || w_karikin >8000 || w_karikin > w_kensetsuhi80){

	alert("借入希望額は、100万円以上8，000万円以下で、建設費又は購入価額の90％以内までとなります。");
	document.fm4.kinngaku4.focus();
	return false;

	}

//返済期間
	kikan=document.fm4.hensaikikan4.value;
	if (w_yold < 60){
		if (kikan <15 || kikan > 79 - w_yold){
		alert("返済期間は、15年以上35年以内で、完済時の年齢が80歳となるまでの年数が限度になります。\n\n　　「最長返済期間＝「80歳」-「申込本人の申込時の年齢（1歳未満切り上げ）」 ");
		return false;
		}
	}

//alert(w_yold);
	if (w_yold >= 60){
		if (kikan < 10 || kikan > 79 - w_yold){
		alert("返済期間は、10年以上で、完済時の年齢が80歳となるまでの年数が限度になります。\n\n　　「最長返済期間＝「80歳」-「申込本人の申込時の年齢（1歳未満切り上げ）」 ");
		return false;
		}
	}
	return true;
}

//金利の入力チェック
function kinri_chk4(fm4) {
	w_kinri = document.fm4.kinri4.value;
	if (w_kinri == ""){
		alert("金利を入力してください。");
		document.fm4.kinri4.focus();
		return false;
	}
	if (!checkNum4(w_kinri)){
		alert ("金利は半角数字で入力してください。");
		document.fm4.kinri4.focus();
		return false;
	}
	if(w_kinri > 15 || w_kinri < 0.001){
		alert ("金利は0.001～15.0で入力して下さい");
		document.fm4.kinri4.focus();
		return false;
	}
	kinricheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_kinri.match(kinricheck)) {}
	else{   alert("金利に入力された値は数字ではありません。");
		document.fm4.kinri4.focus();
		return false;
        }
	if (w_kinri == "."){
		alert("金利に入力された値は数字ではありません。");
		document.fm4.kinri4.focus();
		return false;
	}
	return true;
}

//数値入力のチェック
function checkNum4(j) {
	for(i = 0 ; i < j.length ; i++){
		chkchar = j.substring(i,i+1);
		if (chkchar != "0" && chkchar != "1" &&
		chkchar != "2" && chkchar != "3" &&
		chkchar != "4" && chkchar != "5" &&
		chkchar != "6" && chkchar != "7" &&
		chkchar != "8" && chkchar != "9" &&
		chkchar != "."){
			return false;
		}
	}
	return true;
}

//他の借入金の入力チェック
function kariire_chk4(fm4) {
	w_karitsuki = document.fm4.karitsuki4.value;
	if (!checkNum4(w_karitsuki)){
		alert ("他の借入金の毎月返済額は半角数字で入力してください。");
		document.fm4.karitsuki4.focus();
		return false;
	}
	karitsukicheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_karitsuki.match(karitsukicheck)) {}
	else{   alert("他の借入金の毎月返済額に入力された値は数字ではありません。");
		document.fm4.karitsuki4.focus();
		return false;
        }
	if (w_karitsuki == "."){
		alert("他の借入金の毎月返済額に入力された値は数字ではありません。");
		document.fm4.karitsuki4.focus();
		return false;
	}

	w_karibo = document.fm4.karibo4.value;
	if (!checkNum4(w_karibo)){
		alert ("他の借入金のボーナス月増額分返済額は半角数字で入力してください。");
		document.fm4.karibo4.focus();
		return false;
	}
	karibocheck = /.*\..*\..*|.*\..*\..*\..*/;
	if (!w_karibo.match(karibocheck)) {}
	else{   alert("他の借入金のボーナス月増額分返済額に入力された値は数字ではありません。");
		document.fm4.karibo4.focus();
		return false;
        }
	if (w_karibo == "."){
		alert("他の借入金のボーナス月増額分返済額に入力された値は数字ではありません。");
		document.fm4.karibo4.focus();
		return false;
	}
	return true;
}

//返済方法の入力チェック
function henhou_chk4(fm4) {
        return true;
}

//-------------------------------------------------

//他の借入金の年間返済額の算出
function karinenkeisan4() {
	//入力項目のチェック
	if (!(kariire_chk4(document.fm4))){return;}
	document.fm4.karinen4.value = document.fm4.karitsuki4.value*12 + document.fm4.karibo4.value*2;
}

//-------------------------------------------------

//カンマの編集

function khensyu4(x) {

	if (navigator.platform.indexOf("Win") != -1) {
		var s = "" + x;
		var p = s.indexOf(".");
		if (p < 0) {
			p = s.length;
		}
		var r = s.substring(p, s.length);
		for (var i = 0; i < p; i++) {
			var c = s.substring(p - 1 - i, p - 1 - i + 1);
			if (c < "0" || c > "9") {
				r = s.substring(0, p - i) + r;
				break;
			}
			if (i > 0 && i % 3 == 0) {
				r = "," + r;
			}
			r = c + r;
		}
		return r;
	
	} else {
	return x;
	}
}

//-------------------------------------------------

//割賦金計算
function loan4_kappukeisan() {
	resetwarning4();
	location.href="#kekka";
	
	//入力項目のチェック
	if (!(henhou_chk4(document.fm4) && karikin_chk4(document.fm4) && kinri_chk4(document.fm4) && kariire_chk4(document.fm4))){return;}
	
	document.getElementById("keisan_form4").style.display = "block";
	document.getElementById("keisan_kekka4").style.display = "block";
	
	if (document.fm4.hensaihouhou4[0].checked == true){
		var henhou = 0;
	} else if (document.fm4.hensaihouhou4[1].checked == true){
		var henhou = 1;
	}
	
	//借入可能額が0になる場合
	if(document.fm4.nenshu4.value<400){
		if(document.fm4.karinen4.value>=document.fm4.nenshu4.value*0.3){
			alert("「他の借入金の返済額」が総返済負担率の基準（30％）を超えています。\n他の借入金を減額するなど、資金計画を見直していただき、\n再度条件をご入力ください。");
			document.fm4.kariirekanougaku4.value="";
			document.fm4.tsukihensaigaku4.value="";
			return false;
		}
	} else {
		if(document.fm4.karinen4.value>=document.fm4.nenshu4.value*0.35){
			alert("「他の借入金の返済額」が総返済負担率の基準（35％）を超えています。\n他の借入金を減額するなど、資金計画を見直していただき、\n再度条件をご入力ください。");
			document.fm4.kariirekanougaku4.value="";
			document.fm4.tsukihensaigaku4.value="";
			return false;
		}
	}
	
	if ( henhou == 1 ){
		kaisuu=document.fm4.hensaikikan4.value;
		kaisuu=kaisuu*12;
		
		//w_nenshu4 = ( document.fm4.nenshu4.value / 12 ) / 4;
		
		//20070905修正
		//100万円あたり返済額（元金均等）
		hen=Math.floor(1000000*document.fm4.kinri4.value/100/12*100)/100 + Math.floor(1000000/document.fm4.hensaikikan4.value/12*100)/100;
		
		//割賦金の計算
		//x=w_nenshu4*10000/(1/kaisuu+document.fm4.kinri4.value*0.01/12);
		//割賦金の計算 20070905修正
		var kijun=30;
		if(document.fm4.nenshu4.value>=400){kijun=35;}
		x=Math.floor((Math.floor(document.fm4.nenshu4.value*10000*kijun/100/12-(document.fm4.karinen4.value*10000)/12)/hen)*100);
		
		if(x > document.fm4.kinngaku4.value){
			x = document.fm4.kinngaku4.value;
		}
		
		if(x>8000){
			alert("貸付上限8,000万円を超過しますので、借入可能額は8,000万円となります。");
			document.fm4.kariirekanougaku4.value=8000;
			document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
		}
		else{
			if(x<100){
				alert("貸付下限100万円を下回りますので、条件を再度入れなおしてください。");
				document.fm4.kariirekanougaku4.value="";
				document.fm4.tsukihensaigaku4.value="";
				return false;
			}
			else{
				document.fm4.kariirekanougaku4.value=x;
				document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
			}
		}
		
		//円から万円に
		//x=Math.floor(x/10000);
		y = w_kensetsuhi * 0.9;
		z = w_karikin;
		
		hikakuArray = new Array(x,y,z);
		hikakuArray.sort(func);
		//alert(hikakuArray);
		
		document.fm4.kariirekanougaku4.value=hikakuArray[0];
		document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
		
		kinri=document.fm4.kinri4.value;
		
		//gankinkappukeisan4()
		
		//alert(Math.ceil(c/1000*10000)/10)
		//document.fm4.tsukihensaigaku4.value=Math.floor(Math.ceil(c/1000*10000)/10);
		//alert(Math.floor(Math.ceil(c/1000*10000)/10));
		//alert(document.fm4.tsukihensaigaku4.value);
		//hensaigaku = document.fm4.tsukihensaigaku4.value / 10000;
		//document.fm4.tsukihensaigaku4.value=khensyu4(document.fm4.tsukihensaigaku4.value);
		
	} else {
		kaisuu=document.fm4.hensaikikan4.value;
		kaisuu=kaisuu*12;
		
		//w_nenshu4 = ( document.fm4.nenshu4.value / 12 ) / 4;
		
		//20070905修正
		//100万円あたり返済額（元利均等）
		var amt=100;
		var r=document.fm4.kinri4.value;            
		var kai=document.fm4.hensaikikan4.value*12;
		var rr=1+r/100/12;
		var hen=10000*amt*(rr-1)*Math.pow(rr,kai)/(Math.pow(rr,kai)-1);
		if(hen==Math.floor(100*amt*r/12)){
			hen=hen+1;
		}
		
		//割賦金の計算
		//ganrikaisuu=Math.floor(kaisuu+0.05);
		//a=1-Math.pow(1+(document.fm4.kinri4.value*0.01/12),(-ganrikaisuu));
		//x=a*w_nenshu4*10000/(document.fm4.kinri4.value*0.01/12);
		//割賦金の計算 20070905修正
		var kijun=30;
		if(document.fm4.nenshu4.value>=400){kijun=35;}
		x=Math.floor((Math.floor(document.fm4.nenshu4.value*10000*kijun/100/12-(document.fm4.karitsuki4.value*10000*12+document.fm4.karibo4.value*10000*2)/12)/hen)*100);
		
		if(x > document.fm4.kinngaku4.value){
			x = document.fm4.kinngaku4.value;
		}
		
		//円から万円に（借入金額）
		//x = Math.floor(x/10000);
		
		if(x>8000){
			alert("貸付上限8,000万円を超過しますので、借入可能額は8,000万円となります。");
			document.fm4.kariirekanougaku4.value=8000;
			document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
		}
		else{
			if(x<100){alert("貸付下限100万円を下回りますので、条件を再度入れなおしてください。");
				  document.fm4.kariirekanougaku4.value="";
				  document.fm4.tsukihensaigaku4.value="";
				  return false;
			}else{
				document.fm4.kariirekanougaku4.value=x;
				document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
			}
		}

		y = w_kensetsuhi * 0.9;
		z = w_karikin;
		
		hikakuArray = new Array(x,y,z);
		hikakuArray.sort(func);
		
		document.fm4.kariirekanougaku4.value=hikakuArray[0];
		document.fm4.kariirekanougaku4.value=khensyu4(document.fm4.kariirekanougaku4.value);
		
		kinri=document.fm4.kinri4.value;
		
		//ganrikappukeisan4()
		
		//document.fm4.tsukihensaigaku4.value=Math.floor(Math.ceil(b/1000 * 10000)/10);
		//hensaigaku = document.fm4.tsukihensaigaku4.value / 10000;
		//document.fm4.tsukihensaigaku4.value=khensyu4(document.fm4.tsukihensaigaku4.value);
	}
	// end if
	
	//毎月の返済額表示
	document.fm4.tsukihensaigaku4.value=Math.ceil(Math.floor(x*hen/100)/1000);
	document.fm4.tsukihensaigaku4.value=khensyu4(document.fm4.tsukihensaigaku4.value);
	
	//総返済負担率チェック
	//futan = (tsukihensaigaku*12 + document.fm4.karinen4.value*10000)/10000;
	//alert(w_nenshu);
	//return false;
	
	//不足金額チェック
	fusoku = w_karikin - hikakuArray[0];
	
	if (fusoku > 0){
		warning4('warning1', 1, 1);
		if(w_nenshu < 400){
			warning4('warning2', 2, 1);
		} else {
			warning4('warning2', 2, 2);
		}
	}

	//alert(hensaigaku)
	
/*	if (w_nenshu < 300){
		if(w_nenshu < 4*futan){
		warning4('warning2', 2, 1);
		}
	} else if (w_nenshu >= 300 & w_nenshu < 400){
		if(w_nenshu < futan*10 / 3){
		warning4('warning2', 2, 2);
		}
	} else if (w_nenshu >= 400 & w_nenshu < 700){
		if(w_nenshu < futan * 20/7){
		warning4('warning2', 2, 3);
		}
	} else if (w_nenshu >= 700){
		if(w_nenshu < futan * 5/2){
		warning4('warning2', 2, 4);
		}
	}*/
}
// end function

//比較関数
function func(a, b){return(a-b);}

function reCalc(){
	document.getElementById("keisan_form4").style.display = "block";
	document.getElementById("keisan_kekka4").style.display = "block";
	resetwarning4();
	document.fm4.tsukihensaigaku4.value = "";
	document.fm4.kariirekanougaku4.value = "";
}

//割賦金計算
function ganrikappukeisan4() {
	//bounuswari
	bounuswari = 0;
	
	//毎月の割賦金の計算
	ganrikaisuu=Math.floor(kaisuu+0.05);
	a=1-Math.pow(1+(kinri*0.01/12),(-ganrikaisuu));
	b=Math.floor(hikakuArray[0]*(1-bounuswari/100)*10000*(kinri*0.01/12)/a);
	//ボーナスの割賦金の計算
	ganrikaisuu=Math.floor(kaisuu/6+0.05);
	c=1-Math.pow(1+(kinri*0.01/2),(-ganrikaisuu));
	d=Math.floor(hikakuArray[0]*(bounuswari/100)*10000*(kinri*0.01/2)/c);
}

//元金均等返済額計算
//割賦金計算
function gankinkappukeisan4() {
	
	//bounuswari
	bounuswari = 0;
	
	//毎月の割賦金の計算
	a=Math.floor(hikakuArray[0]*(1-bounuswari/100)*10000/kaisuu);
	b=Math.floor((hikakuArray[0]*(1-bounuswari/100)*10000)*(kinri*0.01/12));
	c=parseInt(a+b);
	c=Math.floor(c);
	//ボーナスの割賦金の計算
	d=Math.floor(hikakuArray[0]*(bounuswari/100)*10000/(kaisuu/6));
	e=Math.floor((hikakuArray[0]*(bounuswari/100)*10000)*(kinri*0.01/2));
	f=parseInt(d+e);
	f=Math.floor(f);
}
