﻿<!-- // Copyright 2003 - Antonio Zamora
function cal_bmikg(kg, htc){
   var i,i1, minbm, maxbm;
   var f = document.forms[0];  // BMI is 1st form
    if (htc < 100 || htc > 250) {     
	  	alert("Error in height.");
     	return 0;
    }
    if (kg < 25 || kg > 250) {     
	  	alert("Error in weight.");
     	return 0;
    }
   m = htc/100;
   h2 = m * m;
   bmi = kg/h2;
   bmix = rounder(bmi);
   minbm = 18.5;
   maxbm = 24.9;
   if ((bmix >= minbm) && (bmix  <= maxbm) ) {
    f.out.value = "Your weight is in the normal range.";
   }
   else {
    if (bmix < minbm) {
     i = rounder(h2*minbm - kg);
     i1 = i*2.2;
     i1 = rounder(i1);
     f.out.value = "You are underweight by "+i+" kilograms ("+i1+" pounds)";
    }
    if (bmix > maxbm) {
     i = rounder(kg - h2*maxbm);
     i1 = i*2.2;
     i1 = rounder(i1);
     f.out.value = "You are overweight by "+i+" kilograms ("+i1+" pounds)";
    }
	}
   return bmix;
}

function rounder(x) {
  var x1;
   x = x + 0.05;  // round to tenths
   f_bmi = Math.floor(x);
   diff  = Math.floor((x - f_bmi)*10);
   x1 = f_bmi + "." + diff;
  return(x1);
}

function vclear(x) {  // Clear for BMI form
   var f = document.forms[0]; 
   if (x == 1){ // English units, clear metric
     f.htc.value = ""; 
     f.wtk.value = "";
   }
   if (x == 2){  // Metric units, clear English units
     f.htf.value = ""; f.hti.value = "";  
     f.wt.value = "";
   }     
   f.bmi.value = "";
   f.out.value = "";
}

function compute(){  // Computation for BMI
   var f = document.forms[0]; 
   var bm;

  // try metric first
   w1 = f.wtk.value;
   i = parseFloat(f.htc.value);
  if ((chkw(w1)) && (chkw(i))) {
    bm = cal_bmikg(w1, i);
    if (bm > 0) {
      f.bmi.value = bm;
    }
    return;
  }
   w = f.wt.value;
   v = f.htf.value;
   u = f.hti.value;

   // Validate fields to check for existence of values
   if (!chkw(u) || !chkw(v) || !chkw(w) ){
     alert("Please enter your height and weight.");
     return;
   }
   // Convert feet to inches
   var ii = parseFloat(f.hti.value);
   var fi = parseFloat(f.htf.value * 12);
   var i = fi + ii;

   w1 = w/2.2;    // convert pounds to kg
   i = i*2.54;      // convert inches to cm
    bm = cal_bmikg(w1, i);
    if (bm > 0) {
      f.bmi.value = bm;
    }
}

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

function vcleara(x) {  // Clear for Calories form
   var f = document.forms[0]; 
   if (x == 1){ // English units, clear metric
     f.htc1.value = ""; 
   }
   if (x == 2){  // Metric units, clear English units
     f.htf1.value = ""; f.hti1.value = "";  
   }     
   f.calmin.value = "";
   f.calmax.value = "";
}

function calories() {
   var i, ii, fi, sex;
   var f = document.forms[0];  // Calories is 1st form

   // try metric first
   i = parseFloat(f.htc1.value);
   v = f.htf1.value;
   u = f.hti1.value;

   if (!chkw(i)) {
   	if (!chkw(u) || !chkw(v) ){
     	alert("Please enter your height.");
     	return;
   	}
   	// Convert feet to inches
     ii = parseFloat(f.hti1.value);
     fi = parseFloat(f.htf1.value * 12);
     i = fi + ii;
     i = i*2.54;      // convert inches to cm
   }

    if (i < 150 || i > 190) {     
	  	 alert("Height outside valid range.");
      return;
    }
   // check for radio buttons
   sex = " ";
   if (f.sex[0].checked) {
     sex = "m";
	}
	if (f.sex[1].checked) {
     sex = "f";
	}
	if (sex == " ") { 
    alert("Please specify Male or Female");
    return;
  }
  if (sex == "m") { // male
    f.calmin.value = Math.floor(1842 + (i-150)*15.4 + .5);
    f.calmax.value = Math.floor(2488 + (i-150)*23.6 + .5);
  }
  else {  // female
    f.calmin.value = Math.floor(1622 + (i-150)*13.2 + .5);
    f.calmax.value = Math.floor(2194 + (i-150)*19.3 + .5);
  }
}

//-->

