	var ie = document.all ? 1 : 0
	var ns = document.layers ? 1 : 0
	
	if(ie)
	{
		document.write('<style type="text/css">')
		document.write("#screen	{filter:Alpha(Opacity=30);}")
		document.write("</style>")
	}
	
	if(ns)
	{
		document.write('<style type="text/css">')
		document.write("#master	{clip:rect(0,150,250,0);}")
		document.write("</style>")
	}								

	var ie = document.all ? 1 : 0
	var ns = document.layers ? 1 : 0

	var iT =0
	var iRebond=1
	var iPos =0
	var hPos =0
	var	iHsol =350
	iPos=iHsol;

	
	var master = new Object("element")
	master.curLeft = -500;	
	master.curTop = 10;
	master.gapLeft = 500;		
	master.gapTop = 0;
	master.timer = null;


	var expandState = 0

	if(ie){var sidemenu = document.all.master;}
	if(ns){var sidemenu = document.master;}

	setInterval("FixY_rebond()",10);						
	
	// --------------------------------------------------------------------------------------------------------------------------------------------------		
	function FixY()
	{
		// dernier par est offset vertical
		
		if (iPos > 10)
		{
			iPos = iPos -0.1;
		}
		else
		{
			if (hPos != document.body.scrollTop + iPos ) {iPos=500}
			
		}
		
		if(ie){sidemenu.style.top = document.body.scrollTop+ iPos}
		if(ns){sidemenu.top = window.pageYOffset+ iPos}
		hPos = document.body.scrollTop + iPos;
		
		
	}
		// --------------------------------------------------------------------------------------------------------------------------------------------------		
	function FixY_rebond()
	{
		// Formule rebond
		// Vitesse 1er rebond : f(t)=- 9,4 * t - 0,51
		// Vitesse 1 à 2er rebond : f(t)=- 9,4 * t + 7
		// y = -4,53 t²-0,52 t +1,17
		
		// Fonctions modélisant les rebonds : 
		// f2(t) = -4,84 t² + 8,24 t – 2,70
		// f1(t) = -4,5 3 t² - 0,52 t + 1,17
		// f3(t) = -5,05 t² + 16,01t – 12,12 
		
		// Calcul des fonctions dérivées(vitesses ) en fonction du temps :
		// f ’1(t) = - 9,06 t – 0,52
		// f ’2(t) = -9,68 t + 8,24
		// f ’3(t) = -10,09 t + 16,01


		
		if (iPos > 20 )
		{
			if (iRebond ==1)
			{
				iPos = 150* iT* iT -250 * iT + iHsol;
			}
			
			if (iRebond ==2)
			{
				iPos = 350* iT* iT -600 * iT + iHsol;
			}
			
			if (iRebond ==3)
			{
				iPos = 500* iT* iT -817 * iT + iHsol;
			}

			if (iPos > iHsol)
			{
				iRebond=iRebond+1;
				iT=0;
			}
			
			iT=iT+0.022;
		}
		
		if(ie){sidemenu.style.top = document.body.scrollTop+ iPos}
		if(ns){sidemenu.top = window.pageYOffset+ iPos}
		hPos = document.body.scrollTop + iPos;
		
		
	}

	// --------------------------------------------------------------------------------------------------------------------------------------------------		
    // LES FONCTIONS SUIVANTES NE SERVEN?T A RIEN / JUSTE POUR LA SYNTAXE
	// --------------------------------------------------------------------------------------------------------------------------------------------------		
	function moveAlong(layerName, paceLeft, paceTop, fromLeft, fromTop)
	{
		clearTimeout(eval(layerName).timer)
		
		if(eval(layerName).curLeft != fromLeft)
		{
			if((Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft)) < paceLeft){eval(layerName).curLeft = fromLeft}
			else if(eval(layerName).curLeft < fromLeft){eval(layerName).curLeft = eval(layerName).curLeft + paceLeft}
			else if(eval(layerName).curLeft > fromLeft){eval(layerName).curLeft = eval(layerName).curLeft - paceLeft}
			
			if(ie)
			{
				document.all[layerName].style.left = eval(layerName).curLeft
			}
			if(ns){document[layerName].left = eval(layerName).curLeft}
			
		}
			
		if(eval(layerName).curTop != fromTop)
		{
			if((Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop)) < paceTop){eval(layerName).curTop = fromTop}
			else if(eval(layerName).curTop < fromTop){eval(layerName).curTop = eval(layerName).curTop + paceTop}
			else if(eval(layerName).curTop > fromTop){eval(layerName).curTop = eval(layerName).curTop - paceTop}
			if(ie){document.all[layerName].style.top = eval(layerName).curTop}
			if(ns){document[layerName].top = eval(layerName).curTop}
		}
		
		
		eval(layerName).timer=setTimeout('moveAlong("'+layerName+'",'+paceLeft+','+paceTop+','+fromLeft+','+fromTop+')',30)
	}
	// --------------------------------------------------------------------------------------------------------------------------------------------------		
	function setPace(layerName, fromLeft, fromTop, motionSpeed)
	{
		eval(layerName).gapLeft = (Math.max(eval(layerName).curLeft, fromLeft) - Math.min(eval(layerName).curLeft, fromLeft))/motionSpeed
		eval(layerName).gapTop = (Math.max(eval(layerName).curTop, fromTop) - Math.min(eval(layerName).curTop, fromTop))/motionSpeed
		
		//moveAlong(layerName, eval(layerName).gapLeft, eval(layerName).gapTop, fromLeft, fromTop)
	}
	// --------------------------------------------------------------------------------------------------------------------------------------------------		
	function expand()
	{
		if(expandState == 0){setPace("master", 500, 10, 1); if(ie){document.menutop.src = "menu.gif"}; expandState = 1;}
		else{setPace("master", -500, 10, 1); if(ie){document.menutop.src = "menu.gif"}; expandState = 0;}
	}

