function cal_bmi_metric(kg, htc){


   m = htc/100;
   h2 = m * m;

   bmi = kg/h2;


   f_bmi = Math.floor(bmi);

   diff  = bmi - f_bmi;
   diff = diff * 10;

   diff = Math.round(diff);
   if (diff == 10){
      // Need to bump up the whole thing instead
      f_bmi += 1;
      diff = 0;
   }
   bmi = f_bmi + "." + diff;

   return bmi;
}
function compute_metric(){
   var f = self.document.f;

   // Set up variables for calculation
   w = f.kg.value;
   i = f.htc.value;

   // Do validation checking to ensure existence of values

   if (!chkw(i)){
     alert("Please enter a number for your height.");
     f.htc.focus();
     return;
   }
   if (!chkw(w)){
     alert("Please enter a number for your weight.");
     f.kg.focus();
     return;
   }

   return cal_bmi_metric(w, i);
}
function cal_bmi_eng (lbs, ins){
   h2 = ins * ins;
   bmi = lbs/h2 * 703
   f_bmi = Math.floor(bmi);
   diff  = bmi - f_bmi;
   diff = diff * 10;
   diff = Math.round(diff);
   if (diff == 10){
      // Need to bump up the whole thing instead
      f_bmi += 1;
      diff = 0;
   }
   bmi = f_bmi + "." + diff;
   return bmi;
}
function compute_eng(){
   var f = self.document.f;

   w = f.wt.value;
   v = f.htf.value;
   u = f.hti.value;

   // Format values for the BMI calculation

   if (!chkw(u)){
     var ii = 0;
     f.hti.value = 0;
   } else {
     var it = f.hti.value*1;
     var ii = parseInt(it);
       }

   var fi = parseInt(f.htf.value * 12);
   var i = fi + ii;

  // Do validation of remaining fields to check for existence of values

   if (!chkw(v)){
     alert("Please enter a number for your height.");
     f.htf.focus();
     return;
   }
   if (!chkw(w)){
     alert("Please enter a number for your weight.");
     f.wt.focus();
     return;
   }

   // Perform the calculation

   return cal_bmi_eng(w, i);
}

function compute(){
   var f = self.document.f;

	if (f.measures[0].checked)
	{
		bmi = compute_eng();
	}
	else
	{
		bmi = compute_metric();
	}
	showdiv("calculatorresults");
	if (bmi<18.5)
		hint = bmi_hint_text.underweight;
	else if (bmi<25)
		hint = bmi_hint_text.normal;
	else if (bmi<30)
		hint = bmi_hint_text.overweight;
	else
		hint = bmi_hint_text.obese;
   document.getElementById("bmirslt").innerHTML = bmi;
   document.getElementById("bmihint").innerHTML = hint;
}

