//*******************************************
//DO NOT REMOVE THIS COPYWRITE INFO!
//Weight Gain/Loss Planning Calculator
//Created: 10/20/2002
//Last Modified: 10/20/2002
//This script may not be copied, edited, distributed or reproduced
//without express written permission from
//http://www.ewebcircle.com.au
//Commercial User Licence #:1586-695-75-677
//Commercial Licence Date:2005-10-24
//*******************************************

function stripNum(num) {

var iPercent
var iDollar
var iSpace
var iComma
var numLength = num.length

//lalalla Line #114

if(numLength > 0) {

   num=num.toString();

   iPercent = num.indexOf("%");
   if(iPercent >= 0) {
      num=num.substring(0,iPercent) + "" + num.substring(iPercent + 1,numLength);
      numLength=num.length;
      }
   iDollar = num.indexOf("$");
   if(iDollar >= 0) {
      num=num.substring(0,iDollar) + "" + num.substring(iDollar + 1,numLength);
      numLength=num.length;
      }
   iSpace = num.indexOf(" ");
   if(iSpace >= 0) {
      num=num.substring(0,iSpace) + "" + num.substring(iSpace + 1,numLength);
      numLength=num.length;
      }
   iComma = num.indexOf(",");
   if(iComma >= 0) {
      while(iComma >=1) {
         num=num.substring(0,iComma) + "" + num.substring(iComma + 1,numLength);
         numLength=num.length;
         iComma = num.indexOf(",");
      }
      }

      num = eval(num);


} else {

num = 0;

}

return num;

}




function formatNumber(num) {

var isNeg=0;

    if(num < 0) {
       num=num*-1;
       isNeg=1;
    }

    
	onum=Math.round(num*100)/100;
		
	integer=Math.floor(onum);

	if (Math.ceil(onum) == integer) {
		decimal="00";
	} else{
		decimal=Math.round((onum-integer)*100)
	}
	decimal=decimal.toString();
	if (decimal.length<2) decimal="0"+decimal;

	integer=integer.toString();
	var tmpnum="";
	var tmpinteger="";
	var y=0;

	for (x=integer.length;x>0;x--) {
		tmpnum=tmpnum+integer.charAt(x-1);
		y=y+1;
		if (y==3 & x>1) {
			tmpnum=tmpnum+",";
			y=0;
		}
	}

	for (x=tmpnum.length;x>0;x--) {
		tmpinteger=tmpinteger+tmpnum.charAt(x-1);
	}
		
	finNum=tmpinteger+"."+decimal;

    if(isNeg == 1) {
       finNum = "-" + finNum;
    }

	return finNum;
}


function computeForm(form) {

if(form.age.value == "" || form.age.value == 0) {
   alert("Please enter your age.");
   form.age.focus();
   } else
      if(form.feet.value == "" || form.feet.value == 0) {
      alert("Please enter the feet portion of your hieght.");
      form.feet.focus();
   } else
      if(form.weight.value == "" || form.weight.value == 0) {
      alert("Please enter your weight.");
      form.weight.focus();
   } else {

//INPUT VALUES
var Vgender = form.gender.selectedIndex;
var Vage = stripNum(form.age.value);
var Vfeet = stripNum(form.feet.value);
var Vinches = stripNum(form.inches.value);
var Vweight = stripNum(form.weight.value);
var VfatPerc = stripNum(form.fatPerc.value);
if(VfatPerc >= 1) {
   VfatPerc /= 100;
}

//CONVERT HEIGHT TO CM
var VinchesTall = (Vfeet * 12) + Vinches;
var VcmHeight = VinchesTall * 2.54;

//CONVERT WEIGHT TO KG
var VkgWeight = Vweight / 2.2;

var Vbmr = 0;

if(VfatPerc == 0) {

   if(Vgender == 0) {
      Vbmr = 655 + (9.6 * VkgWeight) + (1.8 * VcmHeight) - (4.7 * Vage);
   } else {
      Vbmr = 66 + (13.7 * VkgWeight) + (5 * VcmHeight) - (6.8 * Vage);
   }

} else {

var VleanMass = (1 - VfatPerc) * VkgWeight;

Vbmr = 370 + (21.6 * VleanMass);
}

var VactivityLevel = form.activityLevel.options[form.activityLevel.selectedIndex].value;

var Vtdee = Vbmr * VactivityLevel;

form.tdee.value = Math.round(Vtdee);

var Vpounds = stripNum(form.pounds.value);
var VloseGain = form.loseGain.selectedIndex;

var VperiodType = form.periodType.selectedIndex;
var VdaysPerPeriod = form.periodType.options[form.periodType.selectedIndex].value;
var VperiodNum = stripNum(form.periodNum.value);

var VtotalDays = VdaysPerPeriod * VperiodNum;
var VtotalCalories = Vpounds * 3500;
var VdailyCalChange = 0;
var VnewTDEE = 0;

if(Vpounds > 0 && VperiodNum > 0) {

   VdailyCalChange = VtotalCalories / VtotalDays;

   if(form.loseGain.selectedIndex == 0) {
      VnewTDEE = Vtdee - VdailyCalChange;
   } else {
      VnewTDEE = Vtdee + VdailyCalChange;
   }

   if(VdailyCalChange > 1000) {
      form.newTDEE.value = "Unsafe";
   } else {
      form.newTDEE.value = Math.round(VnewTDEE);
   }

} else {

form.newTDEE.value = "";

}

var VperiodText = "";

if(VperiodType == 0) {
   VperiodText = "day";
} else
if(VperiodType == 1) {
   VperiodText = "week";
} else
if(VperiodType == 2) {
   VperiodText = "month";
} else
if(VperiodType == 3) {
   VperiodText = "year";
}

if(VperiodNum > 1) {
   VperiodText = VperiodText + "s";

}

var VloseGainText = "";
if(VloseGain == 0) {
   VloseGainText = "lose";
} else {
   VloseGainText = "gain";
}

var VpoundText = "";
if(Vpounds == 1) {
   VpoundText = "pound";
} else {
   VpoundText = "pounds";
}

var VchangeText = "";
if(VloseGain == 0) {
   VchangeText = "reduce";
} else {
   VchangeText = "increase";
}


if(VdailyCalChange > 1000) {

Vsummary = "The entered pounds and time goal result in an unsafe level of calorie changes. Please either increase the time goal, or decrease the pound goal.";

} else
if(Vpounds > 0 && VperiodNum > 0) {

Vsummary = "In order to " + VloseGainText + " " + Vpounds + " " + VpoundText + " in " + VperiodNum + " " + VperiodText + ", you will need to " + VchangeText + " your daily calorie intake from your normal maintenance level of " + Math.round(Vtdee) + " calories per day, down to " + Math.round(VnewTDEE) + " calories per day.";

} else {

Vsummary = "";

}

form.summary.value = Vsummary;

}
}
