// JavaScript Document

// Calculate BMR using the Quick method

function ClearFormQK(form){
    form.weightQK.value = "";
    form.bmrQKFL.value = "";
    form.bmrQKM.value = "";
    form.bmrQKWG.value = "";
	}

function bmrQKFL(weightQK) {
          bmrqkflindx=weightQK*13;
          return bmrqkflindx;
}

function bmrQKM(weightQK) {
          bmrqkmindx=weightQK*16;
          return bmrqkmindx;
}

function bmrQKWG(weightQK) {
          bmrqkwgindx=weightQK*20;
          return bmrqkwgindx;
}

function checkformQK(form) {
       if (form.weightQK.value==null||form.weightQK.value.length==0){
            alert("\nPlease fill in your weight in lbs first.");
            return false;
       }
       else if (parseFloat(form.weightQK.value) <= 0||
                parseFloat(form.weightQK.value) >=500){
                alert("\nYou probably made a mistake.\n \nPlease re-enter your weight in lbs.");
                ClearFormQK(form);
                return false;
       }
       return true;
}

function computeformQK(form) {
       if (checkformQK(form)) {
       yourbmrQKFL=Math.round(bmrQKFL(form.weightQK.value));
       form.bmrQKFL.value=yourbmrQKFL;
       yourbmrQKM=Math.round(bmrQKM(form.weightQK.value));
       form.bmrQKM.value=yourbmrQKM;
       yourbmrQKWG=Math.round(bmrQKWG(form.weightQK.value));
       form.bmrQKWG.value=yourbmrQKWG;
       }
       return;
}


// Calculate BMR using the Harris-Benedict method

function ClearFormHB(form){
    form.weight.value = "";
    form.height.value = "";
	form.age.value = "";
    form.bmrhb.value = "";
    }

function bmrhbmen(weight, height, age) {
          bmrhbmindx=(66+(6.23*weight)+(12.7*height))-(6.8*age);
          return bmrhbmindx;
}

function bmrhbwomen(weight, height, age) {
          bmrhbwindx=(655+(4.35*weight)+(4.7*height))-(4.7*age);
          return bmrhbwindx;
}

function maintenanceHB(bmrhb,activityhb) {
          var actlevelhb;
		  actlevelhb = activityhb;
		  switch (actlevelhb) {
		  case "1": {maintenancehbindx=bmrhb*1.2; break}
		  case "2": {maintenancehbindx=bmrhb*1.375; break}
		  case "3": {maintenancehbindx=bmrhb*1.55; break}
		  case "4": {maintenancehbindx=bmrhb*1.725; break}
		  case "5": {maintenancehbindx=bmrhb*1.9; break}
		  default:
		  	alert('Activity Level needs to be between 1 and 5.');
		  }
          return maintenancehbindx;
}

function checkformHB(form) {
       if (form.weight.value==null||form.weight.value.length==0 || form.height.value==null||form.height.value.length==0 || form.age.value==null||form.age.value.length==0){
            alert("\nPlease fill in your height, weight and age first.");
            return false;
       }
       else if (parseFloat(form.height.value) <= 0||
                parseFloat(form.height.value) >=500||
                parseFloat(form.weight.value) <= 0||
                parseFloat(form.weight.value) >=500||
                parseFloat(form.age.value) <= 0||
                parseFloat(form.age.value) >=500||
                parseFloat(form.activityhb.value) <1||
                parseFloat(form.activityhb.value) >5){
                alert("\nYou probably made a mistake.\n \nPlease re-enter the values.");
                ClearForm(form);
                return false;
       }
       return true;
}

function computeformmen(form) {
       if (checkformHB(form)) {
       yourbmrhb=Math.round(bmrhbmen(form.weight.value, form.height.value, form.age.value));
       form.bmrhb.value=yourbmrhb;
       yourmaintenancehb=Math.round(maintenanceHB(form.bmrhb.value, form.activityhb.value));
       form.maintenancehb.value=yourmaintenancehb;
       }
       return;
}

function computeformwomen(form) {
       if (checkformHB(form)) {
       yourbmrhb=Math.round(bmrhbwomen(form.weight.value, form.height.value, form.age.value));
       form.bmrhb.value=yourbmrhb;
       yourmaintenancehb=Math.round(maintenanceHB(form.bmrhb.value, form.activityhb.value));
       form.maintenancehb.value=yourmaintenancehb;
       }
       return;
}


// Calculate BMR using the Katch-McArdle method

function ClearFormKM(form){
    form.weightkm.value = "";
    form.fatperc.value = "";
    form.activitykm.value = "";
	form.lbm.value = "";
    form.bmrkm.value = "";
    form.maintenancekm.value = "";
	}

function lbmKM(weightkm, fatperc) {
          lbmkmindx=weightkm-(weightkm*(fatperc/100));
          return lbmkmindx;
}

function bmrKM(lbm,activity) {
		  bmrkmindx=(370+(9.79759519*lbm));
          return bmrkmindx;
}

function maintenanceKM(bmrkm,activitykm) {
          var actlevelkm;
		  actlevelkm = activitykm;
		  switch (actlevelkm) {
		  case "1": {maintenancekmindx=bmrkm*1.2; break}
		  case "2": {maintenancekmindx=bmrkm*1.375; break}
		  case "3": {maintenancekmindx=bmrkm*1.55; break}
		  case "4": {maintenancekmindx=bmrkm*1.725; break}
		  case "5": {maintenancekmindx=bmrkm*1.9; break}
		  default:
		  	alert('Activity Level needs to be between 1 and 5.');
		  }
          return maintenancekmindx;
}

function checkformKM(form) {
       if (form.weightkm.value==null||form.weightkm.value.length==0 || form.fatperc.value==null||form.fatperc.value.length==0 || form.activitykm.value==null||form.activitykm.value.length==0){
            alert("\nPlease fill in your weight, body fat percentage and activity level first.");
            return false;
       }
       else if (parseFloat(form.weightkm.value) <= 0||
                parseFloat(form.weightkm.value) >=500||
                parseFloat(form.fatperc.value) <= 0||
                parseFloat(form.fatperc.value) >=500||
                parseFloat(form.activitykm.value) <1||
                parseFloat(form.activitykm.value) >5){
                alert("\nYou probably made a mistake.\n \nPlease re-enter the values.");
                ClearFormKM(form);
                return false;
       }
       return true;
}

function computeformKM(form) {
       if (checkformKM(form)) {
       yourlbm=Math.round(lbmKM(form.weightkm.value, form.fatperc.value));
       form.lbm.value=yourlbm;
       yourbmrkm=Math.round(bmrKM(form.lbm.value));
       form.bmrkm.value=yourbmrkm;
       yourmaintenancekm=Math.round(maintenanceKM(form.bmrkm.value, form.activitykm.value));
       form.maintenancekm.value=yourmaintenancekm;
       }
       return;
}