var select =  true;
var tabConcert = new Array();
		
	function changeConcert() {
		if(select){
				new Effect.BlindUp('concert', 1);
				select = false;
				
			}else{
				new Effect.BlindDown('concert', 1);
				select = true;
			}								
	}
				
	function changeDateConcert(){
		new Ajax.Updater('concert', '/ajax/concert/triDateConcert.php'); 
	}
		
	function changeDepartmentConcert(){
		new Ajax.Updater('concert', '/ajax/concert/triDepartmentConcert.php'); 
	}
	
	// Permet de convertir une date du format JJ/MM/AAAA en un entier AAAAMMJ
 	function ConvDate(chaine){
 		var jour = chaine.substring(0,2)
 		var mois = chaine.substring(3,5)
 		var annee = chaine.substring(6)
 		var intdate = parseInt(annee + mois + jour);
 		return(intdate)
 	}
 	
	// Permet de tester si une chaine de caractères est un entier
	function TestEntier(chaine){
		if(isNaN(chaine))
			{return false;}
		else
			{return true}
	}
	
	function triTable (tab_js,indice,sens) {
		var nb_ligne = tab_js.length;
		var nb_colonne = tab_js[0].length;
		var Nom_Fct_Eval = null;
		indice_glob = indice; // on récupère l'indice de la colonne sélectionnée
		// et on le passe en variable globale pouvant être
		// utilisée par la suite par toutes les fonctions
		// "critères" de tri.
		// Dans la suite, en fonction du sens de tri et de la nature de la colonne
		// en fonction de laquelle on trie, on détermine le nom de la fonction "critère"
		// utilisé.
		if (sens>0) {
			if (TestDate(tab_js[0][indice])) { // si c'est une date
				Nom_Fct_Eval = EvalOrdreCroissantDate
			}else { // si ce n'est pas une date
				if (TestEntier(tab_js[0][indice])) {
					Nom_Fct_Eval = EvalOrdreCroissantNum
				}else { // si ce n'est ni une date ni un nombre, c'est une chaine de caractères
					Nom_Fct_Eval = EvalOrdreCroissantTxt
				}
			}
		}else {
			if (TestDate(tab_js[0][indice])) {
				Nom_Fct_Eval = EvalOrdreDecroissantDate
			}else {
				if (TestEntier(tab_js[0][indice])) {
					Nom_Fct_Eval = EvalOrdreDecroissantNum
				}else {
					Nom_Fct_Eval = EvalOrdreDecroissantTxt
				}
			}
		}
		// On trie le tableau javascript grâce à la méthode .sort et au critère retenu.
		tab_js.sort(Nom_Fct_Eval);
		return tab_js;
	} 
	  
	
	function triDate(){
		
		//var head = '<div><table class="tab_concert"><tr><th class="td_1">Date &nbsp; <a href="javascript:triDate()"title=""><img src="/images/img-fleches-tri.gif" alt="" /></a></th><th class="td_2">Nom</th><th class="td_3">Ville </th><th class="td_4">Departement &nbsp; <a href="javascript:triDepartment()"title=""><img src="/images/img-fleches-tri.gif" alt="" /></a></th><th class="td_5">Salle</th><th class="td_6">Achat</th></tr></thead>';
		//var body = '<tbody></tbody>';
		//var end = '</table></div></div>';
		
		//var result = head+body+end;
		
		//document.getElementById('concert').innerHTML = result;
		
		var indice_tri = 0;
	
		var tableau_document = document.getElementsByTagName("TABLE")[0]; 
		
		for (i=0; i<tableau_document.rows.length-1; i++){
			tabConcert[i] = new Array();
		}
		
		for (j=0; j<tableau_document.rows[0].cells.length; j++){
			for (i=0; i<tableau_document.rows.length-1; i++) {
				tabConcert[i][j] = tableau_document.rows[i+1].cells[j].innerHTML;
			}
		}
		
		// On détermine l'indice de la colonne considérée
		var indice_colonne = Math.abs(indice_tri);

		// On vérifie que le tableau ne soit pas déjà trié comme demandé
		//if (dernier_tri==indice_colonne*indice_tri) {return}
		
		// On trie le tableau suivant le sens voulu et la colonne considérée
		tabConcert = triTable(tabConcert,indice_colonne,indice_tri);   
		
		
		// On met à jour le tableau HTML
		//tableau_document.style.fontFamily="Arial, Helvetica, sans-serif";
		//tableau_document.style.fontSize="10";
		for (i=0; i<tableau_document.rows.length-1; i++){
			for (j=0; j<tableau_document.rows[0].cells.length; j++){
				tableau_document.rows[i+1].cells[j].innerHTML = tabConcert[i][j];
			}
		}
		
		
		
		
		
		//alert(tabConcert[2][4]); 
		
		
	}
	
	
