function cal_bmi(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(){
   var f = self.document.bmi_input;

   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 ii = parseInt(f.hti.value);
   }

   var fi = parseInt(f.htf.value * 12);
   var i = fi + ii;

  // Do validation of remaining fields to check for existence of values


    //Check for height to match for 'ideal weights' where v=feet and u=inches
   if ((v == 4)&&(u == 10)){
	   f.ideal.value = "-";
	   f.ideal2.value = 115;
   }
   
   if ((v == 4)&&(u == 11)){
	   f.ideal.value = "-";
	   f.ideal2.value = 117;
   }
   
   if ((v == 5)&&(u == 0)){
	   f.ideal.value = "-";
	   f.ideal2.value = 120;
   }
   
   if ((v == 5)&&(u == 1)){
	   f.ideal.value = "-";
	   f.ideal2.value = 122;
   }
   
   if ((v == 5)&&(u == 2)){
	   f.ideal.value = 136;
	   f.ideal2.value = 125;
   }
   
   if ((v == 5)&&(u == 3)){
	   f.ideal.value = 138;
	   f.ideal2.value = 128;
   }
   
   if ((v == 5)&&(u == 4)){
	   f.ideal.value = 140;
	   f.ideal2.value = 131;
   }
   
   if ((v == 5)&&(u == 5)){
	   f.ideal.value = 143;
	   f.ideal2.value = 131;
   }
   
   if ((v == 5)&&(u == 6)){
	   f.ideal.value = 145;
	   f.ideal2.value = 137;
   }
   
   if ((v == 5)&&(u == 7)){
	   f.ideal.value = 149;
	   f.ideal2.value = 140;
   }
   
   if ((v == 5)&&(u == 8)){
	   f.ideal.value = 152;
	   f.ideal2.value = 143;
   }
   
   if ((v == 5)&&(u == 9)){
	   f.ideal.value = 154;
	   f.ideal2.value = 146;
   }
   
   if ((v == 5)&&(u == 10)){
	   f.ideal.value = 157;
	   f.ideal2.value = 149;
   }
   
   if ((v == 5)&&(u == 11)){
	   f.ideal.value = 160;
	   f.ideal2.value = 152;
   }
   
   if ((v == 6)&&(u == 0)){
	   f.ideal.value = 164;
	   f.ideal2.value = 155;
   }
   
   if ((v == 6)&&(u == 1)){
	   f.ideal.value = 167;
	   f.ideal2.value = "-";
   }
   
   if ((v == 6)&&(u == 2)){
	   f.ideal.value = 171;
	   f.ideal2.value = "-";
   }
   
   if ((v == 6)&&(u == 3)){
	   f.ideal.value = 175;
	   f.ideal2.value = "-";
   }
   
   if ((v == 6)&&(u == 4)){
	   f.ideal.value = 179;
	   f.ideal2.value = "-";
   }

   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

   f.bmi.value = cal_bmi(w, i);
   f.bmi.focus();
}

function chkw(w){
   if (isNaN(parseInt(w))){
      return false;
   } else if (w < 0){
  return false;
  }
  else{
  return true;
  }
}