 
 class @Nav
   constructor: ->
-    $(document).on 'mouseenter', '.js-nav-popup', @showPopup
-    $(document).on 'mouseleave', '.js-nav-popup', @gracefulHidePopup
+    $(document).on 'mouseenter', '.js-nav-popup', @delayedShowPopup
+    $(document).on 'mouseleave', '.js-nav-popup', @delayedHidePopup
     $(document).on 'click', @hidePopup
 
     $(document).on 'click', '.js-nav-toggle', @toggleMenu

      @popupContainer[0].style.position = ''


  gracefulHidePopup: =>
    return if @currentMode() == 'user' && !currentUser.id?
    return if @currentMode() == 'search'

    Timeout.clear @hideTimeout
    @hideTimeout = Timeout.set 250, @hidePopup


  hidePopup: (e) =>
    return if !@available(true)
    return if !@data().visible

    return if !@available()

    Timeout.clear @hideTimeout
    Timeout.clear @showTimeout
    @showTimeout = Timeout.set 10, =>
      @showAllMenu true
      @repositionPopup()


  switchMode: (e) =>
