$(document).ready(function() {
	if (typeof(oper)=='undefined') return;
	window.setInterval('updateChat()',oper.speed);
	$('#chat').draggable({
		handle: '#chat_header',
		stop: function(event,ui) {
			$.cookie('chat_left',$(this).css('left'), { path: '/', expires: 365 });
			$.cookie('chat_top',$(this).css('top'), { path: '/', expires: 365 });
		}
	});
	var cleft = $.cookie('chat_left');
	var ctop = $.cookie('chat_top');

	if (cleft && ctop) {
		$('#chat').css('left',cleft );
		$('#chat').css('top',ctop );
	}
	$('#closechat').click(function() {
		$.cookie('chat_opened', 'false', { path: '/', expires: 365 });
		$('#chat').hide();
		copened = false;
		$.get('?chat_action=close_chat');
	});
	$('#openchat').click(function() {
		openChat();
	});
	if (copened) {
		scrollChat();
		$('#chat').show();
	}
	initChat();
	updateChat();
});

var lastMessage = $.cookie('chat_lastmessage') || 0;
var copened = $.cookie('chat_opened')=='true';
var lmts = 0;
var block = 0;
var placeholder = 'Введите сообщение';

function scrollChat() {
	//$('#chat_messages').animate({ scrollTop: $('#chat_messages')[0].scrollHeight }, 1000);
	$('#chat_messages').scrollTop($('#chat_messages')[0].scrollHeight);
}
function initChat() {
	$('#chat #chat_header #op_name').html(oper.op_fullname);
	$('#chat #chat_header #op_second_line').html(oper.op_second_line);
	$('#chat #chat_header #op_photo').attr('src','/resources/config/'+oper.op_photo);
	$('#chat_msg').bind('focus', function() {
		if ($(this).val()==placeholder) {
			$(this).val('').removeClass('placeholder');
		}
	});
	$('#chat_msg').bind('blur', function() {
		if ($(this).val()=='') {
			$(this).attr('value',placeholder).addClass('placeholder');
		}
	});
	$('#chat_msg').blur();
}
function openChat() {
	$('#chat').show();
	scrollChat();
	$.cookie('chat_opened', 'true', { path: '/', expires: 365 });
	copened = true;
	$.get('?chat_action=open_chat');
}
function addMess(m) {
	nm = $('#chat_message_template').clone().removeAttr('id');
	nm.find('.nick').html(m.from_user=='1' ? 'Вы' : oper.op_name);
	nm.find('.ts').html('['+new Date(parseInt(m.mts)).toLocaleTimeString()+']');
	nm.find('.text').html(m.mess);
	nm.addClass(m.from_user=="1" ? 'user' : 'oper');
	nm.appendTo('#chat_messages').show();
	lmts = m.mts;
}

function updateChat() {
	if (block) return;
	block = 1;
	$.getJSON('.', {'chat_action': 'update', 'lmts': lmts} ,function(data) {
		if (data.length) {
			$.each(data, function(i,item) {
				addMess(item); 
			});
			scrollChat();
			lm = data[data.length-1].mts;
			if (lm>lastMessage) {
				$.cookie('chat_lastmessage',lm, { path: '/', expires: 365});
				lastMessage = lm;
				if (!copened) openChat();
			}
		}
		block = 0;
	});
}

function sendChat() {
	if ($('#chat_msg').val()=='') return;
	if ($('#chat_msg').val()==placeholder) return;
	//$('#chat_msg').attr('disabled','disabled');
	//alert($('#chat_msg').val());

	txt = document.getElementById('chat_msg').value;
	//text = $('#chat_msg').val();
	$.post('.', { chat_action: 'send',mess: txt }, function() {
		$('#chat_msg').val('');
		$('#chat_msg').removeAttr('disabled');
		$('#chat_msg').focus();
		updateChat();
	});
}

