//雇用保険料　被保険者負担率の配列（1000倍にした値をラジオボタンで設定し後に配列代入）
var ritsu = new Array(3);

//金額、率を入れると保険料が返ってくる。（端数は50銭1厘以上切り上げ、それ未満は切り捨て）
function retHokenryo(kingaku, ritsu) {
	var base, mod, ans;

	ans = kingaku * ritsu;
	
	//base 1000で除して切捨てた数がベースとなる
	base = Math.floor(ans / 1000);
	
	//mod　円未満３桁を算出
	mod = ans % 1000;
	
	//alert(mod);
	//もし５０銭１厘以上ならベースを切り上げて答えに代入
	if( mod >= 501 ) {
		ans = base + 1;
	}
	else{
	//５０銭１厘に満たなければそのまま答えに代入
		ans = base;
	}	
	return ans;
}

//選択中のラジオボタンの「値」を取得
function getRadioValue() {
    var obj = document.getElementById("f1").rad1;
    var val;

    if (obj == null) {
        return;
    }

    for (i=0; i < obj.length; i++) {
        //チェック状態かを判定
        if (obj[i].checked == true) {
            // 値の取得
            val = obj[i].value;
        	return parseInt(val);
        }
    }
}

//選択中のラジオボタンNOを取得
function getRadioNumber() {
    var obj = document.getElementById("f1").rad1;
    var val;
    if (obj == null) {
        return;
    }
    for (i=0; i < obj.length; i++) {
        //チェック状態かを判定
        if (obj[i].checked == true) {
            //選択番号を返す
        	return i;
        }
    }
}

//クッキーを元にラジオボタンを設定する
function setRadioButton() {
	var val = eval(myGetCookie('koyocalc_sheet'));
	if((0 <= val) && ( val >= 2 )) {
		document.getElementById("f1").rad1[val].checked = true;
	} else {
		document.getElementById("f1").rad1[0].checked = true;
	}
}
	
//フォームをクリアするresetボタンを使用するとラジオボタンまでリセットしてしまうため。
function clear_form() {
	document.getElementById("f1").chingin.value = "";
	document.getElementById("f1").result.value = "";
	document.getElementById("f1").tarea.value = "";
	document.getElementById("alert_mes").innerHTML = "&nbsp\;";
}

//メインメソッド
function main_func() {
	var val = document.getElementById("f1").chingin.value;
	var n = getRadioValue();
	if(!isNaN(val) && (val !== "")) {
		if(val >= 0 ){
			var int_ans = retHokenryo(val,n);
			var str_ans = addComma(int_ans);
			document.getElementById("alert_mes").innerHTML = "&nbsp\;";
			document.getElementById("f1").result.value = str_ans;
			document.getElementById("f1").tarea.value = "\n  " + addComma(val) + " × " + "0.00" + n + " = " + str_ans + "円";
		}
		else {
			document.getElementById("alert_mes").innerHTML = "賃金額がマイナスです";
			document.getElementById("f1").result.value = "";
			document.getElementById("f1").tarea.value = "";
		}
	} else {
		document.getElementById("alert_mes").innerHTML = "数値を「半角」で入力して下さい。";
		document.getElementById("f1").result.value = "";
		document.getElementById("f1").tarea.value = "";

	}
	//クッキー設定
	 mySetCookie("koyocalc_sheet",getRadioNumber(),365);
}	
	
//クッキーに登録
function mySetCookie(myCookie,myValue,myDay){
   myExp = new Date();
   myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));
   myItem = "@" + myCookie + "=" + escape(myValue) + ";";
   myExpires = "expires="+myExp.toGMTString();
   document.cookie =  myItem + myExpires;
}

//クッキーを取り込む汎用関数
function myGetCookie(myCookie){
   myCookie = "@" + myCookie + "=";
   myValue = null;
   myStr = document.cookie + ";" ;
   myOfst = myStr.indexOf(myCookie);
   if (myOfst != -1){
      myStart = myOfst + myCookie.length;
      myEnd   = myStr.indexOf(";" , myStart);
      myValue = unescape(myStr.substring(myStart,myEnd));
   }
   return myValue;
}

//カンマを付加するための関数
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;
}

