function CHAT_processMessages( text ) {
	var lines = text.split("\n");

	var out = "";
	for (i=0; i<lines.length; i++) {
		var line = lines[i].split("<>");
		if (line.length >= 5) {
			var line_id = parseInt(line[0]);
			if (line_id > CHAT_last_line) {
				CHAT_last_line = line_id;
				var clN     = "name";
				var login   = line[1];
				var sex     = line[2];
				var role    = line[3];
				var message = line[4];
				var name_title = ' title="Пользователь. Кликните, чтобы обратиться по имени."';
				if (role==1)  { clN += " name_moder"; name_title = ' title="Модератор. Кликните, чтобы обратиться по имени."'; }
				if (role==2)  { clN += " name_admin"; name_title = ' title="Администратор. Кликните, чтобы обратиться по имени."'; }
				if (role==3)  { clN += " name_bot"; name_title = ' title="Чат-бот"'; }
				if (sex=='f') { clN += " name_female"; }
				var cl1="";
				if (login==CHAT_myLogin) cl1+=" chat_line_my";
				if (message.indexOf('&lt;'+CHAT_myLogin+'&gt;')!=-1) cl1+=" chat_line_toMe";
				var inf = "<a href='javascript:void(0);'>&nbsp;</a>";
				if (role!=3) inf = "<a href='/users/"+login+"' target='_blank' title='Смотреть профайл'>&nbsp;</a>";
				out += "<div class='chat_line"+cl1+"'><span class='"+clN+"'><span class='inf'>"+inf+"</span> <b onClick=\"CHAT_setTo('"+login+"');\""+name_title+">"+login+"</b>:</span> <span class='text'>"+message+"</span></div>";
			}
		}
	}
	if (out!="") {CHAT_addText(out);}
    CHAT_needUpdate = false;
}

function CHAT_timer() {
    if (!CHAT_enabled) return false;
    if (!CHAT_needUpdate) {
        CHAT_getLastId();
    }
    setTimeout(CHAT_timer, CHAT_updateInterval);
}

function CHAT_reload() {
    if (!document.getElementById('chat_inner')) return;
    $.get('/chat/main.html?r='+Math.random(), function(res){
        CHAT_processMessages(res);
    });
}

function CHAT_getLastId() {
    $.get('/chat/last.html?r='+Math.random(), function(res){
        var line_id = parseInt( res );
        if (line_id > CHAT_last_line) {
            CHAT_needUpdate = true;
            CHAT_reload();
        }
    });
}

function CHAT_expand() {
	$('#chat_outer').css('height', '360px');
	$('#chat_exp_lnk').hide();
	$('#chat_shr_lnk').show();
	CHAT_adjustScroll();
}

function CHAT_shrink() {
	$('#chat_outer').css('height', '60px');
	$('#chat_exp_lnk').show();
	$('#chat_shr_lnk').hide();
	CHAT_adjustScroll();
}

function CHAT_adjustScroll() {
    document.getElementById('chat_outer').scrollTop = document.getElementById('chat_outer').scrollHeight;
}

function CHAT_addText( text ) {
    document.getElementById('chat_inner').innerHTML += text;
    CHAT_adjustScroll();
}

function CHAT_setTo(login) {
    if (!CHAT_myLogin.length) return;
    var line = $('#chat_text');
    line.val('<'+login+'> ' + line.val());
    line.focus();
}

function CHAT_send() {
    var text = $('#chat_text').val();
    if (!text.length) return false;
    $('#chat_text').val('');
    $.post('/chat/say/', {act: 'say', text: text}, function(res){
        if (res == '0') {
            alert('Вы должны авторизироваться, чтобы отправлять сообщения');
        } else if (res == '1') {
            alert('Вы не можете отправлять сообщения');
        } else if (res == '3') {
            alert('В чат могут писать только те пользователи, которые купили хоть один пакет ставок');
        } else if (res) {
            CHAT_needUpdate = true;
            CHAT_processMessages(res);
        }
    });
}

var CHAT_myLogin = '';
var CHAT_last_line = 0;
var CHAT_enabled    = false;
var CHAT_needUpdate = false;
var CHAT_updateInterval = 1000;

$(document).ready(function(){
    if (CHAT_enabled) {
        CHAT_reload();
        setTimeout(CHAT_timer, CHAT_updateInterval);
    }
});