//******************************************************************************
// vérification des données		
//******************************************************************************
function verification(a,b,c,d)  
{	
  var erreur = new Number
	var test1 = a;
	var test2 = b;
	var test3 = c;
	var test4 = d;

	erreur1 = test1.search(/[0-9]/);
	erreur2 = test2.search(/[0-9]/);
	erreur3 = test3.search(/[0-9]/);
	erreur4 = test4.search(/[0-9]/);
	
	if (erreur1!=0 || erreur2!=0 || erreur3!=0 || erreur4!=0)
    erreur = 1;
	else 
    erreur = 0;
	
  return erreur;
}

//******************************************************************************
//calcul vitesse
//******************************************************************************
function calcul_vitesse(recherchevit, lang)
{
	var heure = recherchevit.heure.value;
	var minute = recherchevit.minute.value;
	var seconde = recherchevit.seconde.value;
	var distance= recherchevit.distance.value.replace(/,/,".");

  //test
	var test = verification(heure, minute, seconde,distance);
	switch (test)
	{
		case 1:
		{
		  if(lang == 'en')
			  alert(' Il faut entrer des valeurs numériques pour faire les calculs');
			else
			  alert(' You have to enter numerical values !');
		}
		break;
			
		case 0:
	    // vitesse
		  var total = (heure*3600)+(minute*60)+(seconde*1);
		  var vitesse = (distance / total)*3600;
		  var kil = Math.floor(vitesse);
		  var dec = Math.round((vitesse - kil)*100);
		  if (dec >= 100) {dec -=100, kil+=1};

	    // 1 kilo
		  var k1 = 60/vitesse;
		  var minkil = Math.floor(k1);
		  var seckil = Math.round((k1 - minkil)*60);
		  if (seckil>=60) {seckil-=60, minkil+=1};

	    // renvoi des résultats
	    distance=distance.replace(/\./,",")

      var str;
      if(lang == 'en')
        str = "Result : mean speed = "+kil +"," +dec +" Km/h. (" +minkil +"m"+ seckil +"s per km).";
      else
        str = "Resultat : vitesse moyenne = "+kil +"," +dec +" Km/h. (" +minkil +"m"+ seckil +"s par km).";
        
      resultat1.innerHTML = str;

      break;
  }
}


//******************************************************************************
//calcul distance
//******************************************************************************
function calcul_distance(recherchedist, lang) 
{
	var vitesse = recherchedist.vitesse.value.replace(/,/,".");
	var heure = recherchedist.heure.value;
	var minute = recherchedist.minute.value;
	var seconde= recherchedist.seconde.value

	var test = verification(vitesse, heure, minute, seconde)
	switch (test)
	{
		case 1:
		{
		  if(lang == 'en')
			  alert(' Il faut entrer des valeurs numériques pour faire les calculs');
			else
			  alert(' You have to enter numerical values !');
		}
		break;
    			
		case 0:
      // distance
		  var total = (heure*3600)+(minute*60)+(seconde*1);
		  var distance = (vitesse * total)/3600;
		  var dist = Math.floor(distance);
		  var dec = Math.round((distance - dist)*100);
		  if (dec >= 100) {dec -=100, dist+=1};

      // 1 kilo
		  var k1 = 60/vitesse;
		  var minkil = Math.floor(k1);
		  var seckil = Math.round((k1 - minkil)*60);
		  if (seckil>=60) {seckil-=60, minkil+=1};

      // renvoi des résultats
      vitesse = vitesse.replace(/\./,",");
      
      var str;
      if(lang == 'en')
        str = "Results : your race is "+dist+ ","+dec+"km long(" +minkil +"m"+ seckil +"s per km).";
      else
        str = "Résultats : votre course est de "+dist+ ","+dec+"km (" +minkil +"m"+ seckil +"s par km).";
      
      resultat2.innerHTML = str;
      
    break;
	}
}


//******************************************************************************
//calcul temps
//******************************************************************************
function calcul_temps(recherchetps, lang)
{
	var vitesse = recherchetps.vitesse.value.replace(/,/,".");
	var distance = recherchetps.distance.value.replace(/,/,".");
		
	var test = verification(vitesse, distance, '1' , '1')
	switch (test)
	{
		case 1:
		{
		  if(lang == 'en')
			  alert(' Il faut entrer des valeurs numériques pour faire les calculs');
			else
			  alert(' You have to enter numerical values !');
		}
		break;
    			
		case 0:
    // calcul du temps
		var temps =( 60/(vitesse/ distance))*60;
				
    // conversion du temps en heures, minutes, secondes         
		var heure = Math.floor(temps/3600);   
		var minute = Math.floor(((temps/3600)- heure)*60);
		var seconde = Math.round(temps -( (heure*3600)+(minute*60))); 
		if (seconde>=60) {minute+= 1, seconde-=60};
		if (minute>=60) {heure += 1, minute -=60}; 
	
    // Temps pour un kilomètre
		var k1 = 60/vitesse;
		var minkil = Math.floor(k1);
		var seckil = Math.round((k1 - minkil)*60);
		if (seckil>=60) {seckil-=60, minkil+=1};

    // affichage des résultats
    vitesse= vitesse.replace(/\./,",")
    distance= distance.replace(/\./,",")
    
    var str;
    if(lang == 'en')
      str = "Results : your race last "+heure +"h" +minute +"m"+seconde +"s (" +minkil +"m"+ seckil +"s per km).";
    else
      str = "Résultats : votre course est de "+heure +"h" +minute +"m"+seconde +"s (" +minkil +"m"+ seckil +"s par km).";
    
    resultat3.innerHTML = str;
  }
}


//******************************************************************************
// effacer les résultats	
//******************************************************************************
function efface1(test)
{
	test.reset();
	test.resultat1.cols=1;
	test.resultat1.rows=1;
	test.resultat1.style.visibility="hidden";
}

