// ローン計算
function calcLoan(num,auto){ // 自動計算はauto=1
	if(!auto){
		if(!chkInput(num)){
			document.calc.elements["hensai"+num].value = "";
			document.calc.elements["hensaim"+num].value = "--";
			document.calc.elements["soutei"+num].value = "--";
			return;
		}
		setCookie(num);
	}

	var iKakaku = document.calc.elements["kakaku"+num].value * 10000;
	var iAtama = document.calc.elements["atama"+num].value * 10000;
	var iBonus = document.calc.elements["bonus"+num].value * 10000;
	var iKinri = document.calc.elements["kinri"+num].options[document.calc.elements["kinri"+num].selectedIndex].text / 100;
	var iHensai = document.calc.elements["loan"+num].options[document.calc.elements["loan"+num].selectedIndex].text;
	var iGanpon = iBonus * (Math.pow(1 + iKinri / 2,iHensai * 2) - 1) / ((iKinri / 2) * Math.pow(1 + (iKinri / 2),iHensai * 2));
	var iMonthHensaiGanpon =  iKakaku - iAtama - iGanpon;
	
	var iLoan = Math.round(iMonthHensaiGanpon * ((iKinri / 12) * Math.pow((1 + iKinri / 12),iHensai * 12)) / (Math.pow((1 + (iKinri / 12)),iHensai * 12) - 1));
	if(iLoan < 0){
		if(!auto){
			alert("入力した金額に誤りがあります。");
		}
		document.calc.elements["hensai"+num].value = "";
		document.calc.elements["hensaim"+num].value = "--";
		document.calc.elements["soutei"+num].value = "--";
		return;
	}
	
	getInteger(num,iLoan);
	getFloat(num,iLoan);
	
	var iHensai = Math.round(((((iLoan * 12) + (iBonus * 2)) / 0.25) / 10000));
	document.calc.elements["soutei"+num].value = iHensai;
	
}
function getInteger(num,loan){

	var str = (loan / 10000).toFixed(2).toString();
	var dotpos = str.search(/\./);
	document.calc.elements["hensai"+num].value = str.substring(0,dotpos);
}
function getFloat(num,loan){
	
	var str = (loan / 10000).toFixed(2).toString();
	var dotpos = str.search(/\./);
	document.calc.elements["hensaim"+num].value = "."+str.substring(dotpos + 1);
}

// 入力値チェック
function chkInput(num){
	if(isNaN(document.calc.elements["atama"+num].value)){
		alert("頭金には半角数値のみ入力してください。");
		return false;
	}else if(isNaN(document.calc.elements["bonus"+num].value)){
		alert("ボーナス月支払額には半角数値のみ入力してください。");
		return false;
	}else if(document.calc.elements["atama"+num].value < 0){
		alert("頭金にマイナス値を入力することはできません。");
		return false;
	}else if(document.calc.elements["bonus"+num].value < 0){
		alert("ボーナス月支払額にマイナス値を入力することはできません。");
		return false;
	}
	
	return true;
}
// クッキー設定
function setCookie(num){
	document.cookie = "atama=" + document.calc.elements["atama"+num].value;
	document.cookie = "bonus=" + document.calc.elements["bonus"+num].value;
	document.cookie = "loan=" + document.calc.elements["loan"+num].selectedIndex;
	document.cookie = "kinri=" + document.calc.elements["kinri"+num].selectedIndex;
}

// クッキー取得
function getLoanCookie(num){
	var co = new Array("atama","bonus","loan","kinri");
	var loanCok = new Array(4);
	loanCok[0] = new Array(2);
	loanCok[1] = new Array(2);
	loanCok[2] = new Array(2);
	loanCok[3] = new Array(2);
	var sCnt = 0;

	for(var i = 0; i < co.length; i++){
		loanCok[i][1] = searchCookie(co[i]);
		if(loanCok[i][1] != ""){
			loanCok[i][0] = co[i];
			sCnt++;
		}
	}

	if(sCnt == 0){
		document.calc.elements["atama"+num].value = 0;
		document.calc.elements["bonus"+num].value = 0;
		document.calc.elements["loan"+num].selectedIndex = 3;
		document.calc.elements["kinri"+num].selectedIndex = 0;
		return;
	}
	
	for(var j = 0; j < loanCok.length;j++){
		switch(loanCok[j][0]){
			case "atama":
				document.calc.elements["atama"+num].value = loanCok[j][1];
				break;
			case "bonus":
				document.calc.elements["bonus"+num].value = loanCok[j][1];
				break;
			case "loan":
				document.calc.elements["loan"+num].selectedIndex = loanCok[j][1];
				break;
			case "kinri":
				document.calc.elements["kinri"+num].selectedIndex = loanCok[j][1];
				break;
			default:
				break;
		}
	}
	delete co;
	delete loanCok;
}

// クッキー検索
function searchCookie(key){

　var arrayCookie = document.cookie.split(";");

　for (var i = 0; i < arrayCookie.length; i++) {
　　var targetCookie = arrayCookie[i];

　　targetCookie = targetCookie.replace(/^\s+|\s+$/g, "");

　　var valueIndex = targetCookie.indexOf("=");
　　if (targetCookie.substring(0, valueIndex) == key) {
　　　return targetCookie.slice(valueIndex + 1);
　　}
　}

　return "";
}

// あらかじめお読みください 表示
function popup_modal(url){
	var dialogTop = window.screen.height / 2  - 150;
	var dialogLeft = window.screen.width / 2 - 375;
	window.showModalDialog(
		url,
		this,
		"dialogWidth=750px; dialogHeight=300px; status=no; resizable=no; minimize=no; maximize=no;" + "dialogTop=" + dialogTop + "px; dialogLeft=" + dialogLeft + "px;"
	);
}

function txtAtamaBlur(num){
	if(document.calc.elements["atama"+num].value == ""){
		document.calc.elements["atama"+num].value = 0;
	}
}

function txtBonusBlur(num){
	if(document.calc.elements["bonus"+num].value == ""){
		document.calc.elements["bonus"+num].value = 0;
	}
}

