/**
 * LavaLamp / Fancy Menu
 * http://ftp-developpez.com/vodiem/source/js/LavaLamp/
 *
 * Date: 17/11/2009
 * Auteur: Vo Jacques
 */
var LLMenu = {
	menu:[],
	Wrap : function(id,select,pos){
		var idMenu=document.getElementById(id);
		currentMenu=this.menu[id]={
			i:0,											//position dans l'animation
			ni:35,											//nombre d'animation
			t:3,											//delai entre deux animation en milliseconde
			items:idMenu.getElementsByTagName("a"),
			selecteur:document.getElementById(select),
			selected:pos
			};
		elements=this.menu[id].items;
		idMenu.onmouseout=Function("LLMenu.MoveTo('"+id+"','selected')");
		for(i=0;i<elements.length;i++){
			elements[i].onmouseover=function(id,i){return function(){LLMenu.MoveTo(id,i)}}(id,i);
			elements[i].onclick=function(id,i){return function(){LLMenu.Clicked(id,i)}}(id,i);
			if(i==pos){
				currentMenu.selecteur.style.top=idMenu.offsetTop+Math.floor((idMenu.offsetHeight-currentMenu.selecteur.offsetHeight)/2)+'px';
				currentMenu.selecteur.style.left=(elements[i].parentNode.offsetLeft - 8)+'px';
				currentMenu.selecteur.style.width=elements[i].offsetWidth+'px';
				};
		};
	},
	Clicked: function(menu,pos){this.menu[menu].selected=pos},
	MoveTo: function(menu,pos){
		currentMenu=this.menu[menu];
		currentMenu.i=0;
		element=currentMenu.items[(pos=='selected')?currentMenu.selected:pos];
		currentMenu.posStart=currentMenu.selecteur.offsetLeft;
		currentMenu.distance=element.offsetParent.offsetLeft-currentMenu.posStart;
		currentMenu.widthStart=currentMenu.selecteur.offsetWidth;
		clearTimeout(currentMenu.timer);LLMenu.MoveToStep(currentMenu,element);
	},
	MoveToStep: function(currentMenu,element){
		currentMenu.i++;
		x=(currentMenu.i/currentMenu.ni);								//pourcentage d'avancement
		p=Math.exp(-Math.pow(Math.pow((x-0.98)*1.7,2)-0.308,2)+0.095);	//fonction unitaire de déplacement
		d=currentMenu.posStart+p*currentMenu.distance;					//position réel de déplacement
		currentMenu.selecteur.style.left=d+'px';
		currentMenu.selecteur.style.width=(currentMenu.widthStart+(element.offsetWidth-currentMenu.widthStart)*p)+'px';
		currentMenu.i%=currentMenu.ni;
		if(currentMenu.i!=0){currentMenu.timer=setTimeout(function(){LLMenu.MoveToStep(currentMenu,element)},currentMenu.t)}
			else {
			currentMenu.posStart=element.offsetParent.offsetLeft;
			currentMenu.selecteur.style.left=currentMenu.posStart+'px';
			currentMenu.selecteur.style.width=element.offsetWidth;
			};
	}
	};

