var _getWindow = function() {
     try {
        return top.document != undefined ? top : window;
     } catch (e) {
        return window;
     }
};

$(document).ready(function() {
        if ($("#comment_key")) {
            $.getJSON("/comment/getkey", {},
                function(data) {
                    if ('key' in data)
                    {
                        $('#comment_form_comment_key').val(data['key']);
                        $('#comment_key').hide();
                    }
                });
        };

        $("#comments div.comment").each(
            function () {
                var div = $('<div id="control"/>');
                if (g_is_admin) {
                    var span_delete = $('<span class="note">Trinti</span>');
                    span_delete.click(
                        function() {
                            var comment = $(this).parent().parent();
                            comment.append('<img id="loading" src="/static/loader.gif" alt="Loading..."/>');
                            $.getJSON("/comment/delete", { id: comment.attr('id') },
                                function(data){
                                    if ('success' in data) {
                                        comment.hide('slow');
                                    }
                                    else {
                                        comment.find('#loading').remove();
                                    }
                                });
                        });
                    div.append(span_delete);
                    div.append(' | ');
                };
                var span_reply = $('<span class="note">Atsakyti</span>');
                span_reply.click(
                    function() {
                        var comment = $(this).parent().parent();
                        if (comment.find('#comment_form').length == 0)
                        {
                            var div = $('<div id="comment_form"/>');
                            var input_name = $('<input type="text" name="name" value="' + (g_user_name ? g_user_name : '') + '"/>');
                            if (!g_logged_in) {
                                div.append('Vardas');
                                div.append(input_name);
                                div.append($('<br/>'));
                            };
                            var textarea = $('<textarea id="text" name="text" class="textarea" rows="4" cols="50"/>');
                            div.append(textarea);
                            div.append('<br/>');
                            var button_comment = $('<input type="button" value="Komentuoti"/>');
                            div.append(button_comment);
                            button_comment.click(
                                function(){
                                    var form = $(this).parent();
                                    var textarea = $(form.find('#text')[0]);
                                    if (textarea.val().length == 0)
                                    {
                                        form.append('<div id="error">Trūksta komentaro.</div>');
                                    }
                                    else if (form.find('#loading').length > 0)
                                    {
                                        form.append('<div id="error">Palaukite...</div>');
                                    }
                                    else
                                    {
                                        form.append('<img id="loading" src="/static/loader.gif" alt="Loading..."/>');
                                        var comment = form.parent();
                                        $.getJSON("/comment/reply",
                                            { id: comment.attr('id'),
                                              'name': input_name.val(),
                                              'text': textarea.val()},
                                            function(data){
                                                var form = $('#'+data['id']+' #comment_form');
                                                var comment = form.parent();
                                                form.find('#loading').remove();
                                                form.find('#error').remove();

                                                if ('success' in data) {
                                                    form.remove();
                                                    comment.children('#control').after(data['success']);
                                                    }
                                                else if ('error' in data) {
                                                    form.append('<div id="error">'+data['error']+'</div>');
                                                };
                                            });
                                    }

                                });
                            var button_cancel = $('<input type="button" value="Nutraukti"/>');
                            button_cancel.click(
                                function(){
                                    $(this).parent().remove();
                                });
                            div.append(button_cancel);
                            comment.children('#control').after(div);
                        }
                    });
                div.append(span_reply);
                comments = $(this).children('div.comment');
                if (comments.length > 0) {
                    $(comments[0]).before(div);
                }
                else {
                    $(this).append(div);
                }
            });

        $("#simplesearch_key").placeholder();
        $("#simplesearch_key").autocomplete('/autocomplete',
                {'matchCase': 1});

        var _w = _getWindow();
        _l = _w.location;
        var hash_pos = _l.href.indexOf('#');
        if (hash_pos != -1) {
            var div_id = _l.href.substr(hash_pos);
            if (div_id != "#comments")
                $(div_id).addClass('active');
        };
});

