var menuSelected;
var menuCurrentActive;
var menuRKey;

function menuRandKey( arg )
{
    if( typeof arg !== 'undefined' )
        return arg == menuRKey;
 
    menuRKey = Math.round( Math.random() * 10000 );
    return menuRKey;
}


function menuShow( aNode, userAction )
{
    if( $( aNode ).find( ' + div' ).size() )
    {
         if( $( aNode ).attr( 'id' ) === menuCurrentActive )
            return;
        
         menuCurrentActive = $( aNode ).attr( 'id' );
        
        if( !userAction )
        {
            menuSelected = $( aNode ).attr( 'id' );
            
            $( '#menu-2-content').html( $( aNode ).find( ' + div' ).html() );
            $( '#menu-2').show();
            
            return;
        }
        
        if( $( '#menu-2:hidden').size() )
        {
            $( '#menu-2-content').html( $( aNode ).find( ' + div' ).html() );
            $( '#menu-2').slideDown( 100 );
        }
        else
        {
            $( '#menu-2-content' ).fadeOut( 100, function(){
                $( '#menu-2 div').html( $( aNode ).find( ' + div' ).html() );
                $( '#menu-2-content' ).fadeIn( 100 );
                
            });
        }
        
    }
    else
    {
        menuHide();
    }
}


function menuHide( force )
{
    if( typeof force == 'undefined' )
    {
        setTimeout( 'if( menuRandKey('  + menuRKey + ') ) menuHide( true )', 200 );
        return;
    }
    
    
    if( !menuSelected )
    {
        $( '#menu-2 div').html( '' );
        $( '#menu-2').slideUp( 100 );
        
        menuCurrentActive = false;
    }
    else
    {

        if( menuSelected === menuCurrentActive )
            return;
            
        menuCurrentActive = menuSelected;
            
        $( '#menu-2-content' ).fadeOut( 100, function(){
            $( '#menu-2 div').html( $( '#' + menuSelected ).find( ' + div' ).html() );
            $( '#menu-2-content' ).fadeIn( 100 );
            
        });
        
    }
}


$( function(){ 
    
    $( '#menu-1-cell a' ).mouseenter( function(){ 
        
            menuRandKey();
            menuShow( this, true ); 
            
    } );
    
    
    $( '#menu-1-cell a' ).mouseleave( function(){ 
        
            menuRandKey();
            menuHide();
            
    } );
    
    
    $( '#menu-2' ).mouseenter( function(){ 
            
            menuRandKey(); 
    
    } );
    
    $( '#menu-2' ).mouseleave( function(){ 

            menuRandKey();   
            menuHide(); 
    
    } );
    
} );
