var menus, menu_heights, menu_timer, openclose = 0;
menus = new Array( 'menu_001' );
menu_heights = new Array( '150' );
function view_menu( n )
  {

  if( openclose != n && openclose != 0 )
    {   
    return;
    }
  else
    {    
    openclose = n;
    }

    for( i = 0; i < menus.length; i++ )
      {

        if( n == menus[i] )
          {
          state = document.getElementById( menus[i] ).style.visibility;

          if( state == 'hidden' )
            {
            document.getElementById( menus[i] ).style.position = 'relative';
            document.getElementById( menus[i] ).style.visibility = 'visible';
            document.getElementById( menus[i] ).style.height = 1;
            window.setTimeout( "set_menu_height( '" + menus[i] + "', " + menu_heights[i] + ", 40, 1 )", 10 );
            }
          else
            {
            window.setTimeout( "set_menu_height( '" + menus[i] + "', 0, 40, 2 )", 10 );
            }

          }
        else
          {
          window.setTimeout( "set_menu_height( '" + menus[i] + "', 0, 40, 2 )", 10 );
          }

      }

  }

function set_menu_height( n, h, v, d )
  {
  var menu = document.getElementById( n ).style;
  var menu_height = Math.abs( menu.height.replace( /px/, '' ) );

  if( menu_height < h && d == 1 )
    {
    v = ( ( h - ( v * 3 ) ) < menu_height ) ? Math.ceil( v / 2 ) : v;
    menu.height = ( menu_height + v ) + 'px';
    window.setTimeout( "set_menu_height( '" + n + "', " + h + ", " + v + ", 1 )", 10 );
    }
  else if( menu_height < 10 && d == 2 )
    {
    openclose = 0;
    document.getElementById( n ).style.position = 'absolute';
    document.getElementById( n ).style.visibility = 'hidden';
    document.getElementById( n ).style.height = 1;
    return true;
    }
  else if( menu_height > h && d == 2 )
    {
    openclose = 0;
    v = ( ( v * 3 ) > menu_height ) ? Math.ceil( v / 2 ) : v;
    menu.height = ( menu_height - v ) + 'px';
    window.setTimeout( "set_menu_height( '" + n + "', " + h + ", " + v + ", 2 )", 10 );
    }

  return true;
  }


