var NavLeft = Class.create();
NavLeft.prototype = 
{
    initialize: function(){
		this.tID = '';
		this.tempo = 200;
		this.tabSelect = new Array();
		
		$$('#navLeft li').each(this.addEvent.bindAsEventListener(this));
		
		Event.observe($('navLeft'), 'mouseover',this.showEvent.bind(this));
		Event.observe($('navLeft'), 'mouseout',this.hideEvent.bind(this));
    },

	addEvent: function(e){
		var level = 0;
		var elt = e;
		while(elt.id != "navLeft"){
			elt = Element.up(elt);
			if(elt.nodeName == "UL" || elt.nodeName == "OL") level +=1;
		}
		e.rel = level;
		
		if(e.rel == 1){
			e.style.position = "relative";
		}
		
		this.addEventLevel(e);
	},
	
	addEventLevel: function(e){
			
		var a = e.getElementsByTagName('a')[0];
		if(!a) return;
		Event.observe(a, 'click',this.showLayer.bind(this,e));
		
		Event.observe(Element.up(e), 'mouseover',this.showEvent.bind(this));
		Event.observe(Element.up(e), 'mouseout',this.hideEvent.bind(this));
	},
	
	showLayer: function(e){
		if(!e) return;
		this.hideLayer(e);
		
		var a = e.getElementsByTagName('a')[0];
		a.addClassName('on');
		if(Element.next(a)){
			Element.next(a).addClassName('on');
			if(e.rel == 1) this.swapImg(e,2);
		}
		else if(e.rel == 1){
			this.swapImg(e,1);
		}
		
		if(Element.next(a) &&e.rel == 2){
			var el = Element.next(a).getElementsByTagName('div')[0];
			var div = el.getElementsByTagName('div');
			
			var w = 0;
			for(var i=0;i<div.length-1;i++){
				w += div[i].offsetWidth + 10;
			}
			Element.next(a).style.width = w+"px";

			rescueFrame(Element.next(a))
		}

		this.tabSelect[e.rel-1] = e;
	},
	
	hideLayer: function(o){
		for(var i=1;i< this.tabSelect.length;i++){
			var e = this.tabSelect[i];

			if(e.rel >= o.rel ){
				var a = e.getElementsByTagName('a')[0];
				a.removeClassName('on');
				
				if(Element.next(a)){
					Element.next(a).removeClassName('on');
				}
				if(e.rel == 1) this.swapImg(e,0);
				if(e.rel == 2) removeRescueFrame(Element.next(a));
			}
		}
		//if(!o.init) this.tabSelect.splice(o.rel-1,this.tabSelect.length-o.rel-1);
	},
	
	showEvent: function(o){
		clearTimeout(this.tID);
	},
	
	hideEvent: function(){
		clearTimeout(this.tID);
		this.tID = setTimeout(this.hideAll.bind(this),this.tempo);
	},
	
	hideAll: function(){
		this.hideLayer({rel:2,init:true});
	},
	
	select: function(o){
		$$('#navLeft li').each(this.showSelect.bindAsEventListener(this,o));
	},
	
	showSelect: function(e,o){
		try {
			if(o.descendantOf(e)){
				var a = e.getElementsByTagName('a')[0];
				a.addClassName('on');
				this.tabSelect[e.rel-1] = e;
				
				if(Element.next(a) && e.rel<2){
					Element.next(a).addClassName('on');
				}
			}
		}
		catch(e){}
	},
	
	swapImg: function(e,stat){
		var a = e.getElementsByTagName('a')[0];
		var className = a.className
		if(className.indexOf("puce") == -1) return;
		
		
		var img = e.getElementsByTagName('img')[0];
		var src = img.src;
		
		var finfin=src.substring(src.length-3,src.length);
		var fin=src.substring(src.length-5,src.length-4);
		src=src.substring(0,src.length-5);
		
		img.src=src+stat+"."+finfin;
	}
 };
