
	function DivStatus( nom, numero )
		{
			var divID = nom + numero;
			if ( document.getElementById && document.getElementById( divID ) ) // Pour les navigateurs récents
				{
					Pdiv = document.getElementById( divID );
					PcH = true;
		 		}
			else if ( document.all && document.all[ divID ] ) // Pour les veilles versions
				{
					Pdiv = document.all[ divID ];
					PcH = true;
				}
			else if ( document.layers && document.layers[ divID ] ) // Pour les très veilles versions
				{
					Pdiv = document.layers[ divID ];
					PcH = true;
				}
			else
				{
					
					PcH = false;
				}
			if ( PcH )
				{
					Pdiv.className = ( Pdiv.className == 'cachediv' ) ? '' : 'cachediv';
				}
		}
		
	/*
	* Cache tous les divs ayant le même préfixe
	*/
	function CacheTout( nom )
		{	
			var NumDiv = 1;
			if ( document.getElementById ) // Pour les navigateurs récents
				{
					while ( document.getElementById( nom + NumDiv) )
						{
							SetDiv = document.getElementById( nom + NumDiv );
							if ( SetDiv && SetDiv.className != 'cachediv' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
			else if ( document.all ) // Pour les veilles versions
				{
					while ( document.all[ nom + NumDiv ] )
						{
							SetDiv = document.all[ nom + NumDiv ];
							if ( SetDiv && SetDiv.className != 'cachediv' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
			else if ( document.layers ) // Pour les très veilles versions
				{
					while ( document.layers[ nom + NumDiv ] )
						{
							SetDiv = document.layers[ nom + NumDiv ];
							if ( SetDiv && SetDiv.className != 'cachediv' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
		}
	
	/*
	* Montre tous les divs ayant le même préfixe
	*/
	function MontreTout( nom )
		{	
			var NumDiv = 1;
			if ( document.getElementById ) // Pour les navigateurs récents
				{
					while ( document.getElementById( nom + NumDiv) )
						{
							SetDiv = document.getElementById( nom + NumDiv );
							if ( SetDiv && SetDiv.className != '' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
			else if ( document.all ) // Pour les veilles versions
				{
					while ( document.all[ nom + NumDiv ] )
						{
							SetDiv = document.all[ nom + NumDiv ];
							if ( SetDiv && SetDiv.className != '' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
			else if ( document.layers ) // Pour les très veilles versions
				{
					while ( document.layers[ nom + NumDiv ] )
						{
							SetDiv = document.layers[ nom + NumDiv ];
							if ( SetDiv && SetDiv.className != '' )
								{
									DivStatus( nom, NumDiv );
								}
							NumDiv++;
						}
				}
		}
		
	/*
	* Inverse les divs: Cache les divs visible et montre le divs cachés :)
	*/
	function InverseTout( nom )
		{	
			var NumDiv = 1;
			if ( document.getElementById ) // Pour les navigateurs récents
				{
					while ( document.getElementById( nom + NumDiv ) )
						{
							SetDiv = document.getElementById( nom + NumDiv );
							DivStatus( nom, NumDiv );
							NumDiv++;
						}
				}
			else if ( document.all ) // Pour les veilles versions
				{
					while ( document.all[ nom + NumDiv ] )
						{
							SetDiv = document.all[ nom + NumDiv ];
							DivStatus( nom, NumDiv );
							NumDiv++;
						}
				}
			else if ( document.layers ) // Pour les très veilles versions
				{
					while ( document.layers[ nom + NumDiv ] )
						{
							SetDiv = document.layers[ nom + NumDiv ];
							DivStatus( nom, NumDiv );
							NumDiv++;
						}
				}
		}
	
	function getElementsBySelector(selector){
		//Extracted from nifty.js
			var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
			if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
				s=selector.split(" ");
				var fs=s[0].split("#");
				if(fs.length==1) return(objlist);
				f=document.getElementById(fs[1]);
				if(f) return(f.getElementsByTagName(s[1]));
				return(objlist);
			}
			if(selector.indexOf("#")>0){ //id selector like "tag#id"
				s=selector.split("#");
				tag=s[0];
				selid=s[1];
		    }
			if(selid!=""){
				f=document.getElementById(selid);
				if(f) objlist.push(f);
				return(objlist);
		    }
			if(selector.indexOf(".")>0){  //class selector like "tag.class"
				s=selector.split(".");
				tag=s[0];
				selclass=s[1];
		    }
			var v=document.getElementsByTagName(tag);  // tag selector like "tag"
			if(selclass=="")
				return(v);
			for(i=0;i<v.length;i++){
				if(v[i].className.indexOf(selclass)>=0)
					objlist.push(v[i]);
		    }
			return(objlist);
		}
		
/* -- Fonction récursive ------------------------------- */
/* ----------------------------------------------------- */
/* On cache les éléments menuid ayant la class 'acacher' */
/* ----------------------------------------------------- */
function cacherToutesLesDiv( nom, id ){
	//On s'arréte quand il n'y a plus d'éléments
	var element;
	if (document.getElementById && (element = document.getElementById(nom + id))){
		if(element.className == 'acacher')
			element.className = 'cachediv';
		cacherToutesLesDiv(nom, (id*10)+1); //On descend ds la hiérarchie
		cacherToutesLesDiv(nom, id+1); //On passe au suivant
	}
}

function cacherToutesLesMenu(){

	var elements = getElementsBySelector("ul.acacher");
	for (var cle in elements)
		{
		elements[cle].className = "cachediv";
	}
}

addLoadEvent(function() {cacherToutesLesDiv('menu', 1);cacherToutesLesMenu()});