﻿

var _chatError = false;
var _intervalId = 0;
var _intervalTime = 0;
var _adminChatListIntervalId = 0;


$(document).bind('close.facebox', function () {


    MessageError();

});
 

function RegisterChatUser(toUserId) {


    var name = $("#tbCharUserName").val();
    var mail = $("#tbCharUserEmail").val();
    var params =
    ["name", name,
     "mail", mail];
    System_PageMethod(_rootPath + "WebServices/Messages.asmx", "RegisterChatUser", params, HandleWebserviceResult, MessageError);



}
function SendAdminMessage(toUserId) {

    var id = "tbMessageBox_User_" + toUserId;


    var text = $("#" + id).val();


    if (text.length > 0 && text.length < 4000) {
        StartLoad();
        var params =
        ["toUserId",toUserId,
        "text", text];
        System_PageMethod(_rootPath + "WebServices/Messages.asmx", "SendAdminMessage", params, HandleWebserviceResult, MessageError);

        $("#" + id).val("");

    }
    else
        OpenModal("Between 1 and 4000 chars in comment");
}


function SendUserMessage() {

    var id = "tbMessageBox_User";

    var text = $("#" + id).val();

    if (text.length > 0 && text.length < 4000) {
        StartLoad();
        var params =
        ["text", text];
        System_PageMethod(_rootPath + "WebServices/Messages.asmx", "SendUserMessage", params, HandleWebserviceResult, MessageError);
        $("#" + id).val("");

    }
    else
        OpenModal("Between 1 and 4000 chars in comment");
}


function OpenMessageWindowChatUser() {

    StartLoad();
    var params =  [];
    System_PageMethod(_rootPath + "WebServices/Messages.asmx", "OpenMessageWindowChatUser", params, HandleWebserviceResult, MessageError);



}
function AfterInit(selectedUserId) {

    //fix enter button
    $("#comment textarea").keypress(function (e) {

        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 13)  //Enter keycode
        {
            if (!e.shiftKey) {
                SendUserMessage(selectedUserId);
                return false;
            }
        }
    });
}


function UpdateSettings(selectedUserId) {

    var settingsString = $("#divChatSettings").get(0).innerHTML;

    if (settingsString.length > 0) {
        var settingsArray = settingsString.split("$$$");
        var intervalTime = parseInt(settingsArray[0]) * 1000;

        //UpdateINtervalIf needed
        if (intervalTime != _intervalTime) {
            clearInterval(_intervalId);
            if (intervalTime > 0)
                _intervalId = setInterval("UpdateMessages(" + selectedUserId + ");", intervalTime);
            _intervalTime = intervalTime;
        }

        //Update Writing
        if (settingsArray[1] == "t")
            $("#imgIsWriting").show();
        else
            $("#imgIsWriting").hide();
    }

}





function UpdateMessages(selectedUserId) {


    if ($("#divMessages_User_" + selectedUserId).get(0) != null) {

        var isWriting = ($("#tbMessageBox_User").val().length > 0);

        var params =
        ["isWriting", isWriting];
        System_PageMethod(_rootPath + "WebServices/Messages.asmx", "UpdateMessages", params, HandleWebserviceResult, MessageError);

    }
    else {
        MessageError();
    }
}

function MessageError() {
    _chatError = true;

    if (_intervalId > 0)
        clearInterval(_intervalId);


}



function AfterUpdate(selectedUserId) {

    //scroll to bottom
    if ($("#divMessages_User_" + selectedUserId).get(0) != null) {
        $("#divMessages_User_" + selectedUserId).get(0).scrollTop = $("#divMessages_User_" + selectedUserId).get(0).scrollHeight;


    }
    else
        alert("cant find form" + selectedUserId);

    UpdateSettings(selectedUserId);
}


function SetUserUnactive(selectedUserId) {


    var activeUserId = parseInt($("#hiChatSelectedUserId").val());

    
        var params =
        ["selectedUserId", selectedUserId];
        System_PageMethod(_rootPath + "WebServices/Messages.asmx", "SetUserUnactive", params, HandleWebserviceResult, MessageError);

        if (parseInt(selectedUserId) == activeUserId && activeUserId > 0) // close modal
            CloseModal();


}


