﻿var Messages = {
    _lastMessageFrom: '',
    _msgLink1: '',
    _msgLink2: '',

    init: function(d, l1, l2) {
        _lastMessageFrom = d;
        _msgLink1 = l1;
        _msgLink2 = l2;

        $(".msg .editwidget img").bind("click", Messages.removeit);
        $(".msg").find("a:eq(1)").bind("click", Messages.comment);
        $(".msg").find("a:eq(2)").bind("click", Messages.like);
        $(".msg").find("a:eq(3)").bind("click", Messages.dislike);

        $(".msg").hover(
                function(e) {
                    $(this).find(".editwidget")
                           .show();
                },
                function(e) {
                    $(this).find(".editwidget")
                           .hide();
                }
        );
    },

    addNew: function(msg) {
        $.post(_msgLink1, {
            messageId: msg
        },
           function(data) {
               $('.msgList .first').removeClass("first");
               $('.msgListTop').prepend('<div class="msg first" id="StatusMessage_' + msg + '" >' + data + '<div class="editwidget"><img src="/content/icons/cancel.png" title="Klick hier, um diesen Beitrag zu löschen" alt="" /></div></div>')
               .find(".editwidget img").bind("click", Messages.removeit)
               .end()
               .find("a:eq(1)").bind("click", Messages.comment)
               .end()
               .find("a:eq(2)").bind("click", Messages.like)
               .end()
               .find("a:eq(3)").bind("click", Messages.dislike)
               .end()
               .hover(
                function(e) {
                    $(this).find(".editwidget").show();
                },
                function(e) {
                    $(this).find(".editwidget").hide();
                });

               $('.msgList .first').hide().fadeIn();
           }, "html"
        );
    },

    removeit: function(e) {
        var id = $(this).parent().parent().attr("id");
        $U.confirm("Statuseintrag löschen", "Bist Du Dir sicher, dass Du diesen Eintrag löschen möchtest?", function() {
            $.post(_msgLink2, {
                messageId: id
            },
                function(data) {
                    if (data.isSuccessful) {
                        $('#' + id).fadeOut("slow", function() { $('#' + id).remove(); });
                        if ($('#' + id).hasClass("first")) {
                            $('.msgList .msg:eq(1)').addClass("first");
                        }
                    }
                    else {
                        $U.messageBox("Fehler", data.errorMessage, true);
                    }
                }, "json"
            );
        });
    },

    comment: function() {
        $U.messageBox("Meldung kommentieren", "Funktion ist leider noch nicht umgesetzt", false);
    },

    like: function(e) {
        $(this).parent().hide();
        $U.messageBox("Meldung zustimmen", "Funktion ist leider noch nicht umgesetzt", false);
    },
    dislike: function(e) {
        $(this).parent().hide();
        $U.messageBox("Meldung dissen", "Funktion ist leider noch nicht umgesetzt", false);
    },

    dispose: function() {
    }
};