anchor.diff:      @local.mousing_over_histogram = Math.abs(@local.mouse_opinion_value) <= 1
   
       if @local.mousing_over_histogram
  -      opinions_in_focus = @getOpinionsInCurrentFocus(ev)
  +      opinions_in_focus = @getOpinionsInCurrentFocus()
         @local.click_will_defocus = JSON.stringify(fetch('histogram').selected_opinions) == JSON.stringify(opinions_in_focus)
       
       save @local
   
       if @local.dragging
  -      @selectOpinions ev, true
  +      @selectOpinions ev
   
     render : ->
   
  
positive.code:   displayName : 'Histogram'
    mixins: [PageTransition] #implements animation logic when moving results <==> crafting
  
    getOpinionsInCurrentFocus : (ev, from_mouse_over) -> 
      all_opinions = fetch('/page/' + @proposal.slug).opinions || []
      # If the user has clicked on an avatar, we'll just filter to their opinion
      if ev.target.className.indexOf('avatar') != -1 && !from_mouse_over
        user_key = "/user/#{ev.target.getAttribute('id').substring(7, ev.target.getAttribute('id').length)}"
        selected_opinions = (o.key for o in all_opinions when o.user == user_key)
      else
        # Otherwise, we'll filter to a region of opinions
        # The opinion center is used to calculate which opinions are selected.
        # We'll show opinions within +/- filter_width of mouse_opinion_value.
        selected_opinions = (o.key for o in all_opinions when o.stance < @local.mouse_opinion_value + @filter_width && o.stance > @local.mouse_opinion_value - @filter_width)
  
      selected_opinions
  
    selectOpinions : (ev, via_drag) ->
      ev.stopPropagation()
      hist = fetch 'histogram'
  
      if @root.proposal_mode == 'crafting'
        togglePage('results', 'click_histogram')
  
      selected_opinions = @getOpinionsInCurrentFocus(ev, via_drag)
  
      # Deselect if we've reclicked on same selection
      if !via_drag && 
          !@local.last_selection_via_drag && 
          (JSON.stringify(hist.selected_opinions) == JSON.stringify(selected_opinions) || 
            selected_opinions.length == 0)
  
negative.code:       width: hist.avatar_size
        height: hist.avatar_size
      # 2) The style of a selected avatar
      size = if @local.single_user_clicked then 80 else 1 * hist.avatar_size
      y_translate = -(size - hist.avatar_size)/2
      selected_avatar_style = 
        #border: "2px solid #{considerit_yellow}"
        width: size
        height: size
        transform: "translateY(#{y_translate}px) translateX(-#{(size - hist.avatar_size)/2}px)"
        zIndex: 9
      css.crossbrowserify selected_avatar_style
      # 3) The style of an unselected avatar when some other avatar(s) is selected
      unselected_avatar_style = 
        opacity: .2
        width: hist.avatar_size
        height: hist.avatar_size
        WebkitFilter: 'grayscale(100%)'
        filter: 'grayscale(100%)'
  
      DIV 
        className: 'histogram'
  