/*Menu Lev 01*/
var menu = new Class({
	
	Implements: Options,
	
	options: {		
		overClass: 'current',
		lastOverClass: 'lastCurrent'
	},
	
	initialize: function(options) {		
		this.setOptions(options);
		this.initMenu();
	},
	
	initMenu: function() {		
		var _self = this;		
		$$("a.menuBtn").each(function(btn, i){											
			btn.addEvent("mouseover", function(evt){
				new Event(evt).stop();
				this.isMouseOver = true;						
				if (!this.subMenu) {
					this.subMenu = this.getNext();					
				}							
				clearInterval(this.menuInterval);	
				this.subMenu.setStyle('visibility', 'visible');	
				
				this.subMenu.addEvents({
					"mouseover": function(evt){
						clearInterval(btn.menuInterval);
						btn.isMouseOver = true;
					},						
					"mouseout": function(evt){
						new Event(evt).stop();						
						try {
							clearInterval(btn.menuInterval);
							btn.menuInterval = setInterval(function() {
								btn.isMouseOver = false;
								_self.hideMenu(btn);
							}, 250);
						} catch(e) {}
					}
				});
				
				this.subMenu.getElements("li").addEvents({
					"mouseover": function(evt){
						new Event(evt).stop();					
						btn.isMouseOver = true;
						if(this.subMenu.hasClass('last')){
							btn.addClass(_self.options.lastOverClass);
						}
						else{
							btn.addClass(_self.options.overClass);	
						}
						try { 
							clearInterval(btn.menuInterval);
						} catch(e) {}						
					}.bind(this),
					
					"mouseout": function(evt){
						new Event(evt).stop();						
						try {
							clearInterval(btn.menuInterval);
							btn.menuInterval = setInterval(function() {
								btn.isMouseOver = false;
								_self.hideMenu(btn);
							}, 250);
						} catch(e) {}
					}
				});			
			});
			
			btn.addEvent("mouseout", function(evt){
				new Event(evt).stop();								
				clearInterval(this.menuInterval);
				this.menuInterval = setInterval(function() {				
					btn.isMouseOver = false;
					_self.hideMenu(btn);					
				}, 250);					
			});		
		});
	},
	
	hideMenu: function(menu) {
		if (!menu.isMouseOver && menu.subMenu) {			
			menu.removeClass(this.options.overClass);
			menu.removeClass(this.options.lastOverClass);
			clearInterval(menu.menuInterval);
			menu.subMenu.setStyle('visibility', 'hidden');			
		}
	}
});	

window.addEvent("domready", function(){
	/*Menu Lev 01*/
	new menu();
});
