/*--------------------------
JavaScriptプログラミング：
川越商工会議所　社会保険労務士
鹿　倉　　隆

1.支払額を取得
2.逆算して医療総額を取得
3.上位所得者か普通かを取得
4.3に応じて自己負担限度額を計算
5.支払額から自己負担限度額を差引いた額が高額療養費
----------------------------*/

/*------グローバル変数------*/

//static変数
//上位所得者の基本負担額
var joui_kihon_futangaku = 150000;
//一般所得者の基本負担額
var futsu_kihon_futangaku = 80100;
//上位所得者の控除額
var joui_kojogaku = 500000;
//一般所得者の控除額
var futsu_kojogaku = 267000;
//掛け率
var ritsu = 0.01;

//dynamic変数
//支払額（病院へ支払った額）
var shiharai;
//支払額から逆算した医療費総額
var iryo_sogaku;
//戻ってくる高額療養費
var kogaku;
//自己負担限度額
var limit_jikofutan;
//上位取得者か否か？
var bool_is1st;
/*--------------------------*/

function void_main() {
	
	//支払額をフォームから読み取り
	shiharai = document.getElementById("f1").t1.value;
	
	//入力内容をチェック
	if(isNaN(shiharai)){
		alert("数字を入力して下さい");
		return false;
	}
	
	//数値化
	shiharai = parseInt(shiharai);

	//医療総額を逆算する
	iryo_sogaku = Math.floor(shiharai * 10 / 3);

	//上位所得者かどうか？
	bool_is1st = document.getElementById("f1").r2[0].checked;
	
	//自己負担限度額を求める
	limit_jikofutan = int_jikofutan(bool_is1st);
	
	//高額療養費を計算
	kogaku = shiharai - limit_jikofutan;
	
	//フォームに出力
	if(kogaku < 0) kogaku = 0;
	document.getElementById("f1").t2.value = addComma(kogaku);
	document.getElementById("f1").t3.value = addComma(limit_jikofutan);

}

//自己負担限度額の計算(flagはtrueの場合上位所得者、falseの場合普通所得者）
function int_jikofutan(flag){

	//戻り値
	var retval;
	
	if(flag){
		//上位所得者の場合
		retval = joui_kihon_futangaku + Math.floor((iryo_sogaku - joui_kojogaku) * ritsu);
	}
	else{
		//通常所得者の場合
		retval = futsu_kihon_futangaku + Math.floor((iryo_sogaku - futsu_kojogaku) * ritsu);
	}
	return retval;
}

//カンマを付加するための関数
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;
}