//Class pour gérer le menu de recapitulation
var slideMenu = new Class({
	sp: 0,
	st: 0,
	t: 0,
	m: 0,
	sa: 0,
	l: 0,
	w: 0,
	sw: 0,
	ot: 0,
	etape: 0,
	step: 0,
	current: 0,
	
	/*************************************************************************************************************************
	 * Constructor
	 *************************************************************************************************************************/
	 //slide menu (id,taille du li deployé, vitesse, vitesse de transition, li a montrer en 1er, numero detape)
	initialize:function(sm,sw,mt,s,sl,h)
	{
		if (h>4)h=4;if (sl>4)sl=1;
		this.sp=s; this.st=sw; this.t=mt; this.current=sl; this.step=h;
		this.m=document.getElementById(sm);
		this.sa=this.m.getElementsByTagName('li');
		this.l=this.sa.length;
		this.w=this.m.offsetWidth-7;
		this.sw=this.w/this.l;
		this.ot=Math.floor((this.w-this.st)/(this.l-1));
		var i=0;
		for(i;i<this.l;i++)
		{
			s=this.sa[i];
			s.style.width=this.sw+'px';
			this.timer(s);
		}
		if(sl!=null)
		{
			this.m.timer=setInterval(function(){this.slide(this.sa[sl-1])}.bind(this),this.t);
		}
		//on affecte le type selected a l'etape actuel et gone au etape precedent et last pour la derniere
		var i=1;
		for(i;i<=this.step;i++)
		{
			$('step'+i).set('class', 'gone');
		}
		//$('step'+this.step).set('class','selected');
		
		if ( this.step == 4 )
			$('step'+this.step).addClass('last');
	},
	
	
	/*************************************************************************************************************************
	 * Functions
	 *************************************************************************************************************************/
	timer:function(s)
	{	
		//pour passer d'un label a lotre et inverse les otres label de steps
		this.etape = s.id.substring(4, 5);this.etape = this.etape.valueOf();
		if(this.step>=this.etape)
		{
			s.onmouseover=function()
			{
				var i=1;
				for(i;i<=this.step;i++)
				{
					$('step'+i).set('class', 'gone');
				}
				
				var selected = s.id.substring(4, 5);
					selected = selected.valueOf();
				
				if ( selected < cfgSteps.etape )
					s.set('class', 'selected gone');
				else 
					s.set('class', 'selected');
					
				if ( cfgSteps.etape < 5 )
					$('step'+cfgSteps.etape).getFirst().setStyle('color', '#000');
					
				if ( this.step == 4 )
					$('step'+this.step).addClass('last');
					
				clearInterval(this.m.timer);
				this.m.timer=setInterval(function(){this.slide(s)}.bind(this),this.t);
			}.bind(this);
		}
	},
	
	//fonction slide
	slide:function(s)
	{
		var cw=parseInt(s.style.width);
		if(cw<this.st)
		{
			var owt=0; var i=0;
			for(i;i<this.l;i++)
			{
				if(this.sa[i]!=s)
				{
					var o,ow; var oi=0; 
					o=this.sa[i]; 
					ow=parseInt(o.style.width);
					if(ow>this.ot)
					{
						oi=Math.floor((ow-this.ot)/this.sp);
						oi=(oi>0)?oi:1;
						o.style.width=(ow-oi)+'px';
					}
					owt=owt+(ow-oi);
				}
			}
			s.style.width=(this.w-owt)+'px';
		}
		else
			{clearInterval(this.m.timer)}
	}
		
		
		
});

