var DevilBrowser = navigator.appName.indexOf("xplorer") && navigator.appVersion.indexOf("MSIE 6") > 0;

function FlyMenu(list){
	var This = this;
	this.menus = null;
	this.list = new Element(list);
	this.list.show('block');
	this.build = function(){	
		this.menus = new Array();
		this.nodes = this.list.getChildren('li');	
		for(var i=0; i < this.nodes.length; i++){
			
			
			var kids = this.nodes[i].getElementsByTagName('ul');				
			if(kids.length > 0 && this.nodes[i].className.toString().indexOf("high") >= 0){			
				var sm = new Menu(this.nodes[i], this);
				this.menus.push(sm);											
			}			
		}		
	}
	this.changeMenu = function(obj){
		for(var m = 0; m < This.menus.length; m++){
			if(This.menus[m] != obj)
				This.menus[m].close();
		}
	}	
	this.build();	
}

function Menu(list, parent){
	var This = this;
	this.isOver = false;
	if(parent)
		this._super = parent;
		
	this.open = function(e){
		var ei = new EventInfo(e, true);
		window.clearTimeout(this.timer);
		This.isOver = true;		
		This.tag.className='selected';
		//This._super.changeMenu(This);
		This.menu.element.show('block');
		This.menu.element.setStyleProperty('zIndex','200');	
		This.menu.effect({ alpha:98, duration:0.1, height:This.toheight, width:200, fps:1/50, trans:physics.easeOut});
	}	
	
	this.close = function(e){	
		window.clearTimeout(this.timer);
		if(!This.isOver){
			This.tag.className = This.tagClass;
			This.menu.effect({ alpha:0.01, height:5, width:200, duration:0.1, fps:1/50, trans:physics.easeOut}, This.hide);
		}
	}
	this.hide = function(){
		if(!This.isOver){
			This.tag.className = This.tagClass;
			This.menu.element.hide('none');
		}
	}
	this.off = function(e){		
		var ei = new EventInfo(e, true);
		This.isOver = false;
		This.timer = window.setTimeout(This.close, 500);
		This.menu.element.setStyleProperty('zIndex','10');					
				
	}
	this.over = function(e){
		
		var ei = new EventInfo(e, true);
		This.isOver = true;
			window.clearTimeout(this.timer);
	}
	this.timer = null;
	this.tag = list.getElementsByTagName('a')[0];
	this.tagClass = this.tag.className;
	this.tag.onmouseover = this.open;
	list.onmouseout = this.off;
	list.onmouseover = this.open;
	this.kids = list.getElementsByTagName('ul');
	this.items = list.getElementsByTagName('li');
	for(var i=0; i < this.items.length; i++){
		//alert(this.items[i].offsetHeight);
		this.items[i].onmouseover = this.open;
		this.items[i].onmouseout = this.off;
		this.items[i].firstChild.onmouseover = this.open;
		this.items[i].firstChild.onmouseout = this.off;	
		this.items[i].style.visiblity = 'visible';
	}
	this.toheight = this.kids[0].offsetHeight;
	this.menu = new Animation(this.kids[0], { alpha:0.1, height:5, width:200 });
	
	this.close();
}

function init_fmenu(){
	var fm = new FlyMenu("menu");	
}

addPageLoadListener(init_fmenu);