function bindAndLoad() {
	var pere = null;
	$A(divs).each(
		function(i) {
			//On cache les fils à l'initialisation	
			//si l (listearticle passé en URL) est égale à l'id du tableau, alors on laisse affiché.
			if (!(i.type == 'liste' && i.id == l)) {
				$(i.fils).hide();         	
			}
			else {
				//Si liste et l=id alors on ne cache pas le fils et on affiche le pere (utile si pere est sousrubrique).
				$(i.pere).show();	
				//On enregistre le père pour afficher en dehors de la boucle ses freres (sous rubriques meme niveau).		
				pere = i.pere;
			}				
			
			//On observe tous les pères avec l'événement onclick, pour afficher les fils.
			if ($(i.pere) != undefined) {
				Event.observe($(i.pere), "click", function(e){
					displayFils(i);			
				});
			}		
		});	
		
		//permet d'avoir les autres sousrubriques affichées du même niveau.
		if (pere != undefined) {
			j = getPere(pere);
			if (j != undefined)
				showFils(j.pere);
		}
}

/*
 *Affiche tous les fils d'un pere
 *pere : string;
 */
function showFils(pere)
{
	$A(divs).each(
			function(j) {
				if (j.pere==pere) {
					$(j.fils).show();         	
				}
			})
}


/*
 *Cherche un pere d'un pere
 *pere : string;
 */
function getPere(pere)
{
	var res = null;
	$A(divs).each(
			function(j) {					
				if (j.fils == pere)
					res = j;		
			})
	return res;
}

/*
 *Affiche ou pas un fils suivant son etat display actuel (si invisible : rend visible, sinon rend invisible)
 *i : objet (pere, fils, type, id);
 */
function displayFils(i) {
	if ($(i.fils).style.display != 'none') {
		$(i.fils).hide();		
		//permet de fermer les articles de la sousrubrique qd on clique sur la rubrique.
		if (i.type == 'sousrubrique') {
			fils = i.fils;	
			$A(divs).each(
			function(j) {
				if 	(j.pere == fils)
					$(j.fils).hide();
			});
		}		
	}
	else
		$(i.fils).show();	
}

Event.observe(window, 'load', bindAndLoad);
