/**
 * DOM-based object that initiates and handles a menu's capabilities
 *
 */

function Menu(id) 
{
	var This = this;
	
	this.id = id;
	this.element = $('#'+id);
	
	this.selected = new MenuSelected(this);
	this.options = new MenuOptions(this);
}

function MenuSelected(menu)
{
	this.onclick = function(event)
	{
		This.menu.options.toggle();
		
		event.stopPropagation();
	}
	
	var This = this;
	
	this.menu 		= menu;
	this.element 	= menu.element.find('.menu_selected');
	this.element.bind('click', this.onclick);
}

function MenuOptions(menu)
{
	this.toggle = function()
	{
		if(This.element.css('display') == 'block')
		{
			This.element.css('display', 'none');
			
			$('body').unbind('click');
		}
		else 
		{
			This.element.css('display', 'block');
			
			$('body').bind('click', This.toggle);
		}
	}
	
	var This = this;
	
	this.menu = menu;
	this.element = menu.element.find('ul');
}
