function addFigure(n) {

	var l, m='';
	var mark = (n < 0) ? '-' : '';
	var flt = '';

	n = Math.abs(n);
	if (n % 1) {
		flt  = n + '';
		flt = flt.substr(flt.indexOf('.'));
	}
	n = Math.floor(n) + '';
	while ( (l = n.length) > 3 ) {
		m = "," + n.substr( l - 3, 3 ) + m;
		n = n.substr( 0, l - 3 );
	}
	return mark + n + m + flt;
}

//-------Keisan-------------
function Keisan(fm) {
     
//------Kariire check-----------------------
	if (!(KariireCHK(fm))) {
		return;
	}

//------Kinriritu check-------------------------
	if (!(KinrirituCHK(fm))) {
		return;
	}

//------YYMM check------------------------
	if (!(YYCHK(fm))) {
		return;
	}
     
//------Set Work Kinriritu-----------------------
	var SKariire = eval(10000 * fm.Kariire.value);
	var SKinri = eval(1 * eval(fm.Kinriritu.value)) / 100;

//------Set Work YY MM----------------------
	var SKyear = eval(fm.Kyear.selectedIndex);
	var P = 0;
	
//------Set Work Bounas wariai------------------
    SBonus = "";
     
	for (i = 0; i < fm.Bonus.options.length; i++) {
		if (fm.Bonus.options[i].selected == true) {
			SBonus = fm.Bonus.options[i].value;
		}
    }
     
    var SKBonus = 0.01 * eval(SBonus);
     
//------Set Work Maikai-----------------------
    var SKmrate = SKinri / 12;
    var SKmhks = SKyear * 12;
    var SKMhen = Math.floor(SKariire * ( 1 - SKBonus ) * SKmrate * Math.pow(( 1 + SKmrate ), SKmhks ) / ( Math.pow(( 1 + SKmrate ), SKmhks ) - 1 ));
     
//------Set Work Bounaus---------------------	
    if (eval(fm.Bonus.selectedIndex) != 0) {
		var SKbrat = SKinri / 2;
		var SKbhks = Math.floor(( SKyear * 12 ) / 6);
		var SKBhen = Math.floor(SKariire * SKBonus * SKbrat * Math.pow(( 1 + SKbrat ), SKbhks )/ ( Math.pow(( 1 + SKbrat ), SKbhks) - 1 ));
	}
	else {
		var SKbhks = 0;
		var SKBhen = 0;
	}
     
//------Set Hensai gaku-----------------------

	var test1 = Math.floor(SKMhen); 
	var myNumber = test1;
	var convNumber = addFigure(myNumber);
	fm.Hensaim.value = convNumber;
	
	var test2 = Math.floor((SKMhen * 12) + (SKBhen * 2)); 
	var myNumber2 = test2;
	var convNumber2 = addFigure(myNumber2);
	
	fm.Hensaibg.value = convNumber2;


	var test3 = Math.floor(((SKMhen * 12) + (SKBhen * 2)) * SKyear); 
	var myNumber3 = test3;
	var convNumber3 = addFigure(myNumber3);
	fm.Hensaibe.value = convNumber3;
	
	if (eval(fm.Bonus.selectedIndex) != 0) {
		
	var test4 = Math.floor(SKBhen + SKMhen); 
	var myNumber4 = test4;
	var convNumber4 = addFigure(myNumber4);
		
		fm.Hensaib.value = convNumber4;
		
	var test5 = Math.floor(SKBhen); 
	var myNumber5 = test5;
	var convNumber5 = addFigure(myNumber5);
		fm.Hensaibz.value = convNumber5;
	}
    else {
		fm.Hensaib.value = 0;
		fm.Hensaibz.value = 0;
	}

	alert("計算が終わりました。計算結果を御覧下さい");
}
//------End of  Keisan-----------------------
     

//-------Kariire Check-------------
function KariireCHK(fm) {
	var Kariire = fm.Kariire.value;
	
	if (Kariire == "") {
		alert("お借入れ額を入力してください。");
		fm.Kariire.focus();
		return false;
	}
	
	if (!(ChkNumber(Kariire))) {
		alert("お借入れ額は、10～10000までの整数を半角数字で入力してください。");
		fm.Kariire.focus();
		return false;
	}
	
	if (Kariire > 10000) {
		alert("お借入れ額は、10～10000までの整数を入力してください。");
		fm.Kariire.focus();
		return false;
	}
	
	if (Kariire < 10) {
		alert("お借入れ額は、10～10000までの整数を入力してください。");
		fm.Kariire.focus();
		return false;
	}
	
	return true;
}


//-------Kinriritu Check-------------
function KinrirituCHK(fm) {
	var Kinriritu = fm.Kinriritu.value;
	
	if (!(ChkNumber(Kinriritu))) {
		alert("お借入れ利率は、半角数字で入力してください。");
		fm.Kinriritu.focus();
		return false;
	}
	
	return true;
}

//-------Kyear&Kmon Check-------------
function YYCHK(fm) {
	var yy = fm.Kyear.selectedIndex;
	 
//	var rateidx = fm.Kinriritu.value;	
    
	if (yy == 0) {
		alert("1年～35年の範囲で選択してください。");
		fm.Kyear.focus();
		return false;
	}
	
	if (yy > 35) {
		alert("1年～35年の範囲で選択してください。");
		fm.Kyear.focus();
		return false;
	}
	
	return true;
}


//-------Set input position------------
function SetInp(doc){
	doc.forms[0].elements[0].focus();
}


//-------Area claer----------------
function ClearInArea(fm) {
	fm.Kariire.value = "";
	fm.Bonus.selectedIndex = 0;
	fm.Kyear.selectedIndex = 0;
	fm.Kinriritu.value = "";
	SetInp(this.document);
}


//-------Area claer----------------
function ClearOutArea(fm) {
	fm.Hensaim.value = "";
	fm.Hensaib.value = "";
	fm.Hensaibz.value = "";
	fm.Hensaibg.value = "";
	fm.Hensaibe.value = "";
}


//-------Number Check-------------
function ChkNumber(t) {
	var i = 0;
	
	for(i = 0; i < t.length; i++) {
		var str = t.substring(i, i +1) ;
		
		if (str == "0" || str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7" || str == "8" || str == "9" || str == ".") 
		continue;
          
		else {
     		return false;
		}
	}
    return true;
}
