
function menuderoul(divid)
{
	this.div = document.getElementById(divid);
	if( this.div )
	{
	   this.lis = this.div.getElementsByTagName("LI");
	   for(var i=0; i<this.lis.length ; i++ )
	   {
		   this.lis[i].onmouseover =  
			   function() 
			   {
				   this.className+=" over";
			   }
		   this.lis[i].onmouseout =
			   function()
			   {
				   this.className=this.className.replace(" over", "");
			   }
	   }
	}
}
//=======================================================================================
// Affiche les bordures des divs --- Utile en DEV.
function fnShowDivIds()
{
	var d = document;
	for (var i=0; i<d.getElementsByTagName("DIV").length; i++)
	{
		var oDiv = d.getElementsByTagName("DIV")[i];
		if("DIV" == oDiv.parentNode.tagName)
		{
			oDiv.style.border = "1px dotted aqua";
		}
		else
		{
			oDiv.style.border = "1px solid lime";
		}
		
		if(oDiv.id)
		{
			var oSpan = d.createElement("SPAN");
				oSpan.setAttribute("style","background : #CCCCCC;");
				oSpan.innerHTML=""+oDiv.id;
			 oDiv.appendChild(oSpan);
		}
		// alert(oDiv.id)
	}
}
//=======================================================================================
var vgMsg = new Array();

function cl_messagederoulant( idObj, sIdUl )
{
	window.message = this;
	this.msgName = "message_"+idObj;
	
	vgMsg.push( this );
	
	var cpt = (vgMsg.length -1);
	
	this.divDeroul= document.getElementById( idObj );
	this.ulDeroul =  document.getElementById(sIdUl);
	/* --- */
  if(! this.ulDeroul)
	{
    var oUl = this.divDeroul.getElementsByTagName("UL")[0]
		if(!oUl)
		{
			oUl = document.createElement("UL");
	    this.divDeroul.appendChild( oUl ); 
		}
			var oNewsUl = oUl.cloneNode(true);
	        oNewsUl.setAttribute("id", sIdUl );
	    	
	  	var oDivSticker = document.createElement("DIV");
	        oDivSticker.appendChild( oNewsUl ); 
	
	  	this.divDeroul.removeChild( oUl );
	    this.divDeroul.appendChild( oDivSticker );
	    
	    this.ulDeroul =  document.getElementById( sIdUl )
  }
  /* --- */
	 this.divDeroul.style.display = 'block';
   // this.divDeroul.innerHTML = vgMsg[cpt].msgName + this.divDeroul.innerHTML;
  /* --- */
	this.defil =
	function cl_messagederoulant_defil()
	{
    if( (this.ulDeroul.offsetLeft + this.ulDeroul.offsetWidth) <= 0)
		{
      this.ulDeroul.style.left = "100%"
		}
		this.ulDeroul.style.left=this.ulDeroul.offsetLeft-2+"px";
		clearTimeout(this.timer);
		var iSpeed = (MS)? 30 : 15;
		this.timer = setTimeout( "vgMsg["+cpt+"].defil()" ,iSpeed);
	}
	/* --- */
	this.deroul =
	function cl_messagederoulant_deroul()
	{
		if( (this.ulDeroul.offsetTop + this.ulDeroul.offsetHeight) <= 0)
		{
      this.ulDeroul.style.top = "100%"
		}
		this.ulDeroul.style.top=this.ulDeroul.offsetTop-2+"px";
		clearTimeout(this.timer);
		this.timer = setTimeout( "vgMsg["+cpt+"].deroul()" ,90);
	}
	/* --- */
	this.pause =
	function cl_messagederoulant_pause()
	{
		clearTimeout(this.timer);
	}
	/* --- */
	this.restart =
	function cl_messagederoulant_restart( sAction )
	{
		switch( sAction )
		{
			case 'deroul' : 
				this.deroul()
				break;

			case 'defil' :
				this.defil(); 
				break;		
		}
	}
}
//============================================================
function fnDisplayMsgDeroul( idDiv, sIdUl,  sAction ) {
  var oDiv = document.getElementById( idDiv )
	if( oDiv ) 
  {
		switch( sAction )
		{
			case 'deroul' : 
					var oMessage = new  cl_messagederoulant( idDiv, sIdUl );
					    oMessage.deroul();
					oDiv.attachEvent ( "onmouseover", function ()	{ oMessage.pause(); })
					oDiv.attachEvent ( "onmouseout", function () { oMessage.restart( 'deroul' );})
				break;

			case 'defil' :
					var oMessage2 = new  cl_messagederoulant( idDiv, sIdUl );
					    oMessage2.defil();
					oDiv.attachEvent ( "onmouseover", function ()	{ oMessage2.pause(); })
					oDiv.attachEvent ( "onmouseout", function () { oMessage2.restart( 'defil' );})
				break;		
		}
				  
  }
}
//============================================================
// Ajoute la classe ' nochild' aux LI de niveau 1 ne contenant 
// qu'une seule sous-rubrique qui ne contient pas plus d'une page.
function fnHideSingleSsRub( divid )
{
	this.div = document.getElementById(divid);
	if( this.div )
	{
	   this.colH2 = this.div.getElementsByTagName("H2");
	   for(var i=0; i<this.colH2.length ; i++ )
	   {
	   		var oLiN1 = this.colH2[i].parentNode;
	   		var iNumSubRub = oLiN1.getElementsByTagName("H3").length;
	   		var iNumPagesInRub = oLiN1.getElementsByTagName("H4").length;
				if( iNumSubRub == 1 && iNumPagesInRub == 0 )
	   		{
	   			oLiN1.className += ' nochild'; 
				}		   		
				// else { alert(iNumSubRub+' - '+iNumPagesInRub+' => ...');}
	   }
	}
} 
//============================================================
function fnHideProtectedRubsInSiteMap()
{
	// alert((window.parent == self))
	if(window.parent == self)
	{
		var oContent = document.getElementById('front-content');
		if(oContent)
		{
			var oSiteMapSpecRubList = document.getElementById("planSiteRspecs");
			if(oSiteMapSpecRubList)
			{
				var oLicoll= oSiteMapSpecRubList.getElementsByTagName("Li");
				var i=0;
				while(i<oLicoll.length)
				{
					var oLi = oLicoll[i];
					if(oLi.getElementsByTagName("A")[0].className == 'security')
					{
						oLi.style.display= 'none';
					}
					i++;
				}
			}
		}
	}
}
//============================================================
// Ajoute la classe ' nochild' aux LI de niveau 1 ne contenant 
// qu'une seule sous-rubrique qui ne contient pas plus d'une page.
function fnHideSingleSsRubInSiteMap()
{
	var oContent = document.getElementById('front-content');
	this.olPlan = oContent.getElementsByTagName("OL")[0];
	if( this.olPlan )
	{
		// Tous les Li du plan
		this.colLi = this.olPlan.getElementsByTagName("LI");

		// Retrouver les li de niveau 1.
		this.colLiN1 = new Array();
		var i=0;
		while(i<this.colLi.length){
			if( this.colLi[i].parentNode == this.olPlan ){
				this.colLiN1.push(this.colLi[i]);
			}
			i++;
		}
		// N2 et inf.
		for(var j=0; j<this.colLiN1.length ; j++ )
		{
			var oLiN1 = this.colLiN1[j];
			// Tous les Li sous le N1 en cours
			this.colLiSsRub = oLiN1.getElementsByTagName("LI");
			if(colLiSsRub)
			{
				// Retrouver les li de niveau 2.
				this.colLiN2 = new Array();
				var k=0;
				while(k<this.colLiSsRub.length){
					// alert("oLiN1 : "+oLiN1+"\n"+this.colLiSsRub[k].parentNode.tagName);
					if( this.colLiSsRub[k].parentNode.parentNode == oLiN1 ){
						this.colLiN2.push(this.colLiSsRub[k]);
					}
					k++;
				}
				var numLiN2 = this.colLiN2.length;
				for(var l=0; l< numLiN2 ; l++ )
				{
					var oLiN2 = this.colLiN2[l];
					var oUlPagesList = oLiN2.getElementsByTagName("UL")[0];
					
					if( oUlPagesList && oUlPagesList.getElementsByTagName("LI").length <= 1 )
					{
						oUlPagesList.style.display = 'none';
						// oUlPagesList.style.border = '1px solid red';
						
						if(numLiN2 <= 1){
							oLiN2.style.display = 'none';
							// oLiN2.style.border = '1px solid green';
						}
					}
				}
			}
		}
	}
}
//============================================================
if(DHTML && DOM)
{
	window.attachEvent
		(
		"onload",
			function () 
			{
				if(MS) {
					menuderoul('navigation-menu');
		    }
		    if( -1 != String(document.body.className).indexOf("ACCUEIL") ) {
						fnDisplayMsgDeroul( 'actualite-div', 'ulActualites', 'deroul' );
						fnDisplayMsgDeroul( "actu-div","ulNews", "defil" );
				}
				if( -1 != String(document.body.className).indexOf("PLAN_DU_SITE") ) {
					fnHideProtectedRubsInSiteMap();
					
					fnHideSingleSsRubInSiteMap();
				}
				fnHideSingleSsRub( 'navigation-menu' );
				//fnShowDivIds();
			}
		)
}
//============================================================

