function setCookie(c,e,a,h,d,g){var b=new Date();b.setTime(b.getTime());if(a){a=a*1000*60*60*24}var f=new Date(b.getTime()+(a));document.cookie=c+"="+escape(e)+((a)?";expires="+f.toGMTString():"")+((h)?";path="+h:"")+((d)?";domain="+d:"")+((g)?";secure":"")}function getCookie(b){var g=document.cookie.split(";");var c="";var e="";var f="";var d=false;var a;for(a=0;a<g.length;a++){c=g[a].split("=");e=c[0].replace(/^\s+|\s+$/g,"");if(e==b){d=true;if(c.length>1){f=unescape(c[1].replace(/^\s+|\s+$/g,""))}return f;break}c=null;e=""}if(!d){return null}}function requestResponse(a,b){refreshSeed();$.ajax({type:"POST",url:"chat.php?seed="+$("#seed").val(),cache:false,dataType:"json",data:({action:a,userName:phpVars.userName==""?getUserNameForAjax():phpVars.userName,myColor:getMyColorForAjax(),variables:b}),success:parseResponse})}function parseResponse(a,b){if(b!="success"){showBanInfo("An error happened during parsing the request. Reloading page.");document.location.reload(true)}if(a.retCode=="error"){showBanInfo(a.errorMessage);document.location.reload(true)}if(a.alertMessage){alert(a.alertMessage)}if(a.retCode=="banned"){showBanInfo(a.banText)}if(a.retCode=="tooManyUsers"){showBanInfo("Too many users from this host. Wait 10 seconds until page reloads.");setTimeout("document.location.reload(false)",10000)}if(a.retCode=="ok"){if(banned){$("#textInput").val("");banned=false;enableButtons()}}if(a.userName){userName=a.userName;setCookie("userName",userName,100);$("#userName").val(userName)}if(a.myColor){myColor=a.myColor;$("#textInput").css({color:myColor});$("#myColorPicker").css({"background-color":myColor});setCookie("myColor",myColor,100)}if(a.userArray){printUserList(a.userArray)}if(!banned&&buttonsDisabled){enableButtons()}if(a.action=="reloadChatText"){reloadChatText()}}function reloadChatText(){if(chatTextRefreshId!=0){clearInterval(chatTextRefreshId)}for(key in chatXhrArray){chatXhrArray[key].abort()}chatXhrArray=new Array();loadChatTextWindow();chatTextRefreshId=setInterval("loadChatTextWindow()",phpVars.chatWindowRefreshTime)}function printUserList(e){var d=new Array();var b=new Array();var a=0;var c=new String();for(a=0;a<e.length;a++){d[a]=e[a].toLowerCase()+"_"+a;b[d[a]]=e[a]}d.sort();for(a=0;a<d.length;a++){c+=b[d[a]]+"<br />"}$("#userArea").html(c)}function scrollWindowToBottom(){if(scrollOnLoad){if(chatArea.attr("scrollTop")<chatArea.attr("scrollHeight")){chatArea.animate({scrollTop:chatArea.attr("scrollHeight")},500)}}}function refreshSeed(){$("#seed").val(Math.floor((Math.random()*100000000000)))}function getUserNameForAjax(){var a=getCookie("userName");if(a==null||a=="undefined"){return""}return a}function getMyColorForAjax(){var a=getCookie("myColor");if(a==null||a=="undefined"){return""}return a}function changeUserName(a){if(a==null){a=prompt("Enter your new nick (maximum "+phpVars.userMaxLength+" characters)","")}if(a){if(a.length>phpVars.userMaxLength){alert("New nickname is too long!\nChoose another.")}else{disableButtons();requestResponse("changeUserName",{newUserName:a})}}else{$("#textInput").focus()}}function disableButtons(){if(!buttonsDisabled){buttonsDisabled=true;$("#textInput").attr("disabled","disabled");$("#userName").attr("disabled","disabled");$("#sendTextButton").attr("disabled","disabled");$("#bigWindowButton").attr("disabled","disabled");$("#myColorPicker").attr("disabled","disabled")}}function enableButtons(){if(buttonsDisabled){buttonsDisabled=false;$("#textInput").removeAttr("disabled");$("#userName").removeAttr("disabled");$("#sendTextButton").removeAttr("disabled");$("#bigWindowButton").removeAttr("disabled");$("#myColorPicker").removeAttr("disabled");$("#textInput").blur();setTimeout("$('#textInput').focus()",15)}}function loadChatTextWindow(){refreshSeed();var a=$.ajax({type:"GET",url:phpVars.chatTextName,cache:false,success:parseChatTextWindow});chatXhrArray.push(a)}function parseChatTextWindow(b,c,d){if(c=="success"&&b!=""){chatWindowText=b;if(oldChatWindowText!=chatWindowText){chatArea.html(chatWindowText);oldChatWindowText=chatWindowText;setTimeout("scrollWindowToBottom()",100)}}var a=new Array();for(key in chatXhrArray){if(chatXhrArray[key]!=d){a.push(chatXhrArray[key])}}chatXhrArray=a}function sendTextToServer(){if($("#textInput").val()!=""&&$("#textInput").val()!="Enter your text here..."){if(oldChatInputText!=$("#textInput").val()){textToPost=$("#textInput").val();var b=true;var a=textToPost.split(" ");if(a[0]=="/nick"){a.shift();changeUserName(a.join(" "));$("#textInput").val("");$("#textInput").focus();return false}disableButtons();if(b){chatArea.html(chatArea.html()+'<p><span class="name">'+userName+"</span>: <span style='color:"+myColor+"'>"+textToPost+"</span></p>\n")}requestResponse("sendText",{textToPost:textToPost});$("#textInput").val("");oldChatInputText=textToPost;oldChatWindowText+=" ";scrollWindowToBottom();scrollOnLoad=true}else{$("#textInput").val("");$("#textInput").focus()}}else{$("#textInput").focus()}}function setMyColor(a){disableButtons();requestResponse("setMyColor",{newColor:a})}function showBanInfo(a){if(!banned){banned=true;banInfoShown=true;disableButtons()}$("#textInput").val(a)}function openBigChatWindow(){disableButtons();clearTimeout(chatTextRefreshId);chatTextRefreshId=0;if(userListRefreshId!=0){clearInterval(userListRefreshId);userListRefreshId=0}window.open("bigWindow.php");chatArea.html("Nothing more can be seen here until reloading.")}function onChatAreaScroll(a){scrollPercent=chatArea.attr("scrollTop")/(chatArea.attr("scrollHeight")-chatArea.attr("clientHeight"))*100;scrollOnLoad=scrollPercent>notScrollUnderPercent}$(document).ready(function(){chatArea=$("#chatArea");$("#textInput").bind("keypress",function(a){if(a.which==13){sendTextToServer()}});chatArea.bind("click",function(){$("#textInput").focus()});$("#myColorPicker").addColorPicker({colorBg:"yes",cursor:"pointer",autoClose:"yes",showCode:"no",closeCallBack:setMyColor});$("#textInput").bind("focus",function(){if($("#textInput").val()=="Enter your text here..."){$("#textInput").val("")}});$("#textInput").bind("blur",function(){if($("#textInput").val()==""){$("#textInput").val("Enter your text here...")}});chatArea.bind("scroll",onChatAreaScroll);disableButtons();requestResponse("getName");userListRefreshId=setInterval("requestResponse('getUserList')",phpVars.userListRefreshTime);loadChatTextWindow();chatTextRefreshId=setInterval("loadChatTextWindow()",phpVars.chatWindowRefreshTime)});var buttonsDisabled=false;var banned=false;var banInfoShown=false;var userName="";var oldChatWindowText="";var chatWindowText="";var userListRefreshId=0;var chatTextRefreshId=0;var oldChatInputText="";var myColor="";var scrollOnLoad=true;var notScrollUnderPercent=95;var chatArea=new Object();var chatXhrArray=new Array();