     nano = $($(e.target).attr('href')).find('.nano')
     nano.nanoScroller({alwaysVisible: true})
     @paneNanoContent = nano.find('.nano-content')
-    @onScrollItemPane()
-
-  onScrollItemPane: ->
+    @showVisibleItemImages()
+
+  showVisibleItemImages: ->
     # dynamically load visible items when the user scrolls enough to see them
     return console.error "Couldn't update scroll, since paneNanoContent wasn't initialized." unless @paneNanoContent
     items = @paneNanoContent.find('.item:not(.loaded)')

    'click .buy-gems-prompt-button': 'onBuyGemsPromptButtonClicked'
    'click #close-modal': 'hide'
    'click': 'onClickedSomewhere'
    'update .tab-pane .nano': 'onScrollItemPane'
    'click #hero-type-select label': 'onClickHeroTypeSelect'

  constructor: (options) ->
    @onScrollItemPane = _.throttle(_.bind(@onScrollItemPane, @), 200)
    super options
    @items = new Backbone.Collection()
    @itemCategoryCollections = {}

    if Level.levels['defense-of-plainswood'] not in earnedLevels
      @$el.find('#misc-tab').hide()
      @$el.find('#hero-type-select #warrior').click()  # Start on warrior tab, if low level.
    @showVisibleItemImages()

  onHidden: ->
    super()
