//drop down menu script by Ben
//ben@propelled.com 

function Menus(){
	var This = this;
	var _menus = ["places","todo","events","about"];
	this.menus = new Array();
	this.openMenu = false;
	this.changeMenu = function(obj){		
		for(var m = 0; m < This.menus.length; m++){
			This.menus[m].close();
		}
	}	
	for(var m = 0; m < _menus.length; m++){
		var mu  = new Menu(_menus[m], This);
		This.menus.push(mu);
	}	
}

function Menu(id, menus){
	var This = this;
	this.id = id;
	this.menus = menus;
	this.timer = null;
	this.isover = false;
	this.open = function(e){
		var ei = new EventInfo(e, true);	
		This.isOver = true;
		This.menus.changeMenu();
		This.menu.element.show('block');
		This.menu.element.setOpacity(92);
		This.button.setStyleProperty('backgroundPosition','0 -33px');
	}
	this.over = function(){
		window.clearTimeout(This.timer);
		This.isOver = true;
		This.button.setStyleProperty('backgroundPosition','0 -33px');
	}
	this.off = function(){
		This.isOver = false;
		This.timer = window.setTimeout(This.close, 1000);
	}
	this.close = function(){
		if(!This.isOver){					
			window.clearTimeout(This.timer);
			This.menu.element.setOpacity(0.01);
			This.menu.element.hide('none');
			This.button.setStyleProperty('backgroundPosition','0 0');
		} 
	}
	this.menu = new Animation(id,{alpha:0.01, onrollover:This.over, onrollout:This.off});
	this.button = new Element('m' + id, {onrollover:This.open,onrollout:This.off});
	var links = this.menu.element.getChildren('li');	
	for(var l=0; l < links.length; l++){
		links[l].onmouseover = This.over;
		links[l].onmouseout  = This.off;
		links[l].firstChild.onmouseover = This.over;
		links[l].firstChild.onmouseout  = This.off;
	}	
	
	//interate over links to assign events.. 
	
}
 


