
function reportCallback(data) {
    
    var form = $('<form/>',{
        method: 'post',
        action: ''
    });
    
    var wrapper = $('<div/>').addClass('clearfix');
    wrapper.addClass('form');
    wrapper.append($('<div/>')
        .addClass('content')
        .append($('<div/>')
            .addClass('content-in')
            .append(form)));
    
    var label = $('<label/>').addClass('formula');
    var captcha = $('<label/>').addClass('input');
    captcha.append($('<input/>',{
        type: 'text',
        name: 'captcha',
        value: ''
    }));
    
    $.ajax({
        type: 'GET',
        url: '/ajax/captcha/',
        data: 'sess=report-reply',
        dataType: 'json',
        async: false,
        success: function(data) {
            label.html('Výsledek rovnice <span>'+data.formula+'</span> je:');
        }
    });
    
    form.append(label);
    form.append(captcha);
    form.append($('<button/>',{
        type: 'submit',
        style: 'float:left;'
    }).html('Nahlásit'));
    
    form.submit(function(){
        $.ajax({
            type: 'GET',
            url: '/ajax/diskusni-prispevek/nahlasit/',
            data: 'rid='+data.id+'&captcha='+($('input',captcha).val()),
            complete: function() {
                new Tooltip(new TooltipRequest({
                    url: '/ajax/messenger/'
                }));
            }
        });
        
        return false;
    });
    
    return {
        title: 'Nahlásit příspěvek',
        content: wrapper
    };
}

(function() {
    
    $.fn.discussion = function() {
        var parent = $('#replyparent');
        var idexp = new RegExp('^#([0-9]+)$');
        
        function activate(_self) {
            var _content = $('.content:first',_self);
            
            _content.mouseenter(function(){
                $('.thank',_content).show();
                $('.report',_content).show();
            });
            
            _content.mouseleave(function(){
                $('.thank',_content).hide();
                $('.report',_content).hide();
            });
            
            $('.respond',_content).each(function(){
                var link = $(this);
                var idm = link.attr('href').match(idexp);
                
                if (idm) {
                    var id = idm[1];
                } else {
                    return;
                }
                
                link.click(function(){
                    parent.val(id);
                });
            
                link.attr('href','#add');
            });
            
            $('.thank',_content).click(function(){
                var link = $(this);
                var id = link.attr('href').match(idexp)[1];
                
                $.ajax({
                    type: 'GET',
                    url: '/ajax/diskusni-prispevek/podekovat/',
                    dataType: 'html',
                    data: 'rid='+id+'&view=XSLT',

                    success: function(val) {
                        $('.thanks:first',_self).replaceWith($('.thanks',$(val)));
                    }
                });
                
                return false;
            });
            
            $('.report',_content).click(function(){
                var link = $(this);
                var id = link.attr('href').match(idexp)[1];
                
                new Tooltip(new TooltipRequest({
                    callback: reportCallback,
                    data: {
                        id: id,
                        object: $(this)
                    }
                }));
                
                return false;
            });
        }
        
        $('.reply').each(function(){
            activate($(this));
        });
    }
    
}) (jQuery);

