function keisan(shakunyuu, nenri, kaisuu){
	var hensai = shakunyuu * nenri/100/12 * Math.pow(1 + nenri/100/12, kaisuu) / (Math.pow(1 + nenri/100/12, kaisuu) - 1);
	return hensai;
}
function format_yen(kingaku){
	kingaku = Math.round(kingaku);
	var result = kingaku + "";
	if(kingaku >= 10000){
		return result.substring(0, result.length - 4) + "万" + result.substring(result.length -4, result.length) + "円";
	}  else  {
		return result + "円";
	}
}
function henkan(zenkaku){
	var han = "0123456789.,-+";
	var zen = "０１２３４５６７８９．，−＋";
	var hankaku = "";
	var i, c, n;
	for(i=0; i<zenkaku.length; i++){
		c = zenkaku.charAt(i);
		n = zen.indexOf(c,0);
		if(n >= 0){
			c = han.charAt(n);
		}
		hankaku += c;
	}
	return hankaku; 
}
function validate(shakunyuu, nenri, kaisuu){
	var ok = true;
	var re_int = /^[0-9]+$/;
	var re_dec = /^([0-9]+)?\.?([0-9]+)?$/;
	if(re_int.test(shakunyuu) && shakunyuu >= 100*10000 && shakunyuu <=100*10000*10000){
		my_loansim.shakunyuu_msg_id.innerHTML = "◯";
	} else {
		my_loansim.shakunyuu_msg_id.innerHTML = "×";
		ok = false;
	}
	if(re_dec.test(nenri) && nenri<=20　&& nenri>0){
		my_loansim.nenri_msg_id.innerHTML = "◯";
	} else {
		my_loansim.nenri_msg_id.innerHTML = "×";
		ok = false;
	}
	if(re_int.test(kaisuu) && kaisuu <= 55*12 && kaisuu>0){
		my_loansim.kaisuu_msg_id.innerHTML = "◯";
	} else {
		my_loansim.kaisuu_msg_id.innerHTML = "×";
		ok = false;
	}
	return ok;
}
function LoanSim(){
	this.shakunyuu_id = document.getElementById('ls_shakunyuu');
	this.nenri_id = document.getElementById('ls_nenri');
	this.kaisuu_id = document.getElementById('ls_kaisuu');
	this.keisan_id = document.getElementById('ls_keisan');
	this.hensai_id = document.getElementById('ls_hensai');
	this.shakunyuu_msg_id = document.getElementById('ls_shakunyuu_msg');
	this.nenri_msg_id = document.getElementById('ls_nenri_msg');
	this.kaisuu_msg_id = document.getElementById('ls_kaisuu_msg');
	this.yenman_id = document.getElementById('ls_yenman');
	this.kainen_id = document.getElementById('ls_kainen');
	if(this.shakunyuu_id && this.nenri_id && this.kaisuu_id && this.keisan_id && this.hensai_id && this.shakunyuu_msg_id && this.nenri_msg_id && this.kaisuu_msg_id && this.yenman_id && this.kainen_id){
		this.ok = true;
	} else {
		this.ok = false;
	}
	if(this.ok){
		this.keisan_id.onclick = function(){
			var shakunyuu = my_loansim.shakunyuu_id.value;
			var nenri = my_loansim.nenri_id.value;
			var kaisuu = my_loansim.kaisuu_id.value;
			var hensai;
			var hensai_format;
			if(isNaN(shakunyuu)) {
				shakunyuu = henkan(shakunyuu);
			}
			if(isNaN(nenri)) {
				nenri = henkan(nenri);
			}
			if(isNaN(kaisuu)) {
				kaisuu = henkan(kaisuu);
			}
			if(my_loansim.yenman_id.value == "man"){
				shakunyuu = shakunyuu * 10000;
			}
			if(my_loansim.kainen_id.value == "nen"){
				kaisuu = kaisuu * 12;
			}
			if(validate(shakunyuu, nenri, kaisuu)){
				hensai = keisan(shakunyuu, nenri, kaisuu);
				hensai_format = format_yen(hensai);
				if(isNaN(hensai)){
					my_loansim.hensai_id.innerHTML = "入力をご確認下さい";
				} else {
					my_loansim.hensai_id.innerHTML = hensai_format;
				}
			} else {
				my_loansim.hensai_id.innerHTML = "入力をご確認下さい";
			}
		};
	}
}

