function disableVoting() {
    for (var i = 1; i <= 5; i++) {
        var e = document.getElementById("vote" + i);
        e.disabled = "disabled";
    }
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else
        begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}

function checkCookie(name) {
    if (getCookie(name) != null)
        disableVoting();
}

function vote(type, id, vote) {
    disableVoting();
    req = getRequest();
    req.open("GET", "/static/vote.php" +
             "?type=" + type + "&id=" + id + "&vote=" + vote, true);
    req.onreadystatechange = function () {
        if (req.readyState == 4) {
            if (req.status == 200) {
                var r = req.responseText;

                if (r == "vote-ok") {
                    var vt = document.getElementById("votes");
                    if (vt)
                        vt.innerHTML = parseInt(vt.innerHTML) + 1;
                } else if (r == "already-voted") {
                    alert("Du har redan röstat");
                } else if (r == "error") {
                    alert("Ett fel uppstod. Var vänlig försök igen senare.");
                }
            }
        }
    };
    req.send(null);
}

function getRequest() {
    var req;

    try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (ex) {
            req = null;
        }
    }

    if (!req && typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    }

    if (!req) {
        show_message("Cannot create connection!", "Are you using an incompatible browser?", true);
    }

    return req;
}

