 
   destroy: ->
     @setupManager?.destroy()
-    @$el.find('.ui-draggable').draggable 'destroy'
+    @$el.find('.ui-draggable').off().draggable 'destroy'
     $(window).off 'resize', @onWindowResize
     if ambientSound = @ambientSound
       # Doesn't seem to work; stops immediately.


  startLevel: (levelElement) ->
    @setupManager?.destroy()
    @setupManager = new LevelSetupManager supermodel: @supermodel, levelID: levelElement.data('level-slug'), levelPath: levelElement.data('level-path'), levelName: levelElement.data('level-name'), hadEverChosenHero: @hadEverChosenHero, parent: @
    @setupManager.open()
    @$levelInfo?.hide()



  onClickMap: (e) ->
    @$levelInfo?.hide()

  preloadLevel: (levelSlug) ->
    levelURL = "/db/level/#{levelSlug}"
    level = new Level().setURL levelURL
    level = @supermodel.loadModel(level, 'level', null, 0).model
    sessionURL = "/db/level/#{levelSlug}/session"
    @preloadedSession = new LevelSession().setURL sessionURL
    @preloadedSession.levelSlug = levelSlug
    @preloadedSession.fetch()

  onClickLevel: (e) ->
    e.preventDefault()
