var ChanelId = 'public';
var touser = '';
var chatIsOnline = '';

$(document).ready(function(){

	get_online();
	
	if( shortchat == true && $.cookie("chatshow") == 'show') {
	
		showChat();
	}
	
	check_chanel( ChanelId );
	$('.uchat').live('click', function() {
		
		//touser = $(this).attr('rel');
		touser = $(this).html();
		
		$('#mess').val( touser + ', ' ).focus();
	});
	//sendSystemMessage( document.title, 2 );
	if( shortchat == false) buildSmilesPanel();
	
	//if( userchanel ) check_chanel( userchanel );
	
});


/*aqStamp v1.0.5*/
(function($){$.aqStamp=function(s,t){var _0=parseInt((new Date()).getTime()/1000,10)-parseInt(s,10),_2='',_1=$.aqStamp.text;if(_0<60){_2=_1.seconds}else if(_0<120){_2=_1.minute}else if(_0<3600){_2=Math.round(_0/60)+' '+_1.minutes}else if(_0<7200){_2=_1.hour}else if(_0<86400){_2=Math.round(_0/3600)+' '+_1.hours}else if(_0<172800){_2=_1.day}else if(_0<2678400){_2=Math.round(_0/86400)+' '+_1.days}else if(_0<5356800){_2=_1.month}else if(_0<31536000){_2=Math.round(_0/2678400)+' '+_1.months}else if(_0<63072000){_2=_1.year}else{_2=Math.round(_0/31536000)+' '+_1.years}if(t){return'<span title="'+(new Date(s*1000)).toLocaleString()+'">'+_2+' '+_1.ago+'<\/span>'}return _2+' '+_1.ago};$.aqStamp.text={seconds:'few seconds',minute:'about a minute',minutes:'minutes',hour:'over an hour',hours:'hours',day:'over a day',days:'days',month:'over a month',months:'months',year:'over a year',years:'years',ago:'ago'}}(jQuery));
	

	function hideChat(){
	
		$("#chatdiv").slideUp();
		$("#chatinfo").slideDown();
		$.cookie("chatshow", null );
	}

	function showChat(){
	
		$("#chatdiv").slideDown();
		$("#chatinfo").slideUp();
		$.cookie("chatshow", 'show', { expires: 2 });
		check_chanel( ChanelId );
	}

	function sendChatMess( ) {
	
		var mess = $("#mess").val();
		$("#postmess input").attr("disabled","disabled");
		
		var chnl = 'public';
		sendSystemMessage( chnl, mess, 1 );
	}


	function sendSystemMessage( chnl, mess, tp ) {

		var ChanelId = 'public';
		if(mess){
		
			$.ajax({
				url:  dle_root + "gorets_add/ajax/ajax.php",
				type: "POST",
				data: {
					chanel: chnl,
					message: mess,
					touser: touser,
					type: tp,
					mod: 'chatpost'
				},
				beforeSend : function () {
				
				},
				success: function(result, status, xhr) {
					
					//$("#mess").val('');
					$("#postmess input").removeAttr('disabled');
					$("#mess").val('').focus();
					touser = '';
				},
			});
		}
	}

	function check_chanel( chnl, lm, et ) {
	
		if( chatEnabled != true) return false;
		
		if(chatIsOnline == chnl) return;

		chatIsOnline = chnl;
		$.ajax({
			url: dle_root + "listen-broadcast?cid=" + chnl,
			type: "GET",
			dataType: "json",
			cache: false,
			//crossDomain: true,
			beforeSend : function (xhr) {
				xhr.setRequestHeader('If-Modified-Since', lm);
				xhr.setRequestHeader('If-None-Match', et);
			},
			success: function(result, status, xhr) {
				
				lm = xhr.getResponseHeader("Last-Modified");
				et = xhr.getResponseHeader("Etag");
				new_message(result);
				
				chatIsOnline = '';
				setTimeout( function() { check_chanel(chnl, lm, et) }, 50);
			},
			error: function(error) {

				chatIsOnline = '';
				setTimeout( function() { check_chanel(chnl, lm, et) }, 10000);
			}		
		});
	}
	
	function new_message( data ) {
		
		//вывод сообщений в окно 
		if(data.t == 1 || data.t == 2 ) {

			var messAgo = parseInt((new Date()).getTime() / 1000, 10) - parseInt(data.dt, 10);
			//console.log(messAgo);
			
			var tome = ''; 
			if(data.to == usernic) {
				tome= ' tome';
				
				if( shortchat == true && messAgo < 180)  $.jGrowl( data.mes, { header: '«'+data.u+'» написал Вам в чате новое сообщение', life: 8000 });
			}
			//console.log(data.to+'  '+usernic);
			
			if(messAgo < 30 && data.t == 2) {
			
				$.jGrowl( '<b>'+ data.u +'</b> '+ data.mes, { life: 8000 });
			}
			
			var targ = data.u;
			if( data.uid > 0 ) targ = 'id-'+data.uid;
			
			var out = '<div class="chatm'+data.t+tome+'"><span class="dt">'+ $.aqStamp(data.dt) +'</span> <span class="uchat usrg'+data.ug +'" rel="'+ targ +'">'+data.u+'</span> &raquo; '+ data.mes+'</div><div class="clear"></div>\n';
			$('#messages').prepend( out );
			//$('#messages').effect('highlight'); 
		}
		//system message
		if(data.t == 3 ) {
			
			if( data.mes == '#ban' && data.to == usernic ) { 
				
				window.location.href =  dle_root + 'templates/new/images/ban.png';
			}
		}
	}
	
	
	function get_online() {
	
		if( chatEnabled == false) return false;
		
		$.ajax({
			url:  dle_root + "gorets_add/ajax/ajax.php?mod=chatonline",
			type: "GET",
			dataType: "json",
			cache: false,
			//crossDomain: true,
			success: function(data) {
				
				if(data != null) {
				
					$('#chatonline').html('<div id="chatpol2">Парни <span>0</span><ul></ul></div> <div id="chatpol1">Девушки <span>0</span><ul></ul></div> <div id="chatpol0">Непонятные <span>0</span><ul></ul></div>');

					if (typeof data.online == 'object') {
					
						for (var i = 0; i < data.online.length; i++) {
							
							var uid = data.online[i].i;
							var unic = data.online[i].n;
							var upol = data.online[i].p;
							var ago = data.online[i].t;
							var gr = data.online[i].g;
							
							display_online(uid, unic, gr, upol, ago);
						}
					}
				}				
				setTimeout( function() { get_online() }, 30000);
			},
		});
	}
	
	function display_online(uid, unic, gr, upol, ago) {
		
		var targ = unic;
		if( uid > 0 ) targ = 'id-'+uid;
	
		$('#chatpol'+upol+' ul' ).append('<li class="uchat usrg'+gr +'" rel="'+ targ +'">'+unic+'</li>');
		$('#chatpol'+upol+' span' ).html( parseInt( $('#chatpol'+upol+' span' ).html() ) + 1 ); 
	}
	
	
	function buildSmilesPanel() {
	
		var smileArr = smiles.split(',');
		for(var i = 0; i < smileArr.length; i++) {
		
			var sm = "<img style=\"vertical-align: middle;border: none;\" alt=\""+smileArr[i]+"\" src=\"http://www.stakhanov.org.ua/engine/data/emoticons/"+smileArr[i]+".gif\" />";
			$('#chatsmiles').append(sm);
		}
		$('#chatsmiles>img').live('click', function() {
		
			$('#mess').val(  $('#mess').val() + ' :'+$(this).attr('alt')+': ' ).focus();
		});
	}
