var ChatRoom = 1;var ChatPhase = 1;var ChatAutoScroll=true;var ChatIgnoreAlert=false;var ChatIgnoreError=false;var ChatIgnoreExp=false;var ChatIsPosting=0;var ChatLast={};var ChatLastMsg="";var ChatLog={};var ChatMaxID=0;var ChatMode="";var ChatPopout=false;var ChatReadRules=false;var ChatFillMsg=function(a){return function(){$("#ChatMsg").val(a);$("#ChatMsg").focus()}};function ChatStart(a,b){ChatMode=b;ChatLoad(a);if(ChatReadRules){$("#ChatArea").html('<div style="padding:4px" class="red b">You must read the chat rules before posting. <a href="javascript:;" onclick="popwindow(\'/chat/?rules\',400,420)" class="red">Click here</a> to read the rules.</div>');$("#ChatMsg").attr("disabled",true)}$("#ChatArea").scroll(function(){var c=$("#ChatArea").attr("scrollHeight")-$("#ChatArea").scrollTop()-$("#ChatArea").outerHeight();ChatAutoScroll=c<=20});setTimeout('ChatFresh('+ChatPhase+')',5000);$("#ChatMsg").keyup(function(c){if(c.keyCode==13){$(this).blur();ChatPost()}if($(this).val().length>200){$(this).val($(this).val().substr(0,200));$(this).focus()}});$("#ChatExpand").click(function(){ChatIgnoreExp=true;popwindow("/chat/",400,400,"no");if(!$("#Chat").is(":hidden")){ChatHide()}});$("#ChatPre").click(function(){if($("#Chat").is(":hidden")){ChatShow()}else{ChatHide()}});$(window).unload(function(){$("#Chat").hide();$("#ChatPreExp").show();$("#ChatPreMin").hide();ChatIgnoreError=true})}function ChatShow(){if(ChatIgnoreExp){ChatIgnoreExp=false;return}$("#ChatArea").stop(true);$("#Chat").slideDown(500,function(){$("#ChatPreExp").hide();$("#ChatPreMin").show();$("#ChatMsg").focus()});$("#ChatArea").ready(function(){$("#ChatArea").scrollTop($("#ChatArea").attr("scrollHeight"))})}function ChatHide(){if(ChatIgnoreExp){ChatIgnoreExp=false;return}$("#Chat").slideUp(500,function(){$("#ChatPreExp").show();$("#ChatPreMin").hide()})}function ChatLoad(c){for(msgid in ChatLog){if(c[msgid]==undefined){ChatLog[msgid]=false;$("#chat"+msgid).remove()}}var a=0;for(msg in c){if(ChatReadRules){ChatLast=c[msg];continue}var g=parseInt(msg);if(ChatLog[msg]!==undefined&&ChatLog[msg]!==false){if(ChatLog[msg]!==c[msg].e){ChatLog[msg]=c[msg].e;$("#chatTop"+g).html(ChatUsername(c[msg]))}a=msg;continue}ChatLog[msg]=c[msg].e;var f=$("<div />").attr("id","chat"+msg).addClass("ChatInit"+c[msg].s.toString());var d=$("<div />").attr("id","chatTop"+msg).html(ChatUsername(c[msg])).appendTo(f).addClass("ChatTop");if(c[msg].o[0]==1||c[msg].o[1]==1){var b=$("<div />").html('<div class="ChatOpt">'+(c[msg].o[0]==1?'<a href="javascript:;" onclick="ChatDel('+msg+')" class="red">DEL</a>':"")+(c[msg].o[1]==1?' <a href="javascript:;" onclick="ChatBan('+msg+')" class="red">BAN</a>':"")+"</div>").appendTo(f)}var e=$("<div />").html(c[msg].msg).appendTo(f).addClass("ChatBot").dblclick(ChatFillMsg("@"+c[msg].u+": ")).css("cursor","default");if(a<=0){$("#ChatArea").prepend(f)}else{if($("#chat"+a)==undefined){$("#ChatArea").append(f)}else{$("#chat"+a).after(f)}}f.fadeIn(500);a=g;if(g>ChatMaxID){ChatMaxID=g;ChatLast=c[msg]}}if(ChatLast.id!==undefined){if(ChatPopout){document.title=ChatLast.msg3+" ("+ChatLast.u+")"}$("#ChatPreChat").html("<div><b>"+ChatLast.u+"</b> ("+ChatLast.d+'):</div><div style="white-space:nowrap;overflow:hidden;">'+ChatLast.msg+"</div>");$("#ChatArea").ready(function(){ChatScroll(false)})}else{if($("#ChatArea").children().length==0){$("#ChatPreChat").html("")}}}function ChatPost(){$("#ChatMsg").attr("readonly",true);$("#ChatMsg").blur();var a=encodeURIComponent($("#ChatMsg").val().trim());$("#ChatMsg").val("");if(a==""){$("#ChatMsg").attr("readonly",false);$("#ChatMsg").focus();if(!ChatIgnoreAlert){alert("Sorry but you must enter a message in order to make a post.");ChatIgnoreAlert=true}else{ChatIgnoreAlert=false}return false}if(ChatLastMsg==a){$("#ChatMsg").attr("readonly",false);$("#ChatMsg").focus();if(!ChatIgnoreAlert){alert("Sorry but you can not post the same message twice.");ChatIgnoreAlert=true}else{ChatIgnoreAlert=false}return false}ChatLastMsg=a;ChatIsPosting=true;$.ajax({url:"/assets/js/ajax?chatPost&msg="+a+"&k="+ChatMode+'&room='+ChatRoom,cache:false,dataType:"json",success:function(b){
	
	if(ChatFail(b)){return false}
	if(b.msgs!==undefined) {
	ChatLoad(b.msgs);
	}
	$("#ChatMsg").attr("readonly",false);ChatIsPosting=false;ChatIgnoreAlert=false;$("#ChatMsg").focus();setTimeout(function(){$("#ChatMsg").focus()},500)},error:function(){ChatFail("")}})}function ChatScroll(a){if(ChatAutoScroll||a==true){$("#ChatArea").scrollTop($("#ChatArea").attr("scrollHeight"))}}function ChatSmile(){$("#ChatSmile2").show()}function ChatSmileHide(){$("#ChatSmile2").hide()}function ChatSelectSmile(a){if(!$("#ChatMsg").is(":disabled")){$("#ChatMsg").insertAtCaret(" "+a)}}function ChatDel(a){if(!confirm("Do you really want to delete this post?")){return false}$.ajax({url:"/assets/js/ajax?chatDel&id="+a+"&k="+ChatMode+'&room='+ChatRoom,cache:false,dataType:"json",success:function(b){if(ChatFail(b)){return false}ChatLoad(b.msgs)}})}function ChatBan(a){if(!confirm("Do you really want to ban this user from posting? After three strikes they are banned.")){return false}$.ajax({url:"/assets/js/ajax?chatBan&id="+a+"&k="+ChatMode+'&room='+ChatRoom,cache:false,dataType:"json",success:function(b){if(ChatFail(b)){return false}ChatLoad(b.msgs)}})}function ChatUsername(c){var b="";if(c.o[1]==1&&c.o[2]>0){b+='<span class="red">';for(var a=1;a<=c.o[2];a++){b+="x"}b+="</span> "}return'<div style="float:right;font-size:10px">'+c.d+"</div>"+b+'<a href="/profile/'+c.u+'" class="ChatUsername" target="_blank">'+c.u+"</a>"}function ChatLost(){if(ChatIgnoreError){return}$("#ChatArea").html('<div style="padding:4px" class="red b">The chatbox is currently having trouble communicating with the server. Please refresh.</div>');$("#ChatMsg").attr("disabled",true)}function ChatRulesRead(){$("#ChatArea").html("");$("#ChatMsg").attr("disabled",false);ChatReadRules=false};


$("#ChatArea").ready(function(){
	$('.ChatRoom').click(function(){
		var NewRoom = $(this).attr('id').substr(8);
		if(NewRoom==ChatRoom)
			return;
		
		$('#ChatRoom'+ChatRoom).removeClass('pressed');
		ChatRoom = NewRoom;
		$('#ChatRoom'+ChatRoom).addClass('pressed');
		ChatReset();
	});
});

function ChatReset() {
	ChatPhase++;
	ChatLast = {};
	ChatLastMsg = '';
	ChatLog = {};
	ChatMaxID = 0;
	$('#ChatArea').html('');
	setTimeout('ChatFresh('+ChatPhase+')',0);
}

function ChatFresh(phase) {
	if(phase!=ChatPhase)
		return false;
	$.ajax({
		url: '/assets/js/ajax?chatFresh&k='+ChatMode+'&room='+ChatRoom,
		cache: false,
		dataType: 'json',
		success: function(data) {
			if(phase!=ChatPhase)
				return false;
			if(ChatFail(data))
				return false;
			if(!ChatIsPosting)
				ChatLoad(data.msgs);
			ChatPhase++;
			setTimeout('ChatFresh('+ChatPhase+')',5000);
		},
		error: function() {
			ChatLost();
		}
	});
}
function ChatFail(a){if(typeof(a)!="object"){return true;}if(a.alert!==undefined){alert(a.alert);return false;}else if(a.fail!==undefined){alert(a.fail);return true;}return false;}
