jQuery.noConflict();
function DoAction(articleId, upDown, moduleId) {
    // Call custom service
    jQuery.ajax({
        type: "POST",
        async: "false",
        url: location.href,
        dataType: "json",
        data: ({ 'FUNCTION': 'GetSBResult', 'param0': articleId, 'param1': upDown }),
        success: function(data) {
            jQuery("#votesLeft" + moduleId).html(data.VotesLeft);
            jQuery("#ButtonUp" + articleId).removeAttr('onclick');
            jQuery("#ButtonUp" + articleId).removeAttr('href');
            jQuery("#ResultUp" + articleId).html(data.ResultUp);
            if (data.VotesLeft == 0 && data.LoggedIn == "True") {
                //remove class and update with limitreached
                var removeUpClass = jQuery("#ButtonUp" + articleId).attr("class");
                var removeUp = "." + jQuery("#ButtonUp" + articleId).attr("class") + ", ." + jQuery("#ButtonUp" + articleId).attr("class") + "_disabled";
                var removeUp2 = jQuery("#ButtonUp" + articleId).attr("class") + " " + jQuery("#ButtonUp" + articleId).attr("class") + "_disabled"
                jQuery(removeUp).removeClass(removeUp2).addClass(removeUpClass + "_limitreached");
                
                var removeDownClass = jQuery("#ButtonDown" + articleId).attr("class");
                var removeDown = "." + jQuery("#ButtonDown" + articleId).attr("class") + ", ." + jQuery("#ButtonDown" + articleId).attr("class") + "_disabled";
                var removeDown2 = jQuery("#ButtonDown" + articleId).attr("class") + " " + jQuery("#ButtonDown" + articleId).attr("class") + "_disabled"
                jQuery(removeDown).removeClass(removeDown2).addClass(removeDownClass + "_limitreached");
                
                jQuery("#ButtonUp" + articleId).attr("class", jQuery("#ButtonUp" + articleId).attr("class", this.className) + "_limitreached");
                jQuery("#ButtonDown" + articleId).attr("class", jQuery("#ButtonDown" + articleId).attr("class", this.className) + "_limitreached");
            } else {
                jQuery("#ButtonUp" + articleId).attr("class", jQuery("#ButtonUp" + articleId).attr("class", this.className) + "_disabled");
                jQuery("#ButtonDown" + articleId).attr("class", jQuery("#ButtonDown" + articleId).attr("class", this.className) + "_disabled");
            }
            jQuery("#ButtonDown" + articleId).removeAttr('onclick');
            jQuery("#ButtonDown" + articleId).removeAttr('href');
            jQuery("#ResultDown" + articleId).html(data.ResultDown);
            jQuery("#CurrentPeriodVoteDiff" + articleId).html(data.VoteDiff);
            jQuery("#VotedDiff" + articleId).html(data.VoteDiff);
            jQuery("#RankCurrentPeriod" + articleId).html(data.Rank);
            jQuery("#RankPrevPeriod" + articleId).html(data.PrevRank);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert("error:" + errorThrown);
        },
        beforeSend: function(xhr) {
            xhr.setRequestHeader("X-OFFICIAL-REQUEST" + moduleId, "TRUE"); //Used to ID as a AJAX Request
        },
        complete: function(data) {
        }
    });
}
