
/***** Initialisation de nos tableau de liste ****/

//taille en pixel du canevas -> important pour l'echelle
var pixelSize = 400;

var tabListeHeure = new Array;
//tabListeHeure[0]  = 'i_debut_heure';
tabListeHeure[0]  = 'i_apero_heure';
tabListeHeure[1]  = 'i_entree_heure';
tabListeHeure[2]  = 'i_repas_heure';
tabListeHeure[3]  = 'i_digestif_heure';
tabListeHeure[4]  = 'i_quitter_heure';

var tabListeMin = new Array;
//tabListeMin[0]  = 'i_debut_min';
tabListeMin[0]  = 'i_apero_min';
tabListeMin[1]  = 'i_entree_min';
tabListeMin[2]  = 'i_repas_min';
tabListeMin[3]  = 'i_digestif_min';
tabListeMin[4]  = 'i_quitter_min';


var tabListeNbVerre = new Array;
tabListeNbVerre[0]	=	'i_apero_nbverre';
tabListeNbVerre[1]	=	'i_entree_nbverre';
tabListeNbVerre[2]	=	'i_repas_nbverre';
tabListeNbVerre[3]	=	'i_digestif_nbverre';

var tabListeConso	= new Array;
tabListeConso[0]	=	'i_apero_verre';
tabListeConso[1]	=	'i_entree_verre';
tabListeConso[2]	=	'i_repas_verre';
tabListeConso[3]	=	'i_digestif_verre';

//****		-= Fin d'init	=- 		****/

var ieCanvasPath	=	 'http://localhost/educAlcool/js/plotkit/iecanvas.htc';
var options; //Declaration de la variable options
var options2;
var valprec =0;
var canvasDraw = false;
/////////////////////////////////////////////////////////
//		Fonction de calcul du taux d'alcoolémie		//
/////////////////////////////////////////////////////////

//Fonction calculant le taux d'alcoolémie selon sa position dans le temps
function calculTaux(en)
{
	valprec = 0;
	var boolOk = true;
	//verif des champs
	//Coef de sexe H: 0.7 F: 0.6
	if(document.getElementById('i_sexe_male').checked)
	{
		var coefK		= 0.7;
	}
	else
	{
			if(document.getElementById('i_sexe_fem').checked)
			{
				var coefK		= 0.6;
			}
			else
			{
				boolOk=false;
			}
	}
	//On verifie le champs poids
	if(document.getElementById('i_poids_kilo').value!='')
	{
		var intPoids = parseInt(document.getElementById('i_poids_kilo').value);
		if(intPoids == NaN)
		{
			boolOk=false;
		}
	}
	else
	{
		if(document.getElementById('i_poids_lbs').value!='') //Si on est en lbs on converti en Kg
		{
			var intPoids = parseInt(document.getElementById('i_poids_lbs').value);
			if(intPoids == NaN)
			{
				boolOk=false;
			}
			intPoids = convertPoids(intPoids);
		}
		else
		{
			boolOk=false;
		}
	}
	
	//Si la vérif des champs est bonne on passe au calcul
	if(boolOk==true)
	{
		var tauxAlcoolVerre 	=	14;	//Taux d'alcoolemie pour 1 verre
		var totalAlcool			=	0;
		var tabAlcool	=	new Array();
		
		////////////////////////////////////
		// ** On défini notre echelle de temps
		
			//On récupére les valeurs de la premiére liste
		var listeMin = document.getElementById(tabListeMin[0]);		
		min	=	listeMin[listeMin.selectedIndex].value;
		fl_min			=	parseFloat(min);
		fl_min			=	fl_min/60;
		var listeH  	=   document.getElementById(tabListeHeure[0]);		
		heure			=	listeH[listeH.selectedIndex].value;
		
			//On récupére les valeurs de la derniére liste
		var listeMin = document.getElementById(tabListeMin[0]);		
		min	=	listeMin[listeMin.selectedIndex].value;
		fl_min			=	parseFloat(min);
		fl_min			=	fl_min/60;
		var listeH  	=   document.getElementById(tabListeHeure[0]);		
		heure			=	listeH[listeH.selectedIndex].value;
		
		
		///** Fin de définition de l'echelle **//
		
		//On récupére notre temps et on le formate en décimal pour les calculs
		for(var i=0;i<tabListeHeure.length;i++)
		{
			var listeMin = document.getElementById(tabListeMin[i]);		
			min	=	listeMin[listeMin.selectedIndex].value;
			
			fl_min			=	parseFloat(min);
			fl_min			=	fl_min/60;
			
			var listeH  	=   document.getElementById(tabListeHeure[i]);		
			heure			=	listeH[listeH.selectedIndex].value;
			
			var heureDecimal = 0;
			
			switch (heure)
			{
				case '00':
				heureDecimal = 24+fl_min;
				break;
				
				case '01':
				heureDecimal = 25+fl_min;
				break
				
				case '02':
				heureDecimal = 26+fl_min;
				break;
				
				case '03':
				heureDecimal = 27+fl_min;
				break;
				
				default:
				heureDecimal = parseInt(heure)+fl_min;
				break;
			}
			//var j = i-1;
			tabAlcool[i] = new Array(3);
			tabAlcool[i][0]	 = heureDecimal;
			if(min==0)
			{
				min = '00';
			}
	    tabAlcool[i][1]	 = 0;
			tabAlcool[i][2]	 = heure+":"+min;	//On formate aussi notre heure pour l'afficher dans le graph

		}
		
		//On calcul notre echelle
		var partyLength = tabAlcool[tabAlcool.length-1][0] - tabAlcool[0][0];

		//On définie notre echelle sur 1/4 d'heure
		intTabSize = partyLength*4;
		tabJalonGraph = new Array(intTabSize+3);
		for(i=0;i<intTabSize+3;i++)
		{
			tabJalonGraph[i]	=	new Array(4);
			tabJalonGraph[i][0] = 	tabAlcool[0][0]+(i*0.25);
			tabJalonGraph[i][1] = 	0;
			tabJalonGraph[i][2] = 	0;
			tabJalonGraph[i][3] = 	'';
		}

		//On récupére notre nombre de verre
		for(var i=0;i<tabListeNbVerre.length;i++)
		{
			var listeverre 		= document.getElementById(tabListeNbVerre[i]);	
			nbVerre				= listeverre[listeverre.selectedIndex].value;
			tabAlcool[i][1] 	= parseInt(tauxAlcoolVerre)*parseInt(nbVerre);
		}

		//Pour chaque élément du tableau précédent on regarde si il est dans notre nouveau tableau détaillé afin de l'insérer
		for(i=0;i<tabAlcool.length;i++)
		{
			for(j=0;j<tabJalonGraph.length;j++)
			{
				//On ajoute les date en entier
				if(tabJalonGraph[j][0]==Math.round(tabJalonGraph[j][0]))//Si l'arrondi est egal a l'entier alors
				{
					var h;
					if(tabJalonGraph[j][0]>23)
					{
						switch(tabJalonGraph[j][0])
						{
							case 24:
							h='00';
							break;
							
							case 25:
							h='01';
							break;
							
							case 26:
							h='02';
							break;
							
							case 27:
							h='03';
							break;
						}
					}
					else
					{
						h=tabJalonGraph[j][0];
					}
					
					if(!en)
					{
						tabJalonGraph[j][3] = 	h+':00';
					}
					else
					{
						tabJalonGraph[j][3] = 	whatTimeIsIt(h);
					}
					
					
				}
				
				if(tabJalonGraph[j][0]==tabAlcool[i][0]) //On intégre le temps d'absorption
				{
						tabJalonGraph[j][1] =   tabAlcool[i][1];
				}
			}
		}
		
		//On calcul le poids en fonction du coef
		var CoefPoids = intPoids*coefK;
		var txAlcool=0;
		
		//Pour chaque jalon on calcul
		for(var j=0;j<tabJalonGraph.length;j++)
		{
			txAlcool = formuleCalcul(tabAlcool[0][0],tabJalonGraph[j][0],txAlcool,tabJalonGraph[j][1],CoefPoids);
			tabJalonGraph[j][2] = txAlcool;
		}
		
		var arrDataset = new Array();
		var arrParamX  = new Array();

		for(var i=0;i<tabJalonGraph.length;i++)
		{								
				if(tabJalonGraph[i][3]!='')
				{
					arrParamX[i] = {v:i, label:tabJalonGraph[i][3]};
				}
				else
				{
					arrParamX[i] = {v:i, label:''};
				}
		}

		//On renseigne notre tableau pour le dataset
		for(var i=0;i<tabJalonGraph.length;i++)
		{
			arrDataset[i] = [parseInt(i),parseFloat(tabJalonGraph[i][2])];
		}


		var res_alcool = Math.round(parseFloat(tabJalonGraph[tabJalonGraph.length-3][2])*1000);
		document.getElementById('tauxAlcool').innerHTML = res_alcool;
		document.getElementById('phraseTaux').style.visibility = 'visible';
		document.getElementById('phraseTaux2').style.visibility = 'visible';
		document.getElementById('resTaux').style.visibility = 'visible';
		document.getElementById('resTaux2').style.visibility = 'visible';
		
		if(!en)
		{

			if(res_alcool<60){
				var phrase_res = "Vous êtes légalement en mesure de conduire sauf si vous êtes âgé de 21 ans ou moins ou que vous êtes un chauffeur professionnel qui effectue le transport de personnes.";
			}
	        else if((res_alcool>=60) && (res_alcool<80))
	        {
	          var phrase_res = "Légalement, vous pouvez conduire, sauf si vous êtes âgé de 21 ans ou moins ou que vous êtes un chauffeur professionnel qui effectue le transport de personnes ou le transport de marchandises.  Mais il est plus prudent d’attendre avant de prendre le volant.";
	        }
	        else
	        {
	          var phrase_res = "Attention ! Vous n’êtes pas en état de conduire.  Prévoyez un moyen alternatif de transport. Peut-être devriez-vous aussi songer à moins boire.";
	        }

		}
		else
		{
      if(res_alcool<60)
      {
        var phrase_res = "Legally, you may drive, unless you are 21 or younger, or if you are a professional driver who transports other people (e.g. bus driver, taxi driver, chauffeur, etc.).";
      }
      else
      {
        if((res_alcool>=60) && (res_alcool<80))
        {
          var phrase_res = "Legally, you may drive, unless you are 21 or younger, or if you are a professional driver who transports other people or merchandise.  Still, it would be wise to wait before you drive.";
        }
        else
        {
          var phrase_res = "Warning! You are in no condition to drive. Use another means of transportation. You might want to consider drinking less.";
        }
      }
		}

		document.getElementById('phrase_res').innerHTML = phrase_res;

		canvasDraw=true; //On renseigne notre variable global pour lui dire que le graph est la

        //On initialise les options du graphiques en fonctions de la taille de l'axe et de sa légende
		initOptions(arrParamX,tabJalonGraph.length);
		nav = navigator.userAgent;

		if(nav.indexOf("MSIE")!=-1)
		{
			//Pour le mechant IE
			drawGraphIe(arrDataset);
			document.getElementById('legendeGraph').style.visibility = '';
		}
		else
		{
			//Pour les bons nav
			drawGraph2(tabJalonGraph.length);
			drawGraph(arrDataset);
			document.getElementById('legendeGraph').style.visibility = 'visible';
		}
	 
	}
}


//Formule du calcul du taux d'alcoolemie ainsi que de son elimination dans le sang
//Param : t0 		-> temps de la premiére conso
//		  t1 		-> temps actuel
//		  txAlcool	-> txlcool deja dans le sang
//		  conso		-> alcool consomer a ce moment
//		  CoefPoids -> poids
function formuleCalculold(t0,t1,txAlcool,conso,CoefPoids)
{
	if(t1>t0)
	{
			diff = (t1-t0);
			if(diff<0)
			{
				diff=0;
			}
			//on calcul l'absorption
		//	res = (diff*0.015)-valprec;
		//	valprec += res;
		//	txAlcool = txAlcool-res;
			if(txAlcool<0)
			{
				txAlcool = 0;
			}
		
			//on met a jour notre taux
			txAlcool += parseFloat((parseInt(conso)/CoefPoids)/10);	

	}
	return txAlcool;
}

//Fonction de calcul JUSTE
function formuleCalcul(t0,t1,txAlcool,conso,CoefPoids)
{
	if(t1>=t0)
	{
			diff = (t1-t0);
			if(diff<0)
			{
				diff=0;
			}
			//on calcul l'absorption
			res = (diff*0.015)-valprec;
			valprec += res;
			txAlcool = txAlcool-res;
			if(txAlcool<0)
			{
				txAlcool = 0;
			}
			//on met a jour notre taux
			txAlcool += parseFloat((parseInt(conso)/CoefPoids)/10);
	}
	return txAlcool;
}

////////////////////////////////////////////////////////////////
///			Fonctions pour le graphiques
////////////////////////////////////////////////////////////////


var rgbString = new String();
rgbString= "rgb(255,255,255)"; //Couleur de fond

//Fonction d'initialisation des options du graph
function initOptions(paramXticks,xSize)
{
//	xSize=10;
//Option gérant les caractéristiques pour le fond ainsi que pour la définition de la limite
	 options = {
	 			  "IECanvasHTC"		: ieCanvasPath,
				  "axisLineColor"   : Color.lightGrayColor(),									//Couleur des axes
				  "backgroundColor" : Color.fromRGBString(rgbString),							//Couleur de fond
				  "colorScheme"		: PlotKit.Base.palette(Color.fromRGB(0.52, 0.65, 0.87, alpha=0.4)),	//couleur de la ligne de fond
				  "padding"			: {left: 30, right: 0, top: 10, bottom: 10},				//Position du graph
				  "axisLabelFontSize": 9, 
				  "axisLabelWidth"	: 35,
				  "axisTickSize"	: 3.5,
				  "strokeColor"		: Color.fromRGB(0.52, 0.65, 0.87, alpha=1),
				  "xTicks"			: paramXticks,
					"xAxis"			:	[0.0,xSize],											//Taille de l'axe des X
					"yAxis"			:	[0.0,0.5],												//Taille de l'axe des Y
				    "drawYAxis"		: true,
				    "drawXAxis"		: true,
					"yTicks"		: [{v:0	 , label:"0"},										//Definition des Y
								      {v:0.02, label:"0.02"},
								      {v:0.04, label:"0.04"},
								      {v:0.06, label:"0.06"},
							          {v:0.08, label:"0.08"},
							          {v:0.10, label:"0.10"},
							          {v:0.15, label:"0.15"}, 
							          {v:0.20, label:"0.20"},  
							          {v:0.25, label:"0.25"}, 
							          {v:0.30, label:"0.30"},
							          {v:0.35, label:"0.35"},
							          {v:0.40, label:"0.40"}, 
							          {v:0.45, label:"0.45"}, 
							          {v:0.50, label:"0.50"}]
				};
				
	//Options pour les barres qui vont se superposé au graph précédent
	 options2 = {
	 	"IECanvasHTC"	: ieCanvasPath,
	    "drawBackground": false,
	    "colorScheme"	: PlotKit.Base.palette(Color.fromRGB(0.117, 0.26, 0.506, alpha=0.5)),
	    "padding"		: {left: 30, right: 0, top: 10, bottom: 10},
	  	"xTicks"		: paramXticks,
		"yAxis"			: [0.0,0.5],
	    "drawYAxis"		: false,
	    "drawXAxis"		: false
	};
}



//On dessine le graph correspondant au taux
function drawGraph(arrDataset) 
{

    var layout = new PlotKit.Layout("bar", options2);
    layout.addDataset("sqrt", arrDataset);
    layout.evaluate();
    var canvas = MochiKit.DOM.getElement("resultat");
    var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options2);
    plotter.render();
}

//On dessine le graph correspondant a la limite
function drawGraph2(intLimite) 
{
	document.getElementById('graph').innerHTML = "<canvas id=\"resultat\" height=\"305\" width=\"435\"></canvas>";
    var layout = new PlotKit.Layout("line", options);
    layout.addDataset("sqrt2", [[0, 0.08], [intLimite, 0.08]]);
    layout.evaluate();
    var canvas = MochiKit.DOM.getElement("resultat");
    var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options);
    plotter.clear();
    plotter.render();
}

//On dessine le graph correspondant au taux
function drawGraphIe(arrDataset) 
{

    var layout = new PlotKit.Layout("bar", options);
    layout.addDataset("sqrt", arrDataset);
    layout.evaluate();
    var canvas = MochiKit.DOM.getElement("resultat");
    var plotter = new PlotKit.SweetCanvasRenderer(canvas, layout, options);
    plotter.render();
}


/////////////////////////////////////////////////////////////
//		Fonctions de gestion des listes de la page		////
///////////////////////////////////////////////////////////




//Fonction en js qui renseigne les heures de chaque listes
function fillHour(idListe,hDebut)
{
	if(!hDebut)
	{
		hDebut=18;
	}
	var liste = document.getElementById(idListe);
	var i=0;
	
	//On initialise notre liste a vide pour la remplir
	while(liste.hasChildNodes())
	{
		liste.removeChild(liste.firstChild);
	}
	
	if(hDebut>17)
	{
			for(i=hDebut;i<24;i++)
			{
				  var x=document.createElement('option');
				  var y=document.createTextNode(i);
				  x.setAttribute('value',i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
			
			for(i=0;i<4;i++)
			{
				  var x=document.createElement('option');
				  var y=document.createTextNode('0'+i);
				  x.setAttribute('value','0'+i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
	}
	else
	{
			for(i=hDebut;i<4;i++)
			{
				  i = parseInt(i);
				  var x=document.createElement('option');
				  var y=document.createTextNode('0'+i);
				  x.setAttribute('value','0'+i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
	}

	
}



//Fonction en js qui renseigne les heures de chaque listes
function fillHourEn(idListe,hDebut)
{
	if(!hDebut)
	{
		hDebut=18;
	}
	var liste = document.getElementById(idListe);
	var i=0;
	
	//On initialise notre liste a vide pour la remplir
	while(liste.hasChildNodes())
	{
		liste.removeChild(liste.firstChild);
	}
	
	if(hDebut>17)
	{
			for(i=hDebut;i<24;i++)
			{
				  var x=document.createElement('option');
				  var y=document.createTextNode(whatTimeIsIt(i));
				  x.setAttribute('value',i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
			
			for(i=0;i<4;i++)
			{
				  var x=document.createElement('option');
				  var y=document.createTextNode(whatTimeIsIt(i));
				  x.setAttribute('value','0'+i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
	}
	else
	{
			for(i=hDebut;i<4;i++)
			{
				  i = parseInt(i);
				  var x=document.createElement('option');
				  var y=document.createTextNode(whatTimeIsIt(i));
				  x.setAttribute('value','0'+i);
				  x.appendChild(y);
				  liste.appendChild(x);
			}
	}

	
}

//Fonction permettant de convertir une heure au format Fr au format En
function whatTimeIsIt(heureFr)
{
    var heureEn;
	switch(parseInt(heureFr))
	{
		case 18:
		heureEn='06 PM';
		break;
		
		case 19:
		heureEn='07 PM';
		break;
		
		case 20:
		heureEn='08 PM';
		break;
		
		case 21:
		heureEn='09 PM';
		break;
		
		case 22:
		heureEn='10 PM';
		break;
		
		case 23:
		heureEn='11 PM';
		break;
		
		case 00:
		heureEn='00 AM';
		break;
		
		case 01:
		heureEn='01 AM';
		break;
		
		case 02:
		heureEn='02 AM';
		break;
		
		case 03:
		heureEn='03 AM';
		break;
	}
	
	return heureEn;
}

//Fonction permettant de mettre a jour notre liste de minutes
function fillMinutes(idListe,minDeb)
{
	if(!minDeb)
	{
		minDeb=0;
	}
	else
	{
		minDeb=parseInt(minDeb);
	}

	var liste = document.getElementById(idListe);
	var i=0;
	//On initialise notre liste a vide pour la remplir
	while(liste.hasChildNodes())
	{
		liste.removeChild(liste.firstChild);
	}
	for(i=minDeb;i<60;i+=15)
	{
		  var x=document.createElement('option');
		  if(i==0)
		  {
		  	var y=document.createTextNode('00');
		  }
		  else
		  {
		  	var y=document.createTextNode(i);
		  }
		  x.setAttribute('value',i);
		  x.appendChild(y);
		  liste.appendChild(x);
	}
}

//Fonction permettant d'initialiser notre liste de verres
function fillVerres(idListe)
{
	var liste = document.getElementById(idListe);
	var i=0;
	for(i=0;i<6;i++)
	{
		  var x=document.createElement('option');
		  var y=document.createTextNode(i);
		  x.setAttribute('value',i);
		  x.appendChild(y);
		  liste.appendChild(x);
	}
}

//Fonction qui pemettra d'initialiser les liste
function initListe()
{
	//Init des heures
	for(var i=0;i<tabListeHeure.length;i++)
	{
		fillHour(tabListeHeure[i]);
	}
	
	//init des minutes
	for(var i=0;i<tabListeMin.length;i++)
	{
		fillMinutes(tabListeMin[i]);
	}
	
	//init des minutes
	for(var i=0;i<tabListeNbVerre.length;i++)
	{
		fillVerres(tabListeNbVerre[i]);
	}
	majliste(tabListeHeure[0]);
}


//Fonction qui pemettra d'initialiser les listes au format Anglais
function initListeEn()
{
	//Init des heures
	for(var i=0;i<tabListeHeure.length;i++)
	{
		fillHourEn(tabListeHeure[i]);
	}
	
	//init des minutes
	for(var i=0;i<tabListeMin.length;i++)
	{
		fillMinutes(tabListeMin[i]);
	}
	
	//init des minutes
	for(var i=0;i<tabListeNbVerre.length;i++)
	{
		fillVerres(tabListeNbVerre[i]);
	}

	majlisteEn(tabListeHeure[0]);
}

//Fonction de mise a jour tennant en compte les minutes
function majListeSub(idListeH,idListeM)
{
	var listeH 	= 	document.getElementById(idListeH);
	var listeM 	= 	document.getElementById(idListeM);

	var intH	=	listeH[listeH.selectedIndex].value;
	var intM	=	listeM[listeM.selectedIndex].value;

	//Si on est en bout d'heure on fias avancé l'heure
	if(intM==45)
	{
		intM=0;
		intH=parseInt(intH)+1;
	}
	else
	{
		//Sinon on fais avancer de 15 min
		intM=parseInt(intM)+15;
	}
	
	var tabRes = new Array;
	tabRes[0]=intH;
	tabRes[1]=intM;
		
	return tabRes;
}

//Cette fonction permet de mettre a jour les minutes en fonctions de l'heure sélectionnée et des choix précédents
function MajMinutes(k)
{
	if(k>0)
	{
		listeCourante	=	document.getElementById(tabListeHeure[k]);
		listePrec		=	document.getElementById(tabListeHeure[k-1]);
		//Si on est sur la même heure on ajuste les minutes sinon on met tout
		if(listePrec[listePrec.selectedIndex].value==listeCourante[listeCourante.selectedIndex].value)
		{
			var tabRes2 = new Array;
			tabRes2=majListeSub(tabListeHeure[k-1],tabListeMin[k-1]);
			fillMinutes(tabListeMin[k],tabRes2[1]);
		}
		else
		{
			fillMinutes(tabListeMin[k]);
		}
	}
}

//Fonction qui remet a jour nos liste appeler dans le case de majliste
function majListeCase(k)
{
	var tabRes = new Array;
	tabRes = majListeSub(tabListeHeure[k],tabListeMin[k]);
	
	k++;

	//Init des heures
	for(var i=k;i<tabListeHeure.length;i++)
	{
		fillHour(tabListeHeure[i],tabRes[0]);
		fillMinutes(tabListeMin[i],tabRes[1]);
		tabRes = majListeSub(tabListeHeure[i],tabListeMin[i]);
	}
	
}

//Fonction qui remet a jour nos liste appeler dans le case de majliste -> Format En
function majListeCaseEn(k)
{
	var tabRes = new Array;
	tabRes = majListeSub(tabListeHeure[k],tabListeMin[k]);
	
	k++;

	//Init des heures
	for(var i=k;i<tabListeHeure.length;i++)
	{
		fillHourEn(tabListeHeure[i],tabRes[0]);
		fillMinutes(tabListeMin[i],tabRes[1]);
		tabRes = majListeSub(tabListeHeure[i],tabListeMin[i]);
	}
	
}

//Fonction qui met a jour les temps d'une liste en fonction des autres
function majliste(idListe)
{
	switch (idListe)
	{
		
		case tabListeHeure[0] :
			MajMinutes(0);	
			majListeCase(0);
			break
		case tabListeMin[0]	:
			majListeCase(0);
			break;
			
		case tabListeHeure[1] :
			MajMinutes(1);
			majListeCase(1);
		case tabListeMin[1]:
			majListeCase(1);
			break;
			
		case tabListeHeure[2] :
			MajMinutes(2);
			majListeCase(2);
			break;
		case tabListeMin[2]:
			majListeCase(2);
			break;
			
		case tabListeHeure[3] :
			MajMinutes(3);
			majListeCase(3);
			break;
		case tabListeMin[3]:
			majListeCase(3);
			break;
			
		case tabListeHeure[4] :
			MajMinutes(4);
			majListeCase(4);
			break;
		case tabListeMin[4]:
			majListeCase(4);
			break;
			
		case tabListeHeure[5] :
			
			MajMinutes(5);
			majListeCase(5);
			break;
		case tabListeMin[5]:
			majListeCase(5);
			break;

	}
	majGraph();
}


//Fonction qui met a jour les temps d'une liste en fonction des autres -> Version En
function majlisteEn(idListe)
{
	switch (idListe)
	{
		case tabListeHeure[0] :
			MajMinutes(0);	
			majListeCaseEn(0);
			break
		case tabListeMin[0]	:
			majListeCaseEn(0);
			break;
			
		case tabListeHeure[1] :
			MajMinutes(1);
			majListeCaseEn(1);
		case tabListeMin[1]:
			majListeCaseEn(1);
			break;
			
		case tabListeHeure[2] :
			MajMinutes(2);
			majListeCaseEn(2);
			break;
		case tabListeMin[2]:
			majListeCaseEn(2);
			break;
			
		case tabListeHeure[3] :
			MajMinutes(3);
			majListeCaseEn(3);
			break;
		case tabListeMin[3]:
			majListeCaseEn(3);
			break;
			
		case tabListeHeure[4] :
			MajMinutes(4);
			majListeCaseEn(4);
			break;
		case tabListeMin[4]:
			majListeCaseEn(4);
			break;
			
		case tabListeHeure[5] :
			
			MajMinutes(5);
			majListeCaseEn(5);
			break;
		case tabListeMin[5]:
			majListeCaseEn(5);
			break;

	}
	majGraph('en');
}



//Fonction de conversion du poids -> converti de livre en Kg
function convertPoids(intPoidsLivre)
{
	var coef = parseFloat(0.457); //correspondance 1 livre vaut 0,453 592 37 kg
	//var coef = parseFloat(0.45359237); //correspondance 1 livre vaut 0,453 592 37 kg
	var res = parseInt(intPoidsLivre)*coef;
	return (res);
}

//Fonction mettant a jour el graph a chaque changement de conso
function majGraph(en)
{
	if(canvasDraw==true) //si notre graph a déjà été dessiner on le met a jour
	{
		calculTaux(en);
	}
}

