/**
 * Menu Plugin to handle click state on AJAX menus.
 *
 * @author Mariano Iglesias
 */
var SubmenuPlugin = Class.create(AppPlugin, {
	/**
	 * Holds all links
	 *
	 * @var array
	 */
	links: [],

	/**
	 * How many images to show per page
	 *
	 * @var int
	 */
	initialized: false,

	/**
	 * Called when the DOM object has updated (after window
	 * load or after an AJAX complete)
	 *
	 * @access public
	 */
	domUpdated: function(force)
	{
		if (!force && this.initialized)
		{
			return;
		}
		
		this.initialized = true;
		
		var self = this;
		var holder = $('submenu');
		
		if (holder)
		{
			this.links = $$('#submenu a');
			
			this.links.each(function(element) {
				element.observe('click', self.handleOptionClick);
			});
		}
	},
	
	handleOptionClick: function(event)
	{
		var self = submenuPlugin;
		
		self.clean();
		self.setActive(event.element(), true);
	},
	
	clean: function()
	{
		var self = this;
		
		this.links.each(function(element) {
			self.setActive(element, false);
		});
	},
	
	setActive: function(element, active)
	{
		if (active && !element.hasClassName('submenu-selected'))
		{
			element.removeClassName('submenu-normal').addClassName('submenu-selected');
		}
		else if (!active && !element.hasClassName('submenu-normal'))
		{
			element.removeClassName('submenu-selected').addClassName('submenu-normal');
		}
	}
});

// Instantiate plugin

submenuPlugin = new SubmenuPlugin();
