

var SubMenu = new Class({

	Implements: Options,

	options: {
	},
	
	/**
	 * Submenu contrustor
	 * @param	string		SubMenu item container (ID)
	 * @param	el			Elements to show / hide (.class)
	 *
	 */
	initialize: function(menu, elements, options){

		// Options
		this.setOptions(options);

		this.menu = $(menu);
		this.elements = $$(elements);
		
		if (this.menu)
		{
			this.buildMenu();
		}
		
	},
	
	buildMenu: function()
	{
		// Init the elements list
		this.elements.each(function(item, idx)
		{
			// Hides all the elemnts but the first		
			if (idx > 0) {item.addClass('hide')};
		});
		
		this.menuItems = this.menu.getElements('li');
		
		// Add click events to LI
		this.menuItems.each(function(item, idx)
		{
			var a = item.getElement('a');
			
			item.element = (a.href).substring((a.href).indexOf('#') + 1);
			
			item.addEvent('click', function(e)
			{
				e.stop();
				e.stopPropagation();
				
				var el = $(e.target || e.srcElement);
				
				if (el.get('tag') == 'a') {el = el.getParent();}

				// Active sub-menu
				this.menuItems.removeClass('active');
				el.addClass('active');
				
				// Active element
				this.elements.addClass('hide');
				$(el.element).removeClass('hide');
				
			}.bind(this));

		}.bind(this));
	}
});