// -------------- TRIS / MISE EN FORME --------------
function cDate(sDate)
{
	if (sDate.length < 16) 
	{
		return false
	}
	var iDay=sDate.substring(0,2);
	var iMonth=sDate.substring(3,5);
	var iYear=sDate.substring(6,10);
	
	var iMin=sDate.substring(11,13);
	var iSec=sDate.substring(14,16);
	
	sDate= iYear+iMonth+iDay+iMin+iSec;
	
	return sDate;
}
	   
function TrierCol(x1,x2)
{   
	// Tri ascendant / descendant sur chaîne de caractères
	if(sensTri==false){
		return (x1[iColSel].toUpperCase() < x2[iColSel].toUpperCase())? -1 : 1;
	}else{
		return (x1[iColSel].toUpperCase() > x2[iColSel].toUpperCase())? -1 : 1;
	}
}   
	  
function TrierColDate(x1,x2)
{   
	// Tri ascendant / descendant sur date
	if(sensTri==false){
		return (cDate(x1[iColSel])<cDate(x2[iColSel]))? -1 : 1;
	}else{
		return (cDate(x1[iColSel])>cDate(x2[iColSel]))? -1 : 1;
	}
}   
  
function TrierColNb(x1,x2)
{   
	// Tri ascendant / descendant sur nombre
	if(sensTri==false){
		return x1[iColSel]-x2[iColSel];
	}else{
		return x2[iColSel]-x1[iColSel];
	}
}   

	  
	  
	  
function AppelTri(strNomArrayListe, strNomArrayCol, iType, idCol)
{
	// Appel de la bonne fonction de tri en fonction du type en paramètre
	//   iType = type de la variable à trier
	//        1 : string
	//        2 : date
	//        3 : nombre
	//   idCol = Indice de la colonne à trier
	 
	// variable contenant l'image à afficher
	var strImage; 
	
	var arrListe = eval(strNomArrayListe)
	var arrCol = eval(strNomArrayCol)
	
	// Sauvegarde dans la variable globale de l'indice de la colonne en train d'être triée
	iColSel = idCol;
	
	sensTri=arrCol[idCol][0];
	
	// La colonne est dans l'état descendant, on effectue le tri
	if (iType==1)
	{
		// Tri sur chaîne de caractères
		arrListe.sort(TrierCol);
	}
	else if (iType==2)
	{
		// Tri sur date
		arrListe.sort(TrierColDate);
	}
	else if (iType==3)
	{
		// Tri sur nombre
		arrListe.sort(TrierColNb);
	}
		
		
	if (sensTri==false)
	{
		// Changement de l'image à afficher   
		strImage="./images/down.gif";
		
		// Modification de l'état du tri pour cette colonne
		arrCol[idCol][0]=true;
	}else{
		// Changement de l'image à afficher   
		strImage="./images/up.gif";
		
		// Modification de l'état du tri pour cette colonne
		arrCol[idCol][0]=false;
	}
	 
	// Affichage du tableau trié
	document.getElementById('tableau').innerHTML=
		   AfficherTableau(strNomArrayListe, strNomArrayCol, "liste", "300px", 'margin-left:2pt; margin-right:2pt');   
	
	// Modification de l'image indiquant quelle colonne est triée
	document.getElementById('IMG'+idCol).src=strImage;
}
     

	 
 
