var NavTop = Class.create();
NavTop.prototype = 
{
    initialize: function(){
		this.tID = '';
		this.tempo = 200;
		this.tabSelect = new Array();

		$('navTop').childElements().each(this.addEvent.bindAsEventListener(this));

		Event.observe($('navTop'), 'mouseover',this.showEvent.bind(this));
		Event.observe($('navTop'), 'mouseout',this.hideEvent.bind(this));
    },

	addEvent: function(e){
		var level = 0;
		var elt = e;
		while(elt.id != "navTop"){
			elt = Element.up(elt);
			if(elt.nodeName == "UL" || elt.nodeName == "OL") level +=1;
		}
		e.rel = level;
		
		this.addEventLevel(e);
	},
	
	addEventLevel: function(e){
			
		var a = e.getElementsByTagName('a')[0];
		if(!a) return;
		Event.observe(a, 'mouseover',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');
			
			//alert(e.getElementsByTagName('table')[0])
			
			Element.next(a).style.width = e.getElementsByTagName('table')[0].offsetWidth+40+"px";
			Element.next(a).style.left = e.offsetLeft+"px";
			
			//rescueFrame(Element.next(a))
			if(e.rel == 1) this.swapImg(e,1);
		}
		else if(e.rel == 1){
			this.swapImg(e,1);
		}

		this.tabSelect[e.rel-1] = e;
	},
	
	hideLayer: function(o){
		for(var i=0;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));*/
			}
		}
	},
	
	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:1,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 img = e.getElementsByTagName('img')[0];
		var src = img.src;
		
		if (navigator.appVersion.indexOf("MSIE 6")!=-1){
			var index = img.style.filter.indexOf(".png");
			toReplace = img.style.filter.substring(index-1,index);
			replaceBy = stat;
			
			if(toReplace == "2") return;
			img.style.filter = img.style.filter.replace('-'+toReplace+'.png','-'+replaceBy+'.png');
		}
		else{
			var finfin=src.substring(src.length-3,src.length);
			var fin=src.substring(src.length-5,src.length-4);
			
			if(fin == "2") return;
			src=src.substring(0,src.length-5);
			img.src=src+stat+"."+finfin;
		}
	}
 };
