/*	Expanding Two-Level Menus for Indexhibit
 *		uses jquery
 *
 *	Created by H. Madrona  Aug 2010
 *
 *  Based on expandingMenu.js by Ross Cairns  Mar 2008
*/

var _ItemsToCollapse = [];

function initializeAllMenus()
{
	/* Initialize menus */
	$("#menu ul.section").each( function (index) { expandingMenu( index ); } );
	
	/* Initialize submenus */
	$("#menu li.subsection-title").each( function (index) { expandingSubmenu( index ); } );
}

function expandingMenu(num) 
{
	var speed = 250;
	
	var menu = $("#menu ul.section").eq(num);
	var item_title = menu.children(":first");
	var items = menu.children( ":not(:first)" );
	
	_ItemsToCollapse.push( items );
	
	/* hide items if not active */
	if ( ( items.is(".active") == false  ) && ( items.children( "ul.subsection" ).find( ".active" ).length <= 0 ) ) {
			items.hide();
	}


	/* add click functions + pointer to title */
	item_title.css({cursor:"pointer"}).click(
		function () {
			if ( items.is( ":hidden" ) )
			{
				items.show(speed);
				for ( var i = 0; i < _ItemsToCollapse.length; i++ )
				{
					if ( i != num ) _ItemsToCollapse[i].hide(speed);
				}
			}
			else
			{
				items.hide(speed);
			}
		}
	);
}

var _SubitemsToCollapse = [];

function expandingSubmenu(num) 
{
	var speed = 250;
	
	var menu = $("#menu li.subsection-title").eq(num);
	var item_title = menu.children( "span" );
	var items = menu.find( "ul li" );
			
	_SubitemsToCollapse.push( items );
	
	/* hide items if not active */
	if ( ( menu.is(".active") == false ) && ( items.is(".active") == false ) ) {
			items.hide();
	}

	/* add click functions + pointer to title */
	item_title.css({cursor:"pointer"}).click(
		function () {
			if ( items.is( ":hidden" ) )
			{
				items.show(speed);
				for ( var i = 0; i < _SubitemsToCollapse.length; i++ )
				{
					if ( i != num ) _SubitemsToCollapse[i].hide(speed);
				}
			}
			else
			{
				var menu = $(this).parent();
				if ( menu.is(".active") || !menu.is(".has-page" ) )
				{
					items.hide(speed);
				}
			}
		}
	);

}

