     }
 
     # set viewport
-    #viewport.attr('content', "width=#{@here.width + 142}");
+    #@viewport.attr('content', "width=#{@here.width + 142}");
 
     # style frame
-    frame.css({
+    @frame.css({
         height: @here.height + 71
         width: @here.width + 71
         position: 'relative'

      @messagebox.append($('<p></p>').append(@makeTweetActionLink()).append('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class=actionLink href=javascript:location.reload()>play again</a>'))
      @disable()
    if [@x, @y, @z] of @maze.portals
      # TODO teleport into a maze of the chosen level
      @destroy()

  makeTweetActionLink: ->
    $('<a></a>')
        .attr({
            class: 'actionLink'
            target: '_blank'
            href: 'https://twitter.com/share?text=' + encodeURIComponent(@makeTweetText())
        })
        .append('tweet')


  @msg['updown'] = 'Press R to move a floor up, F to move a floor down.'
  @msg['win'] = 'Yay! You mastered the maze!'

  constructor: (@maze, @frame, @messagebox, @viewport) ->
    # dynamic attributes
    [@x, @y, @z] = @maze.start
    @busy = false
