v_tabel = new Array(16);
// v data (snelheid)
v_tabel[ 0] = 100;
v_tabel[ 1] = 105;
v_tabel[ 2] = 111;
v_tabel[ 3] = 118;
v_tabel[ 4] = 125;
v_tabel[ 5] = 133;
v_tabel[ 6] = 142;
v_tabel[ 7] = 153;
v_tabel[ 8] = 165;
v_tabel[ 9] = 180;
v_tabel[10] = 198;
v_tabel[11] = 219;
v_tabel[12] = 246;
v_tabel[13] = 280;
v_tabel[14] = 325;
v_tabel[15] = 387;

e_tabel = new Array(16);
// e tabel (Kcal/kg/km)
e_tabel[ 0] = 0.91;
e_tabel[ 1] = 0.92;
e_tabel[ 2] = 0.93;
e_tabel[ 3] = 0.94;
e_tabel[ 4] = 0.95;
e_tabel[ 5] = 0.96;
e_tabel[ 6] = 0.97;
e_tabel[ 7] = 0.98;
e_tabel[ 8] = 0.99;
e_tabel[ 9] = 1.00;
e_tabel[10] = 1.01;
e_tabel[11] = 1.02;
e_tabel[12] = 1.03;
e_tabel[13] = 1.04;
e_tabel[14] = 1.05;
e_tabel[15] = 1.06;

d_tabel = new Array(56);
// d tabel (minuten)
d_tabel[ 0] = 28;
d_tabel[ 1] = 29;
d_tabel[ 2] = 33;
d_tabel[ 3] = 37;
d_tabel[ 4] = 41;
d_tabel[ 5] = 45;
d_tabel[ 6] = 49;
d_tabel[ 7] = 53;
d_tabel[ 8] = 57;
d_tabel[ 9] = 61;
d_tabel[10] = 65;
d_tabel[11] = 69;
d_tabel[12] = 73;
d_tabel[13] = 77;
d_tabel[14] = 82;
d_tabel[15] = 86;
d_tabel[16] = 90;
d_tabel[17] = 95;
d_tabel[18] = 99;
d_tabel[19] = 103;
d_tabel[20] = 107;
d_tabel[21] = 112;
d_tabel[22] = 117;
d_tabel[23] = 121;
d_tabel[24] = 126;
d_tabel[25] = 130;
d_tabel[26] = 135;
d_tabel[27] = 140;
d_tabel[28] = 144;
d_tabel[29] = 149;
d_tabel[30] = 154;
d_tabel[31] = 159;
d_tabel[32] = 163;
d_tabel[33] = 168;
d_tabel[34] = 173;
d_tabel[35] = 178;
d_tabel[36] = 183;
d_tabel[37] = 189;
d_tabel[38] = 194;
d_tabel[39] = 199;
d_tabel[40] = 204;
d_tabel[41] = 210;
d_tabel[42] = 215;
d_tabel[43] = 221;
d_tabel[44] = 226;
d_tabel[45] = 232;
d_tabel[46] = 237;
d_tabel[47] = 243;
d_tabel[48] = 249;
d_tabel[49] = 255;
d_tabel[50] = 261;
d_tabel[51] = 267;
d_tabel[52] = 273;
d_tabel[53] = 280;
d_tabel[54] = 286;
d_tabel[55] = 300;

var time;
var time_hrs;
var time_min;

var distance_km;
var distance_m;
var weight_kg;
var energy_kcal;
var kcal_kg_km;
var kcal_km;
var v;
var vet_g;
var vet_percent; 
var vet_kcal;

function dispnum(x) 
{
   x = Math.floor(x*10)/10; // 2 decimal places
   return(x);
}

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

   document.data2.time_hrs.value    ='';
   document.data2.time_min.value    ='';
   document.data2.distance_km.value ='';
   document.data2.weight_kg.value   ='';
   document.data2.energy_kcal.value ='';
   document.data2.vet_percent.value    ='';
   document.data2.vet_g.value       ='';
}

function initialise_energy() 
{ // initialise the variables
   
   if (document.data2.time_hrs.value == '') 
       document.data2.time_hrs.value = 0;
   if (document.data2.time_min.value == '') 
       document.data2.time_min.value = 0; 
   if (document.data2.distance_km.value == '') 
       document.data2.distance_km.value = 0;
   if (document.data2.weight_kg.value == '') 
       document.data2.weight_kg.value = 0;
   if (document.data2.energy_kcal.value == '')
       document.data2.energy_kcal.value = 0;
   if (document.data2.vet_percent.value == '')
       document.data2.vet_percent.value = 0;
   if (document.data2.vet_g.value == '')
       document.data2.vet_g.value.value = 0;
}

function compute_energy() 
{ // the main routine

   initialise_energy();
        
   time_hrs    = parseFloat(document.data2.time_hrs.value);
   time_min    = parseFloat(document.data2.time_min.value);
   distance_km = parseFloat(document.data2.distance_km.value);
   weight_kg   = parseFloat(document.data2.weight_kg.value);
   
   time = (time_hrs * 60) + time_min; // minuten
   
   distance_m = distance_km * 1000;	
   v = distance_m / time; // meter_per_minuut 
        
   kcal_kg_km = 1.06; 
   for (i = 1; i < 16; i++)
   {
      if (v_tabel[i] > v ) 
      {
         kcal_kg_km = e_tabel[i-1];
         break;
      }
   }
   
   kcal_km = kcal_kg_km * weight_kg;
   energy_kcal = kcal_km * distance_km;

   document.data2.energy_kcal.value = dispnum(energy_kcal ); 

   // Percentage vet bij verschillende prestaties [min]
   vet_percent = 63; // maximum
   for (i = 1; i < 56; i++)
   {
      if (d_tabel[i] > time ) 
      {
         vet_percent = i + 7; // in procent
         break;
      }
   }

   vet_kcal = (energy_kcal * vet_percent) / 100;
   
   // 1 gram vet is 9 Kcal
   vet_g = vet_kcal / 9;
   
   document.data2.vet_percent.value = dispnum(vet_percent);                   
   document.data2.vet_g.value    = dispnum(vet_g);                   
}


