     Subject.on 'fetch', @onSubjectFetch
     Subject.on 'select', @onSubjectSelect
     @Subject = Subject
-
     @marksContainer = @el.find('#marks-container')[0]
 
-    @initialTutorial = new Tutorial
-      parent: window.classifier.el.children()[0]
-      steps: initialTutorialSteps.steps
-
-    @supplementalTutorial = new Tutorial
-      parent: window.classifier.el.children()[0]
-      steps: supplementalTutorialSteps.steps
-
-    # mini course
-    @course = new MiniCourse
-    @el.find('#course-interval-setter').hide()
-
-    # @verifyRate = 20
-
-    @el.find('#no-transits').hide() #prop('disabled',true)
-    @el.find('#finished-marking').hide() #prop('disabled',true)
-    @el.find('#finished-feedback').hide() #prop('disabled',true)
-
-  # CODE FOR PROMPT (NOT CURRENTLY IN USE)    
-  # /////////////////////////////////////////////////
-  # onMouseoverCourseYes: ->
-  #   # console.log '*** ON ***'
-  #   return unless User.current?
-  #   return if @blockCourseIntervalDisplay
-  #   @blockCourseIntervalDisplay = true
-  #   @el.find('#course-interval-setter').show 400, =>
-  #     @blockCourseIntervalHide = false
-
-  # onMouseoutCourseYes: ->
-  #   return unless User.current?
-  #   # console.log '*** OUT ***'
-  #   return if @blockCourseIntervalHide
-  #   @blockCourseIntervalHide = true
-  #   @el.find('#course-interval-setter').hide 400, =>
-  #     @blockCourseIntervalDisplay = false
-  # /////////////////////////////////////////////////
-
-  onChangeMiniCourseOption: ->
-    # console.log 'onChangeMiniCourseOption(): '
-    return unless User.current?
-
-    @courseEnabled = not @courseEnabled
-
-    if @courseEnabled
-      User.current?.setPreference 'course', 'yes'
-      $("[name='course-opt-out']").prop 'checked', false 
-    else
-      User.current?.setPreference 'course', 'no'
-      $("[name='course-opt-out']").prop 'checked', true  
-
-    clickEvent = 
-      event: 'courseEnabled' 
-      value: @courseEnabled 
-      timestamp: (new Date).toUTCString()
-    @recordedClickEvents.push clickEvent
-
-  onChangeCourseOptOut: ->
-    # console.log 'onChangeCourseOptOut(): '
-    return unless User.current?
-    opt_out = $("[name='course-opt-out']").prop 'checked'
-    if opt_out
-      User.current?.setPreference 'course', 'no'
-      @courseEnabled = false # TODO: needs work!
-    else
-      User.current?.setPreference 'course', 'yes'
-      @courseEnabled = true
-
-    clickEvent = 
-      event: 'courseOptedOut' 
-      value: opt_out 
-      timestamp: (new Date).toUTCString()
-    @recordedClickEvents.push clickEvent
-
-  # onChangeMiniCourseOption: ->
-  #   console.log 'onChangeMiniCourseOption(): '
-  #   return unless User.current?
-  #   courseOption = User.current.preferences.planet_hunter.course
-
-  #   # toggle course option
-  #   if courseOption is 'yes'
-  #     courseOption = 'no'
-  #     # $("[name='course-opt-out']").prop 'checked', true 
-  #   else
-  #     courseOption = 'yes'
-  #     $("[name='course-opt-out']").prop 'checked', false  
-
-  #   clickEvent = 
-  #     event: 'miniCourseOptionChanged' 
-  #     value: courseOption 
-  #     timestamp: (new Date).toUTCString()
-  #   @recordedClickEvents.push clickEvent
-
-  #   User.current?.setPreference 'course', courseOption
-
-  # CODE FOR PROMPT (NOT CURRENTLY BEING USED)
-  # onChangeCourseInterval: ->
-  #   # console.log 'VALUE: ', @el.find('#course-interval').val()
-  #   defaultValue = 5
-  #   value = +@el.find('#course-interval').val()
-
-  #   # console.log 'VALUE IS NUMBER: ', (typeof value)
-
-  #   # validate integer values
-  #   unless (typeof value is 'number') and (value % 1 is 0) and value > 0 and value < 100
-  #     value = defaultValue
-  #     @el.find('#course-interval').val(value)
-  #   else
-  #     # console.log 'SETTING VALUE TO: ', value
-  #     @course.setRate value
-
-  onChangeCourseIntervalViaSupTut: ->
-    # console.log 'onChangeCourseIntervalViaSupTut(): '
-    defaultValue = 5
-    value = +@el.find('#course-interval-sup-tut').val()
-
-    # validate integer values
-    unless (typeof value is 'number') and (value % 1 is 0) and value > 0 and value < 100
-      value = defaultValue
-      @el.find('#course-interval-sup-tut').val(value)
-    else
-      # console.log 'SETTING VALUE TO: ', value
-    
-    @course.setRate value
-
-    clickEvent = 
-      event: 'courseIntervalChanged' 
-      value: value
-      timestamp: (new Date).toUTCString()
-    @recordedClickEvents.push clickEvent
-
   onUserChange: (e, user) =>
-    # console.log 'classify: onUserChange()'    
-    if User.current? # user logged in
-
-      # first visit, initialize preference
-      unless User.current.preferences?.planet_hunter?.count?
-        @initializeMiniCourse()
-      else 
-        @course.count  = +User.current?.preferences?.planet_hunter?.count
-        @course.curr   = +User.current?.preferences?.planet_hunter?.curr_course_id
-      @handleSplitDesignation()
-      
-    # handle tutorial launch
-    if @course.count is 0 or not User.current?
-      @launchTutorial()
-    else
-      Subject.next() unless classification?
-
-  initializeMiniCourse: ->
-    return unless User.current?
-    # console.log 'First visit. Initializing preferences...'
-    User.current.setPreference 'count', 0
-    User.current.setPreference 'curr_course_id', 0
-    @course.count = 0
-    @course.curr = 0
-
-  handleSplitDesignation: ->
-    if User.current.project.splits?.mini_course_sup_tutorial?
-      # console.log 'SPLIT DESIGNATION ASSIGNED'
-      @splitDesignation = User.current.project.splits.mini_course_sup_tutorial
-    else
-      # console.log 'NO SPLIT DESIGNATION ASSIGNED. USING DEFAULT.'
-      @splitDesignation = 'a' # default split designation
-    
-    @splitDesignation = 'a' # DEBUG CODE
-
-    # console.log 'SPLIT DESIGNATION IS: ', @splitDesignation
-
-    # SET MINI-COURSE INTERVAL
-    if @splitDesignation in ['b', 'e']
-      # console.log 'Setting mini-course interval to 10'
-      @course.setRate 10
-      $('#course-interval-setter').remove() # destroy custom course interval setter
-
-    else if @splitDesignation in ['c', 'f']
-      # console.log 'Setting mini-course interval to 25'
-      @course.setRate 25
-      $('#course-interval-setter').remove() # destroy custom course interval setter
-
-    else if @splitDesignation in ['a', 'd']
-      # console.log 'Setting mini-course interval to 5'
-      # console.log 'Allowing custom course interval.'
-      @course.setRate 5 # set default
-      @allowCustomCourseInterval = true
-    else
-      # console.log 'Setting mini-course interval to 5 (default)'      
-      # console.log 'Allowing custom course interval.'
-      @allowCustomCourseInterval = false
-      @course.setRate 5 # set default
-
-    # SET MINI-COURSE DEFAULT OPT-IN/OUT PREFS
-    if @splitDesignation in ['a', 'b', 'c', 'g', 'h', 'i']
-      @courseEnabled = false
-      User.current.setPreference 'course', 'no'
-      # initialize checkboxes
-      $("[name='course-opt-out']").prop 'checked', true
-      $("[name='mini-course-option']").prop 'checked', false
-    else if @splitDesignation in ['d', 'e', 'f', 'j', 'k', 'l']
-      @courseEnabled = true
-      User.current.setPreference 'course', 'yes'
-      # initialize checkboxes
-      $("[name='course-opt-out']").prop 'checked', false
-      $("[name='mini-course-option']").prop 'checked', false
+    # if User.current? # user logged in
+    #   # do something
 
   onSubjectFetch: (e, user) =>
-    # console.log 'onSubjectFetch(): '
 
   onSubjectSelect: (e, subject) =>
-    # console.log 'onSubjectSelect(): '
     @subject = subject
-    @classification = new Classification {subject}
+    # @classification = new Classification {subject}
     @loadSubjectData()
 
   loadSubjectData: () ->

        @el.find("#zoom-button").addClass("allowZoomOut")
      else
        @el.find("#zoom-button").removeClass("allowZoomOut")

    # DEBUG CODE        
    # console.log 'onClickZoom(): '
    # console.log 'SLIDER VALUE: ', val
    # console.log 'PLOT RANGE [', val, ',', val+@zoomRanges[@zoomLevel], ']'
    # console.log '******************************************************************************************'

    # # DO WE NEED THIS?
    # @prevZoomMin = 0
    # @prevZoomMax = @zoomRanges[@zoomLevel]

    # console.log 'PREV ZOOM WINDOW: [',@prevZoomMin,',',,']'

    @showZoomMessage(@magnification[@zoomLevel])
    @recordedClickEvents.push { event: 'clickedZoomLevel'+@zoomLevel, timestamp: (new Date).toUTCString() }
  
  zoomReset: =>
    # reset slider value

    @el.find('#notification-message').html(message).fadeIn(100).delay(2000).fadeOut( 400, 'swing', =>
      @el.find('#notification').removeClass('notifying') )

module.exports = LightcurveViewer
