$('#document').ready(function() {

    $('#poll_submit_button').click(function() {
    
        $('#poll_error').html('');
        $('#poll_error').hide();
    
        var sAnswer = $('input[name="poll_answer"]:checked').val();
        if ( sAnswer === undefined )
        {
            $('#poll_error').html('Please choose an answer.');
            $('#poll_error').fadeIn();
        }
        else
        {
            $('#poll_prior').hide();
            $('#poll_during').show();
        
            $.get('poll/poll_vote.php', {poll: POLL_ID, answer: sAnswer}, function(aResponse) {
            
                if ( aResponse.error.length > 0 )
                {
                    $('#poll_error').html(aResponse.error);
                    $('#poll_error').fadeIn();
                }
                
                $('#poll_stats_total').html(aResponse.total);
            
                for(var iAnswer = 0; iAnswer < aResponse.votes.length; ++iAnswer)
                {
                    var sAnswer  = aResponse.votes[iAnswer].answer;
                    var fPercent = aResponse.votes[iAnswer].percent;
                
                    var sRow = '';
                    sRow += '<tr>';
                    sRow += '  <td class="poll_results_answer" colspan="2">' + sAnswer + '</td>';
                    sRow += '</tr>';
                    sRow += '<tr>';
                    sRow += '  <td class="poll_results_result">';
                    sRow += '    <div class="poll_results_bar" id="poll_results_bar_answer_' + (iAnswer + 1) + '" style="width: 0%;">&nbsp;</div>';
                    sRow += '  </td>';
                    sRow += '  <td class="poll_results_percent">' + fPercent + '%</td>';
                    sRow += '</tr>';
                    
                    $('#poll_results table').append(sRow);
                    
                    progress(iAnswer + 1, 0, fPercent);
                }
                
                $('#poll_during').hide();
                $('#poll_after').show();
                
            }, 'json').error(function() {
                $('#poll_error').html('A problem occured, please try again later.');
                $('#poll_error').fadeIn();
            });
        }
    });
    
});

function progress(iAnswer, iCurrent, fMax)
{
    ++iCurrent;
    
    if ( iCurrent <= fMax )
    {
        $('#poll_results_bar_answer_' + iAnswer).css('width', iCurrent + '%');
        setTimeout(function() {
            progress(iAnswer, iCurrent, fMax);
        }, 30);
    }
}
