﻿/*
	共通処理
*/
function ToggleFormVisible(block_id){
	var control = $('CalcBlock' + block_id);
	var flag = (control.style.display == 'none');
	RefreshForm(block_id, false, null);
	control.style.display = (!flag ? 'none' : '');
}

function RefreshForm(block_id, is_visible, err){
	if (err == null)
		err = [];
	var flag1 = (!is_visible || err.length > 0); //結果スペース：is_visibleがfalse　または　エラーありで隠す
	var flag2 = (!is_visible || err.length == 0);
	//$('LinkBoxcontainer' + block_id).style.display = flag1 ? 'none' : '';
	$('ResultBlock' + block_id).style.display = flag1 ? 'none' : '';
	
	var err_view = $('ErrMsg' + block_id);
	err_view.style.display = (flag2 ? 'none' : '');

	if (err.length > 0){
		var msg = '';
		for (var i = 0; i < err.length; i++)
			msg += err[i] + '<br />';
		err_view.innerHTML = msg;
	}
}

function RefreshForm(block_id, is_visible, err, err_another){
	if (err == null)
		err = [];
	var flag1 = (!is_visible || err.length > 0); //結果スペース：is_visibleがfalse　または　エラーありで隠す
	var flag2 = (!is_visible || (err.length == 0 && !err_another));
	//$('LinkBoxcontainer' + block_id).style.display = flag1 ? 'none' : '';
	$('ResultBlock' + block_id).style.display = flag1 ? 'none' : '';
	
	var err_view = $('ErrMsg' + block_id);
	err_view.style.display = (flag2 ? 'none' : '');

	if (err.length > 0){
		var msg = '';
		for (var i = 0; i < err.length; i++)
			msg += err[i] + '<br />';
		err_view.innerHTML = msg;
	} else if(err_another) {
		err_view.innerHTML = '「*」が表示された項目は入力値が0より大きい整数ではない為　計算されていません。';
	}
}

function GetCurrencyText(value, column, comma){
	//column 小数点以下の桁数
	if (typeof(column) == 'undefined')
		column = 0;

	var src = '' + value;
	if (src.length == 0)
		return;
	
	var flagM = false;
	if(value < 0) {
		//value = Math.abs(value);
		value *= -1;
		flagM = true;
	}

	if (column > 0){
		value = Math.round(value * Math.pow(10, column)) / Math.pow(10, column);
		src = '' + value;
		if (src.indexOf('.') < 0)
			src += '.';
		for (var i = 1; i < column; i++)
			src += '0';
	} else {
		src = src.replace(/^([0-9]+)\..*$/, '$1');
	}

	var dst = '';
	if (src.match(/\.[0-9]*$/) != null){
		src += '0000000000';
		if (column > 0){
			var re = new RegExp('^[0-9]+(\.[0-9]{' + column + '}).*$');
			dst = src.replace(re, '$1');
		} else {
			dst = src.replace(/^[0-9]+(\.[0-9]+)$/, '$1');
		}
	}
	src = src.replace(/^([0-9]+)\..*$/, '$1');
	
	if(comma) {
		for (var i = 0; i < src.length; i++)
			dst = src.charAt(src.length -1 -i) + (i >= 3 && i%3 == 0 ? ',' : '') + dst;
	}else{
		dst = src + dst;
	}
	if(flagM)
		dst *= -1;
	return dst;
}

function ToggleVisible_double(){
	ToggleVisible('CalcSelect');
	ToggleVisible('viewSelect');
}

function ResetCal(catRec){
	for(i = 0; i < catRec; i++){
		CatNumber[i] = 0;
	}
}

// ==================== #0101-BMI ====================
function Calcurate0101(){
	var stature = TextTrim($('tb0101_Stature').value);
	var weight = TextTrim($('tb0101_Weight').value);
	//エラーセット
	var err = [];
	if(stature == '') {
		err[err.length] = '「身長」を入力してください。';
	} else if(stature.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「身長」には整数を入力してください。';
	} else {
		stature *= 1;
		if(stature <= 0)
			err[err.length] = '「身長」には0より大きい整数を入力してください。';
	}

	if(weight == '') {
		err[err.length] = '「体重」を入力してください。';
	} else if(weight.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「体重」には数値（小数点第1位まで）を入力してください。';
	} else {
		weight *= 1;
		if(weight <= 0)
			err[err.length] = '「体重」には0より大きい数値（小数点第1位まで）を入力してください。';
	}
	
	if (err.length == 0) {
		//BMI計算式
		var bmi = weight / (stature/100) / (stature/100);
		//bmi = weight*10000/(stature*stature);
		//標準体重
		var reasonableb = 22*(stature/100)*(stature/100);
		
		//肥満率
		var overweight = ((weight - reasonableb) * 100) / reasonableb;
		
		var diagnosis;
		if(bmi<18.5)
			diagnosis = 'やせている';
		else if(bmi >= 18.5 && bmi <25)
			diagnosis = '適正体重';
		else if(bmi >= 25 && bmi <30)
			diagnosis = '肥満度 1';
		else if(bmi >= 30 && bmi <35)
			diagnosis = '肥満度 2';
		else if(bmi >= 35 && bmi <40)
			diagnosis = '肥満度 3';
		else
			diagnosis = '肥満度 4';

		$('Result0101_BMI').innerText = GetCurrencyText(bmi, 1, false);
		$('Result0101_Diagnosis').innerText = diagnosis;
		$('Result0101_OverWeight').innerText = GetCurrencyText(overweight, 1, false);
		$('Result0101_Reasonable').innerText = GetCurrencyText(reasonableb, 1, false);
	}
	RefreshForm('0101', true, err);
}

function Reset0101(){
	$('tb0101_Stature').value = '';
	$('tb0101_Weight').value = '';
	RefreshForm('0101', false, null);
}


// ==================== #0201-禁煙節約 ====================
function Calcurate0201(){
	var number = TextTrim($('tb0201_Number').value);
	var age = TextTrim($('tb0201_Age').value);
	var price = TextTrim($('tb0201_Price').value);
	//エラーセット
	var err = [];
	if(number == '') {
		err[err.length] = '「本数」を入力してください。';
	} else if(number.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「本数」には整数を入力してください。';
	} else {
		number *= 1;
		if(number <= 0)
			err[err.length] = '「本数」には0より大きい整数を入力してください。';
	}

	if(age == '') {
		err[err.length] = '「年齢」を入力してください。';
	} else if(age.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「年齢」には整数を入力してください。';
	} else {
		age *= 1;
		if(age >= 80)
			err[err.length] = '「年齢」には80より小さい整数を入力してください。';
		else if(age < 20)
			err[err.length] = '「年齢」には20以上の整数を入力してください。';
	}

	if(price == '') {
		err[err.length] = '「値段」を入力してください。';
	} else if(price.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「値段」には整数を入力してください。';
	} else {
		price *= 1;
		if(price <= 0)
			err[err.length] = '「値段」には0より大きい整数を入力してください。';
	}
	
	if (err.length == 0) {
		//禁煙節約計算式
		
		var price_year = (price*number/20)*365;
		var period = 80-age;
		//節約
		var economy = price_year*period;
		//貯金
		var saving = 0;
		for(i = 0; i < period; i++) {
			saving += price_year;
			saving *= 1.0015;
		}	

		$('Result0201_Economy').innerText = GetCurrencyText(economy, 0, true);
		$('Result0201_Saving').innerText = GetCurrencyText(saving, 0, true);
	}
	RefreshForm('0201', true, err);
}

function Reset0201(){
	$('tb0201_Number').value = '';
	$('tb0201_Age').value = '';
	$('tb0201_Price').value = '';
	RefreshForm('0201', false, null);
}


// ==================== #0301-必要カロリー ====================
function Calcurate0301(){
	var sex = $('rb0301_SexMale').checked ? 'male' : 'female';

	var age = TextTrim($('tb0301_Age').value);
	var stature = TextTrim($('tb0301_Stature').value);
	var weight = TextTrim($('tb0301_Weight').value);
	
	var activity = "low";
	//var elm = $('rb0301_Activity');
	var elm = document.getElementsByName('rb0301_Activity');
	for(i = 0; i < elm.length; i++) {
		if(elm[i].checked) {
			activity = elm[i].value;
			break;
		}
	}
	
	//エラーセット
	var err = [];

	if(age == '') {
		err[err.length] = '「年齢」を入力してください。';
	} else if(age.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「年齢」には整数を入力してください。';
	} else {
		age *= 1;
//		if(age >= 80)
//			err[err.length] = '「年齢」には80より小さい整数を入力してください。';
//		else if(age <= 0)
		
//		if(age <= 0)
//			err[err.length] = '「年齢」には0より大きい整数を入力してください。';

		if(age < 18)
			err[err.length] = '「年齢」には18以上の整数を入力してください。';
			
	}

	if(stature == '') {
		err[err.length] = '「身長」を入力してください。';
	} else if(stature.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「身長」には整数を入力してください。';
	} else {
		stature *= 1;
		if(stature <= 0)
			err[err.length] = '「身長」には0より大きい整数を入力してください。';
	}
	
	if(weight == '') {
		err[err.length] = '「体重」を入力してください。';
	} else if(weight.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「体重」には数値（小数点第1位まで）を入力してください。';
	} else {
		weight *= 1;
		if(weight <= 0)
			err[err.length] = '「体重」には0より大きい数値（小数点第1位まで）を入力してください。';
	}
	
	if (err.length == 0) {
		//必要カロリー計算式
		var calorie = 0;

		if(sex == 'male') {
			//男性：66＋（13.7×体重kg）＋（5.0×身長cm）－（6.8×年齢）
			calorie = 66+(13.7*weight)+(5.0*stature)-(6.8*age);
		} else {
			//女性：665＋（9.6×体重kg）＋（1.7×身長cm）－（7.0×年齢）
			calorie = 665+(9.6*weight)+(1.7*stature)-(7*age);
		}
		
		var coef;
		if(age <= 69) {
			switch (activity) {
			case "low":
				coef = 1.5;
				break;
			case "mid":
				coef = 1.75;
				break;
			case "high":
				coef = 2.0;
				break;
			}
		} else {
			switch (activity) {
			case "low":
				coef = 1.3;
				break;
			case "mid":
				coef = 1.5;
				break;
			case "high":
				coef = 1.7;
				break;
			}
		}
		calorie *= coef;

		$('Result0301_Calorie').innerText = GetCurrencyText(calorie, 1, false);
	}
	RefreshForm('0301', true, err);
}

function Reset0301(){
	$('tb0301_Age').value = '';
	$('tb0301_Stature').value = '';
	$('tb0301_Weight').value = '';
	$('rb0301_SexMale').checked = true;
	$('rb0301_ActivityL').checked = true;
	RefreshForm('0301', false, null);
}


// ==================== #0302-基礎代謝量（カロリー） ====================
function Calcurate0302(){
	var sex = $('rb0302_SexMale').checked ? 'male' : 'female';

	var age = TextTrim($('tb0302_Age').value);
	var stature = TextTrim($('tb0302_Stature').value);
	var weight = TextTrim($('tb0302_Weight').value);
	
	//エラーセット
	var err = [];

	if(age == '') {
		err[err.length] = '「年齢」を入力してください。';
	} else if(age.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「年齢」には整数を入力してください。';
	} else {
		age *= 1;
//		if(age >= 80)
//			err[err.length] = '「年齢」には80より小さい整数を入力してください。';
//		else if(age <= 0)
		
//		if(age <= 0)
//			err[err.length] = '「年齢」には0より大きい整数を入力してください。';

		if(age < 18)
			err[err.length] = '「年齢」には18以上の整数を入力してください。';
			
	}

	if(stature == '') {
		err[err.length] = '「身長」を入力してください。';
	} else if(stature.match(/^[0-9\-]+$/) == null) {
		err[err.length] = '「身長」には整数を入力してください。';
	} else {
		stature *= 1;
		if(stature <= 0)
			err[err.length] = '「身長」には0より大きい整数を入力してください。';
	}
	
	if(weight == '') {
		err[err.length] = '「体重」を入力してください。';
	} else if(weight.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「体重」には数値（小数点第1位まで）を入力してください。';
	} else {
		weight *= 1;
		if(weight <= 0)
			err[err.length] = '「体重」には0より大きい数値（小数点第1位まで）を入力してください。';
	}
	
	if (err.length == 0) {
		//基礎代謝量（カロリー）計算式
		var calorie = 0;

		if(sex == 'male') {
			//男性：66＋（13.7×体重kg）＋（5.0×身長cm）－（6.8×年齢）
			calorie = 66+(13.7*weight)+(5.0*stature)-(6.8*age);
		} else {
			//女性：665＋（9.6×体重kg）＋（1.7×身長cm）－（7.0×年齢）
			calorie = 665+(9.6*weight)+(1.7*stature)-(7*age);
		}

		$('Result0302_Calorie').innerText = GetCurrencyText(calorie, 1, false);
	}
	RefreshForm('0302', true, err);
}

function Reset0302(){
	$('rb0302_SexMale').checked = true;
	$('tb0302_Age').value = '';
	$('tb0302_Stature').value = '';
	$('tb0302_Weight').value = '';
	RefreshForm('0302', false, null);
}


// ==================== #0303-食事摂取カロリー ====================
function Calcurate0303(mealRec){
	//エラーセット
	var err = [];

	var number;
	var IsMealCal = new Array(mealRec);
	var mealCalErr = false;
	
	//食事のエラー表示初期化と表示された食事取得。
	for(i = 0; i < mealRec; i++){
		IsMealCal[i] = ($('MealCal_' + i).style.display != 'none');
		if(IsMealCal[i]) {
			if($('MealCalErr_' + i).style.display != 'none') {
				$('MealCalErr_' + i).style.display = 'none';
			}
		}
	}

	//食事摂取カロリー計算式
	//各項目の入力数x各項目のカロリー
	var calorieT = 0;
	
	for(i = 0; i < mealRec; i++){
		if(IsMealCal[i]) {
			number = TextTrim($('number_' + i).value);
			if(number == ''||number.match(/^[0-9\-]+$/) == null) {
				mealCalErr = true;
				$('MealCalErr_' + i).style.display = '';
				$('Result0303_m' + i).innerText ='';
			} else {
				number *= 1;
				if(number <= 0){
					mealCalErr = true;
					$('MealCalErr_' + i).style.display = '';
				}else{
					//有効な入力値の食事だけを計算する（他はエラー処理）
					var mealCal = $('number_' + i).getAttribute("mealcal");
					var calorie = mealCal*number;
					calorieT += calorie;
					$('Result0303_m' + i).innerText = GetCurrencyText(calorie, 0, false);
				}
			}
//			var mealCal = $('number_' + i).mealcal;
//			var calorie = 1.05*mealCal*number/60*weight;
//			calorieT += calorie;
//			$('Result0303_m' + i).innerText = GetCurrencyText(calorie, 1, false);
		}
	}
	$('Result0303_Calorie').innerText = GetCurrencyText(calorieT, 0, false);

	RefreshForm('0303', true, err, mealCalErr);
}

function AllResetCal0303(catRec,mealRec) {
	for(i = 0; i < mealRec; i++){
		if($('MealCal_' + i).style.display != 'none') {
			$('number_' + i).value = '1';
			$('Result0303_m' + i).innerText = '';
			$('MealCalErr_' + i).style.display = 'none';

			$('MealCal_' + i).style.display = 'none';
			$('MealCalA_' + i).style.color = '#478202';
		}
	}
	for(j = 0; j < catRec; j++){
		$('CatP_' + j).style.display = 'none';
		CatNumber[j] = 0;
	}
	RefreshForm('0303', false, null);
}
function ResetMealCal0303(mealRec) {
	for(i = 0; i < mealRec; i++){
		if($('MealCal_' + i).style.display != 'none') {
			$('number_' + i).value = '1';
			$('Result0303_m' + i).innerText = '';
			$('MealCalErr_' + i).style.display = 'none';
		}
	}
	RefreshForm('0303', false, null);
}

function Toggle303Visible(meal_id,cat_id, obj){
	var control = $('MealCal_' + meal_id);
	
	if (control.style.display == 'none'){
		control.style.display = '';
		obj.style.color = '#ff4400';
		CatNumber[cat_id] ++;
	} else {
		control.style.display = 'none';
		obj.style.color = '#478202';
		$('number_' + meal_id).value = '1';
		$('MealCalErr_' + meal_id).style.display = 'none';
		$('Result0303_m' + meal_id).innerText = '';
		CatNumber[cat_id] --;
	}
	if(CatNumber[cat_id])
		$('CatP_' + cat_id).style.display = '';
	else
		$('CatP_' + cat_id).style.display = 'none';
}

function AllSelect0303(catRec,mealRec){
	ResetCal(catRec);
	var c;
	for(i = 0; i < mealRec; i++){
		$('MealCal_' + i).style.display = '';
		$('MealCalA_' + i).style.color = '#ff4400';
		c = $('MealCal_' + i).getAttribute("cid");
		CatNumber[c] ++;
	}
	for(j = 0; j < catRec; j++){
		$('CatP_' + j).style.display = '';
	}
}
//function CheckCat303(mealRec,cID){
//	for(i = 0; i < mealRec; i++){
//		if($('MealCal_' + i).cid == cID) {
//			if($('MealCal_' + i).style.display != 'none')
//				return true;
//		}
//	}
//	return false;
//}

// ==================== #0304-運動消費カロリー ====================
function Calcurate0304(actionRec){
	var weight = TextTrim($('tb0304_Weight').value);
	
	//エラーセット
	var err = [];

	if(weight == '') {
		err[err.length] = '「体重」を入力してください。';
	} else if(weight.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「体重」には数値（小数点第1位まで）を入力してください。';
	} else {
		weight *= 1;
		if(weight <= 0)
			err[err.length] = '「体重」には0より大きい数値（小数点第1位まで）を入力してください。';
	}
	
	var min;
	var IsMets = new Array(actionRec);
	var metsErr = false;
	
	//mets（分）のエラー表示初期化と表示されたMets取得。
	for(i = 0; i < actionRec; i++){
		IsMets[i] = ($('Mets_' + i).style.display != 'none');
		if(IsMets[i]) {
			if($('MetsErr_' + i).style.display != 'none') {
				$('MetsErr_' + i).style.display = 'none';
			}
		}
	}

	//体重項目の入力が問題なければ計算する。
	if (err.length == 0) {
		//運動消費カロリー計算式
		//1.05×メッツ×時間×体重
		var calorieT = 0;
		
		for(i = 0; i < actionRec; i++){
			if(IsMets[i]) {
				min = TextTrim($('min_' + i).value);
				if(min == ''||min.match(/^[0-9\-]+$/) == null) {
					metsErr = true;
					$('MetsErr_' + i).style.display = '';
				} else {
					min *= 1;
					if(min <= 0){
						metsErr = true;
						$('MetsErr_' + i).style.display = '';
					}else{
						//有効な入力値のメッツだけを計算する（他はエラー処理）
						var mets = $('min_' + i).getAttribute("mets");
						var calorie = 1.05*mets*min/60*weight;
						calorieT += calorie;
						$('Result0304_m' + i).innerText = GetCurrencyText(calorie, 1, false);
					}
				}
//				var mets = $('min_' + i).mets;
//				var calorie = 1.05*mets*min/60*weight;
//				calorieT += calorie;
//				$('Result0304_m' + i).innerText = GetCurrencyText(calorie, 1, false);
			}
		}
		$('Result0304_Calorie').innerText = GetCurrencyText(calorieT, 1, false);
	}
	RefreshForm('0304', true, err, metsErr);
}
function AllResetCal0304(catRec,actionRec) {
	for(i = 0; i < actionRec; i++){
		if($('Mets_' + i).style.display != 'none') {
			$('min_' + i).value = '';
			$('Result0304_m' + i).innerText = '';
			$('MetsErr_' + i).style.display = 'none';

			$('Mets_' + i).style.display = 'none';
			$('MetsA_' + i).style.color = '#478202';
		}
	}
	for(j = 0; j < catRec; j++){
		$('CatP_' + j).style.display = 'none';
		CatNumber[j] = 0;
	}
	RefreshForm('0304', false, null);
}
function ResetMetsCal0304(actionRec) {
	$('tb0304_Weight').value = '';
	for(i = 0; i < actionRec; i++){
		if($('Mets_' + i).style.display != 'none') {
			$('min_' + i).value = '';
			$('Result0304_m' + i).innerText = '';
			$('MetsErr_' + i).style.display = 'none';
		}
	}
	RefreshForm('0304', false, null);
}
//function Toggle304Visible(mets_id,cat_id,actionRec, obj){
function Toggle304Visible(mets_id,cat_id, obj){
	var control = $('Mets_' + mets_id);
	
	if (control.style.display == 'none'){
		control.style.display = '';
		obj.style.color = '#ff4400';
		CatNumber[cat_id] ++;
	} else {
		control.style.display = 'none';
		obj.style.color = '#478202';
		$('min_' + mets_id).value = '';
		$('MetsErr_' + mets_id).style.display = 'none';
		$('Result0304_m' + mets_id).innerText = '';
		CatNumber[cat_id] --;
	}
//	if(CheckCat304(actionRec,cat_id))
//		$('CatP_' + cat_id).style.display = '';
//	else
//		$('CatP_' + cat_id).style.display = 'none';
	if(CatNumber[cat_id])
		$('CatP_' + cat_id).style.display = '';
	else
		$('CatP_' + cat_id).style.display = 'none';
}
function AllSelect0304(catRec,actionRec){
	ResetCal(catRec);
	var c;
	for(i = 0; i < actionRec; i++){
		$('Mets_' + i).style.display = '';
		$('MetsA_' + i).style.color = '#ff4400';
		c = $('Mets_' + i).getAttribute("cid");
		CatNumber[c] ++;
	}
	for(j = 0; j < catRec; j++){
		$('CatP_' + j).style.display = '';
	}
}
//function CheckCat304(actionRec,cID){
//	for(i = 0; i < actionRec; i++){
//		if($('Mets_' + i).cid == cID) {
//			if($('Mets_' + i).style.display != 'none')
//				return true;
//		}
//	}
//	return false;
//}


// ==================== #0401-適正飲酒量（二日酔いしないお酒の量） ====================
function Calcurate0401(){
	var weight = TextTrim($('tb0401_Weight').value);
	var sleep = TextTrim($('tb0401_Sleep').value);
	
	//エラーセット
	var err = [];

	if(weight == '') {
		err[err.length] = '「体重」を入力してください。';
	} else if(weight.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「体重」には数値（小数点第1位まで）を入力してください。';
	} else {
		weight *= 1;
		if(weight <= 0)
			err[err.length] = '「体重」には0より大きい数値（小数点第1位まで）を入力してください。';
	}

	if(sleep == '') {
		err[err.length] = '「翌朝起きるまでの時間」を入力してください。';
	} else if(sleep.match(/^[0-9\-]+\.?[0-9]?$/) == null) {
		err[err.length] = '「翌朝起きるまでの時間」には数値（小数点第1位まで）を入力してください。';
	} else {
		sleep *= 1;
		if(sleep <= 0)
			err[err.length] = '「翌朝起きるまでの時間」には0より大きい数値（小数点第1位まで）を入力してください。';
		else if(sleep > 24)
			err[err.length] = '「翌朝起きるまでの時間」には24以下の数値（小数点第1位まで）を入力してください。';
	}

	if (err.length == 0) {
		//適正飲酒量（二日酔いしないお酒の量）計算式
		//15×体重（kg）×飲み始めてから翌朝までの時間（h）÷（酒のエタノール度数（％）×0.8)
		var ml = 15*weight*sleep/0.8;
		
		var beer = ml/6;
		$('Result0401_Beer1').innerText = GetCurrencyText(beer, 0, false);
		$('Result0401_Beer2').innerText = GetCurrencyText(beer/348, 1, false);
		$('Result0401_Beer3').innerText = GetCurrencyText(beer/500, 1, false);
		
		var sake = ml/16;
		$('Result0401_Sake1').innerText = GetCurrencyText(sake, 0, false);
		$('Result0401_Sake2').innerText = GetCurrencyText(sake/180, 1, false);
		
		var wine = ml/13;
		$('Result0401_Wine1').innerText = GetCurrencyText(wine, 0, false);
		$('Result0401_Wine2').innerText = GetCurrencyText(wine/200, 1, false);
		$('Result0401_Wine3').innerText = GetCurrencyText(wine/750, 1, false);
		
		var whisky = ml/43;
		$('Result0401_Whisky1').innerText = GetCurrencyText(whisky, 0, false);
		$('Result0401_Whisky2').innerText = GetCurrencyText(whisky/30, 1, false);
		
		var shochu = ml/25;
		$('Result0401_Shochu1').innerText = GetCurrencyText(shochu, 0, false);
		$('Result0401_Shochu2').innerText = GetCurrencyText(shochu/30, 1, false);
		
		var chuhai = ml/8;
		$('Result0401_Chuhai1').innerText = GetCurrencyText(chuhai, 0, false);
		$('Result0401_Chuhai2').innerText = GetCurrencyText(chuhai/200, 1, false);
	}
	RefreshForm('0401', true, err);
}

function Reset0401(){
	$('tb0401_Weight').value = '';
	$('tb0401_Sleep').value = '';
	RefreshForm('0401', false, null);
}


// ==================== #0501-排卵日（オギノ式） ====================
function Calcurate0501(){
	//エラーセット
	var err = [];
	var obj;
	obj = $('ctl00_MainContent_dlPrevYear');
	var y = obj.options[obj.selectedIndex].value;
	obj = $('ctl00_MainContent_dlPrevMonth');
	var m = obj.options[obj.selectedIndex].value;
	obj = $('ctl00_MainContent_dlPrevDate');
	var d = obj.options[obj.selectedIndex].value;

	if( !IsDate0501(y, m, d) ) {
		err[err.length] = '「生理開始日」に正しい年月日を入力してください。';
	}

	if (err.length == 0) {
		RefreshForm('0501', false, null);
		$('ctl00_MainContent_UpdatePanelResult').style.display = 'block';
		return true;
	} else {
		RefreshForm('0501', true, err);
		$('ctl00_MainContent_UpdatePanelResult').style.display = 'none';
		return false;
	}
}
function Reset0501(){
	RefreshForm('0501', false, null);
}
function IsDate0501(y, m, d){
	var di = new Date(y, m-1, d);
	if(di.getFullYear() == y && di.getMonth() == m-1 && di.getDate() == d){
		return true;
	}
	return false;
}


