//----------------------------- Form handler ----------------------------------
function formHandler()
{
  var URL = document.form.site.options[document.form.site.selectedIndex].value;
  window.location.href = URL;
}


//-------------------------- AJAX stuff ---------------------------------------
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
    @if (@_jscript_version >= 5)
    try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    xmlhttp = false;
    }
    }
    @else
    xmlhttp = false;
    @end @*/

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

var http = getHTTPObject(); // We create the HTTP Object 
var script_url = "cgi-bin/bfcalc2.php?"; // The server-side script
var working = false;

function handleHttpResponse(element) {
  if (http.readyState == 4) {
    working = false;
    if (http.responseText.indexOf('invalid') == -1) {
      results = http.responseText.split(",");
      element.bodyfat.value = results[0];
      element.fat.value = results[1];
      element.leadbody.value = results[2];
      working = false;
    }
  }
}

function handleHttpResponseForMen() {
  handleHttpResponse(document.men);
}

function handleHttpResponseForWomen() {
  handleHttpResponse(document.women);
}

function calculate(url, sex) {
  if (!working) {
    http.open("GET", url, true);
    working = true;
    if (sex == 'm') {
      http.onreadystatechange = handleHttpResponseForMen;
    } else {
      http.onreadystatechange = handleHttpResponseForWomen;
    }
    http.send(null);
  }
}

//----------------------------- Variables -------------------------------------
var POUNDS      = 1;
var KILOGRAMS   = 2;
var INCHES      = 4;
var CENTIMETERS = 5;

var lengthm     = INCHES;
var lengthw     = INCHES;
var weightConv  = POUNDS;

//-----------------------------------------------------------------------------
//------------------------------------ Men ------------------------------------
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// UnitsMen - Check what units are checked for men
//-----------------------------------------------------------------------------
function UnitsMen()
{
  if (document.men.unitsm[0].checked)       
  {
    weightConv = POUNDS;
    document.men.weight.value   = roundFloat(document.men.weight.value   * 2.2, 2);
    document.men.fat.value      = roundFloat(document.men.fat.value      * 2.2, 2);
    document.men.leadbody.value = roundFloat(document.men.leadbody.value * 2.2, 2);

  }
  else if (document.men.unitsm[1].checked)  
  {
    weightConv = KILOGRAMS;
    document.men.weight.value   = roundFloat(document.men.weight.value   / 2.2, 2);
    document.men.fat.value      = roundFloat(document.men.fat.value      / 2.2, 2);
    document.men.leadbody.value = roundFloat(document.men.leadbody.value / 2.2, 2);
  }
}

//-----------------------------------------------------------------------------
// LengthMen 
//-----------------------------------------------------------------------------
function LengthMen()
{
  if (document.men.lengthm[0].checked)       
  {
    lengthm = INCHES;
    document.men.height.value = roundFloat(document.men.height.value / 2.54,
        2);
    document.men.waist.value  = roundFloat(document.men.waist.value  / 2.54,
        2);
    document.men.neck.value   = roundFloat(document.men.neck.value   / 2.54,
        2);
  }
  else if (document.men.lengthm[1].checked)  
  {
    lengthm = CENTIMETERS;
    document.men.height.value = roundFloat(document.men.height.value * 2.54,
        2);
    document.men.waist.value  = roundFloat(document.men.waist.value  * 2.54,
        2);
    document.men.neck.value   = roundFloat(document.men.neck.value   * 2.54,
        2);
  }
}

//-----------------------------------------------------------------------------
// resetMen - Clear out all fields for Men
//-----------------------------------------------------------------------------
function resetMen()
{
  document.men.age.value     = 0;
  document.men.weight.value  = 0;
  document.men.chest.value   = 0;
  document.men.abs.value     = 0;
  document.men.thigh.value   = 0;
  document.men.tri4.value    = 0;
  document.men.abs4.value    = 0;
  document.men.thigh4.value  = 0;
  document.men.sup4.value    = 0;
  document.men.chest7.value  = 0;
  document.men.abs7.value    = 0;
  document.men.thigh7.value  = 0;
  document.men.tri7.value    = 0;
  document.men.subs7.value   = 0;
  document.men.supr7.value   = 0;
  document.men.mida7.value   = 0;
  document.men.chestP.value  = 0;
  document.men.absP.value    = 0;
  document.men.thighP.value  = 0;
  document.men.triP.value    = 0;
  document.men.subsP.value   = 0;
  document.men.suprP.value   = 0;
  document.men.lbP.value     = 0;
  document.men.calfP.value   = 0;
  document.men.bicepP.value  = 0;
  document.men.waist.value   = 0;
  document.men.height.value  = 0;
  document.men.neck.value    = 0;
  document.men.biD.value     = 0;
  document.men.triD.value    = 0;
  document.men.subD.value    = 0;
  document.men.supD.value    = 0;

  weightConv = POUNDS;
  lengthm = INCHES;
}     

//-----------------------------------------------------------------------------
// checkFieldsMen - Make sure all fields are populated before calculating body
// fat
//-----------------------------------------------------------------------------
function checkFieldsMen()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.chest.value))) 
  {
    alert("You must enter a valid number for Chest.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.abs.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.thigh.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsMen - Make sure all fields are populated before calculating body
// fat
//-----------------------------------------------------------------------------
function checkFieldsMen4()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.tricep4.value))) 
  {
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.sup4.value))) 
  {
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.abs4.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.thigh4.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}
//-----------------------------------------------------------------------------
// checkFieldsMen7 - Make sure all fields are populated before calculating body
// fat
//-----------------------------------------------------------------------------
function checkFieldsMen7()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.chest7.value))) 
  {
    alert("You must enter a valid number for Chest.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.abs7.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.thigh7.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.tri7.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.subs7.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.supr7.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.mida7.value)))
  { 
    alert("You must enter a valid number for Midaxillary.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}

//-----------------------------------------------------------------------------
// Durnin
//-----------------------------------------------------------------------------
function checkFieldsMenD()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.biD.value)))
  { 
    alert("You must enter a valid number for Bicep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.triD.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.subD.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.supD.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsParrillo
//-----------------------------------------------------------------------------
function checkFieldsParrillo()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.chestP.value))) 
  {
    alert("You must enter a valid number for Chest.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.absP.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.thighP.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.biP.value)))
  { 
    alert("You must enter a valid number for Bicep.\n");
    errorField = true;
  }


  if (!(IsNumber(document.men.triP.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.subsP.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.suprP.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.lbP.value)))
  { 
    alert("You must enter a valid number for Lower Back.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.calfP.value)))
  { 
    alert("You must enter a valid number for Calf.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsMenT - Same as above but for Tape Measurements
//-----------------------------------------------------------------------------
function checkFieldsMenT()
{
  var errorField = false;

  if (!(IsNumber(document.men.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.height.value))) 
  {
    alert("You must enter a valid number for Height.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.waist.value))) 
  {
    alert("You must enter a valid number for Abdomen.\n");
    errorField = true;
  }

  if (!(IsNumber(document.men.neck.value))) 
  {
    alert("You must enter a valid number for Neck.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}

//-----------------------------------------------------------------------------
// calculateForMenTape - Calculate body fat for men
//-----------------------------------------------------------------------------
function calculateForMenTape() 
{
  if (!checkFieldsMenT()) { return; }

  var height = parseFloat(escape(document.men.height.value));
  var waist  = parseFloat(escape(document.men.waist.value));
  var neck   = parseFloat(escape(document.men.neck.value));

  if (lengthm == CENTIMETERS)
  {
    height = height / 2.54;
    waist  = waist  / 2.54;
    neck   = neck   / 2.54;
  }

  url = script_url
  url += "calc=men_calc_tape";
  url += "&weight=" + escape(document.men.weight.value);
  url += "&age=" + escape(document.men.age.value);

  url += "&height=" + height;
  url += "&waist=" + waist;
  url += "&neck=" + neck;

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
// calculateForMen - Calculate body fat for men using 3 Fat Caliper
//-----------------------------------------------------------------------------
function calculateForMen() 
{
  if (!checkFieldsMen()) { return; }

  url = script_url
  url += "calc=men_calc";
  url += "&weight=" + escape(document.men.weight.value);
  url += "&age=" + escape(document.men.age.value);

  url += "&chest=" + escape(document.men.chest.value);
  url += "&abs=" + escape(document.men.abs.value);
  url += "&thigh=" + escape(document.men.thigh.value);

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
// Durnin
//-----------------------------------------------------------------------------
function DurninMen() 
{
  if (!checkFieldsMenD()) { return; }

  url = script_url
  url += "calc=men_calc_durnin";
  url += "&weight=" + escape(document.men.weight.value);
  url += "&age=" + escape(document.men.age.value);

  url += "&biD=" + escape(document.men.biD.value);
  url += "&triD=" + escape(document.men.triD.value);
  url += "&subD=" + escape(document.men.subD.value);
  url += "&supD=" + escape(document.men.supD.value);

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
// calculateForMen - Calculate body fat for men using 4 Fat Caliper
//-----------------------------------------------------------------------------
function calculateForMen4() 
{
  if (!checkFieldsMen4()) { return; }

  url = script_url
  url += "calc=men_calc4";
  url += "&weight=" + escape(document.men.weight.value);
  url += "&age=" + escape(document.men.age.value);

  url += "&abs4=" + escape(document.men.abs4.value);
  url += "&tricep4=" + escape(document.men.tricep4.value);
  url += "&sup4=" + escape(document.men.sup4.value);
  url += "&thigh4=" + escape(document.men.thigh4.value);

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
// calculateForMen7 - Calculate body fat for men using 7 Fat Caliper
//-----------------------------------------------------------------------------
function calculateForMen7() 
{
  if (!checkFieldsMen7()) { return; }

  url = script_url
  url += "calc=men_calc7";
  url += "&weight=" + escape(document.men.weight.value);
  url += "&age=" + escape(document.men.age.value);

  url += "&chest7=" + escape(document.men.chest7.value);
  url += "&abs7=" + escape(document.men.abs7.value);
  url += "&thigh7=" + escape(document.men.thigh7.value);
  url += "&tri7=" + escape(document.men.tri7.value);
  url += "&subs7=" + escape(document.men.subs7.value);
  url += "&supr7=" + escape(document.men.supr7.value);
  url += "&mida7=" + escape(document.men.mida7.value);

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
// Parrillo 
//-----------------------------------------------------------------------------
function calculateForParrillo() 
{
  if (!checkFieldsParrillo()) { return; }

  var weight1 = parseFloat(escape(document.men.weight.value));
  var weight2 = weight1;

  if (weightConv == KILOGRAMS)
  {
    weight2 = weight2 * 2.2;
  }

  url = script_url
  url += "calc=men_calc_parrillo";
  url += "&weight1=" + weight1;
  url += "&weight2=" + weight2;
  url += "&age=" + escape(document.men.age.value);

  url += "&chestP=" + escape(document.men.chestP.value);
  url += "&calfP=" + escape(document.men.calfP.value);
  url += "&bicepP=" + escape(document.men.biP.value);
  url += "&absP=" + escape(document.men.absP.value);
  url += "&thighP=" + escape(document.men.thighP.value);
  url += "&triP=" + escape(document.men.triP.value);
  url += "&subsP=" + escape(document.men.subsP.value);
  url += "&suprP=" + escape(document.men.suprP.value);
  url += "&lbP=" + escape(document.men.lbP.value);

  calculate(url, 'm');
} 

//-----------------------------------------------------------------------------
//---------------------------------- Woman ------------------------------------
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// UnitsWomen - Check what units are checked for women
//-----------------------------------------------------------------------------
function UnitsWomen()
{
  if (document.women.unitsw[0].checked)       
  {
     weightConv = POUNDS;
    document.women.weight.value   = roundFloat(document.women.weight.value   * 2.2, 2);
    document.women.fat.value      = roundFloat(document.women.fat.value      * 2.2, 2);
    document.women.leadbody.value = roundFloat(document.women.leadbody.value * 2.2, 2);
  }
  else if (document.women.unitsw[1].checked)  
  {
    weightConv = KILOGRAMS;
    document.women.weight.value   = roundFloat(document.women.weight.value   / 2.2, 2);
    document.women.fat.value      = roundFloat(document.women.fat.value      / 2.2, 2);
    document.women.leadbody.value = roundFloat(document.women.leadbody.value / 2.2, 2);
  }
}

//-----------------------------------------------------------------------------
// LengthWomen 
//-----------------------------------------------------------------------------
function LengthWomen()
{
  if (document.women.lengthw[0].checked)       
  {
    lengthw = INCHES;
    document.women.waist.value  = roundFloat(document.women.waist.value  /
        2.54, 2);
    document.women.height.value = roundFloat(document.women.height.value /
        2.54, 2);
    document.women.hip.value    = roundFloat(document.women.hip.value    /
        2.54, 2);
    document.women.neck.value   = roundFloat(document.women.neck.value   /
        2.54, 2);
  }
  else if (document.women.lengthw[1].checked)  
  {
    lengthw = CENTIMETERS;
    document.women.waist.value  = roundFloat(document.women.waist.value  *
        2.54, 2);
    document.women.height.value = roundFloat(document.women.height.value *
        2.54, 2);
    document.women.hip.value    = roundFloat(document.women.hip.value    *
        2.54, 2);
    document.women.neck.value   = roundFloat(document.women.neck.value   *
        2.54, 2);
  }
}

//-----------------------------------------------------------------------------
// resetWoman - Clear out all fields for Women
//-----------------------------------------------------------------------------
function resetWoman()
{
  document.women.age.value        = 0;
  document.women.weight.value     = 0;
  document.women.triceps.value    = 0;
  document.women.suprailiac.value = 0;
  document.women.thigh.value      = 0;
  document.women.chest7.value     = 0;
  document.women.abs7.value       = 0;
  document.women.thigh7.value     = 0;
  document.women.tri7.value       = 0;
  document.women.subs7.value      = 0;
  document.women.supr7.value      = 0;
  document.women.mida7.value      = 0;
  document.women.tri4.value       = 0;
  document.women.abs4.value       = 0;
  document.women.thigh4.value     = 0;
  document.women.sup4.value       = 0;
  document.women.waist.value      = 0;
  document.women.height.value     = 0;
  document.women.hip.value        = 0;
  document.women.neck.value       = 0;
  document.women.chestP.value     = 0;
  document.women.absP.value       = 0;
  document.women.thighP.value     = 0;
  document.women.triP.value       = 0;
  document.women.subsP.value      = 0;
  document.women.suprP.value      = 0;
  document.women.lbP.value        = 0;
  document.women.calfP.value      = 0;
  document.women.bicepP.value     = 0;
  document.women.biD.value        = 0;
  document.women.triD.value       = 0;
  document.women.subD.value       = 0;
  document.women.supD.value       = 0;
}      

//-----------------------------------------------------------------------------
// checkFieldsWomen7 - Make sure all fields are populated before calculating
// body fat
//-----------------------------------------------------------------------------
function checkFieldsWomen7()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.chest7.value))) 
  {
    alert("You must enter a valid number for Chest.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.abs7.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.thigh7.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.tri7.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.subs7.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.supr7.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.mida7.value)))
  { 
    alert("You must enter a valid number for Midaxillary.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsWoman - Make sure all fields are populated before calculating
// body fat
//-----------------------------------------------------------------------------
function checkFieldsWoman()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value)))
  { 
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.triceps.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.suprailiac.value))) 
  {
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.thigh.value))) 
  {
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsMen - Make sure all fields are populated before calculating body
// fat
//-----------------------------------------------------------------------------
function checkFieldsWoman4()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.tricep4.value))) 
  {
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.sup4.value))) 
  {
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.abs4.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.thigh4.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}
//-----------------------------------------------------------------------------
// Durnin
//-----------------------------------------------------------------------------
function checkFieldsWomanD()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.biD.value)))
  { 
    alert("You must enter a valid number for Bicep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.triD.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.subD.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.supD.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}
//-----------------------------------------------------------------------------
// checkFieldsWomanT- Same as above but for Tape Measurements
//-----------------------------------------------------------------------------
function checkFieldsWomanT()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value)))
  { 
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.waist.value)))
  { 
    alert("You must enter a valid number for Waist.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.height.value))) 
  {
    alert("You must enter a valid number for Height.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.hip.value))) 
  {
    alert("You must enter a valid number for Hip.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.neck.value))) 
  {
    alert("You must enter a valid number for Neck.\n");
    errorField = true;
  }

  if (errorField) 
    return false;

  return true;
}

//-----------------------------------------------------------------------------
// checkFieldsParrillo
//-----------------------------------------------------------------------------
function checkFieldsParrilloF()
{
  var errorField = false;

  if (!(IsNumber(document.women.age.value))) 
  {
    alert("You must enter a valid number for Age.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.weight.value))) 
  {
    alert("You must enter a valid number for Weight.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.chestP.value))) 
  {
    alert("You must enter a valid number for Chest.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.absP.value)))
  {
    alert("You must enter a valid number for Abdominal.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.thighP.value)))
  { 
    alert("You must enter a valid number for Thigh.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.biP.value)))
  { 
    alert("You must enter a valid number for Bicep.\n");
    errorField = true;
  }


  if (!(IsNumber(document.women.triP.value)))
  { 
    alert("You must enter a valid number for Tricep.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.subsP.value)))
  { 
    alert("You must enter a valid number for Subscapular.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.suprP.value)))
  { 
    alert("You must enter a valid number for Suprailiac.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.lbP.value)))
  { 
    alert("You must enter a valid number for Lower Back.\n");
    errorField = true;
  }

  if (!(IsNumber(document.women.calfP.value)))
  { 
    alert("You must enter a valid number for Calf.\n");
    errorField = true;
  }

  if (errorField) return false;

  return true;
}


//-----------------------------------------------------------------------------
// calculateForWoman
//-----------------------------------------------------------------------------
function calculateForWoman() 
{
  if (!checkFieldsWoman()) { return; }

  url = script_url
  url += "calc=women_calc";
  url += "&weight=" + escape(document.women.weight.value);
  url += "&age=" + escape(document.women.age.value);

  url += "&triceps=" + escape(document.women.triceps.value);
  url += "&abs=" + escape(document.women.suprailiac.value);
  url += "&thigh=" + escape(document.women.thigh.value);

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// calculateForWomanTape
//-----------------------------------------------------------------------------
function calculateForWomanTape() 
{
  if (!checkFieldsWomanT()) { return; }

  var waist   = parseFloat(escape(document.women.waist.value));
  var height  = parseFloat(escape(document.women.height.value));
  var hip     = parseFloat(escape(document.women.hip.value));
  var neck    = parseFloat(escape(document.women.neck.value));

  if (lengthw == CENTIMETERS)
  {
    height = height / 2.54;
    waist  = waist  / 2.54;
    neck   = neck   / 2.54;
    hip    = hip    / 2.54;
  }

  url = script_url
  url += "calc=women_calc_tape";
  url += "&weight=" + escape(document.women.weight.value);
  url += "&age=" + escape(document.women.age.value);

  url += "&waist=" + waist;
  url += "&height=" + height;
  url += "&hip=" + hip;
  url += "&neck=" + neck;

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// calculateForWomen7 - Calculate body fat for men using 7 Fat Caliper
//-----------------------------------------------------------------------------
function calculateForWomen7() 
{
  if (!checkFieldsWomen7()) { return; }

  url = script_url
  url += "calc=women_calc7";
  url += "&weight=" + escape(document.women.weight.value);
  url += "&age=" + escape(document.women.age.value);

  url += "&chest7=" + escape(document.women.chest7.value);
  url += "&abs7=" + escape(document.women.abs7.value);
  url += "&thigh7=" + escape(document.women.thigh7.value);
  url += "&tri7=" + escape(document.women.tri7.value);
  url += "&subs7=" + escape(document.women.subs7.value);
  url += "&supr7=" + escape(document.women.supr7.value);
  url += "&mida7=" + escape(document.women.mida7.value);

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// calculateForWomen4
//-----------------------------------------------------------------------------
function calculateForWomen4() 
{
  if (!checkFieldsWoman4()) { return; }

  url = script_url
  url += "calc=women_calc4";
  url += "&weight=" + escape(document.women.weight.value);
  url += "&age=" + escape(document.women.age.value);

  url += "&abs4=" + escape(document.women.abs4.value);
  url += "&tricep4=" + escape(document.women.tricep4.value);
  url += "&sup4=" + escape(document.women.sup4.value);
  url += "&thigh4=" + escape(document.women.thigh4.value);

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// Parrillo 
//-----------------------------------------------------------------------------
function calculateForParrilloF() 
{
  if (!checkFieldsParrilloF()) { return; }

  var weight1 = parseFloat(escape(document.women.weight.value));
  var weight2 = weight1;

  if (weightConv == KILOGRAMS)
  {
    weight2 = weight2 * 2.2;
  }
  
  url = script_url
  url += "calc=women_calc_parrillo";
  url += "&weight1=" + weight1;
  url += "&weight2=" + weight2;
  url += "&age=" + escape(document.women.age.value);

  url += "&chestP=" + escape(document.women.chestP.value);
  url += "&calfP=" + escape(document.women.calfP.value);
  url += "&bicepP=" + escape(document.women.biP.value);
  url += "&absP=" + escape(document.women.absP.value);
  url += "&thighP=" + escape(document.women.thighP.value);
  url += "&triP=" + escape(document.women.triP.value);
  url += "&subsP=" + escape(document.women.subsP.value);
  url += "&suprP=" + escape(document.women.suprP.value);
  url += "&lbP=" + escape(document.women.lbP.value);

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// Durnin
//-----------------------------------------------------------------------------
function DurninWomen() 
{
  if (!checkFieldsWomanD()) { return; }

  url = script_url
  url += "calc=women_calc_durnin";
  url += "&weight=" + escape(document.women.weight.value);
  url += "&age=" + escape(document.women.age.value);

  url += "&biD=" + escape(document.women.biD.value);
  url += "&triD=" + escape(document.women.triD.value);
  url += "&subD=" + escape(document.women.subD.value);
  url += "&supD=" + escape(document.women.supD.value);

  calculate(url, 'f');
} 

//-----------------------------------------------------------------------------
// IsNumber() - Check if a valid number is being used
//-----------------------------------------------------------------------------
function IsNumber(number) 
{
  if (!parseFloat(number)) 
    return false;
  else 
  {
    for (var i=0; i<number.length; i++) 
    {
      if (((number.charAt(i) != "0") && ((!parseFloat(number.charAt(i))) &&
              (number.charAt(i) != "."))))
        return false;
    }
  }

  return true;
}

//-----------------------------------------------------------------------------
// Round decimal to any number of places
//-----------------------------------------------------------------------------
function roundFloat (num, places)
{
  //#top roundFloat 

  var multiplier = 10;
  var i = 0;

  for (i=1; i<places; i++)
  {
    multiplier = multiplier * 10;
  }

  temp = Math.round (num * multiplier);

  return temp / multiplier;
}


var ErrMsg = "Copyright © 2006 - www.linear-software.com\nAll Rights Reserved";

//-----------------------------------------------------------------------------
//Disable right click button
//-----------------------------------------------------------------------------
function disableRightClick(btnClick){
  if (navigator.appName == "Netscape" && btnClick.which == 3)
  { 
    alert(ErrMsg);
    return false;
  }
  else if (navigator.appName =="Microsoft Internet Explorer" && event.button ==
      2)
  {
    alert(ErrMsg);
    return false;
  }
}
document.onmousedown = disableRightClick;

