$(function(){


    var $oCurrentShowingMenu;
    var bIsNeedToShowMore = false;

    $.initDropDrownMenu = function()
    {
      $("#nav td > a").hover(
          function(){
            bIsNeedToShowMore = true;
            showDropDownMenu( $("ul", $( this ).parent() ) );
          },
          function(){
            bIsNeedToShowMore = false;
            setTimeout( function(){hideDropDownMenu(); }, 200 );
          }
      )

      $("#nav td ul").hover(
          function(){ bIsNeedToShowMore = true; },
          function(){
          bIsNeedToShowMore = false;
            setTimeout( function(){hideDropDownMenu(); }, 200 );
          }
      );

    }

    function showDropDownMenu( $oWhichOne )
    {
        hideDropDownMenu( true );       // сначала спрячем всё, что уже показыватся.
        $oWhichOne.parent().parent().addClass("hover");
        $oWhichOne.fadeIn("fast");
        $oCurrentShowingMenu = $oWhichOne;
    }


    function hideDropDownMenu( bForce )
    {
      if( !bIsNeedToShowMore || (bForce && $oCurrentShowingMenu))
      {
        $oCurrentShowingMenu.parent().parent().removeClass("hover");
        $oCurrentShowingMenu.hide();
      }
    }


});

$(document).ready(function(){ $.initDropDrownMenu() });