//=========================================================================================================
function roundToXDigits(n,x)
{
	if (x < 0) x = 0;
        temp = n;
	for (i=1; i<=x; i++) temp = temp *10;
        temp = Math.round(temp);
        strTemp = "" + temp;
	if (x == 0)
	{
          return strTemp;
        }
	else
	{
   	  len = strTemp.length;
   	  return strTemp.substring(0, len-x) + "." + strTemp.substring(len-x, len);
	}
}

//---------------------------------------------------------------------------------------------------------

function CalcBMI(form)
{
        var BMI;

	var Height  = eval (form.height1.value);
	var Weight  = eval (form.weight.value);
	var Waist   = eval (form.waist.value);

	var mHeight = eval (form.height1.value);
	var mWeight = eval (form.weight.value);
	var mWaist  = eval (form.waist.value);


	if (form.units.value ==  "eng")
         {
		mHeight = Height * 2.54;
		mWeight = Weight/2.2;
		mWaist  = Waist * 2.54;
	        BMI = ((Weight * 704.2)/(Height * Height));
        	form.bmi.value = roundToXDigits(BMI,1);
         }
         else
         {
		Height = mHeight/2.54;
		Weight = mWeight * 2.2;
		Waist  = mWaist/2.54;
	        BMI = ((mWeight * 10000)/(mHeight * mHeight));
        	form.bmi.value = roundToXDigits(BMI,1);
         }

        var bodyfat;

	if (BMI<20)
		form.bodystate.value='Underweight';
	if ((BMI>=20)&&(BMI<25))
		form.bodystate.value='Acceptable';
	if ((BMI>=25)&&(BMI<30))
		form.bodystate.value='Overweight';
	if ((BMI>=30)&&(BMI<45))
		form.bodystate.value='Obese';
	if (BMI>=45)
		form.bodystate.value='Morbidly obese';

	if (form.sex.value == "male")
	{ // male
		var FromWt = 20 * Math.pow(mHeight/100, 2);
		var ToWt   = 25 * Math.pow(mHeight/100, 2);

                bodyfat = (4.15 * Waist) - (.082 * Weight) - 98.42;
	}
	else
	{ //female
		var FromWt = 19 * Math.pow(mHeight/100, 2);
		var ToWt   = 25 * Math.pow(mHeight/100, 2);

                bodyfat = (4.15 * Waist) - (.082 * Weight) - 76.76;
	}


        if (form.units.value == "eng")
        {
           FromWt = FromWt * 2.2;
           ToWt   = ToWt * 2.2;
        }

        form.from.value = roundToXDigits(FromWt,0);
        form.to.value   = roundToXDigits(ToWt,0);

        var leanbody = (Weight - (Weight * (bodyfat/100)));
        if (form.units.value == "met")
        {
           leanbody = (leanbody/2.2);
        }

        if (bodyfat < 0) {bodyfat = 0}

        form.bodyfat.value = Math.round(bodyfat);
        form.leanbody.value = Math.round(leanbody);
}

//=========================================================================================================
function CALBURN(form)
{

 var weight = form.weight.value;

 if (form.units.value == "eng")
 { weight = weight / 2.2; }

 var activity = form.activity.options[form.activity.selectedIndex].value;
 var time     = form.minutes.value;

 form.calcval.value = Math.round((weight * activity)*(time / 60));
}

//=========================================================================================================
function RUNPACE(form){

if (form.hour.value==null||form.hour.value.length==0){
        form.hour.value=0;
}
if (form.minute.value==null||form.minute.value.length==0){
        form.minute.value=0;
}
if (form.second.value==null||form.second.value.length==0){
        form.second.value=0;
}

var et = (form.hour.value*3600) + (form.minute.value*60) + (form.second.value*1);

if (et != 0 && form.mileage.value.length != 0){
        // total seconds/mile
        var t1 = et/form.mileage.value;
        form.minute_mile.value= Math.round(t1/60);
        }

return;
}

function clear(form){
  form.mileage.value = "";
  form.hour.value = "";
  form.minute.value = "";
  form.second.value = "";
  form.minute_mile.value = "";
}
//=========================================================================================================


