   vote: (optionId) ->
     $('.notice').remove()
     return @addError('You have to log in to vote, dawg.') unless $('.current-user').length > 0
+    return false if @voting
+    @voting = true
     Q( $.post "/polls/#{@id}/options/#{optionId}/vote")
     .then(
       (poll) =>

        $(".option[data-id=#{optionId}]").addClass('voted')
      ,
      (jqXHR, status, errorThrown) => @addError(jqXHR.responseJSON.error)
    ).done()

  addError: (error) ->
    $('<div>')

        highlight: '#fdb45c'
    ]
    @setupChart(poll)
    @voting = false

  initBindings: ->
    $('.option').on 'click', (event) =>
