/*! \brief
 * Menu dépliant xhtml compliant et jquerysé 
 * Documentation compléte : http://www.spip-contrib.net/Menu-depliant-liste-CSS-et-jquery
 *
 * Version 0.1
 *  Version initiale, permet aux navigateurs firefox et opéra de déplier/replier une liste
 * Version 0.2
 *  Support de internet explorer, par l'ajout d'une ancre <a> ajouté dynamiquement par js
 * Version 0.3
 *  internet explorer supporte mal le js, ajout d'un attribut spécial pour desactiver le script à la demande
 *  <body val="notie"> desactive le script spécifiquement pour ie
 * Version 0.4
 *  condensation du code
 * Version 0.5
 *  amélioration du support pour ie, (debogage réalisé par toulousain34, merci à lui)
 */
 

/* Si <body val="notie"> alors le script ignore la fonction de pliage pour ie*/

/*! \brief 
 *  Dans le cas d'internet explorer, ajout d'une balise <a> pour permettre les click
 *  ul et li n'ont pas d'evenement onmouseclick avec ie
 */
$(document).ready(function() {
    if ($("body").attr("val") != 'notie') { 
    	if  ($.browser.msie) {
    		var noeud = $(".noeud");
    		noeud.prepend("<a href=# class=noeud>&nbsp;</a>");
    		noeud.children("ul").addClass("pliermsie");
    	}
    }
});

/*! \brief
 *  Applique les classes aux divers éléménents du menu
 */
$(document).ready(function () {
	//parcours une fois le document à la recherche des élements noeud.
	//ajoute la classe plier à l'ensemble des noeud, cache toutes les sous listes exception de la suite exposée
	$(".noeud:not(.on)").addClass("plier");
	//determine le comportement lors d'un click
	$(".noeud").click(function (e) {
		//affiche ou cache la sous liste  sur click de l'élément
		$(this).toggleClass("plier");
		//interdit la propagation sur les noeuds parents
		e.stopPropagation();		
	});
	//éviter un effet de bord (pliage) lors d'un click sur le lien
	$("a.noeud, .feuille").click(function (e) {
		e.stopPropagation();
	});
});


/*
 * \brief
 * Traitement spécifique pour internet explorer
 */
$(document).ready(function() {
    if ($("body").attr("val") != 'notie') {     
    	$("a.noeud").click(function () {
    		//detecte le navigateur internet exploreur
    		if($.browser.msie) {
    			//sur le bloc fils ajoute la classe
    			$(this).siblings("ul").toggleClass("pliermsie");
    		}
    	});
    }
});
