     #   else
     #     decision_board_style.borderColor = "#eee"
 
-    if your_opinion.published
-      can_opine = permit 'update opinion', @proposal, your_opinion
-    else
-      can_opine = permit 'publish opinion', @proposal
-
-    enable_opining = can_opine != Permission.INSUFFICIENT_PRIVILEGES && 
-                      (can_opine != Permission.DISABLED || your_opinion.published ) && 
-                      !(hist.selected_opinions || hist.selected_opinion)
-
+
+    if get_proposal_mode() == 'results'
+      give_opinion_style = 
+        display: 'block'
+        color: 'white'
+        padding: '.25em 18px'
+        margin: 0
+        fontSize: 16
+        boxShadow: 'none'
+    else 
+      give_opinion_style =
+        visibility: 'hidden'
 
     DIV 
       className:'opinion_region'
       style:
         width: DECISION_BOARD_WIDTH
 
-      if enable_opining        
-        SliderBubblemouth()
-
-
-      if enable_opining
-        # only shown during results, but needs to be present for animation
-        if get_proposal_mode() == 'results'
-          give_opinion_style = 
-            display: 'block'
-            color: 'white'
-            padding: '.25em 18px'
-            margin: 0
-            fontSize: 16
-            boxShadow: 'none'
-        else 
-          give_opinion_style =
-            visibility: 'hidden'
-
-        [DIV
-          key: 'body' 
-          className:'decision_board_body'
-          style: css.crossbrowserify decision_board_style
+      SliderBubblemouth()
+
+      [DIV
+        key: 'body' 
+        className:'decision_board_body'
+        style: css.crossbrowserify decision_board_style
+        onClick: => 
+          if get_proposal_mode() == 'results' 
+            updateProposalMode('crafting', 'give_opinion_button')
+
+        DIV null, 
+
+          if get_proposal_mode() == 'crafting'
+            DIV 
+              className: 'your_points'
+              style: 
+                padding: '0 18px'
+                marginTop: -3 # To undo the 3 pixel border
+
+              YourPoints { key: 'your_con_points', valence: 'cons' }
+              YourPoints { key: 'your_pro_points', valence: 'pros' }
+
+
+          # only shown during crafting, but needs to be present always for animation
+          A 
+            className: 'give_opinion_button primary_button'
+            style: give_opinion_style
+
+            if your_opinion.published 
+              'Update your Opinion' 
+            else 
+              'Give your Opinion'
+
+      DIV 
+        key: 'footer'
+        style:
+          width: DECISION_BOARD_WIDTH
+
+        # Big bold button at the bottom of the crafting page
+        DIV 
+          className:'save_opinion_button primary_button'
+          style:
+            display: 'none'
+            backgroundColor: focus_blue
           onClick: => 
-            if get_proposal_mode() == 'results' 
-              updateProposalMode('crafting', 'give_opinion_button')
-
-          DIV null, 
-
-            if get_proposal_mode() == 'crafting'
-              DIV 
-                className: 'your_points'
-                style: 
-                  padding: '0 18px'
-                  marginTop: -3 # To undo the 3 pixel border
-
-                YourPoints { key: 'your_con_points', valence: 'cons' }
-                YourPoints { key: 'your_pro_points', valence: 'pros' }
-
-
-            # only shown during crafting, but needs to be present always for animation
+            your_opinion = fetch(@proposal.your_opinion)
+            if can_opine > 0
+              your_opinion.published = true
+              save your_opinion
+              updateProposalMode('results', 'save_button')
+            else
+              if can_opine == Permission.UNVERIFIED_EMAIL
+                auth_form = 'verify email'
+                current_user.trying_to = 'send_verification_token'
+                save current_user
+              else if can_opine == Permission.INSUFFICIENT_INFORMATION
+                auth_form = 'user questions'
+              else
+                auth_form = 'create account'
+
+              reset_key 'auth',
+                form: auth_form
+                goal: 'Save your Opinion'
+                ask_questions: true
+
+              # We'll need to publish this opinion after auth is completed
+              @root.opinions_to_publish.push(@proposal.your_opinion)
+
+              save @root
+
+          if your_opinion.published 
+            'Opinion updated. See the results' 
+          else 
+            'Save your opinion and see results'
+
+        if !your_opinion.published
+
+          DIV 
+            className: 'below_save'
+            style: 
+              display: 'none'
+                      
             A 
-              className: 'give_opinion_button primary_button'
-              style: give_opinion_style
-
-              if your_opinion.published 
-                'Update your Opinion' 
-              else 
-                'Give your Opinion'
-
-        DIV 
-          key: 'footer'
-          style:
-            width: DECISION_BOARD_WIDTH
-
-          # Big bold button at the bottom of the crafting page
-          DIV 
-            className:'save_opinion_button primary_button'
-            style:
-              display: 'none'
-              backgroundColor: focus_blue
-            onClick: => 
-              your_opinion = fetch(@proposal.your_opinion)
-              if can_opine > 0
-                your_opinion.published = true
-                save your_opinion
-                updateProposalMode('results', 'save_button')
-              else
-                if can_opine == Permission.UNVERIFIED_EMAIL
-                  auth_form = 'verify email'
-                  current_user.trying_to = 'send_verification_token'
-                  save current_user
-                else if can_opine == Permission.INSUFFICIENT_INFORMATION
-                  auth_form = 'user questions'
-                else
-                  auth_form = 'create account'
-
-                reset_key 'auth',
-                  form: auth_form
-                  goal: 'Save your Opinion'
-                  ask_questions: true
-
-                # We'll need to publish this opinion after auth is completed
-                @root.opinions_to_publish.push(@proposal.your_opinion)
-
-                save @root
-
-            if your_opinion.published 
-              'Opinion updated. See the results' 
-            else 
-              'Save your opinion and see results'
-
-          if !your_opinion.published
-
-            DIV 
-              className: 'below_save'
-              style: 
-                display: 'none'
-                        
-              A 
-                className:'cancel_opinion_button primary_cancel_button'
-                onClick: => updateProposalMode('results', 'cancel_button')
-                'or just skip to the results' ]
-          
+              className:'cancel_opinion_button primary_cancel_button'
+              onClick: => updateProposalMode('results', 'cancel_button')
+              'or just skip to the results' ]
+        
 
   componentDidUpdate : ->
     @transition if !Modernizr.csstransitions then 0 else TRANSITION_SPEED

    
    your_opinion = fetch(@proposal.your_opinion)

    register_dependency = fetch(namespaced_key('slider', @proposal)).value 
                             # to keep bubble mouth in sync with slider
    

      style: css.crossbrowserify
        width: POINT_CONTENT_WIDTH
        minHeight: (if @page.points.length > 4 then jQuery(window).height() else 400)
        zIndex: if contains_selection then 6
        margin: '38px 18px 0 18px'
        position: 'relative'

