// These JavaScript methods requires prototype.js 1.6 or more (www.prototypejs.org).



function toggleMenu( event ) {
  var elementClicked = event.findElement( "div" );
  if ( elementClicked.hasClassName( "menu" ) ) {
    var content = elementClicked.down( "div.menuContent" ); // Submenus and links.
    content.toggle();
  }
}

/***
function toggleAllMenus( event ) {
  var element = event.findElement();
  var isShown = element.innerHTML == "Hide All";

  var label = isShown ? "Show All" : "Hide All";
  element.update( label );

  var display = isShown ? "hide" : "show";
  getSubMenus( element.next( ".menuContent" ) ).invoke( display );
}
***/


function showAllMenus( event ) {
  var element = event.findElement();
  getSubMenus( element.next( ".menuContent" ) ).invoke( "show" );
}

function hideAllMenus( event ) {
  var element = event.findElement();
  getSubMenus( element.next( ".menuContent" ) ).invoke( "hide" );
}

function getSubMenus( element ) {
  //return element.next( ".menu" ).select( "div.menuContent" );
  return element.select( "div.menuContent" );
}





// Define all the events that should be observed.
Event.observe( window, "load", function() {
  if ( $( "links" ) != null ) {
    Event.observe( "links", "click", toggleMenu );
    //Event.observe( "linksToggleAll", "click", toggleAllMenus );
    Event.observe( "linksShowAll", "click", showAllMenus );
    Event.observe( "linksHideAll", "click", hideAllMenus );

    // Hide all items except at top level at start.
    getSubMenus( $( "links" ).down( ".menuContent" ) ).invoke( "hide" );
  }
});

