 
     toggleItemFocus: ($item, focused, delay) ->
       $item.toggleClass @classNames.focused, focused
+      clearTimeout @_dimTimeout if @_dimTimeout?
       @_dimTimeout = setTimeout =>
         return unless focused is $item.hasClass(@classNames.focused)
         @$el.toggleClass @classNames.dimmed, focused

    _isRightEdgeItem: (i) -> (i + 1) % @metrics.rowSize is 0

    _layoutItems: ->
      $(@$items.toArray().reverse()).each (i, item) =>
        $item = $ item
        offset = $item.position()


      @$el.css width: @metrics.wrapWidth, height: @metrics.wrapHeight
      return

    _reLayoutItems: (delay=0) ->
      clearTimeout @_layoutTimeout if @_layoutTimeout?
      @_layoutTimeout = setTimeout =>
        key = @attr 'original-position'
        @$items.css 
          top: 'auto', left: 'auto', bottom: 'auto', right: 'auto'
          position: -> $(@).data key

        @_layoutItems()
      , delay
      return

    _updateMetrics: (hard=on) ->
