﻿

$(window).ready(function () {
    var chatRequestsOpen = false;
    var removeChatRequest = function (senderId, onSuccess) {
        $.ajax({
            url: homeURL + "Profile/RemoveChatRequest",
            type: "POST",
            data: { senderId: senderId },
            success: onSuccess
        });
        CheckChatRequests();
    }

    var openChatRequests = function () {
        $.ajax({
            url: homeURL + "Profile/GetChatRequests",
            type: "POST",
            success: function (result) {
                if (result.success) {
                    if (result.requests.length > 0) {
                        // alert(result.requests);
                        var memberList = $("<ul>", { 'class': "chatRequest" });
                        var dialogHeight = 108;
                        jQuery.each(result.requests, function () {
                            var member = $("<li>", { alt: this.ID });
                            member.append($("<a>", { href: this.ProfileUrl, text: this.FirstName + " " + this.LastName, target: "_blank" }));
                            // member.append($("<div>").append(this.FirstName+" "+this.LastName));
                            member.append($("<input>", { type: "button", value: "Decline" }).button().click(function () {
                                var a = $(this).parent();
                                removeChatRequest($(this).parent().attr("alt"), function () { a.fadeOut(); })
                                    ;
                            }));
                            if (this.Online) {
                                member.append($("<input>", { type: "button", value: "Accept", id: this.ID }).button().click(function () {
                                    jqcc.cometchat.sendMessage(this.id, 'Chat request accepted!');
                                    var a = $(this).parent();
                                    removeChatRequest($(this).parent().attr("alt"), function () { a.fadeOut(); })
                                }));
                            } else {
                                member.append($("<input>", { type: "button", value: "Offline", id: this.ID, disabled: "disabled" }).button());
                            }

                            memberList.append(member);
                            dialogHeight += 30;
                        });

                        if (dialogHeight > 500) { dialogHeight = 500; }

                        $("#dialog").html("").append(memberList);
                        $("#dialog").dialog("option", "buttons", { "OK": function () { $(this).dialog("close"); } });
                        $("#dialog").dialog("option", "title", "Chat Requests");
                        $("#dialog").dialog("option", "height", dialogHeight);
                        $("#dialog").dialog("open");

                    }
                }

            },
            global: false
        });

    }

    var CheckChatRequests = function () {

        $.ajax({
            url: homeURL + "Profile/CheckChatRequests",
            type: "POST",
            success: function (result) {
                if (result.success) {
                    if (result.requests.length > 0) {
                        var totalCount = 0;
                        jQuery.each(result.requests, function () {
                            totalCount += this.count;
                            if (this.status == 0 && this.count > 0) {
                                openChatRequests();
                            }
                        });

                        $('#MessageRequests > div').show();
                        $('#MessageRequests > div').html(totalCount);
                    } else { $('#MessageRequests > div').hide(); }
                }

            },
            global: false
        });
    }

    if (IsAuthenticated == true) {
        $('#LogOn').css('display', 'none');
        $('#LoggedOn').css('display', 'inline');

        (function () {
            CheckChatRequests();
            setTimeout(arguments.callee, 15000);
        })();
    }

    $('#MessageRequests').click(function () { openChatRequests(); });
});
