/*
    Путь к php-файлу
*/
var mc_php = "/serv/customer/mc/mc.php";

/*
    Частота обновления миничата (в секундах)
*/
var mc_delay = 5;

/*
    максимальное кол-во сообщений в окне
*/
var mc_max_messages = 30;

/*
    Старт/пауза миничата
*/
var mc_stop = false;

/*
    Флаг для блокирования параллельных AJAX-запросов
*/
var mc_sync = false;

/*
    Дата и время последнего опубликованного сообщения в окне миничата
*/
var mc_timestamp = "null";

/*
    Старт миничата
*/
function mc_start() {
    mc_stop = false;

    mc_repeat();
}

/*
    Пауза миничата

function mc_pause() {
    mc_stop = true;
}
*/

/*
    Цикл миничата
*/
function mc_repeat() {
    if(!mc_stop) {
        mc_refresh();

        setTimeout("mc_repeat()", mc_delay * 1000);
    }
}

/*
    Загрузка новых сообщений в чат
*/
function mc_refresh() {
    if(mc_sync) {
        return;
    }

    mc_sync = true;

    $.getJSON(mc_php, { timestamp: mc_timestamp }, function(mc_data) {
        mc_data = eval('(' + mc_data + ')');

        var op = false;
        if(mc_data.status == 'error') {
            $('#mc_messages').prepend('<p style="color:red">[Ошибка ' + mc_data.error_msg + ']</p>');
            op = true;
        }else{
            mc_timestamp = mc_data.laststamp;
            for(var i = mc_data.msgs.length-1; i >= 0 ; i--) {
                op = true;
                $('#mc_messages').prepend( mc_data.msgs[i] );
            }
        }

        if(op == true) {
            if($("#mc_messages p").length > mc_max_messages) {
                var cnt = $("#mc_messages p").length - mc_max_messages;

                for(var i=0;i<cnt;i++) {
                    $("#mc_messages p").eq( $("#mc_messages p").length - 1 ).remove();
                }
            }

            $("#mc_messages").jScrollPane( { showArrows:true, scrollbarWidth: 11 } );
        }

        mc_sync = false;
    });
}

/*
    Отправка сообщения
*/
function mc_send() {
    var mc_message = $("#mc_message").val();
    $("#mc_message").val('');

    if(mc_message == "Введите Ваше сообщение") {
        return;
    }

    $.getJSON(mc_php, { msg: mc_message }, function(mc_data) {
        mc_data = eval('(' + mc_data + ')');

        if(mc_data.status == 'error') {
            $("#mc_message").val(mc_message);
            alert(mc_data.et); //"Ошибка при отправке сообщения в чат, повторите попытку немного позже");
        }else{
            mc_repeat();
        }
    });
}