﻿//the clicked object 
var sender = null;

//update votecount
function updateVote(voteid, reviewid) {
    ReviewVotesWS.UpdateVotes(voteid, reviewid, setVote);
}

//update the UI to reflect the new votecount
function setVote(result) {
    //get votecounter
    var senderParentID = document.getElementById(sender.id).parentNode.id;
    var voteCounter = document.getElementById(senderParentID + "CountLbl"); //not a good way to get the label :-(
    //determine to use innertext(ie & safari) or textContent (firefox)
    var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
    //update votecount
    if (hasInnerText)
        voteCounter.innerText = "(" + result + ")";
    else
        voteCounter.textContent = "(" + result + ")";
}

///voting
var lastVoteId = 0;
var lastReviewId = 0;

function Vote(voteId, reviewId) {
    if (getCookie('ReviewItems') == null && lastVoteId != 0) {
        return;
    }

    lastVoteId = voteId;
    lastReviewId = reviewId;

    updateVote(voteId, reviewId);
}

function getCookie(NameOfCookie) {
    if (document.cookie.length > 0) {
        begin = document.cookie.indexOf(NameOfCookie + "=");
        if (begin != -1) {
            begin += NameOfCookie.length + 1;
            end = document.cookie.indexOf(";", begin);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(begin, end));
        }
    }

    return null;
}