var MathboxTools_HMenuTimer = null;
var MathboxTools_HMenuCount = 0;
var MathboxTools_HMenuLevel = new Array( );
var MathboxTools_HMenuName = new Array( );
var MathboxTools_HMenuState = new Array( );
var MathboxTools_HMenuType = new Array( );
var MathboxTools_HMenuExpandCount = 0;
var MathboxTools_HMenuExpandName = new Array( );
var MathboxTools_HMenuExpandStatus = new Array( );
var MathboxTools_HMenuSelectName = "";
var MathboxTools_VMenuTimer = null;
var MathboxTools_VMenuCount = 0;
var MathboxTools_VMenuLevel = new Array( );
var MathboxTools_VMenuName = new Array( );
var MathboxTools_VMenuState = new Array( );
var MathboxTools_VMenuType = new Array( );
var MathboxTools_VMenuExpandCount = 0;
var MathboxTools_VMenuExpandName = new Array( );
var MathboxTools_VMenuExpandStatus = new Array( );
var MathboxTools_AbandonChangesMessage = ""

function MathboxTools_VerifyAbandonChanges()
{
  if( MathboxTools_AbandonChangesMessage == "" )
  {
    return (true);
  }
  else return ( confirm( MathboxTools_AbandonChangesMessage ) );
}

function MathboxTools_HMenuReset()
{
var i = 0;

  for( i=0; i < MathboxTools_HMenuCount; i++ )
  {
    if( MathboxTools_HMenuName[ i ] != MathboxTools_HMenuSelectName )
    {
      if( MathboxTools_HMenuState[ i ] )
      {
        MathboxTools_HMenuState[ i ] = 0;
        MenuObj = document.getElementById( MathboxTools_HMenuName[ i ] );
        if( MathboxTools_HMenuType[ i ] )
        {
          if( MathboxTools_HMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItemWs';
          else MenuObj.className='MathboxTools_HMenuItemWs';
        }
        else
        {
          if( MathboxTools_HMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItem';
          else MenuObj.className='MathboxTools_HMenuItem';
        }
      }
    }
  }
  clearTimeout( MathboxTools_HMenuTimer );
  return (true);
}

function MathboxTools_HMenuSelect( Name )
{
  MathboxTools_HMenuSelectName = Name;
  MenuObj = document.getElementById( Name );
  MenuObj.className='MathboxTools_HMenuItemSelected';
  return (true);
}

function MathboxTools_HMenuProcess( Oper, Level, Name, Link, Frame, ItemStatus, Delay )
{
var i = 0;
var Found = -1;
var Status = 0;
var MenuObj;
var MenuType = 0;
var Override = 0;

  switch( Oper )
  {
    default:
    case 0:
      MathboxTools_HMenuTimer = setTimeout( "MathboxTools_HMenuReset()", Delay );
      self.status = '';
      break;

    case 3:
      MenuType = 1;
    case 1:
      if( MathboxTools_HMenuTimer ) clearTimeout( MathboxTools_HMenuTimer );
      for( i=0; i < MathboxTools_HMenuCount; i++ )
      {
        if( MathboxTools_HMenuName[ i ] != MathboxTools_HMenuSelectName )
        {
          if( MathboxTools_HMenuName[ i ] != Name )
          {
            if( MathboxTools_HMenuLevel[ i ] >= Level )
            {
              if( MathboxTools_HMenuState[ i ] )
              {
                MathboxTools_HMenuState[ i ] = 0;
                MenuObj = document.getElementById( MathboxTools_HMenuName[ i ] );
                if( MathboxTools_HMenuType[ i ] )
                {
                  if( MathboxTools_HMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItemWs';
                  else MenuObj.className='MathboxTools_HMenuItemWs';
                }
                else
                {
                  if( MathboxTools_HMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItem';
                  else MenuObj.className='MathboxTools_HMenuItem';
                }
              }
            }
          }
          else
          {
            MathboxTools_HMenuState[ i ] = 1;
            Found = i;
          }
        }
      }
      if( Found == -1 )
      {
        MathboxTools_HMenuLevel[ MathboxTools_HMenuCount ] = Level;
        MathboxTools_HMenuName[ MathboxTools_HMenuCount ] = Name;
        MathboxTools_HMenuState[ MathboxTools_HMenuCount ] = 1;
        MathboxTools_HMenuType[ MathboxTools_HMenuCount ] = MenuType;
        Found = MathboxTools_HMenuCount;
        MathboxTools_HMenuCount++;
      }
      MenuObj = document.getElementById( Name );
      if( MathboxTools_HMenuType[ Found ] )
      {
        if( MathboxTools_HMenuLevel[ Found ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItemWsMouseOver';
        else MenuObj.className='MathboxTools_HMenuItemWsMouseOver';
      }
      else
      {
        if( MathboxTools_HMenuLevel[ Found ] > 0 ) MenuObj.className='MathboxTools_HMenuSubItemMouseOver';
        else MenuObj.className='MathboxTools_HMenuItemMouseOver';
      }
      if( ItemStatus != '' ) self.status = ItemStatus;
      break;
      
    case 4:
      Override = 1;
    case 2:
      if( MathboxTools_HMenuTimer ) clearTimeout( MathboxTools_HMenuTimer );
      MathboxTools_HMenuReset();
      self.status = ItemStatus;
      if( Override == 0 )
      {
        if( MathboxTools_VerifyAbandonChanges() == true )
        {
          if( Link != '' )
          {
            if( Frame == '_self' ) window.location.href = Link;
            else if( Frame == '_parent' ) parent.location.href = Link;
            else if( Frame == '_top' ) top.location.href = Link;
            else if( Frame == '_search' ) window.open( Link, '_search' );
            else if( Frame == '_blank' ) window.open( Link, '_blank' );
            else if( Frame != '' ) parent.frames[ Frame ].location.href = Link;
            else document.location.href = Link;
            return( false );
          }
        }
        else return (false);
      }
      else
      {
        return (false);
      }
      break;
  }
  return( true );
}

function MathboxTools_VMenuReset()
{
  for( i=0; i < MathboxTools_VMenuCount; i++ )
  {
    if( MathboxTools_VMenuState[ i ] )
    {
      MathboxTools_VMenuState[ i ] = 0;
      MenuObj = document.getElementById( MathboxTools_VMenuName[ i ] );
      if( MathboxTools_VMenuType[ i ] )
      {
        if( MathboxTools_VMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItemWs';
        else MenuObj.className='MathboxTools_VMenuItemWs';
      }
      else
      {
        if( MathboxTools_VMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItem';
        else MenuObj.className='MathboxTools_VMenuItem';
      }
    }
  }
  clearTimeout( MathboxTools_VMenuTimer );
  return (true);
}

function MathboxTools_VMenuProcess( Oper, Level, Name, Link, Frame, ItemStatus, Delay )
{
var i = 0;
var Found = -1;
var Status = 0;
var MenuObj;
var MenuType = 0;
var Override = 0;

  switch( Oper )
  {
    default:
    case 0:
      MathboxTools_VMenuTimer = setTimeout( "MathboxTools_VMenuReset()", Delay );
      self.status = '';
      break;

    case 3:
      MenuType = 1;
    case 1:
      if( MathboxTools_VMenuTimer ) clearTimeout( MathboxTools_VMenuTimer );
      for( i=0; i < MathboxTools_VMenuCount; i++ )
      {
        if( MathboxTools_VMenuLevel[ i ] >= Level )
        {
          if( MathboxTools_VMenuName[ i ] != Name )
          {
            MathboxTools_VMenuState[ i ] = 0;
            MenuObj = document.getElementById( MathboxTools_VMenuName[ i ] );
            if( MathboxTools_VMenuType[ i ] )
            {
              if( MathboxTools_VMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItemWs';
              else MenuObj.className='MathboxTools_VMenuItemWs';
            }
            else
            {
              if( MathboxTools_VMenuLevel[ i ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItem';
              else MenuObj.className='MathboxTools_VMenuItem';
            }
          }
        }
        if( MathboxTools_VMenuName[ i ] == Name )
        {
          MathboxTools_VMenuState[ i ] = 1;
          Found = i;
        }
      }
      if( Found == -1 )
      {
        MathboxTools_VMenuLevel[ MathboxTools_VMenuCount ] = Level;
        MathboxTools_VMenuName[ MathboxTools_VMenuCount ] = Name;
        MathboxTools_VMenuState[ MathboxTools_VMenuCount ] = 1;
        MathboxTools_VMenuType[ MathboxTools_VMenuCount ] = MenuType;
        Found = MathboxTools_VMenuCount;
        MathboxTools_VMenuCount++;
      }
      MenuObj = document.getElementById( Name );
      if( MathboxTools_VMenuType[ Found ] )
      {
        if( MathboxTools_VMenuLevel[ Found ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItemWsMouseOver';
        else MenuObj.className='MathboxTools_VMenuItemWsMouseOver';
      }
      else
      {
        if( MathboxTools_VMenuLevel[ Found ] > 0 ) MenuObj.className='MathboxTools_VMenuSubItemMouseOver';
        else MenuObj.className='MathboxTools_VMenuItemMouseOver';
      }
      if( ItemStatus != '' ) self.status = ItemStatus;
      break;

    case 4:
      Override = 1;
    case 2:
      if( MathboxTools_VMenuTimer ) clearTimeout( MathboxTools_VMenuTimer );
      MathboxTools_VMenuReset();
      self.status = ItemStatus;
      if( Override == 0 )
      {
        if( MathboxTools_VerifyAbandonChanges() == true )
        {
          if( Link != '' )
          {
            if( Frame == '_self' ) window.location.href = Link;
            else if( Frame == '_parent' ) parent.location.href = Link;
            else if( Frame == '_top' ) top.location.href = Link;
            else if( Frame == '_search' ) window.open( Link, '_search' );
            else if( Frame == '_blank' ) window.open( Link, '_blank' );
            else if( Frame != '' ) parent.frames[ Frame ].location.href = Link;
            else document.location.href = Link;
            return( false );
          }
        }
        else return (false);
      }
      else
      {
        return (false);
      }
      break;
  }
  return( true );
}
