function displayTally()

in pysteve/www/htdocs/js/steve_rest.js [172:223]


function displayTally(code, response, issue) {
    var obj = document.getElementById('tally_' + issue)
    if (obj) {
        if (response.winners) {
            obj.innerHTML = "<i>(" + response.votes + " votes cast)</i>\n<ol>"
            for (i in response.winners) {
                var winner = response.winners[i]
                var winnerName = response.winnernames[i]
                var pct = response.winnerpct ? " (" + response.winnerpct + "%)" : ""
                if (winner == winnerName) {
                    obj.innerHTML += "<li>" + winner + pct + "</li>"
                } else {
                    obj.innerHTML += "<li>" + winner + ": " + winnerName + pct + "</li>"
                }
            }
            obj.innerHTML += "</ol>"
        } else if (response.yes != undefined) {
            var largest = Math.max(response.yes, response.no, response.abstain);
            
            obj.innerHTML = "<i>(" + response.votes + " votes cast)</i>\n\n"
            if (largest == response.yes) {
                obj.innerHTML += "<span style='color: #394;'><b>Yes:             </b>" + response.yes + "</span>\n"
            } else {
                obj.innerHTML += "<b>Yes:             </b>" + response.yes + "\n"
            }
            if (largest == response.no) {
                obj.innerHTML += "<span style='color: #934;'><b>No:              </b>" + response.no + "</span>\n"
            } else {
                obj.innerHTML += "<b>No:              </b>" + response.no + "\n"
            }
            if (largest == response.abstain) {
                obj.innerHTML += "<span style='color: #994;'><b>Abstain:         </b>" + response.abstain + "</span>\n"
            } else {
                obj.innerHTML += "<b>Abstain:         </b>" + response.abstain + "\n"
            }
            if (response.binding_yes != undefined) {
                obj.innerHTML += "<b>Binding Yes:     </b>" + response.binding_yes + "\n"
                obj.innerHTML += "<b>Binding No:      </b>" + response.binding_no + "\n"
            }
        } else {
            obj.innerHTML = "Unknown vote type or no votes cast yet"
        }
        if (response.debug) {
            var pre = document.createElement('pre')
            pre.innerHTML = response.debug.join("\n")
            pre.setAttribute("id", "debug_" + issue)
            pre.setAttribute("style", "display: none; border: 1px dotted #666; background: #FFE;")
            obj.innerHTML += "<a href=\"javascript:void(document.getElementById('debug_" + issue + "').style.display = (document.getElementById('debug_" + issue + "').style.display == 'block') ? 'none' : 'block');\">Show debug</a>"
            obj.appendChild(pre)
        }
    }
}