﻿<!-- // Copyright 2003 - Antonio Zamora

function compute(lang){  // Computation for BMI
   // lang parameter is null for English or language code, e.g., ("es")
   var f = document.forms[0]; 
   var bm;
  // Set up language variables:  msXXX
  if (lang=="es") {  // Spanish
    ms001 = "Por favor, introduzca su altura y peso.";
    ms002 = "Error en la altura.";
    ms003 = "Error en el peso.";
    ms004 = "Su peso está en el rango normal.";
    ms018 = "Su peso está ";
    ms019 = " kilogramos (";
    ms020 = " libras) bajo lo normal.";
    ms026 = "Usted tiene ";
    ms027 = " kilogramos (";
    ms028 = " libras) de sobrepeso.";
  }
  else if (lang=="fr") {  // French
    ms001 = "Entrez votre taille et votre poids.";
    ms002 = "Erreur dans la hauteur.";
    ms003 = "Erreur dans le poids.";
    ms004 = "Votre poids est dans la plage normale.";
    ms018 = "Son poids est ";
    ms019 = " kilogrammes (";
    ms020 = " livres) sous la normale.";
    ms026 = "Vous êtes ";
    ms027 = " kilogrammes (";
    ms028 = " livres) en surpoids.";
  }
  else {  // Default language: English
    ms001 = "Please enter your height and weight.";
    ms002 = "Error in height.";
    ms003 = "Error in weight.";
    ms004 = "Your weight is in the normal range.";
    ms018 = "You are underweight by ";
    ms019 = " kilograms (";
    ms020 = " pounds).";
    ms026 = "You are overweight by ";
    ms027 = " kilograms (";
    ms028 = " pounds)";
  }

  // 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;
      document.getElementById('bmival').innerHTML=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(ms001);  // ms001 = "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;
      document.getElementById('bmival').innerHTML=bm;
    }
}

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(ms002);  // ms002 = "Error in height.";
     	return 0;
    }
    if (kg < 25 || kg > 250) {     
	  	alert(ms003);  // ms003 = "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 = ms004;  // "Your weight is in the normal range.";
    document.getElementById('out').innerHTML=ms004;
   }
   else {
    if (bmix < minbm) {
     i = rounder(h2*minbm - kg);
     i1 = i*2.2;
     i1 = rounder(i1);
     //     ms018 = "You are underweight by "; ms019 = " kilograms (";  ms020 = " pounds).<br/>\n";
     //f.out.value = ms018+i+ms019+i1+ms020;
     document.getElementById('out').innerHTML=ms018+i+ms019+i1+ms020;
    }
    if (bmix > maxbm) {
     i = rounder(kg - h2*maxbm);
     i1 = i*2.2;
     i1 = rounder(i1);
     //     ms026 = "You are overweight by ";  ms027 = " kilograms (";  ms028 = " pounds)";
     //f.out.value = ms026+i+ms027+i1+ms028;
     document.getElementById('out').innerHTML=ms026+i+ms027+i1+ms028;
    }
	}
   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 = "";
   document.getElementById('bmival').innerHTML="&nbsp; &nbsp;";
   //f.out.value = "";
   document.getElementById('out').innerHTML="&nbsp; &nbsp;";
}

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

//-->
