
var currentlyOpenMenuId = false;
var currentlyOpenMenuTimeoutId = false;
var toggleClicked = false;

function closeMenu( id )
{
  var layer = document.getElementById( id );
  if( ! layer )
    return;

  layer.style.left = '-999em';
  currentlyOpenMenuId = false;

  if( currentlyOpenMenuTimeoutId )
    clearTimeout( currentlyOpenMenuTimeoutId );

  currentlyOpenMenuTimeoutId = false;
}

function closeCurrentlyOpenMenu()
{
  if( currentlyOpenMenuId == false )
    return;

  closeMenu( currentlyOpenMenuId );
}

function showMenu( id )
{
  var timeoutInterval = arguments.length > 1 ? arguments[1] : 5000;
  var layer = document.getElementById( id );
  if( ! layer )
    return;

  if( currentlyOpenMenuId && id == currentlyOpenMenuId )
    closeCurrentlyOpenMenu();

  layer.style.left = 'auto';
  currentlyOpenMenuId = id;

  if( currentlyOpenMenuTimeoutId )
    clearTimeout( currentlyOpenMenuTimeoutId );

  if( timeoutInterval > 0 )
    currentlyOpenMenuTimeoutId = setTimeout( 'closeCurrentlyOpenMenu()', timeoutInterval );
}

function toggleMenu( id )
{
  var timeoutInterval = arguments.length > 1 ? arguments[1] : 5000;
  var layer = document.getElementById( id );
  if( ! layer )
    return;

  if( layer.style.left == 'auto' )
    closeMenu( id );
  else
    showMenu( id, timeoutInterval );

  toggleClicked = true;
}

function bodyOnclickCloseMenu()
{
  if( toggleClicked )
    {
      toggleClicked = false;
      return;
    }

  closeCurrentlyOpenMenu();
}

