function displayIssueSTV()

in pysteve/www/htdocs/js/steve_stv.js [559:654]


function displayIssueSTV(code, response, state) {
    initTouch()
    chars = []  // Corresponding STV letters, in same order as nominees
    for (var z = 0; z <= 100; z++) {
        chars.push(makeLetter(z))
    }
    election_data = response
    if (code != 200) {
        document.getElementById('preloaderWrapper').innerHTML = "<h1>Could not load issue:</h1><h2>" + response.message + "</h2>";
    } else {
        candidates = []
        seconds_txt = []
        statements = {}
        var m = response.issue.type.match(/(\d+)/);
        if (m) {
            seats = parseInt(m[1])
            if (response.issue.type.match(/mntv/) || response.issue.type.match(/fic/)) {
                maxnum = seats
            }
        }
        for (c in response.issue.candidates) {
            var candidate = response.issue.candidates[c];
            candidates.push(candidate.name);
            statements[chars[c]] = candidate.statement;
            seconds_txt[chars[c]] = candidate.seconds_txt; // don't use .seconds, that's for arrays!
        }
        document.getElementById('cnum').innerHTML = candidates.length
        document.getElementById('snum').innerHTML = seats        
        while (chars.length > candidates.length) chars.splice(-1,1)
        
        for (i in candidates) candidates_copy.push(candidates[i])
        for (i in chars) chars_copy.push(chars[i])


        var obj = document.getElementById('preloaderWrapper')
        obj.innerHTML = ""
        obj.setAttribute("style", "min-width: 100%; min-height: 400px;")
        obj.setAttribute("id", "ballotWrapper")
        
        
        var c = document.createElement('div')
        c.setAttribute("id", "candidates")
        c.setAttribute("ondragover", "event.preventDefault();")
        c.setAttribute("ondragenter", "event.preventDefault();")
        c.setAttribute("ondragend", "event.preventDefault();")
        c.setAttribute("ondrop", "dropBack(event);")
        obj.appendChild(c)
        
        var b = document.createElement('div')
        b.setAttribute("id", "ballotbox")
        b.setAttribute("ondragover", "event.preventDefault();")
        b.setAttribute("ondragenter", "event.preventDefault();")
        b.setAttribute("ondragend", "event.preventDefault();")
        b.setAttribute("ondrop", "dropCandidate(event);")
        b.innerHTML = "<font color='red'><h3>Drag candidates over here:</h3</font>"
        
        var l = document.createElement('ol')
        l.setAttribute("id", "ballot")
        b.appendChild(l)
        obj.appendChild(b)
        l.innerHTML = "<img src='/images/target.png'/>"
        
        
        var stvdiv = document.createElement('div')
        stvdiv.setAttribute("id", "stv")
        b.appendChild(stvdiv)
        
        var vote = document.createElement('input')
        vote.setAttribute("type", "button")
        vote.setAttribute("class", "btn-green")
        vote.setAttribute("value", "Cast votes")
        vote.setAttribute("onclick", "castVotes();")
        
        var reset = document.createElement('input')
        reset.setAttribute("type", "button")
        reset.setAttribute("class", "btn-red")
        reset.setAttribute("value", "Reset")
        reset.setAttribute("onclick", "resetList();")
        
        
        stvdiv.appendChild(vote)
        stvdiv.appendChild(reset)
        
        stvdiv.appendChild(document.createElement('br'))
        stvdiv.appendChild(document.createElement('br'))
        
        
        shuffleCandidates();
        drawCandidates();
        
        document.getElementById('title').innerHTML = response.issue.title
        document.title = response.issue.title + " - Apache STeVe"

    }
    
}