﻿/// <reference path="jquery-1.3.2-vsdoc2.js" />
function openChatWindow(location) {
    window.open(location, 'mywindow', 'width=600,height=400,left=0,top=100,screenX=0,screenY=100');
}
$(document).ready(setup);

function setup() {
    $(document).ajaxError(function(event, request, settings) { error(event, request, settings); });
    getData();
    setInterval(getData, 5000);
}

function error(event, request, settings) {
    alert(request.responseText); 
}

function getData() {

    $.ajax
    ({
        type: "POST",
        url: dpJsTilde+"/Services/SLCService.asmx/GetChatNotification",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) { processData(msg.d); }
    });
}

var chatArray;

function processData(d) {
    if (d != null) {
        if (d.length > 0) {
            chatArray = new Array(d.length);
            $('#ctl00_chatNotification_lnkChat').show();
            var hidden = true;
            var index = 0;
            var chatsHtml = "<ul>";
            for (var chat in d) {

                chatsHtml += "<li>" + d[chat].DisplayName + "<a href='#' id='ChatLink_" + d[chat].ScrambledSessionId + "'>Accept</a> - <a href='#' id='DeclineLink_" + d[chat].ScrambledSessionId + "'>Decline</a></li>";
           
                chatArray[index] = d[chat].ScrambledSessionId;
                if (d[chat].IsHidden == false) {
                    hidden = false;
                }
                index++;
            }
            chatsHtml += "</ul>";
            $("#divChatRequests").html(chatsHtml);
            $("[id^=ChatLink_]").click(function(e) { chatLinkClicked(e); });
            $("[id^=DeclineLink_]").click(function(e) { declineLinkClicked(e); });
            if (!hidden) {
                $find('ctl00_chatNotification_mpeChat').show();
            }
        }
    }
}

function declineLinkClicked(e) {
    $.ajax
        ({
            type: "POST",
            url: dpJsTilde + "/Services/SLCService.asmx/DeclineChatSession",
            data: "{'scrambledChatSessionId':'" + e.target.id.substring(12)+ "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                $find('ctl00_chatNotification_mpeChat').hide();
                $('#ctl00_chatNotification_lnkChat').hide();
            }
        });
}

function chatLinkClicked(e) {
    openChatWindow(dpJsTilde + '/Auth/Messaging/Chat.aspx?s=' + e.target.id.substring(9));
    $(e.target).hide();
    $find('ctl00_chatNotification_mpeChat').hide();
    $('#ctl00_chatNotification_lnkChat').hide();
}


function hideChatNotifications() {
    for (var i in chatArray) {
        $.ajax
        ({
            type: "POST",
            url: dpJsTilde+"/Services/SLCService.asmx/HideChatNotification",
            data: "{'scrambledChatSessionId':'" + chatArray[i] + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) { processData(msg.d); }
        });
    }
}