/**
 * Class for the drop down menu.
 */
LanguageSelect = {

	/**
	 * Initialises language selector. (Attaches event listener)
	 */
	init: function(event)
	{
		Element.observe($('languages_active'), "click", LanguageSelect.toggle);
	},

	/**
	 * Expands/collapses menu.
	 */
	toggle: function(event)
	{
		if (LanguageSelect.isExpanded())
		{
			LanguageSelect.collapse(event);
		}
		else
		{
			LanguageSelect.expand(event);
		}
	},

	/**
	 * Checks if the menu is expanded.
	 *
	 * @return boolean
	 */
	isExpanded: function()
	{
		return $('languages_menu').hasClassName('expanded');
	},

	/**
	 * Expands menu.
	 */
	expand: function(event)
	{
		$('languages_menu').addClassName('expanded');

		/* stop event here */
		Event.stop(event);

		/* if anything is clicked, collapse */
		Element.observe(document.body, "click", LanguageSelect.collapse);
	},

	/**
	 * Collapses menu.
	 */
	collapse: function(event)
	{
		$('languages_menu').removeClassName('expanded');

		/* remove listener */
		Element.stopObserving(document.body, "click", LanguageSelect.collapse);
	}

};

/* Initialise menu on load */
document.observe('dom:loaded', LanguageSelect.init);