﻿$(function() {
    if (pollCompleted) {
        getPollResults()
    }
    else {
        getPollQuestions();
    }
});

function submitPoll() {
    var id = $("input[@name='poll']:checked").attr("value");
    if (id != null) {
        $("#poll-container").fadeOut("slow", function() {
            $(this).empty();
            $.ajax({
                type: "POST",
                url: "/_services/PollService.asmx/SubmitPoll",
                data: "{'pollId':'" + pollId + "','answerId':'" + id + "'}",
                contentType: "application/json",
                dataType: "json",
                success: function(msg) {
                    getPollResults();
                },
                error: function(msg) {
                    var errorMsg = '<div class="errorMessage">An error occurred while retrieving this poll. Please try refreshing your browser.</div>';
                    $("#poll-container").html(errorMsg);
                }
            });
        });
    }
}

function getPollQuestions() {

    $.ajax({
        type: "POST",
        url: "/_services/PollService.asmx/GetPoll",
        data: "{'pollId':'" + pollId + "'}",
        contentType: "application/json",
        dataType: "json",
        success: function(msg) {
            var poll = msg.d;
            buildPoll(poll);
        },
        error: function(msg) {
            var errorMsg = '<div class="errorMessage">An error occurred while retrieving this poll. Please try refreshing your browser.</div>';
            $("#poll-container").html(errorMsg);
        }
    });
}
function getPollResults() {
    $("#poll-container").fadeOut("slow", function() {
        $(this).empty();
        $.ajax({
            type: "POST",
            url: "/_services/PollService.asmx/GetPoll",
            data: "{'pollId':'" + pollId + "'}",
            contentType: "application/json",
            dataType: "json",
            success: function(msg) {
                var poll = msg.d;
                buildResults(poll);
            },
            error: function(msg) {
                var errorMsg = '<div class="errorMessage">An error occurred while retrieving this poll. Please try refreshing your browser.</div>';
                $("#poll-container").html(errorMsg);
            }
        });
    });
}

function buildPoll(poll) {
    var pollHtml = '<div id="Div1"><span>' + poll.Question + '</span>';
    pollHtml += '<ul>';
    var answer;
    for (var i = 0; i < poll.Answers.length; i++) {
        answer = poll.Answers[i];
        pollHtml += '<li><input id="rb' + i + '" type="radio" value="' + answer.Id + '" name="poll" /><label for="rb' + i + '">' + answer.Text + '</label></li>';
    }
    pollHtml += '</ul>';
    pollHtml += '<div id="pollSubmit">';
    pollHtml += '<input id="ibPollSubmit" type="image" src="/images/submit_btn.gif" alt="submit" title="submit" />';
    pollHtml += '<a href="javascript:void(0);" onclick="getPollResults(\'' + poll.Id + '\');">view results</a>';
    pollHtml += '</div>';
    pollHtml += '</div>';

    $('#poll-container').append(pollHtml).fadeIn('slow');

    $('#ibPollSubmit').click(function() {
        submitPoll();
        return false;
    });
}

function buildResults(poll) {
    var results_html = "<div id='poll-results'><span>" + poll.Question + "</span>\n<ul>\n";
    var answer;

    for (var i = 0; i < poll.Answers.length; i++) {
        answer = poll.Answers[i];
        results_html = results_html + "<li><strong>(" + answer.Percent + "%)</strong> " + answer.Text + "</li>\n";
    }
    results_html = results_html + "</ul></div>\n";

    $("#poll-container").append(results_html).fadeIn("slow");
}