
var blChatting = false;
var blListening = false;


function liveChat()
{
    $("#livechat").click(function(event) {
        event.preventDefault();
        $("#msgbox").val("");
        $("#chat").html("");
        $( "#aditionalInfo" ).dialog( "open" );
    });

    $('#msgbox').keyup(function(e) {
        if(e.keyCode == 13) {
            $('#msgbox').val($('#msgbox').val().substring(0, $('#msgbox').val().length - 1));
            sendMessage()
        }
    });    
}

$(function() {
    $( "#aditionalInfo" ).dialog({
        autoOpen: false,
        width:  450,
        height: 400,
        modal   : true,
        close: function(event, ui) {
            $.ajax({
                type:    "POST",
                url:     "chat.php",
                data:    "a=cl",
                success: function(msg)
                {
                    blChatting = false
                    blListening = false;
                    alert("La sesion de chat ha finalizado con exito. Gracias por permitirnos mejorar.")
                }
            });                
        }
    });
});

function listener()
{
    $.ajax({
        type:    "POST",
        url:     "chat.php",
        data:    "a=cm",
        success: function(msg)
        {
            if(msg != "none")
            {
                messages = msg;
                $("#chat").html($("#chat").html()+messages);
                $('#chat').animate({scrollTop: $('#chat').get(0).scrollHeight}, 1500);
            }
        }
    });                
    if(blListening)
        setTimeout(listener, 1000);                            
}

function waitForAgent()
{
    $.ajax({
        type:    "POST",
        url:     "chat.php",
        data:    "a=fa",
        success: function(msg)
        {
            var strAgente = msg;

            if(strAgente == "none")
            {
                $("#msgbox").val("");
                //$("#msgbox").setAttribute("enabled","enabled");
                $("#chat").html("En este momento todos nuestros agentes se encuentran ocupados, por favor intentelo de nuevo mas tarde<br>");
            }
            else
            {
                $("#msgbox").val("");
                //$("#msgbox").setAttribute("enabled","enabled");
                $("#chat").html("Esta sesion sera atendida por el agente "+strAgente+", Bienvenido(a)<br>");
                blChatting = true;
                blListening = true;
                setTimeout(listener, 1000);
            }

        }
    });

}

function initChatSession(message)
{
    $.ajax({
        type:    "POST",
        url:     "chat.php",
        data:    "a=i&m="+message,
        success: function(msg)
        {
            $("#msgbox").val("");
            $("#msgbox").focus();
            $("#msgbox").setAttribute("disabled","disabled");
            $("#chat").html("Buscando un asesor disponible...");
        }
    });

    setTimeout(waitForAgent, 1000);
}

function sendMessage()
{
    var message = $("#msgbox").val();

    if(!blChatting)
        initChatSession(message);
    else
    {
        $.ajax({
            type:    "POST",
            url:     "chat.php",
            data:    "a=sm&m="+message,
            success: function(msg)
            {
                $("#msgbox").val("");
                $("#msgbox").focus();
            }
        });
    }
}


