﻿var CHAT_OUTPUT_INIT_HEIGHT = 0;
var CHAT_OUTPUT_INIT_TEXT = '';
var QUERY_CHAT = true;
var CHAT_INTERVAL = null;

$(function () {
    CHAT_OUTPUT_INIT_HEIGHT = $('#uxChatOutput').height();
    CHAT_INPUT_INIT_TEXT = $('#txtChatInput').val();
    $('#txtChatInput').focus(ExpandChat).blur(ContractChat).keypress(SendChat);
    //CHAT_INTERVAL = setInterval("GetChatMessages();", 2000);
});

function ContractChat() {
    $('#txtChatInput').css('color', '#999').val(CHAT_INPUT_INIT_TEXT);
    $('#uxChatOutput').animate({ 'height': CHAT_OUTPUT_INIT_HEIGHT });
}
function ExpandChat() {
    $('#txtChatInput').css('color', '#000').val('');
    $('#uxChatOutput').animate({'height': '200'});
}
function SendChat(event) {
    if (event.which == '13') {
        event.preventDefault();
        SendChatMessage($('#txtChatInput').val().replace("'", /&quote;/gi));
        $('#txtChatInput').val('');
    }
}
function GetChatMessages() {
    if (GlobalGetUrlVar("noupdate") != "" || !WINDOW_IS_IN_FOCUS || !globalLoggedIn) { return; }
    if (QUERY_CHAT == false) { clearInterval(CHAT_INTERVAL); return; }
    $.ajax({ type: "POST", url: "WebService.asmx/GetChatMessages", contentType: "application/json; charset=utf-8", data: "{'ignoreSession':false}", dataType: "json", success: ChatMessagesRecieved, error: ChatError });
}
function ChatMessagesRecieved(response){
    var messages = response.d;
    for (var i = 0; i < messages.length; i++) {
        $('#uxChatOutput').html(messages[i] + '<br />' + $('#uxChatOutput').html());
    }
}
function SendChatMessage(msg) {
    if (QUERY_CHAT == false) { clearInterval(CHAT_INTERVAL); return; }
    $.ajax({ type: "POST", url: "WebService.asmx/SendChatMessage", contentType: "application/json; charset=utf-8", data: "{'newChat':'" + msg + "'}", dataType: "json", success: GetChatMessages, error: ChatError });
}
function ChatError(response){
    //debugger;
    QUERY_CHAT = false;
    clearInterval(CHAT_INTERVAL);
}
    
