function Calculate(){
	var STR_INPUTERR_MSG = "正しい値を入力してください。";
	var STR_INPUTEMPTY_MSG = "空白もしくは0の値が有ります。計算できません。";
	var strHeight = document.MYFORM.Height.value;
	var strWeight = document.MYFORM.Weight.value;

	if(CheckEmpty(strHeight) || CheckEmpty(strWeight)){
		alert(STR_INPUTEMPTY_MSG);
		return;
	}

	strHeight = Trim(strHeight);
	strWeight = Trim(strWeight);

	if(CheckInputErr(strHeight) || CheckInputErr(strWeight)){
		alert(STR_INPUTERR_MSG);
		return;
	}

	strHeight = strHeight/100;
	var strBMI = Round(strWeight / (strHeight * strHeight));
	var strWeightAverage = Round(22 * (strHeight * strHeight));
	document.MYFORM.BMI.value = strBMI;
	document.MYFORM.WeightAverage.value = strWeightAverage;

	if(strBMI < 18.5){document.MYFORM.Result.value = "低体重"}
	if(18.5 <= strBMI && strBMI < 25){document.MYFORM.Result.value ="普通体重"}
	if(25 <= strBMI && strBMI < 30){document.MYFORM.Result.value ="肥満1度"}
	if(30 <= strBMI && strBMI < 35){document.MYFORM.Result.value ="肥満2度"}
	if(35 <= strBMI && strBMI < 40){document.MYFORM.Result.value ="肥満3度"}
	if(40 <= strBMI){document.MYFORM.Result.value ="肥満4度"}
}

function CheckEmpty(strInput){
	if(strInput == 0){
		return true;
	}
	else{
		return false;
	}
}

function Trim(strInput)
{
	var intTrimLoop = 0;
	var strTemp = strInput;
	while (intTrimLoop < strInput.length)
	{
		if((strTemp.substring(strTemp.length - 1, strTemp.length) == " ") || (strTemp.substring(strTemp.length - 1, strTemp.length) == "　"))
		{
			strTemp = strInput.substring(0, strInput.length - (intTrimLoop + 1));
		}
		else
		{
			break;
		}
		intTrimLoop++;
	}

	intTrimLoop = 0;
	var strReturn = strTemp;
	while (intTrimLoop < strTemp.length)
	{
		if((strReturn.substring(0, 1) == " ") || (strReturn.substring(0, 1) == "　"))
		{
			strReturn = strTemp.substring(intTrimLoop + 1, strTemp.length);
		}
		else
		{
			break;
		}
		intTrimLoop++;
	}
	return strReturn;
}

function CheckInputErr(strInput){
	if(strInput.match(/[^0-9.]/g)){
		return true;
	}

	var intPeriod = strInput.indexOf(".");
	var intCheckPoint = intPeriod + 1;
	if(intPeriod == 0){
		return true;
	}
	else if(intPeriod > 0){
		if(strInput.indexOf(".",intCheckPoint) > 0){
			return true;
		}
	}

	intPeriod = strInput.lastIndexOf(".");
	if(intPeriod > 0){
		if(strInput.lastIndexOf(".") == strInput.length-1){
			return true;
		}
	}

	if(strInput.length >= 2){
		if(strInput.charAt(0) == 0){
			if(strInput.charAt(1) != "."){
				return true;
			}
		}
	}
	return false;
}

function Round(intCResult)
{
	var intReturn = intCResult * 10;
	intReturn = Math.round(intReturn) / 10;
	return(intReturn);
}


