maleData = new Array(33);
femaleData = new Array(33);

// male data
maleData[0] = "18.4_20.1";
maleData[1] = "18.1_19.8";
maleData[2] = "17.9_19.6";
maleData[3] = "17.7_19.4";
maleData[4] = "17.6_19.3";
maleData[5] = "17.5_19.3";
maleData[6] = "17.4_19.3";
maleData[7] = "17.5_19.5";
maleData[8] = "17.6_19.8";
maleData[9] = "17.7_20.2";
maleData[10] = "17.9_20.6";
maleData[11] = "18.2_21.1";
maleData[12] = "18.4_21.6";
maleData[13] = "18.8_22.2";
maleData[14] = "19.1_22.8";
maleData[15] = "19.5_23.4";
maleData[16] = "19.8_24";
maleData[17] = "20.2_24.6";
maleData[18] = "20.6_25.1";
maleData[19] = "20.9_25.6";
maleData[20] = "21.2_26";
maleData[21] = "21.6_26.4";
maleData[22] = "21.9_26.8";
maleData[23] = "22.3_27.2";
maleData[24] = "22.6_27.6";
maleData[25] = "23_28";
maleData[26] = "23.3_28.3";
maleData[27] = "23.6_28.6";
maleData[28] = "23.9_28.9";
maleData[29] = "24.2_29.1";
maleData[30] = "24.5_29.4";
maleData[31] = "24.7_29.7";
maleData[32] = "25_30";
// female data
femaleData[0] = "18_19.8";
femaleData[1] = "17.8_19.5";
femaleData[2] = "17.6_19.4";
femaleData[3] = "17.4_19.2";
femaleData[4] = "17.3_19.1";
femaleData[5] = "17.2_19.1";
femaleData[6] = "17.1_19.2";
femaleData[7] = "17.2_19.3";
femaleData[8] = "17.3_19.7";
femaleData[9] = "17.5_20.1";
femaleData[10] = "17.8_20.5";
femaleData[11] = "18_21";
femaleData[12] = "18.3_21.6";
femaleData[13] = "18.7_22.2";
femaleData[14] = "19.1_22.8";
femaleData[15] = "19.5_23.5";
femaleData[16] = "19.9_24.1";
femaleData[17] = "20.3_24.8";
femaleData[18] = "20.7_25.4";
femaleData[19] = "21.2_26.1";
femaleData[20] = "21.7_26.7";
femaleData[21] = "22.1_27.2";
femaleData[22] = "22.6_27.8";
femaleData[23] = "23_28.2";
femaleData[24] = "23.3_28.6";
femaleData[25] = "23.7_28.9";
femaleData[26] = "23.9_29.1";
femaleData[27] = "24.2_29.3";
femaleData[28] = "24.4_29.4";
femaleData[29] = "24.5_29.6";
femaleData[30] = "24.7_29.7";
femaleData[31] = "24.8_29.8";
femaleData[32] = "25_30";
				
var h_m, h_cms;
var h, w;
var bmi, max_kgs;

function dispnum(x) 
{
   x = Math.floor(x*10)/10; // rounded off to two decimal places
   return(x);
}

function clearvalues()
{ // clears all the contents of the form

   document.data.height_meters.value=''
   document.data.height_cms.value=''
   document.data.weight_kgs.value=''
   document.data.bmi.value=''
   document.data.max_kgs.value=''
   document.data.expl.value=''
}

function initialise() 
{ // initialise the variables
   
   if (document.data.height_meters.value == '') 
   {
     document.data.height_meters.value = 0;
   }
   if (document.data.height_cms.value == '') 
   {
      document.data.height_cms.value = 0; 
   }
   if (document.data.weight_kgs.value == '') 
   {
      document.data.weight_kgs.value = 0;
   }
   if (document.data.bmi.value == '') 
   {
      document.data.bmi.value = 0;
   }
   if (document.data.max_kgs.value == '')
   {
      document.data.max_kgs.value = 0;
   }
   if (document.data.bmi.value == '')
   {
      document.data.bmi.value  = 0;
   }
}

function compute() 
{ // the main routine

	initialise();
        
	h_m = parseFloat(document.data.height_meters.value);
	h_cms = parseFloat(document.data.height_cms.value);

        h = ((h_m*100)+h_cms)/100;

	if (h <= 1.22) 
        {
	   alert(dispnum(h)+" Meter lijkt te weinig\n");
	}

	if (h >= 2.13) 
        {
	    alert(dispnum(h)+" Meter lijkt te veel\n");
	}

	w = parseFloat(document.data.weight_kgs.value);

	if (w <= 25) 
        {
	   alert(dispnum(w)+" Kg? Dat is te licht\n");
	}

	if (w >= 227) 
        {
	   alert(dispnum(w)+" Kg? Dat is te zwaar\n");
	}

	bmi = w / (h*h);
        
        if (bmi > 0)
        {  
           document.data.bmi.value = dispnum(bmi);

           if (bmi < 20 )
	  	document.data.expl.value = "Te mager - Het is nodig dat je gewicht wint. Hoe lager je BMI, hoe groter je gezondheidsrisico";
	   if (bmi >= 20 && bmi <= 25 )
		document.data.expl.value = "Goed - Dat is een gezonde gewichtsmarge, hou het zo!";
	   if (bmi > 25 && bmi <= 30 )
		document.data.expl.value = "Te zwaar - Zorg dat je gewicht niet toeneemt (Je loopt een verhoogd gezondheidsrisico)";
	   if (bmi > 30 )
		document.data.expl.value = "Obees - Belangrijk dat je gewicht kwijtraakt (Je loopt een ernstig gezondheidsrisico)";
           
           max_kgs = 25*h*h;
           document.data.max_kgs.value = dispnum(max_kgs);          
       }  
}


function checkHeight(input) 
{
   if (input.height.value != "") 
   {
      if (isNaN(input.height.value)) 
      {
	 alert("Gelieve een lengte in centimeter in te vullen.");
	 input.height.value = "";
	 input.height.focus();
      }
   }
}

function checkWeight(input) 
{
   if (input.weight.value != "") 
   {
      if (isNaN(input.weight.value)) 
      {
	 alert("Gelieve een gewicht in kg in te vullen.");
	 input.weight.value = "";
	 input.weight.focus();
      }
   }
}

function round(number,X) 
{
   X = (!X ? 2 : X);
   return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function calcBMI(input) 
{
	// simple script to calculate BMI
	// first test for correct parameters
	if (input.height.value != "" && input.weight.value != "") 
        {
	   if (isNaN(input.height.value)) 
           {
	      alert("Gelieve een lengte in cm in te vullen.");
              input.height.focus();
	   } 
	   if (isNaN(input.weight.value)) 
           {
              alert("Gelieve een gewicht in kg in te vullen.");
	      input.weight.focus();
           }
	   
           // second calculate BMI and return value to user
	   sqrHeight = (parseFloat(input.height.value)/100) * (parseFloat(input.height.value)/100);
	   bmi = parseFloat(input.weight.value) / sqrHeight ;
		
           // third compare bmi value against the arrays to move to the correct pos.
	   if (input.gender.options[input.gender.selectedIndex].value != -1) 
           {
	      if (input.age.options[input.age.selectedIndex].value != -1) 
              {
	         // all fields have been filled in output bmi and ship user to correct location
		 input.bmi.value = round(bmi);
		 scale="normaal";
		 if (input.gender.options[input.gender.selectedIndex].value == 0) 
                 {
		    // male gender
		    tempVal=maleData[input.age.options[input.age.selectedIndex].value];
	   	    gen="hij";
		    age=input.age.options[input.age.selectedIndex].text;
		    gender="mannelijk";
		 } else 
                 {
		    // female gender
		    tempVal=femaleData[input.age.options[input.age.selectedIndex].value];
	    	    gen="zij";
		    age=input.age.options[input.age.selectedIndex].text;
	    	    gender="vrouwelijk";
	  	 }			
		 
	      } else 
              {
		 alert("Gelieve een leeftijd in te vullen.");
		 input.age.focus();
	      }
	  } else 
          {
	     alert("Gelieve het geslacht in te vullen.");
	     input.gender.focus();
	  }		
	}
}

