
function calcBEE(obj) {

   function IsNum(str) {
      for (var i = 0; i < str.length; i++) {
         var chr = str.substring(i, i+1);
         if ((chr < "0" || "9" < chr) && chr != ".")
            return false; 
      }
      if (eval(str)==0)
         return false;
      return true;
   }

	if (!obj.gender[0].checked && !obj.gender[1].checked) {
      alert("Click either male or female");
      return; }

   if (!IsNum(obj.Ht.value)) {
      alert("Height invalid");
      return; }
   if (!IsNum(obj.Wt.value)) {
      alert("Weight invalid");
      return; }
   if (!IsNum(obj.Age.value)) {
      alert("Age invalid");
      return; }

   var Ht     = obj.Ht.value;
   var Wt     = obj.Wt.value;
   var Age    = obj.Age.value;
   var i      = obj.Stress.selectedIndex;
   var Stress   = obj.Stress.options[i].value;
   var Activity = 1.2;
   var Factor   = 0;
   if (obj.cmin[1].checked) {
      Ht = Ht * 2.54;
      obj.cmin[0].checked = true; }
   Ht = Math.round(Ht * 100) / 100;
   obj.Ht.value = Ht;

   if (obj.kglb[1].checked) {
      Wt = Wt / 2.2;
      obj.kglb[0].checked = true; }
   Wt = Math.round(Wt * 100) / 100;
   obj.Wt.value = Wt;

   if (obj.yrmo[1].checked) {
      Age = Age / 12;
      obj.yrmo[0].checked = true; }
   Age = Math.round(Age * 100) / 100;
   obj.Age.value = Age;
   
   if (obj.Activity[1].checked) {
      Activity = 1.25; }
   Factor = parseFloat(Activity) + parseFloat(Stress);

   if (obj.gender[0].checked) {
      BEE = 66.5 + 13.75 * Wt + 5.003 * Ht - 6.775 * Age; }
   else {
      BEE = 655.1 + 9.563 * Wt + 1.85 * Ht - 4.676 * Age; }

   BEE   = Math.round(BEE);
   TotCR = Math.round(BEE * Factor);
   obj.BeeValue.value = BEE;
   obj.CalReqValue.value = TotCR;
}

