/*
 * Vytvori linky na stazeni reply formulare
 * @param element - element, ve kterem se ma vytvorit odkaz
 * @param postIdPref - prefix nazvu ID daneho prvku napr. forum-post-12, prefix je forum-post-
 */
function createForumPostReplyLink(element /* jQuery */, postIdPref /* string */) {
    if (typeof postIdPref == 'undefined' ) postIdPref = 'forum-post-';
    var postDiv = element.parent().parent(); //div element, kde je forum post
    //vyzereme cislo z konce ID postu - napr. forum-post-12 -> 12
    var id_parent = element.parent().parent().attr('id');
    id_parent = id_parent.substr(postIdPref.length, id_parent.length);
    $.get(baseUrl + '/ajax-tunel/forum/post/getpostreplyform', {
            'id_parent' : id_parent
        }, function(data) {
            //console.log(data);
            postDiv.after(data);
        }
    );
    return false;
}

/*
 * Resi hlasovani. Priradi potrebnou akci a zajisti vykresleni odpovedi
 */
function ratingForumPostUp() {
    $("a.forum-post-rating.rating-up-small:not(.rating-up-small-disabled)"
     ).livequery('click',
        function() {
            if (typeof postIdPref == 'undefined' ) postIdPref = 'forum-post-';
            var id_parent = $(this).parent().parent().parent().parent().attr('id');
            id_parent = id_parent.substr(postIdPref.length, id_parent.length);
            var href = baseUrl + '/ajax-tunel/forum/post/rate-up';
            var forumPostBox = $(this).parent();
            var loader = $(this).parent().next();

            forumPostBox.fadeOut('fast', function() {
                loader.fadeIn('fast');
                $.get(href, {'id_forum_post': id_parent}, function(data) {
                    loader.fadeOut('fast', function() {
                        forumPostBox.replaceWith(data);
                        forumPostBox.fadeIn('fast');
                    });
                });
            });
            return false;
        });
}

/*
 * Resi hlasovani. Priradi potrebnou akci a zajisti vykresleni odpovedi
 */
function ratingForumPostDown() {
    $("a.forum-post-rating.rating-down-small:not(.rating-down-small-disabled)"
     ).livequery('click',
        function() {
            if (typeof postIdPref == 'undefined' ) postIdPref = 'forum-post-';
            var id_parent = $(this).parent().parent().parent().parent().attr('id');
            id_parent = id_parent.substr(postIdPref.length, id_parent.length);
            var href = baseUrl + '/ajax-tunel/forum/post/rate-down/';
            var forumPostBox = $(this).parent();
            var loader = $(this).parent().next();

            forumPostBox.fadeOut('fast', function() {
                loader.fadeIn('fast');
                $.get(href, {'id_forum_post': id_parent}, function(data) {
                    loader.fadeOut('fast', function() {
                        forumPostBox.replaceWith(data);
                        forumPostBox.fadeIn('fast');
                    });
                });
            });
            return false;
        });
}

$(document).ready(function() {
    var postIdPref = 'forum-post-'; //prefix pred cislem v ID postu
    $('[id*=' + postIdPref + '] div.forum-post-info a.post-reply').one("click", function() {
        createForumPostReplyLink($(this));
    });
    //prvni forum post ma top margin nulovy
    //az se opravi zobrazovani banneru, tak se to tu zrusi
    $('div[id^=forum-post]:first').css('margin-top', '0px');
    //posledni forum post ma bottom margin nulovy
    $('div[id^=forum-post]:last').css('margin-bottom', '0px');
    ratingForumPostUp();
    ratingForumPostDown();
})