//variable globale stockant le nom du dernier élément ouvert
var bkList;
//variable globale stockant le nom de l'élément image associé au dernier élément ouvert
var bkImgNom;
//variable globale stockant la première image associé au dernier élément ouvert
var bkImg1;
//variable globale stockant la seconde image associée au dernier élément ouvert
var bkImg2;
//variable globale stockant l'état du dernier élément ouvert
var bkEtat=0;

//Permet d'afficher/cacher le tableau sous Netscape 6 ou sous IE
function cache(num,img_nom,img_coll,img_exp)
{
        var i=0;
        var j=0;

        //On teste s'il faut refermer le dernier élément ouvert si oui, on le referme
        if ((bkList != num)  &&  (bkEtat == 1))
        {
                cache(bkList,bkImgNom,bkIMg1,bkIMg2);
        }

        //On met à jour les variables globales stockant le nom et les images associés au dernier élément ouvert
        bkList = num;
        bkImgNom = img_nom;
        bkIMg1 = img_coll;
        bkIMg2 = img_exp;

	//si il existe des sous rubriques cachees
        if (num != '')
        {
                //Si il existe plusieurs sous rubriques cachees (elles sont separees par des virgules)
                //alors on recupere la premiere dans tmp
                if (num.substring(0,num.indexOf(',',i)) != -1)
                	var tmp=num.substring(0,num.indexOf(',',i));
                //Si il existe une seule sous rubrique cachee, alors on la recupere dans tmp
                if (num.indexOf(',',i) == -1)
                	var tmp=num;
                //On teste si la sous rubrique est cachee (on doit ouvrir le tableau) ou visible (on doit le fermer)
                //Si il faut "ouvrir" le tableau 
                if (document.getElementById('TR'+tmp).style.display == "none")
                {
                           //On affiche toutes les lignes sauf la dernière (à cause du while)
                        while ((j=num.indexOf(',',i)) != -1)
                           {
                                document.getElementById('TR'+num.substring(i,j)).style.display="";
                                i=j+1;
                           }
                           //On affiche la dernière ligne
                           document.getElementById('TR'+num.substring(i)).style.display="";
                    i=0;
                    //On met à jour l'état
                    bkEtat = 1;
                    //On change l'image
                       document.getElementById(img_nom).src=img_exp;
            	}
                //Si il faut "fermer" le tableau
            	else
            	{
                    //On cache toutes les lignes sauf la dernière (à cause du while)
                        while ((j=num.indexOf(',',i)) != -1)
                           {
                                document.getElementById('TR'+num.substring(i,j)).style.display="none";
                                i=j+1;
                           }
                           //On cache la dernière ligne
                           document.getElementById('TR'+num.substring(i)).style.display="none";
                    i=0;
                    //On met à jour l'état
                    bkEtat = 0;
                    //On change l'image
                       document.getElementById(img_nom).src=img_coll;
            	}
        }
}


//variable globale stockant le nom du dernier élément ouvert
var bkList_unique;
//variable globale stockant le nom de l'élément image associé au dernier élément ouvert
var bkImgNom_unique;
//variable globale stockant la première image associé au dernier élément ouvert
var bkImg1_unique;
//variable globale stockant la seconde image associée au dernier élément ouvert
var bkImg2_unique;
//variable globale stockant l'état du dernier élément ouvert
var bkEtat_unique=0;

//Version simplifiee de cache
function cache_unique(num,img_nom,img_coll,img_exp)
{
        //On teste s'il faut refermer le dernier élément ouvert si oui, on le referme
        if ((bkList_unique != num)  &&  (bkEtat_unique == 1))
        {
                cache_unique(bkList_unique,bkImgNom_unique,bkIMg1_unique,bkIMg2_unique);
        }

        //On met à jour les variables globales stockant le nom et les images associés au dernier élément ouvert
        bkList_unique = num;
        bkImgNom_unique = img_nom;
        bkIMg1_unique = img_coll;
        bkIMg2_unique = img_exp;

	//si il existe des sous rubriques cachees
        if (num != '')
        {
                //On teste si la sous rubrique est cachee (on doit ouvrir le tableau) ou visible (on doit le fermer)
                //Si il faut "ouvrir" le tableau 
                if (document.getElementById('TRU'+num).style.display == "none")
                {
                        //On affiche la ligne cachee
                        document.getElementById('TRU'+num).style.display="";
                    	//On met à jour l'état
                    	bkEtat_unique = 1;
                    	//On change l'image
                       document.getElementById(img_nom).src=img_exp;
            	}
                //Si il faut "fermer" le tableau
            	else
            	{
           
                       	//On cache la ligne visible 
                        document.getElementById('TRU'+num).style.display="none";
                    	//On met à jour l'état
                   	bkEtat_unique = 0;
                    	//On change l'image
                       	document.getElementById(img_nom).src=img_coll;
            	}
        }
}