/**************************************************************************/

//等級、標準報酬月額の設定---------------------------------------

//標準報酬月額に対応する報酬額配列

var tokyu = new Array();

tokyu[0]=[58,0,63000];
tokyu[1]=[68,63000,73000];
tokyu[2]=[78,73000,83000];
tokyu[3]=[88,83000,93000];
tokyu[4]=[98,93000,101000];
tokyu[5]=[104,101000,107000];
tokyu[6]=[110,107000,114000];
tokyu[7]=[118,114000,122000];
tokyu[8]=[126,122000,130000];
tokyu[9]=[134,130000,138000];
tokyu[10]=[142,138000,146000];
tokyu[11]=[150,146000,155000];
tokyu[12]=[160,155000,165000];
tokyu[13]=[170,165000,175000];
tokyu[14]=[180,175000,185000];
tokyu[15]=[190,185000,195000];
tokyu[16]=[200,195000,210000];
tokyu[17]=[220,210000,230000];
tokyu[18]=[240,230000,250000];
tokyu[19]=[260,250000,270000];
tokyu[20]=[280,270000,290000];
tokyu[21]=[300,290000,310000];
tokyu[22]=[320,310000,330000];
tokyu[23]=[340,330000,350000];
tokyu[24]=[360,350000,370000];
tokyu[25]=[380,370000,395000];
tokyu[26]=[410,395000,425000];
tokyu[27]=[440,425000,455000];
tokyu[28]=[470,455000,485000];
tokyu[29]=[500,485000,515000];
tokyu[30]=[530,515000,545000];
tokyu[31]=[560,545000,575000];
tokyu[32]=[590,575000,605000];
tokyu[33]=[620,605000,635000];
tokyu[34]=[650,635000,665000];
tokyu[35]=[680,665000,695000];
tokyu[36]=[710,695000,730000];
tokyu[37]=[750,730000,770000];
tokyu[38]=[790,770000,810000];
tokyu[39]=[830,810000,855000];
tokyu[40]=[880,855000,905000];
tokyu[41]=[930,905000,955000];
tokyu[42]=[980,955000,1005000];
tokyu[43]=[1030,1005000,1055000];
tokyu[44]=[1090,1055000,1115000];
tokyu[45]=[1150,1115000,1175000];
tokyu[46]=[1210,1175000,9999999];

//報酬額配列の長さ
	var tokyu_len = tokyu.length;

//等級金額の下限金額と上限金額
	//下限は最初の等級の上限額
	var tokyu_lower = tokyu[0][2];
	//上限は最後のと等級の下限額
	var tokyu_upper = tokyu[tokyu_len-1][1];

//厚生年金保険等級の下限と上限----------------------------------
	//下限
	var nenkin_lower = 98;
	//上限
	var nenkin_upper = 620;

/**************************************************************************/

//ここからメソッド

//既に被保険者になっていて等級が決定済の人（プルダウンに対応して答えを返す）
	function ret_search1(val) {
		for(var i=0; i<tokyu_len; i++) {
			if(tokyu[i][0]==val) {
				search(i);
			}
		}
	}

//これから被保険者になる人（テキストボックスの金額に応じて等級を出す）
	function search2(val) {
		if(isNaN(val)){
			alert("数値を入力してください");
			return false;
		}
		if(val < 1){
			alert("数値が正しくありません");
			return false;
		}
		
		//範囲外金額の修正
		var t;
		if(val < tokyu_lower ){
			t = 0;
		}
		else if ( tokyu_upper <= val){
			t = tokyu_len - 1;
		}
		else {
			for(var i=0; i<tokyu_len; i++) {
				if ( (tokyu[i][1] <= val) && (val < tokyu[i][2]) ) {
					t = i;
				}
			}
		}
		search(t);
	}
	

//等級(例：058)をパラメータvalで受け取り答えをフォームに挿入
	function search(val) {
		//健保の等級は1000倍にするだけ
			var kenpo_tokyu = tokyu[val][0] * 1000;
		//厚年の等級は上限、下限を考慮してから1000倍
			var nenkin_tokyu;
			if (tokyu[val][0] < nenkin_lower) {
				nenkin_tokyu = nenkin_lower * 1000;
			}
			else if ( nenkin_upper < tokyu[val][0]) {
				nenkin_tokyu = nenkin_upper * 1000;;
			}
			else {
				nenkin_tokyu = tokyu[val][0] * 1000;
			}
		
			with(document.getElementById("f1")){
				//健保標準報酬月額
					out1.value = kenpo_tokyu/1000;
					
				//年金標準報酬月額
					out1n.value = nenkin_tokyu/1000;
					
				//標準報酬日額
					out2.value = addComma(Math.round(kenpo_tokyu/30/10)*10);
					
				//傷病手当金日額
					
				//健康保険料（介護無し）
					//out4.value = addComma(Math.floor(parseInt(kenpo_tokyu * kenpo_ritsu)/2));
					out4.value = addComma(round51(kenpo_tokyu * kenpo_ritsu/2));
					
				//健康保険料（介護有り）
					//out5.value = addComma(Math.floor(parseInt(kenpo_tokyu * kenpo_ritsu2)/2));
					out5.value = addComma(round51((kenpo_tokyu * kenpo_ritsu2)/2));

					//厚生年金保険料
					//out6.value = addComma(Math.floor(parseInt(nenkin_tokyu * nenkin_ritsu)/2));
					out6.value = addComma(round51((nenkin_tokyu * nenkin_ritsu)/2));

			}
	}
	
	//カンマを付加するための関数
function addComma(str){
	var str = new String(str);
	var str_len = str.length;

	if(str_len % 3 == 0){
	sep = str_len / 3 - 1;
	} else {
	sep = Math.floor(str_len/3);
	}

	i=3;
	for(j=0; j<sep; j++){
		str = str.substring(0,str_len - i) + "," + str.substring(str_len - i,str_len);
		str_len++;
		i++;
		i+=3;
	}
	return str;
}

  //51銭以上切り上げ51銭未満切捨て
function round51(val){
	var int_val;
	var under_int;
	int_val =　Math.floor(val);
	under_int = val - int_val;
	if(0.51 <= under_int) {
		return int_val+1;
	}
	else {
		return int_val;
	}
}