
	oldParent=0;
	oldChild=0;
	inMotion=1;
	var toggles = document.getElementsByClassName('menutitre3'); // on récupère tout les élément menutitre3 ( le gros UL)
	ln=toggles.length;
	for(i=0;i<ln;i++)
	{
		myLis=$(toggles[i]).select('li'); // on récupère tout les LI dans ce UL
		lnLi=myLis.length;
		for(j=0;j<lnLi;j++)
		{
			if(myLis[j].className != 'smenuSep') {
				myA=$(myLis[j]).select('a')[0];	// on récupère le premier A de chaque LI
				myA.observe('click', fadeListItems);	// au clique sur un A on lance la fonction
			}
		}
	}
	
	function stopMotion(){
		inMotion=1;
	}

	function setMotion()
	{
		inMotion=1;
		setTimeout("setMotion();",2000);
	}

    function fadeListItems() {
	if(inMotion==1)
	{
		inMotion=0;
		/////////////////////////////////////////////////// CONSTANTES ////////////////////////////////////////////////////
		myduration=0.3; // durée de l'effet apparition
		myduration2=0.3; // durée de l'effet disparition
		myDelay=400;		
		if (navigator.userAgent.indexOf('MSIE'))
		{
			myScaleTo=5;
			myScaleFrom=5;
		}else{
			myScaleTo=0;
			myScaleFrom=0;
		}
		window.setTimeout("stopMotion()",(myduration*1000));
		
		myId=$(this).parentNode.select('ul'); // id du UL qui est dans le Li qui contient le a sur lequel on vient de cliquer.
		
		lnssLi=myId.length;
		
		if(this.parentNode.parentNode.parentNode.nodeName!='TD') // si on est pas sur le premier niveau on prend le parent
		{
			myParent=this.parentNode.parentNode.parentNode.select('a')[0];	
		}else{
			myParent='';
		}
		
		if(lnssLi>0) // si il y a un niveau en dessous
		{
		
			myId=myId[0];
			myOn=myId.parentNode.parentNode.getElementsByClassName3level('open'); // on récupère tout les éléments ouvert qui sont au même niveau que le courant
			
			if($(myId).style.display=='none') // si le ul est caché
		  	{
				setTimeout(function f1(){
					$(myId).blindDown({duration: myduration, scaleFrom: myScaleFrom});	//on le fait apparaitre
					$(myId).appear({duration: myduration/2});
				},myDelay);
				lnOn=myOn.length; // on compte le nb d'élément ON du même niveau que le courant
				for(j=(lnOn-1);j>=0;j--)
				{
					if($(myOn[j]).parentNode.select('ul').length>0)
					{
						$(myOn[j]).parentNode.select('ul')[0].blindUp({duration: myduration2, scaleTo: myScaleTo}); // on cache l'élément
					}
					if(myOn[j].className.indexOf('on')!=-1)
						myOn[j].className='on';
					else 
						myOn[j].className='';
				}
				if(this.className=='')
					this.className='open'; // on dit que le ul est ouvert
				else
					this.className='open on'; // on dit que le ul est ouvert
				//myParent.className=myParent.className + ' on'; // on met le parent a ON (orange)
			}/*
			else	// si le UL est affiché
			{
				if(navigator.userAgent.indexOf('Safari')==-1)
				{
		      		lnOn=myOn.length; // on compte le nb d'élément on du même niveau que le courant
					for(j=(lnOn-1);j>=0;j--)
					{
						if($(myOn[j]).parentNode.select('ul').length>0)
						{
								$(myOn[j]).parentNode.select('ul')[0].blindUp({duration: myduration2, scaleTo: myScaleTo}); // on cache l'élément
								$(myOn[j]).parentNode.select('ul')[0].fade({duration: myduration2});
						}
						myOn[j].className='on';
					}
					//myParent.className='open'; // on met le parent a OFF (gris) mais il reste ouvert
				}
			}*/
		}else{ // s'il n'y a pas de niveau en dessous
			myOn=document.getElementsByClassName3level('on'); // on récupère tout les éléments ON qui sont au même niveau que le courant
			lnOn=myOn.length; // on compte le nb d'élément ON du même niveau que le courant
			for(j=(lnOn-1);j>=0;j--)
			{
				if(myOn[j].className.indexOf('open')!=-1)
					myOn[j].className='open';
				else
					myOn[j].className='';
			}
			myOn=this.parentNode.parentNode.getElementsByClassName3level('open'); // on récupère tout les éléments ouvert qui sont au même niveau que le courant
			lnOn=myOn.length; // on compte le nb d'élément ON du même niveau que le courant
			for(j=(lnOn-1);j>=0;j--)
			{
				if($(myOn[j]).parentNode.select('ul').length>0)
				{
					$(myOn[j]).parentNode.select('ul')[0].blindUp({duration: myduration2, scaleTo: myScaleTo}); // on cache l'élément
					$(myOn[j]).parentNode.select('ul')[0].fade({duration: myduration2});
				}
				myOn[j].className='';
			}
			myOn=document.getElementsByClassName3level('open'); // on récupère tout les éléments ON qui sont au même niveau que le courant
			lnOn=myOn.length; // on compte le nb d'élément ON du même niveau que le courant
			for(j=(lnOn-1);j>=0;j--)
			{
				myOn[j].className=myOn[j].className + ' on';
			}
			this.className='open on'; // on met l'elem courant à ON
			stopMotion();
		}
	}
	return false;
}
