
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// FONCTION JAVASCRIPT DE L'INDEX DYNAMIQUE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* ************************************************************************************************************************** */	
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// MARQUE PAGE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function addbookmark(bookmarktitle, bookmarkurl)
	{ 
		if(window.external) window.external.AddFavorite(bookmarkurl,bookmarktitle); // IE
		else if (typeof window.sidebar == "object" && typeof window.sidebar.addPanel == "function") 
		{
			window.sidebar.addPanel(bookmarktitle, bookmarkurl, false); // Mozilla / Netscape
			alert("Vous êtes sur le point d'ajouter un favoris pour la barre latérale de votre navigateur.\nPour que ce lien s'ouvre dans la fenêtre principale du navigateur, vous devrez modifier les propriétés du favoris.");
		}
		else alert("N'oubliez pas d'inscrire le site dans vos marque-pages.");
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* ************************************************************************************************************************** */	
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// BROWSER
	/* -------------------------------------------------------------------------------------------------------------------------- */
	var browserIndex = new BrowserDetectLiteIndexDyn(); // navigateur du client
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// FONCTION BROWSER
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function BrowserIsMoz() 
	{
		if (is_home && !(browserIndex.isMozilla)) // is_home : vérification seulement sur la page d'accueil (sinon trop lourd)
		{ 
			var redir = window.confirm ("Cette page est optimisée pour Mozilla-Firefox. \nVoulez-vous télécharger ce logiciel maintenant ?"); 
			if (redir) document.location.href = "http://www.mozilla-europe.org/fr/products/firefox/";
		}
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function BrowserDetectLiteIndexDyn() 
	{
	   var ua = navigator.userAgent.toLowerCase(); 
	   // browserIndex name
	   this.isGecko     = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
	   this.isMozilla   = (this.isGecko && (ua.indexOf('mozilla')!=-1 || ua.indexOf('gecko/') + 14 == ua.length) );
	   this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
	   this.isIE        = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); 
	   this.isSafari    = (ua.indexOf('safari') != - 1);
	   this.isOpera     = (ua.indexOf('opera') != -1); 
	   this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari); 
	   this.isIcab      = (ua.indexOf('icab') != -1); 
	   this.isAol       = (ua.indexOf('aol') != -1); 
	   
	   // spoofing and compatible browsers
	   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
	   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
	   
	   // browserIndex version
	   this.versionMinor = parseFloat(navigator.appVersion); 
	   
	   // correct version number
	   if (this.isNS && this.isGecko) { this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) ); }
	   else if (this.isIE && this.versionMinor >= 4) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );  }
	   else if (this.isMozilla) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ); }
	   else if (this.isSafari) { this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) ); }
	   else if (this.isOpera) 
	   {
		  if (ua.indexOf('opera/') != -1) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) ); }
		  else { this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) ); }
	   }
	   else if (this.isKonqueror) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) ); }
	   else if (this.isIcab) 
	   {
		  if (ua.indexOf('icab/') != -1) { this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) ); }
		  else { this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) ); }
	   }
	   
	   this.versionMajor = parseInt(this.versionMinor); 
	   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
	   
	   // dom support
	   this.isDOM1 = (document.getElementById);
	   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
	   
	   // css compatibility mode
	   this.mode = document.compatMode ? document.compatMode : 'BackCompat';
	
	   // platform
	   this.isWin   = (ua.indexOf('win') != -1);
	   this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
	   this.isMac   = (ua.indexOf('mac') != -1);
	   this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
	   this.isLinux = (ua.indexOf('linux') != -1);
	   
	   // specific browserIndex shortcuts
	   this.isNS4x = (this.isNS && this.versionMajor == 4);
	   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
	   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
	   this.isNS4up = (this.isNS && this.versionMinor >= 4);
	   this.isNS6x = (this.isNS && this.versionMajor == 6);
	   this.isNS6up = (this.isNS && this.versionMajor >= 6);
	   this.isNS7x = (this.isNS && this.versionMajor == 7);
	   this.isNS7up = (this.isNS && this.versionMajor >= 7);
	   

	   this.isIE4x = (this.isIE && this.versionMajor == 4);
	   this.isIE4up = (this.isIE && this.versionMajor >= 4);
	   this.isIE5x = (this.isIE && this.versionMajor == 5);
	   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
	   this.isIE5up = (this.isIE && this.versionMajor >= 5);
	   this.isIE6x = (this.isIE && this.versionMajor == 6);
	   this.isIE6up = (this.isIE && this.versionMajor >= 6);
	   this.isIE7x = (this.isIE && this.versionMajor == 7);
	   this.isIE7up = (this.isIE && this.versionMajor >= 7);
	   
	   this.isIE4xMac = (this.isIE4x && this.isMac);
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* ************************************************************************************************************************** */	
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* -------------------------------------------------------------------------------------------------------------------------- */	
	// HORLOGE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	var heure_index_dyn = -1; // variables pour l'horloge
	var min_index_dyn   = -1;
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// FONCTION HORLOGE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function Horloge(id)
	// modifie dynamiquement l'heure affichée dans l'entête en fonction de l'heure systeme
	{
		var jstime_entete   = new Date()
		var heure_entete    = jstime_entete.getHours()
		var minutes_entete  = jstime_entete.getMinutes()
		var secondes_entete = jstime_entete.getSeconds()
	
		if(document.getElementById(id))
		{
			secondes_entete<10?document.getElementById(id+'_sec').innerHTML = "0"+secondes_entete:document.getElementById(id+'_sec').innerHTML = secondes_entete;
			if(minutes_entete!=min_index_dyn)
			{
				minutes_entete<10?document.getElementById(id+'_min').innerHTML = "0"+minutes_entete:document.getElementById(id+'_min').innerHTML = minutes_entete;
				min_index_dyn=minutes_entete;
			}
			if(heure_entete!=heure_index_dyn)
			{
				heure_entete<10?document.getElementById(id+'_heure').innerHTML = "0"+heure_entete:document.getElementById(id+'_heure').innerHTML = heure_entete;
				heure_index_dyn=heure_entete;
			}
			timer=setTimeout("Horloge('"+id+"')",1000);
		}			
	}
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
	/* ************************************************************************************************************************** */
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */		
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// LISTES DEROULANTES
	/* -------------------------------------------------------------------------------------------------------------------------- */
	var timeoutIndexDyn = 600; // durée avant que le menu se cache lorsque la souris quitte sa surface
	if ( browserIndex.isIE ) timeoutIndexDyn = 1200;
	if ( browserIndex.Mozilla ) alert('moz');
	var timeoutDerouleIndexDyn = 10; // vitesse de déroulement / enroulement des listes
	var lastTdIndexDyn = null; // référence sur la liste entrain de se fermer
	var time_outIndexDyn = new Array(); // références sur les timer<!-- Horloge dynamique Javascript -->
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// FONCTIONS POUR LES LISTES DEROULANTES
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// this fonction apply the CSS style and the event
	function initListeIndexDyn(id)
	{
		// a test to avoid some browserIndex like IE4, Opera 6, and IE Mac
		if ( browserIndex.isDOM1 && !( browserIndex.isMac && browserIndex.isIE ) && !( browserIndex.isOpera && browserIndex.versionMajor < 7 ) && !( browserIndex.isIE && browserIndex.versionMajor < 5 ) )
		{
			var menu = document.getElementById(id); // racine du menu
			var lis = menu.getElementsByTagName('li'); // all the li
			for ( var g=0; g<lis.length; g++ )
			{
				var uls = lis.item(g).getElementsByTagName('ul');
				if ( uls.length > 0 )
				{
					for(var i=0; i<uls.length; i++) uls.item(i).setAttribute( 'id', "ul_"+id+"_"+g+"_"+i );
					
					if ( browserIndex.isIE ) { addAnEventIndexDyn(lis.item(g),'keyup',showIndexDyn); } // improve IE key navigation
					// link events to list item
					addAnEventIndexDyn(lis.item(g),'mouseover',showIndexDyn);
					addAnEventIndexDyn(lis.item(g),'mouseout',timeoutHideIndexDyn);
					addAnEventIndexDyn(lis.item(g),'blur',timeoutHideIndexDyn);
					addAnEventIndexDyn(lis.item(g),'focus',showIndexDyn);
					
					// add an id to list item
					lis.item(g).setAttribute( 'id', "li_"+id+"_"+g );
					time_outIndexDyn["li_"+id+"_"+g] = false; // initialisation du timer
				}
			}
			
			var tds = menu.getElementsByTagName('td');
			for ( var g=0; g<tds.length; g++ )
			{
				if ( browserIndex.isIE ) { addAnEventIndexDyn(tds.item(g),'keyup',hideLastUlIndexDyn); } // improve IE key navigation
				addAnEventIndexDyn(tds.item(g),'mouseover',hideLastUlIndexDyn);
				tds.item(g).setAttribute( 'id', "td_"+id+"_"+g );
			}
		}
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function addAnEventIndexDyn( target, eventName, functionName )
	// ajoute une fonction à un évenement
	{
		if ( browserIndex.isIE ) { eval('target.on'+eventName+'=functionName'); } // apply the method to IE attachEvent dont work properly with this
		else { target.addEventListener( eventName , functionName , true ); } // apply the method to DOM compliant browsers true is important for Opera7
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function showIndexDyn()
	// montre le premier ul de la li
	{
		// on cache les autres listes
		clearTimeout(time_outIndexDyn[this.id]); 
		hideAllOthersUlsIndexDyn( this );
		// on affiche le ul
		var ul_element = this.getElementsByTagName('ul')[0];
		ul_element.style['display'] = 'block';
		// on déroule la liste (li dans le ul)
		clearTimeout(time_outIndexDyn[ul_element.id]); 
		time_outIndexDyn[ul_element.id]= window.setTimeout('showLiIndexDyn( "' + ul_element.id + '", 0)', + timeoutDerouleIndexDyn );
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function showIndexDynId(id)
	// montre le premier ul de la li
	{
		// on cache les autres listes
		clearTimeout(time_outIndexDyn[id]); 
		hideAllOthersUlsIndexDyn( document.getElementById(id) );
		// on affiche le ul
		var ul_element = document.getElementById(id).getElementsByTagName('ul')[0];
		ul_element.style['display'] = 'block';
		// on déroule la liste (li dans le ul)
		clearTimeout(time_outIndexDyn[ul_element.id]); 
		time_outIndexDyn[ul_element.id]= window.setTimeout('showLiIndexDyn( "' + ul_element.id + '", 0)', + timeoutDerouleIndexDyn );
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function showLiIndexDyn(ul_element_id, indice)
	// déroule la liste contenu dans l'ul dont l'id = ul_element_id
	{
		var lis = document.getElementById(ul_element_id).getElementsByTagName('li');
		if(indice<lis.length)
		{
			if( browserIndex.isIE ) lis[indice].style['display'] = 'inline';
			else lis[indice].style['display'] = 'block';
			indice++;
			time_outIndexDyn[ul_element_id]= window.setTimeout('showLiIndexDyn( "' + ul_element_id + '", ' + indice + ')', + timeoutDerouleIndexDyn );
		}
		else clearTimeout(time_outIndexDyn[ul_element_id]); 
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// hide the first ul element of the current element
	function timeoutHideIndexDyn()
	{ time_outIndexDyn[this.id]= window.setTimeout('hideUlUnderLiByIdIndexDyn( "' + this.id + '" )', + timeoutIndexDyn ); }
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// hide the first ul element of the current element
	function timeoutHideIndexDynId(id)
	{ time_outIndexDyn[id]= window.setTimeout('hideUlUnderLiByIdIndexDyn( "' + id + '" )', + timeoutIndexDyn ); }
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// hide the ul elements under the element identified by id
	function hideUlUnderIndexDyn( id ) 
	{  document.getElementById(id).getElementsByTagName('ul')[0].style['display'] = 'none';/* style['visibility'] = 'hidden'; */ }
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function hideLastUlIndexDyn()
	// cache la dernière liste affichée (dans une td)
	{
		if(lastTdIndexDyn!=null && lastTdIndexDyn!=this.id) hideUlUnderLiIndexDyn(document.getElementById(lastTdIndexDyn));
		lastTdIndexDyn=this.id;
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function hideAllOthersUlsIndexDyn( currentLi )// hide all ul on the same level of  this list item
	{
		var ul = currentLi.parentNode;
		//alert(lis.childNodes.length);
		for ( var g=0; g<ul.childNodes.length; g++ )
		{
			if ( ul.childNodes[g].id && ul.childNodes[g].id != currentLi.id ) 
			{ hideUlUnderLiIndexDyn( ul.childNodes[g] ); }
		}
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */	
	function hideUlUnderLiIndexDyn( li )		
	// hide all the ul wich are in the li element (li identifié par une référence sur l'objet, peut ne pas être un li par ex une td)
	{
		var uls = li.getElementsByTagName('ul');
		for ( var g=0; g<uls.length; g++ ) 
		{
			clearTimeout(time_outIndexDyn[uls[g].id]); 
			var lis_ul = uls[g].getElementsByTagName('li');
			time_outIndexDyn[uls[g].id]= window.setTimeout('hideLiUnderUlIndexDyn( "' + uls[g].id + '", ' + (lis_ul.length-1) + ')', + timeoutDerouleIndexDyn );
		}
	} 
	/* -------------------------------------------------------------------------------------------------------------------------- */	
	function hideUlUnderLiByIdIndexDyn( li_id )
	// hide all the ul wich are in the li element (li identifié par son id)
	{
		var uls = document.getElementById(li_id).getElementsByTagName('ul');
		for ( var g=0; g<uls.length; g++ ) 
		{
			clearTimeout(time_outIndexDyn[uls[g].id]); 
			var lis_ul = uls[g].getElementsByTagName('li');
			time_outIndexDyn[uls[g].id]= window.setTimeout('hideLiUnderUlIndexDyn( "' + uls[g].id + '", ' + (lis_ul.length-1) + ')', + timeoutDerouleIndexDyn );
		}
	} 
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function hideLiUnderUlIndexDyn(ul_element_id, indice)
	// cache les li contenu   dans l'ul dont l'id = ul_element_id (enroule la liste)
	{
		var lis = document.getElementById(ul_element_id).getElementsByTagName('li');
		if(indice>0 && indice<lis.length)
		{
			lis[indice].style['display'] = 'none';
			indice--;
			time_outIndexDyn[ul_element_id]= window.setTimeout('hideLiUnderUlIndexDyn( "' + ul_element_id + '", ' + indice + ')', + timeoutDerouleIndexDyn );
		}
		else
		{
			clearTimeout(time_outIndexDyn[ul_element_id]);
			document.getElementById(ul_element_id).style['display'] = 'none';
		} 
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* ************************************************************************************************************************** */	
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// BULLE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	var IB=new Object;
	var aff_info_bulle = '';
	var timeout_bulle = 0;
	var timeout_bulle_tab = new Array();
	/* -------------------------------------------------------------------------------------------------------------------------- */
	// FONCTION BULLE
	/* -------------------------------------------------------------------------------------------------------------------------- */
	fDomOffset = function( oObj, sProp )
	{ 
		 // oObj : [Object] - Objet dont on désire le positionnement 
		 // sProp : [String] - Propriété désirée : offsetLeft - offsetTop 
		 var iVal = 0; 
		 // On boucle tant que l'on n'est pas à la racine du document 
		 while (oObj && oObj.tagName != 'BODY') 
		 { 
			  eval('iVal += oObj.' + sProp + ';');
			  oObj = oObj.offsetParent; 
		 } 
		return iVal; 
	}  
	/* -------------------------------------------------------------------------------------------------------------------------- */
	function AfficheBulle(id, texte, width_offset) 
	{
		if(aff_info_bulle == id)
		{
			//eval ( "clearTimeout( timeout_bulle_tab['"+ id +"']);" );// clear the timeout		
		}
		else
		{/**/
			contenu="<TABLE border=0 cellspacing=0 cellpadding="+IB.NbPixel+"><TR bgcolor='"+IB.ColContour+"'><TD><TABLE border=0 cellpadding=2 cellspacing=0 bgcolor='"+IB.ColFond+"'><TR><TD><FONT size='-1' face='arial' color='"+IB.ColTexte+"'><img src='"+texte+"' border='0'></FONT></TD></TR></TABLE></TD></TR></TABLE>&nbsp;";
		
			var oObj = document.getElementById(id); 			
			var posX = fDomOffset(oObj, 'offsetLeft'); 		
			var posY = fDomOffset(oObj, 'offsetTop'); 
			var xOffset = width_offset-30;
			var yOffset = 0;
			
			var finalPosX=posX+xOffset;
			var finalPosY=posY+yOffset;
			if (finalPosX<0) finalPosX=0;
			if (document.layers) 
			{
				document.layers["index_bulle"].document.write(contenu);
				document.layers["index_bulle"].document.close();
				document.layers["index_bulle"].top=finalPosY+"px";
				document.layers["index_bulle"].left=finalPosX+"px";
				document.layers["index_bulle"].visibility="show";
			}
		
			if (document.all) 
			{
				bulle.innerHTML=contenu;
				document.all["index_bulle"].style.top=finalPosY+"px";
				document.all["index_bulle"].style.left=finalPosX+"px";
				document.all["index_bulle"].style.visibility="visible";
			}
			else if (document.getElementById) {
				document.getElementById("index_bulle").innerHTML=contenu;
				document.getElementById("index_bulle").style.top=finalPosY+"px";
				document.getElementById("index_bulle").style.left=finalPosX+"px";
				document.getElementById("index_bulle").style.visibility="visible";
			}
		
			aff_info_bulle = id;
		}
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */	
	function HideBulle() // utiliser timeoutHideBulle()
	{	
		if (document.layers) 
		{document.layers["index_bulle"].visibility="hide";}
	
		if (document.all) 
		{document.all["index_bulle"].style.visibility="hidden";}
		else if (document.getElementById)
		{document.getElementById("index_bulle").style.visibility="hidden";}
		
		aff_info_bulle = '';
	}
	/* -------------------------------------------------------------------------------------------------------------------------- */	
	function InitBulle(ColTexte,ColFond,ColContour,NbPixel) 
	{
		IB.ColTexte=ColTexte;IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel;
		if (document.getElementById) {document.write("<DIV id='index_bulle' style='position:absolute; top:0; left:0; visibility:hidden; z-index:10;'></DIV>");}
	}
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* ************************************************************************************************************************** */	
	/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */	
	/* -------------------------------------------------------------------------------------------------------------------------- */	
