Voting = {
    TextOn: "hlasovat",
    TextOff: "zrušit hlasování",
    LoadImg: '<img src="http://' + domain + '/img/mikro/load.gif" />',
    Processing: [],
    Init: function() {
        $('span.vote-state-0').html('<a href="#">' + Voting.TextOn + '</a>');
        $('span.vote-state-1').html('<a href="#">' + Voting.TextOff + '</a>');
        $('span.voteBtn a').click(function() {
            var id = $(this).parent().attr("class").match("vote-id-([0-9]+)")[1];
            var state = $(this).parent().attr("class").search("vote-state-1") > 0;
            Voting.Toggle(id, state);
            return false;
        });
    },
    Toggle: function(albumID, state) {
        if (Voting.Processing[albumID] == true) {
            return;
        };
        Voting.Processing[albumID] = true;
        setTimeout(function() {
            $('span.vote-id-' + albumID).each(function() {
                if (Voting.Processing[albumID] == true) {
                    $(this).append(Voting.LoadImg);
                }
            });
        }, 200);
        setTimeout(function() {
            $.post("/_www_root_/ajax/.albumVote.php", { albumID: albumID, state: !state }, function(data) {
                Voting.Processing[albumID] = false;
                $('span.vote-id-' + albumID).find('img').remove();
                $('span.vote-id-' + albumID)
                    .removeClass('vote-state-0')
                    .removeClass('vote-state-1')
                    .addClass('vote-state-' + (data.state ? '1' : '0'))
                    .find('a').text(data.state ? Voting.TextOff : Voting.TextOn);
            }, "json");
        }, 500);
    }
}

$(function() {
    Voting.Init();
});
