     _clickIds = []
     _stop = false
     for _viewId in _focused
-      _newActive.push( _viewId ) if _active.indexOf(_viewId) == -1
-      if _clickable.indexOf(_viewId) != -1
+      _newActive.push( _viewId ) unless ~_active.indexOf(_viewId)
+      if ~_clickable.indexOf(_viewId)
         _clickIds.push( _viewId )
     for _viewId in _newActive
       _ctrl = @_views[_viewId]

  # mouseover event.
  focus: (_ctrl)->
    _viewId = _ctrl.viewId
    if @_listeners.focused.indexOf(_viewId) == -1
      _elem = ELEM.get( _ctrl.elemId )
      @observe( _elem, 'mouseout', '_mouseOut' )
      @stopObserving( _elem, 'mouseover', '_mouseOver' )

      _stop = true if _ctrl.mouseUp( x, y, _leftClick )
    for _viewId in _endDragIds
      _dragIdx = _dragged.indexOf( _viewId )
      if ~_dragIdx
        _ctrl = @_views[_viewId]
        _dragged.splice( _dragIdx, 1 )
        for _dropViewId in _hovered
