var ajaxChat={diRun:true,connecting:false,waiting:false,iClick:false,msgMethod:0,settingsInitiated:null,styleInitiated:null,initializeFunction:null,finalizeFunction:null,loginChannelID:null,loginChannelName:null,timerRate:null,timer:null,ajaxURL:null,baseURL:null,regExpMediaUrl:null,dirs:null,startChatOnLoad:null,chatStarted:null,domIDs:null,dom:null,settings:null,nonPersistentSettings:null,unusedSettings:null,bbCodeTags:null,colorCodes:null,emoticonCodes:null,emoticonFiles:null,soundFiles:null,sounds:null,soundTransform:null,sessionName:null,cookieExpiration:null,cookiePath:null,cookieDomain:null,cookieSecure:null,chatBotName:null,chatBotID:null,allowUserMessageDelete:null,inactiveTimeout:null,privateChannelDiff:null,privateMessageDiff:null,showChannelMessages:null,messageTextMaxLength:null,socketServerEnabled:null,socketServerHost:null,socketServerPort:null,socketServerChatID:null,socket:null,socketIsConnected:null,socketTimerRate:null,socketReconnectTimer:null,socketRegistrationID:null,userID:null,userName:null,userRole:null,channelID:null,channelName:null,channelSwitch:null,usersList:null,userNamesList:null,userMenuCounter:null,encodedUserName:null,userNodeString:null,ignoredUserNames:null,lastID:null,localID:null,lang:null,langCode:null,baseDirection:null,originalDocumentTitle:null,blinkInterval:null,httpRequest:null,init:function(c,g,e,b,a,f,d){this.httpRequest=new Object();this.usersList=new Array();this.userNamesList=new Array();this.userMenuCounter=0;this.lastID=0;this.localID=0;this.lang=g;this.diRun=true;this.initConfig(c);this.initDirectories();if(e){this.initSettings()}if(b){this.initStyle()}this.initializeFunction=f;this.finalizeFunction=d;if(a){this.setLoadHandler()}},initConfig:function(a){this.loginChannelID=a.loginChannelID;this.loginChannelName=a.loginChannelName;this.timerRate=a.timerRate;this.ajaxURL=a.ajaxURL;this.baseURL=a.baseURL;this.regExpMediaUrl=a.regExpMediaUrl;this.startChatOnLoad=a.startChatOnLoad;this.domIDs=a.domIDs;this.settings=a.settings;this.nonPersistentSettings=a.nonPersistentSettings;this.bbCodeTags=a.bbCodeTags;this.colorCodes=a.colorCodes;this.emoticonCodes=a.emoticonCodes;this.emoticonFiles=a.emoticonFiles;this.soundFiles=a.soundFiles;this.sessionName=a.sessionName;this.cookieExpiration=a.cookieExpiration;this.cookiePath=a.cookiePath;this.cookieDomain=a.cookieDomain;this.cookieSecure=a.cookieSecure;this.chatBotName=a.chatBotName;this.chatBotID=a.chatBotID;this.allowUserMessageDelete=a.allowUserMessageDelete;this.inactiveTimeout=a.inactiveTimeout;this.privateChannelDiff=a.privateChannelDiff;this.privateMessageDiff=a.privateMessageDiff;this.showChannelMessages=a.showChannelMessages;this.messageTextMaxLength=a.messageTextMaxLength;this.socketServerEnabled=a.socketServerEnabled;this.socketServerHost=a.socketServerHost;this.socketServerPort=a.socketServerPort;this.socketServerChatID=a.socketServerChatID},initDirectories:function(){this.dirs=new Object();this.dirs.emoticons=this.baseURL+"img/emoticons/";this.dirs.sounds=this.baseURL+"sounds/";this.dirs.flash=this.baseURL+"flash/"},initSettings:function(){this.settingsInitiated=true;this.unusedSettings=new Object();var d=this.readCookie(this.sessionName+"_settings");if(d){var a=d.split("&");var e,c,g,f;for(var b=0;b<a.length;b++){e=a[b].split("=");if(e.length==2){c=e[0];g=this.decodeText(e[1]);switch(g){case"true":g=true;break;case"false":g=false;break;case"null":g=null;break;default:f=parseFloat(g);if(!isNaN(f)){if(parseInt(f)==f){g=parseInt(f)}else{g=f}}}if(this.inArray(this.nonPersistentSettings,c)){this.unusedSettings[c]=g}else{this.settings[c]=g}}}}},persistSettings:function(){if(this.settingsInitiated){var a=new Array();for(var b in this.settings){if(this.inArray(this.nonPersistentSettings,b)){if(this.unusedSettings&&this.unusedSettings[b]){this.settings[b]=this.unusedSettings[b]}else{continue}}a.push(b+"="+this.encodeText(this.settings[b]))}this.createCookie(this.sessionName+"_settings",a.join("&"),this.cookieExpiration)}},getSettings:function(){return this.settings},getSetting:function(a){for(var b in this.settings){if(b==a){return this.settings[a]}}return null},setSetting:function(a,b){this.settings[a]=b},initializeSettings:function(){if(this.settings.persistFontColor&&this.settings.fontColor){if(this.dom.inputField){this.dom.inputField.style.color=this.settings.fontColor}}},initialize:function(){this.setUnloadHandler();this.initializeDocumentNodes();this.loadPageAttributes();this.initEmoticons();this.initColorCodes();this.initializeSettings();this.setSelectedStyle();this.customInitialize();if(typeof this.initializeFunction=="function"){this.initializeFunction()}if(!this.isCookieEnabled()){this.addChatBotMessageToChatList("/error CookiesRequired")}else{if(this.startChatOnLoad){this.startChat()}else{this.setStartChatHandler();this.requestTeaserContent()}}this.digudeInit()},requestTeaserContent:function(){var a="&view=teaser";a+="&getInfos="+this.encodeText("userID,userName,userRole");if(!isNaN(parseInt(this.loginChannelID))){a+="&channelID="+this.loginChannelID}else{if(this.loginChannelName!==null){a+="&channelName="+this.encodeText(this.loginChannelName)}}this.updateChat(a)},setStartChatHandler:function(){if(this.dom.inputField){this.dom.inputField.onfocus=function(){ajaxChat.startChat();ajaxChat.dom.inputField.onfocus=""}}},startChat:function(){this.chatStarted=true;if(this.dom.inputField&&this.settings.autoFocus){this.dom.inputField.focus()}this.loadFlashInterface();this.startChatUpdate()},loadPageAttributes:function(){var a=document.getElementsByTagName("html")[0];this.langCode=a.getAttribute("lang")?a.getAttribute("lang"):"en";this.baseDirection=a.getAttribute("dir")?a.getAttribute("dir"):"ltr"},setLoadHandler:function(){var a=window.onload;if(typeof a!="function"){window.onload=function(){ajaxChat.initialize()}}else{window.onload=function(){a();ajaxChat.initialize()}}},setUnloadHandler:function(){var a=window.onunload;if(typeof a!="function"){window.onunload=function(){ajaxChat.finalize()}}else{window.onunload=function(){ajaxChat.finalize();a()}}},updateDOM:function(g,f,a,b){var c=this.dom[g]?this.dom[g]:document.getElementById(g);if(!c){return}try{c.cloneNode(false).innerHTML=f;if(b){c.innerHTML=f}else{if(a){c.innerHTML=f+c.innerHTML}else{c.innerHTML+=f}}}catch(d){this.addChatBotMessageToChatList("/error DOMSyntax "+g);this.updateChatlistView()}},initializeDocumentNodes:function(){this.dom=new Object();for(var a in this.domIDs){this.dom[a]=document.getElementById(this.domIDs[a])}},initEmoticons:function(){for(var a=0;a<this.emoticonCodes.length;a++){this.emoticonCodes[a]=this.encodeSpecialChars(this.emoticonCodes[a]);if(this.dom.emoticonsContainer){this.updateDOM("emoticonsContainer","<a href=\"javascript:ajaxChat.insertText('"+this.scriptLinkEncode(this.emoticonCodes[a])+'\');"><img src="'+this.dirs.emoticons+this.emoticonFiles[a]+'" alt="'+this.emoticonCodes[a]+'" title="'+this.emoticonCodes[a]+'"/></a>')}}},initColorCodes:function(){if(this.dom.colorCodesContainer){for(var a=0;a<this.colorCodes.length;a++){this.updateDOM("colorCodesContainer","<a href=\"javascript:ajaxChat.setFontColor('"+this.colorCodes[a]+'\');" style="background-color:'+this.colorCodes[a]+';" title="'+this.colorCodes[a]+'"></a>\n')}}},startChatUpdate:function(){var b="userID,userName,userRole,channelID,channelName";if(this.socketServerEnabled){b+=",socketRegistrationID"}var a="&getInfos="+this.encodeText(b);if(!isNaN(parseInt(this.loginChannelID))){a+="&channelID="+this.loginChannelID}else{if(this.loginChannelName!==null){a+="&channelName="+this.encodeText(this.loginChannelName)}}this.updateChat(a)},updateChat:function(b){var a=this.ajaxURL+"&lastID="+this.lastID;if(b){a+=b}this.makeRequest(a,"GET",null)},loadFlashInterface:function(){if(this.dom.flashInterfaceContainer){this.updateDOM("flashInterfaceContainer",'<object id="ajaxChatFlashInterface" style="position:absolute; left:-100px;" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+window.location.protocol+'//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" height="1" width="1"><param name="flashvars" value="bridgeName=ajaxChat"/><param name="src" value="'+this.dirs.flash+'FABridge.swf"/><embed name="ajaxChatFlashInterface" pluginspage="'+window.location.protocol+'//www.macromedia.com/go/getflashplayer" src="'+this.dirs.flash+'FABridge.swf" height="1" width="1" flashvars="bridgeName=ajaxChat"/></object>');FABridge.addInitializationCallback("ajaxChat",this.flashInterfaceLoadCompleteHandler)}},flashInterfaceLoadCompleteHandler:function(){ajaxChat.initializeFlashInterface()},initializeFlashInterface:function(){if(this.socketServerEnabled){this.socketTimerRate=(this.inactiveTimeout-1)*60*1000;this.socketConnect()}this.loadSounds();this.initializeCustomFlashInterface()},socketConnect:function(){if(!this.socketIsConnected){try{if(!this.socket&&FABridge.ajaxChat){this.socket=FABridge.ajaxChat.create("flash.net.XMLSocket");this.socket.addEventListener("connect",this.socketConnectHandler);this.socket.addEventListener("close",this.socketCloseHandler);this.socket.addEventListener("data",this.socketDataHandler);this.socket.addEventListener("ioError",this.socketIOErrorHandler);this.socket.addEventListener("securityError",this.socketSecurityErrorHandler)}this.socket.connect(this.socketServerHost,this.socketServerPort)}catch(a){}}clearTimeout(this.socketReconnectTimer);this.socketReconnectTimer=null},socketConnectHandler:function(a){ajaxChat.socketIsConnected=true;setTimeout("ajaxChat.socketRegister()",0)},socketCloseHandler:function(a){ajaxChat.socketIsConnected=false;if(ajaxChat.socket){clearTimeout(ajaxChat.timer);ajaxChat.updateChat(null)}},socketDataHandler:function(a){ajaxChat.socketUpdate(a.getData())},socketIOErrorHandler:function(a){setTimeout("ajaxChat.addChatBotMessageToChatList('/error SocketIO')",0);setTimeout("ajaxChat.updateChatlistView()",1)},socketSecurityErrorHandler:function(a){setTimeout("ajaxChat.addChatBotMessageToChatList('/error SocketSecurity')",0);setTimeout("ajaxChat.updateChatlistView()",1)},socketRegister:function(){if(this.socket&&this.socketIsConnected){try{this.socket.send('<register chatID="'+this.socketServerChatID+'" userID="'+this.userID+'" regID="'+this.socketRegistrationID+'"/>')}catch(a){}}},loadXML:function(c){if(!arguments.callee.parser){try{arguments.callee.parser=new DOMParser()}catch(b){var a=function(){};if(navigator.appName=="Microsoft Internet Explorer"){a.prototype.parseFromString=function(d,e){if(!arguments.callee.XMLDOM){arguments.callee.XMLDOM=new ActiveXObject("Microsoft.XMLDOM")}arguments.callee.XMLDOM.loadXML(d);return arguments.callee.XMLDOM}}else{a.prototype.parseFromString=function(d,e){if(!arguments.callee.httpRequest){arguments.callee.httpRequest=new XMLHttpRequest()}arguments.callee.httpRequest.open("GET","data:text/xml;charset=utf-8,"+encodeURIComponent(d),false);arguments.callee.httpRequest.send(null);return arguments.callee.httpRequest.responseXML}}arguments.callee.parser=new a()}}return arguments.callee.parser.parseFromString(c,"text/xml")},socketUpdate:function(c){var b=this.loadXML(c);if(b){this.handleOnlineUsers(b.getElementsByTagName("user"));if((this.showChannelMessages||b.firstChild.getAttribute("mode")!="1")&&!this.channelSwitch){var a=b.firstChild.getAttribute("channelID");if(a==this.channelID||parseInt(a)==parseInt(this.userID)+this.privateMessageDiff){this.handleChatMessages(b.getElementsByTagName("message"))}}}},setAudioVolume:function(a){a=parseFloat(a);if(!isNaN(a)){if(a<0){a=0}else{if(a>1){a=1}}this.settings.audioVolume=a;try{if(!this.soundTransform){this.soundTransform=FABridge.ajaxChat.create("flash.media.SoundTransform")}this.soundTransform.setVolume(a)}catch(b){}}},loadSounds:function(){try{this.setAudioVolume(this.settings.audioVolume);this.sounds=new Object();var d,a;for(var b in this.soundFiles){d=FABridge.ajaxChat.create("flash.media.Sound");d.addEventListener("complete",this.soundLoadCompleteHandler);d.addEventListener("ioError",this.soundIOErrorHandler);a=FABridge.ajaxChat.create("flash.net.URLRequest");a.setUrl(this.dirs.sounds+this.soundFiles[b]);d.load(a)}}catch(c){alert(c)}},soundLoadCompleteHandler:function(b){var c=b.getTarget();for(var a in ajaxChat.soundFiles){if((new RegExp(ajaxChat.soundFiles[a])).test(c.getUrl())){ajaxChat.sounds[a]=c}}},soundIOErrorHandler:function(a){setTimeout("ajaxChat.addChatBotMessageToChatList('/error SoundIO')",0);setTimeout("ajaxChat.updateChatlistView()",1)},soundPlayCompleteHandler:function(a){},playSound:function(a){if(this.sounds&&this.sounds[a]){try{return this.sounds[a].play(0,0,this.soundTransform)}catch(b){}}return null},playSoundOnNewMessage:function(d,i,h,b,a,g,f,c){if(this.settings.audio&&this.sounds&&this.lastID&&!this.channelSwitch){switch(i){case this.chatBotID:var e=g.split(" ",1);switch(e[0]){case"/login":case"/channelEnter":this.playSound(this.settings.soundEnter);break;case"/logout":case"/channelLeave":case"/kick":this.playSound(this.settings.soundLeave);break;case"/error":this.playSound(this.settings.soundError);break;default:this.playSound(this.settings.soundChatBot)}break;case this.userID:this.playSound(this.settings.soundSend);break;default:this.playSound(this.settings.soundReceive);break}}},fillSoundSelection:function(a,e){var d=document.getElementById(a);var c=1;for(var b in this.soundFiles){d.options[c]=new Option(b,b);if(b==e){d.options[c].selected=true}c++}},getHttpRequest:function(a){if(!this.httpRequest[a]){if(window.XMLHttpRequest){this.httpRequest[a]=new XMLHttpRequest();if(this.httpRequest[a].overrideMimeType){this.httpRequest[a].overrideMimeType("text/xml")}}else{if(window.ActiveXObject){try{this.httpRequest[a]=new ActiveXObject("Msxml2.XMLHTTP")}catch(b){try{this.httpRequest[a]=new ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}}}}return this.httpRequest[a]},makeRequest:function(b,f,c){if(this.connecting){b="connect.php"}if(document.all.debug){document.all.debug.innerHTML=b}if(document.getElementById("statusIconContainer")!=null){document.getElementById("statusIconContainer").className="statusContainerOn"}try{var a;if(c){if(!arguments.callee.identifier||arguments.callee.identifier>50){arguments.callee.identifier=1}else{arguments.callee.identifier++}a=arguments.callee.identifier}else{a=0}this.getHttpRequest(a).open(f,b,true);this.getHttpRequest(a).onreadystatechange=function(){try{ajaxChat.handleResponse(a)}catch(g){try{clearTimeout(ajaxChat.timer)}catch(g){}try{if(c){if(document.all.debug){document.all.debug.innerHTML="makeRequest.eroro:"+b}ajaxChat.addChatBotMessageToChatList("/error ConnectionTimeout");ajaxChat.updateChatlistView()}}catch(g){}try{if(this.connecting){ajaxChat.timer=setTimeout("ajaxChat.userConnection();",ajaxChat.timerRate)}else{ajaxChat.timer=setTimeout("ajaxChat.updateChat(null);",ajaxChat.timerRate)}}catch(g){}}};if(f=="POST"){this.getHttpRequest(a).setRequestHeader("Content-Type","application/x-www-form-urlencoded")}this.getHttpRequest(a).send(c)}catch(d){clearTimeout(this.timer);if(document.all.debug){document.all.debug.innerHTML="eroro(catch):"+b}if(c){this.addChatBotMessageToChatList("/error ConnectionTimeout");this.updateChatlistView()}if(this.connecting){this.timer=setTimeout("ajaxChat.userConnection();",this.timerRate)}else{this.timer=setTimeout("ajaxChat.updateChat(null);",this.timerRate)}}},handleResponse:function(b){if(this.getHttpRequest(b).readyState==4){if(this.getHttpRequest(b).status==200){var c=this.getHttpRequest(b).responseXML;if(this.connecting){this.msgMethod=1;var a=this.getHttpRequest(b).responseText;if(a.length>=4){a=a.substring(a.length-4,a.length)}if(a=="true"){this.connecting=false}else{}clearTimeout(this.timer);this.timer=setTimeout("ajaxChat.makeRequest();",this.timerRate);return true}if(document.getElementById("statusIconContainer")!=null){document.getElementById("statusIconContainer").className="statusContainerOff"}}else{if(this.getHttpRequest(b).status>0){this.addChatBotMessageToChatList("/error ConnectionStatus "+this.getHttpRequest(b).status);this.updateChatlistView()}return false}}if(!c){return false}this.handleXML(c);return true},handleXML:function(a){this.handleInfoMessages(a.getElementsByTagName("info"));this.handleOnlineUsers(a.getElementsByTagName("user"));this.handleChatMessages(a.getElementsByTagName("message"));this.handleOnlineInfo(a.getElementsByTagName("olInfo"));this.channelSwitch=null;this.setChatUpdateTimer()},setChatUpdateTimer:function(){clearTimeout(this.timer);if(this.chatStarted){var a;if(this.socketIsConnected){a=this.socketTimerRate}else{a=this.timerRate;if(this.socketServerEnabled&&!this.socketReconnectTimer){this.socketReconnectTimer=setTimeout("ajaxChat.socketConnect();",60000)}}this.timer=setTimeout("ajaxChat.updateChat(null);",a)}},handleInfoMessages:function(d){var b,c;for(var a=0;a<d.length;a++){b=d[a].getAttribute("type");c=d[a].firstChild?d[a].firstChild.nodeValue:"";this.handleInfoMessage(b,c)}},handleInfoMessage:function(a,b){switch(a){case"channelSwitch":this.clearChatList();this.clearOnlineUsersList();this.setSelectedChannel(b);this.channelName=b;this.channelSwitch=true;break;case"channelName":this.setSelectedChannel(b);this.channelName=b;break;case"channelID":this.channelID=b;break;case"userID":this.userID=b;break;case"userName":this.userName=b;this.encodedUserName=this.scriptLinkEncode(this.userName);this.userNodeString=null;break;case"userRole":this.userRole=b;break;case"logout":this.handleLogout(b);return;case"socketRegistrationID":this.socketRegistrationID=b;this.socketRegister();default:this.handleCustomInfoMessage(a,b)}},handleOnlineUsers:function(f){if(f.length){var d,c,g,b;var a=new Array();for(var e=0;e<f.length;e++){c=f[e].getAttribute("userID");g=f[e].firstChild?f[e].firstChild.nodeValue:"";b=f[e].getAttribute("userRole");a.push(c);d=this.arraySearch(c,this.usersList);if(d===false){this.addUserToOnlineList(c,g,b)}else{if(this.userNamesList[d]!=g){this.removeUserFromOnlineList(c,d);this.addUserToOnlineList(c,g,b)}}}for(var e=0;e<this.usersList.length;e++){if(!this.inArray(a,this.usersList[e])){this.removeUserFromOnlineList(this.usersList[e],e)}}this.setOnlineListRowClasses()}},handleOnlineInfo:function(d){if(d.length){var e,c,b;for(var a=0;a<d.length;a++){e=d[a];if(a==0){c=e.firstChild?e.firstChild.nodeValue:""}if(a==1){b=e.firstChild?e.firstChild.nodeValue:""}}this.dom.info.innerHTML=this.lang.digudeOnline.replace(/%s/,c).replace(/%s/,b)}},handleChatMessages:function(c){if(c.length){var f,b,e,d;var a=0;if(this.msgMethod==1){a=c.length-1;for(;;){if(a>=0){e=c[a].getElementsByTagName("text")[0];d=e.firstChild?e.firstChild.nodeValue:"";if(d.indexOf("/queryOpen")==0||d.indexOf("<!--queryOffline-->")==0){break}a--}else{break}}if(a>=0){e=c[a].getElementsByTagName("text")[0];d=e.firstChild?e.firstChild.nodeValue:"";if(d.indexOf("<!--queryOffline-->")==0){a=c.length;this.conn("")}}if(a==-1){a=0}this.msgMethod=0}for(;a<c.length;a++){f=c[a].getElementsByTagName("username")[0];b=f.firstChild?f.firstChild.nodeValue:"";e=c[a].getElementsByTagName("text")[0];d=e.firstChild?e.firstChild.nodeValue:"";this.addMessageToChatList(new Date(c[a].getAttribute("dateTime")),c[a].getAttribute("userID"),b,c[a].getAttribute("userRole"),c[a].getAttribute("id"),d,c[a].getAttribute("channelID"),c[a].getAttribute("ip"))}this.updateChatlistView();this.lastID=c[c.length-1].getAttribute("id")}},setSelectedChannel:function(d){if(this.dom.channelSelection){d=this.decodeSpecialChars(d);var a=false;for(var b=0;b<this.dom.channelSelection.options.length;b++){if(this.dom.channelSelection.options[b].value==d){this.dom.channelSelection.options[b].selected=true;a=true;break}}if(!a){var c=document.createElement("option");var e=document.createTextNode(d);c.appendChild(e);c.setAttribute("value",d);c.setAttribute("selected","selected");this.dom.channelSelection.appendChild(c)}}},removeUserFromOnlineList:function(b,a){this.usersList.splice(a,1);this.userNamesList.splice(a,1);if(this.dom.onlineList){this.dom.onlineList.removeChild(this.getUserNode(b))}},addUserToOnlineList:function(b,c,a){this.usersList.push(b);this.userNamesList.push(c);if(this.dom.onlineList){this.updateDOM("onlineList",this.getUserNodeString(b,c,a),(this.userID==b))}},getUserNodeString:function(b,d,a){if(this.userNodeString&&b==this.userID){return this.userNodeString}else{var c=this.scriptLinkEncode(d);var e='<div id="'+this.getUserDocumentID(b)+'"><a href="javascript:ajaxChat.toggleUserMenu(\''+this.getUserMenuDocumentID(b)+"', '"+c+"', "+b+');" class="'+this.getRoleClass(a)+'" title="'+this.lang.toggleUserMenu.replace(/%s/,d)+'">'+d+'</a><ul class="userMenu" id="'+this.getUserMenuDocumentID(b)+'"'+((b==this.userID)?">"+this.getUserNodeStringItems(c,b):' style="display:none;">')+"</ul></div>";if(b==this.userID){this.userNodeString=e}return e}},toggleUserMenu:function(c,b,a){if(!document.getElementById(c).firstChild){this.updateDOM(c,this.getUserNodeStringItems(this.encodeText(this.addSlashes(this.getScriptLinkValue(b))),a),false,true)}this.showHide(c);this.dom.chatList.scrollTop=this.dom.chatList.scrollHeight},getUserNodeStringItems:function(b,a){var c;if(b!=this.encodedUserName){c="<li><a href=\"javascript:ajaxChat.insertMessageWrapper('/msg "+b+" ');\">"+this.lang.userMenuSendPrivateMessage+"</a></li><li><a href=\"javascript:ajaxChat.insertMessageWrapper('/describe "+b+" ');\">"+this.lang.userMenuDescribe+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/query "+b+"');\">"+this.lang.userMenuOpenPrivateChannel+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/query');\">"+this.lang.userMenuClosePrivateChannel+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/invite "+b+"');\">"+this.lang.userMenuInvite+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/uninvite "+b+"');\">"+this.lang.userMenuUninvite+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/ignore "+b+"');\">"+this.lang.userMenuIgnore+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/whereis "+b+"');\">"+this.lang.userMenuWhereis+"</a></li>";if(this.userRole==2||this.userRole==3){c+="<li><a href=\"javascript:ajaxChat.insertMessageWrapper('/kick "+b+" ');\">"+this.lang.userMenuKick+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/whois "+b+"');\">"+this.lang.userMenuWhois+"</a></li>"}}else{c="<li><a href=\"javascript:ajaxChat.sendMessageWrapper('/quit');\">"+this.lang.userMenuLogout+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/who');\">"+this.lang.userMenuWho+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/ignore');\">"+this.lang.userMenuIgnoreList+"</a></li><li><a href=\"javascript:ajaxChat.sendMessageWrapper('/list');\">"+this.lang.userMenuList+"</a></li><li><a href=\"javascript:ajaxChat.insertMessageWrapper('/action ');\">"+this.lang.userMenuAction+"</a></li><li><a href=\"javascript:ajaxChat.insertMessageWrapper('/roll ');\">"+this.lang.userMenuRoll+"</a></li><li><a href=\"javascript:ajaxChat.insertMessageWrapper('/nick ');\">"+this.lang.userMenuNick+"</a></li>";if(this.userRole==1||this.userRole==2||this.userRole==3){c+="<li><a href=\"javascript:ajaxChat.sendMessageWrapper('/join');\">"+this.lang.userMenuEnterPrivateRoom+"</a></li>";if(this.userRole==2||this.userRole==3){c+="<li><a href=\"javascript:ajaxChat.sendMessageWrapper('/bans');\">"+this.lang.userMenuBans+"</a></li>"}}}c+=this.getCustomUserMenuItems(b,a);return c},setOnlineListRowClasses:function(){if(this.dom.onlineList){var a=this.dom.onlineList.firstChild;var b=false;while(a){this.setClass(a,(b?"rowEven":"rowOdd"));a=a.nextSibling;b=!b}}},clearChatList:function(){while(this.dom.chatList.hasChildNodes()){this.dom.chatList.removeChild(this.dom.chatList.firstChild)}},clearOnlineUsersList:function(){this.usersList=new Array();this.userNamesList=new Array();if(this.dom.onlineList){while(this.dom.onlineList.hasChildNodes()){this.dom.onlineList.removeChild(this.dom.onlineList.firstChild)}}},getEncodedChatBotName:function(){if(typeof arguments.callee.encodedChatBotName=="undefined"){arguments.callee.encodedChatBotName=this.encodeSpecialChars(this.chatBotName)}return arguments.callee.encodedChatBotName},addChatBotMessageToChatList:function(a){this.addMessageToChatList(new Date(),this.chatBotID,this.getEncodedChatBotName(),4,null,a,null)},addMessageToChatList:function(e,c,f,b,a,g,d,h){if(this.getMessageNode(a)){return}if(!this.onNewMessage(e,c,f,b,a,g,d,h)){return}this.updateDOM("chatList",this.getChatListMessageString(e,c,f,b,a,g,d,h))},getChatListMessageString:function(f,k,i,b,a,h,g,e){var c=this.dom.chatList.lastChild&&this.getClass(this.dom.chatList.lastChild)=="rowOdd"?"rowEven":"rowOdd";var j=this.getRoleClass(b);var d;if(h.indexOf("/queryClose")==0){if(this.iClick){this.iClick=false;return this.lang.queryClose}else{this.iClick=false}}if(h.indexOf("/queryOffline")==0){this.iClick=false;return this.lang.queryOffline}if(h.indexOf("/login")==0||h.indexOf("/logout")==0){return""}if(h.indexOf("/action")==0||h.indexOf("/me")==0||h.indexOf("/privaction")==0){j+=" action";d=" "}else{d=": "}var l=this.settings.dateFormat?'<span class="dateTime">'+this.formatDate(this.settings.dateFormat,f)+"</span> ":"";theColor="";return'<div id="'+this.getMessageDocumentID(a)+'" class="'+c+'"><span class="'+j+'"'+this.getChatListUserNameTitle(k,i,b,e)+' dir1="'+this.baseDirection+'" onclick1="ajaxChat.insertText(this.firstChild.nodeValue);" style="font-color:'+theColor+'"></span><font color='+theColor+">"+this.replaceText(h)+"</div>"},getChatListUserNameTitle:function(b,c,a,d){return(d!=null)?' title="IP: '+d+'"':""},getMessageDocumentID:function(a){return((a===null)?"ajaxChat_lm_"+(this.localID++):"ajaxChat_m_"+a)},getMessageNode:function(a){return((a===null)?null:document.getElementById(this.getMessageDocumentID(a)))},getUserDocumentID:function(a){return"ajaxChat_u_"+a},getUserNode:function(a){return document.getElementById(this.getUserDocumentID(a))},getUserMenuDocumentID:function(a){return"ajaxChat_um_"+a},getInlineUserMenuDocumentID:function(b,a){return"ajaxChat_ium_"+b+"_"+a},getDeletionLink:function(a,c,b,d){if(a!==null&&this.isAllowedToDeleteMessage(a,c,b,d)){if(!arguments.callee.deleteMessage){arguments.callee.deleteMessage=this.encodeSpecialChars(this.lang.deleteMessage)}return'<a class="delete" title="'+arguments.callee.deleteMessage+'" href="javascript:ajaxChat.deleteMessage('+a+');"> </a>'}return""},isAllowedToDeleteMessage:function(a,c,b,d){if((((this.userRole==1&&this.allowUserMessageDelete&&(c==this.userID||parseInt(d)==parseInt(this.userID)+this.privateMessageDiff||parseInt(d)==parseInt(this.userID)+this.privateChannelDiff))||this.userRole==2)&&b!=3&&b!=4)||this.userRole==3){return true}return false},onNewMessage:function(e,c,f,b,a,g,d,h){if(!this.customOnNewMessage(e,c,f,b,a,g,d,h)){return false}if(this.ignoreMessage(e,c,f,b,a,g,d,h)){return false}if(this.parseDeleteMessageCommand(g)){return false}this.blinkOnNewMessage(e,c,f,b,a,g,d,h);this.playSoundOnNewMessage(e,c,f,b,a,g,d,h);return true},parseDeleteMessageCommand:function(f){if(f.indexOf("/delete")==0){var a=f.substr(8);var b=this.getMessageNode(a);if(b){var c=b.nextSibling;try{this.dom.chatList.removeChild(b);if(c){this.updateChatListRowClasses(c)}}catch(d){}}return true}return false},blinkOnNewMessage:function(e,c,f,b,a,g,d,h){if(this.settings.blink&&this.lastID&&!this.channelSwitch&&c!=this.userID){clearInterval(this.blinkInterval);this.blinkInterval=setInterval("ajaxChat.blinkUpdate('"+this.addSlashes(this.decodeSpecialChars(f))+"')",this.settings.blinkInterval)}},blinkUpdate:function(a){if(!this.originalDocumentTitle){this.originalDocumentTitle=document.title}a="";if(!arguments.callee.blink){document.title=this.lang.dgdMessae1+a+" - "+this.originalDocumentTitle;arguments.callee.blink=1}else{if(arguments.callee.blink>this.settings.blinkIntervalNumber){clearInterval(this.blinkInterval);document.title=this.originalDocumentTitle;arguments.callee.blink=0}else{if(arguments.callee.blink%2!=0){document.title=this.lang.dgdMessae1+a+" - "+this.originalDocumentTitle}else{document.title=this.lang.dgdMessae2+a+" - "+this.originalDocumentTitle}arguments.callee.blink++}}},updateChatlistView:function(){if(this.dom.chatList.childNodes&&this.settings.maxMessages){while(this.dom.chatList.childNodes.length>this.settings.maxMessages){this.dom.chatList.removeChild(this.dom.chatList.firstChild)}}if(this.settings.autoScroll){this.dom.chatList.scrollTop=this.dom.chatList.scrollHeight}},encodeText:function(a){return encodeURIComponent(a)},decodeText:function(a){return decodeURIComponent(a)},utf8Encode:function(b){var d="";for(var a=0;a<b.length;a++){var e=b.charCodeAt(a);if(e<128){d+=String.fromCharCode(e)}else{if((e>127)&&(e<2048)){d+=String.fromCharCode((e>>6)|192);d+=String.fromCharCode((e&63)|128)}else{d+=String.fromCharCode((e>>12)|224);d+=String.fromCharCode(((e>>6)&63)|128);d+=String.fromCharCode((e&63)|128)}}}return d},utf8Decode:function(f){var e="";var g,d,a;var b=0;while(b<f.length){g=f.charCodeAt(b);if(g<128){e+=String.fromCharCode(g);b++}else{if((g>191)&&(g<224)){d=f.charCodeAt(b+1);e+=String.fromCharCode(((g&31)<<6)|(d&63));b+=2}else{d=f.charCodeAt(b+1);a=f.charCodeAt(b+2);e+=String.fromCharCode(((g&15)<<12)|((d&63)<<6)|(a&63));b+=3}}}return e},encodeSpecialChars:function(a){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("[&<>'\"]","g")}return a.replace(arguments.callee.regExp,this.encodeSpecialCharsCallback)},encodeSpecialCharsCallback:function(a){switch(a){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case"'":return"&#39;";case'"':return"&quot;";default:return a}},decodeSpecialChars:function(a){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("(&amp;)|(&lt;)|(&gt;)|(&#39;)|(&quot;)","g")}return a.replace(arguments.callee.regExp,this.decodeSpecialCharsCallback)},decodeSpecialCharsCallback:function(a){switch(a){case"&amp;":return"&";case"&lt;":return"<";case"&gt;":return">";case"&#39;":return"'";case"&quot;":return'"';default:return a}},inArray:function(b,c){var a=b.length;while(a--){if(b[a]===c){return true}}return false},arraySearch:function(c,b){var a=b.length;while(a--){if(b[a]===c){return a}}return false},stripTags:function(a){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("<\\/?[^>]+?>","g")}return a.replace(arguments.callee.regExp,"")},stripBBCodeTags:function(a){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("\\[\\/?[^\\]]+?\\]","g")}return a.replace(arguments.callee.regExp,"")},escapeRegExp:function(b){if(!arguments.callee.regExp){var a=new Array("^","$","*","+","?",".","|","/","(",")","[","]","{","}","\\");arguments.callee.regExp=new RegExp("(\\"+a.join("|\\")+")","g")}return b.replace(arguments.callee.regExp,"\\$1")},addSlashes:function(a){return a.replace(/\\/g,"\\\\").replace(/\'/g,"\\'")},removeSlashes:function(a){return a.replace(/\\\\/g,"\\").replace(/\\\'/g,"'")},formatDate:function(b,a){a=(a==null)?new a():a;return b.replace(/%Y/g,a.getFullYear()).replace(/%m/g,this.addLeadingZero(a.getMonth()+1)).replace(/%d/g,this.addLeadingZero(a.getDate())).replace(/%H/g,this.addLeadingZero(a.getHours())).replace(/%i/g,this.addLeadingZero(a.getMinutes())).replace(/%s/g,this.addLeadingZero(a.getSeconds()))},addLeadingZero:function(a){a=a.toString();if(a.length<2){a="0"+a}return a},getUserIDFromUserName:function(b){var a=this.arraySearch(b,this.userNamesList);if(a!==false){return this.usersList[a]}return null},getUserNameFromUserID:function(b){var a=this.arraySearch(b,this.usersList);if(a!==false){return this.userNamesList[a]}return null},getRoleClass:function(a){switch(parseInt(a)){case 0:return"guest";case 1:return"user";case 2:return"moderator";case 3:return"admin";case 4:return"chatBot";default:return"default"}},handleInputFieldKeyPress:function(a){if(a.keyCode==13&&!a.shiftKey){this.sendMessage();try{a.preventDefault()}catch(b){a.returnValue=false}return false}return true},handleInputFieldKeyUp:function(a){this.updateMessageLengthCounter()},updateMessageLengthCounter:function(){if(this.dom.messageLengthCounter){this.updateDOM("messageLengthCounter",this.dom.inputField.value.length+"/"+this.messageTextMaxLength,false,true)}},sendMessage:function(b){b=b?b:this.dom.inputField.value;if(!b){return}b=this.parseInputMessage(b);if(b){clearTimeout(this.timer);var a="lastID="+this.lastID+"&text="+this.encodeText(b);this.makeRequest(this.ajaxURL,"POST",a)}this.dom.inputField.value="";setTimeout("ajaxChat.dom['inputField'].focus();",500);this.updateMessageLengthCounter()},parseInputMessage:function(b){if(b.charAt(0)=="/"){var a=b.split(" ");switch(a[0]){case"/ignore":b=this.parseIgnoreInputCommand(b,a);break;default:b=this.parseCustomInputCommand(b,a)}if(b&&this.settings.persistFontColor&&this.settings.fontColor){b=this.assignFontColorToCommandMessage(b,a)}}else{b=this.parseCustomInputMessage(b);if(b&&this.settings.persistFontColor&&this.settings.fontColor){b=this.assignFontColorToMessage(b)}}return b},assignFontColorToMessage:function(a){return"[color="+this.settings.fontColor+"]"+a+"[/color]"},assignFontColorToCommandMessage:function(b,a){switch(a[0]){case"/msg":case"/describe":if(a.length>2){return a[0]+" "+a[1]+" [color="+this.settings.fontColor+"]"+a.slice(2).join(" ")+"[/color]"}break;case"/me":case"/action":if(a.length>1){return a[0]+" [color="+this.settings.fontColor+"]"+a.slice(1).join(" ")+"[/color]"}break}return b},parseIgnoreInputCommand:function(d,a){var e=this.getIgnoredUserNames();if(a.length>1){var c=this.encodeSpecialChars(a[1]);if(c==this.userName||c==this.getEncodedChatBotName()){return this.parseIgnoreInputCommand(null,new Array("/ignore"))}if(e.length>0){var b=e.length;while(b--){if(e[b]===c){e.splice(b,1);this.addChatBotMessageToChatList("/ignoreRemoved "+c);this.setIgnoredUserNames(e);this.updateChatlistView();return null}}}e.push(c);this.addChatBotMessageToChatList("/ignoreAdded "+c);this.setIgnoredUserNames(e)}else{if(e.length==0){this.addChatBotMessageToChatList("/ignoreListEmpty -")}else{this.addChatBotMessageToChatList("/ignoreList "+e.join(" "))}}this.updateChatlistView();return null},getIgnoredUserNames:function(){if(!this.ignoredUserNames){var a=this.getSetting("ignoredUserNames");if(a){this.ignoredUserNames=a.split(" ")}else{this.ignoredUserNames=new Array()}}return this.ignoredUserNames},setIgnoredUserNames:function(a){this.ignoredUserNames=a;this.setSetting("ignoredUserNames",a.join(" "))},ignoreMessage:function(d,i,g,b,a,f,e,c){if(i==this.chatBotID&&f.charAt(0)=="/"){var h=f.split(" ");if(h.length>1){switch(h[0]){case"/invite":case"/uninvite":case"/roll":g=h[1];break}}}if(this.inArray(this.getIgnoredUserNames(),g)){return true}return false},deleteMessage:function(b){var c=this.getMessageNode(b);if(c){var a=this.getClass(c);this.setClass(c,a+" deleteSelected");if(confirm(this.lang.deleteMessageConfirm)){var d=c.nextSibling;try{this.dom.chatList.removeChild(c);if(d){this.updateChatListRowClasses(d)}this.updateChat("&delete="+b)}catch(f){this.setClass(c,a)}}else{this.setClass(c,a)}}},updateChatListRowClasses:function(b){if(!b){b=this.dom.chatList.firstChild}if(b){var a=b.previousSibling;var c=(a&&this.getClass(a)=="rowOdd")?true:false;while(b){this.setClass(b,(c?"rowEven":"rowOdd"));b=b.nextSibling;c=!c}}},getClass:function(a){if(typeof a.className!="undefined"){return a.className}else{return a.getAttribute("class")}},setClass:function(b,a){if(typeof b.className!="undefined"){b.className=a}else{b.setAttribute("class",a)}},scriptLinkEncode:function(a){return this.encodeText(this.addSlashes(this.decodeSpecialChars(a)))},scriptLinkDecode:function(a){return this.encodeSpecialChars(this.removeSlashes(this.decodeText(a)))},getScriptLinkValue:function(a){if(typeof arguments.callee.utf8Decode=="undefined"){switch(navigator.appName){case"Microsoft Internet Explorer":case"Opera":arguments.callee.utf8Decode=true;return this.utf8Decode(a);default:arguments.callee.utf8Decode=false;return a}}else{if(arguments.callee.utf8Decode){return this.utf8Decode(a)}else{return a}}},sendMessageWrapper:function(a){this.sendMessage(this.getScriptLinkValue(a))},insertMessageWrapper:function(a){this.insertText(this.getScriptLinkValue(a),true)},switchChannel:function(b){if(!this.chatStarted){this.clearChatList();this.channelSwitch=true;this.loginChannelID=null;this.loginChannelName=b;this.requestTeaserContent();return}clearTimeout(this.timer);var a="lastID="+this.lastID+"&channelName="+this.encodeText(b);this.makeRequest(this.ajaxURL,"POST",a);if(this.dom.inputField&&this.settings.autoFocus){this.dom.inputField.focus()}},logout:function(){clearTimeout(this.timer);var a="logout=true";this.makeRequest(this.ajaxURL,"POST",a)},handleLogout:function(a){window.location.href=a},toggleSetting:function(b,a){this.setSetting(b,!this.getSetting(b));if(a){this.updateButton(b,a)}},updateButton:function(b,a){var c=document.getElementById(a);if(c){this.setClass(c,(this.getSetting(b)?"button":"button off"))}},showHide:function(d,c,a){var b=document.getElementById(d);if(b){if(c){b.style.display=c}else{if(b.style.display=="none"){b.style.display=(a?"inline":"block")}else{b.style.display="none"}}}},setPersistFontColor:function(a){this.settings.persistFontColor=a;if(!this.settings.persistFontColor){this.settings.fontColor=null;if(this.dom.inputField){this.dom.inputField.style.color=""}}},setFontColor:function(a){if(this.settings.persistFontColor){this.settings.fontColor=a;if(this.dom.inputField){this.dom.inputField.style.color=a}if(this.dom.colorCodesContainer){this.dom.colorCodesContainer.style.display="none";if(this.dom.inputField){this.dom.inputField.focus()}}}else{this.insert("[color="+a+"]","[/color]")}},insertText:function(b,a){if(a){this.dom.inputField.value=""}this.insert(b,"")},insertBBCode:function(a){switch(a){case"url":var b=prompt(this.lang.urlDialog,"http://");if(b){this.insert("[url="+b+"]","[/url]")}else{this.dom.inputField.focus()}break;default:this.insert("["+a+"]","[/"+a+"]")}},insert:function(e,d){this.dom.inputField.focus();if(typeof document.selection!="undefined"){var b=document.selection.createRange();var c=b.text;b.text=e+c+d;b=document.selection.createRange();if(c.length==0){b.move("character",-d.length)}else{b.moveStart("character",e.length+c.length+d.length)}b.select()}else{if(typeof this.dom.inputField.selectionStart!="undefined"){var g=this.dom.inputField.selectionStart;var a=this.dom.inputField.selectionEnd;var c=this.dom.inputField.value.substring(g,a);this.dom.inputField.value=this.dom.inputField.value.substr(0,g)+e+c+d+this.dom.inputField.value.substr(a);var f;if(c.length==0){f=g+e.length}else{f=g+e.length+c.length+d.length}this.dom.inputField.selectionStart=f;this.dom.inputField.selectionEnd=f}else{var f=this.dom.inputField.value.length;this.dom.inputField.value=this.dom.inputField.value.substr(0,f)+e+d+this.dom.inputField.value.substr(f)}}},replaceText:function(b){try{b=this.replaceLineBreaks(b);if(b.charAt(0)=="/"){b=this.replaceCommands(b)}else{b=this.replaceBBCode(b);b=this.replaceHyperLinks(b);b=this.replaceEmoticons(b)}b=this.breakLongWords(b);b=this.replaceCustomText(b)}catch(a){}return b},replaceCommands:function(c){try{if(c.charAt(0)!="/"){return c}var a=c.split(" ");switch(a[0]){case"/login":return this.replaceCommandLogin(a);case"/logout":return this.replaceCommandLogout(a);case"/channelEnter":return this.replaceCommandChannelEnter(a);case"/channelLeave":return this.replaceCommandChannelLeave(a);case"/privmsg":return this.replaceCommandPrivMsg(a);case"/privmsgto":return this.replaceCommandPrivMsgTo(a);case"/privaction":return this.replaceCommandPrivAction(a);case"/privactionto":return this.replaceCommandPrivActionTo(a);case"/me":case"/action":return this.replaceCommandAction(a);case"/invite":return this.replaceCommandInvite(a);case"/inviteto":return this.replaceCommandInviteTo(a);case"/uninvite":return this.replaceCommandUninvite(a);case"/uninviteto":return this.replaceCommandUninviteTo(a);case"/queryOpen":return this.replaceCommandQueryOpen(a);case"/queryClose":return this.replaceCommandQueryClose(a);case"/ignoreAdded":return this.replaceCommandIgnoreAdded(a);case"/ignoreRemoved":return this.replaceCommandIgnoreRemoved(a);case"/ignoreList":return this.replaceCommandIgnoreList(a);case"/ignoreListEmpty":return this.replaceCommandIgnoreListEmpty(a);case"/kick":return this.replaceCommandKick(a);case"/who":return this.replaceCommandWho(a);case"/whoChannel":return this.replaceCommandWhoChannel(a);case"/whoEmpty":return this.replaceCommandWhoEmpty(a);case"/list":return this.replaceCommandList(a);case"/bans":return this.replaceCommandBans(a);case"/bansEmpty":return this.replaceCommandBansEmpty(a);case"/unban":return this.replaceCommandUnban(a);case"/whois":return this.replaceCommandWhois(a);case"/whereis":return this.replaceCommandWhereis(a);case"/roll":return this.replaceCommandRoll(a);case"/nick":return this.replaceCommandNick(a);case"/error":return this.replaceCommandError(a);default:return this.replaceCustomCommands(c,a)}}catch(b){}return c},replaceCommandLogin:function(a){return'<span class="chatBotMessage">'+this.lang.login.replace(/%s/,a[1])+"</span>"},replaceCommandLogout:function(a){var b="";if(a.length==3){b=a[2]}return'<span class="chatBotMessage">'+this.lang["logout"+b].replace(/%s/,a[1])+"</span>"},replaceCommandChannelEnter:function(a){return'<span class="chatBotMessage">'+this.lang.channelEnter.replace(/%s/,a[1])+"</span>"},replaceCommandChannelLeave:function(a){return'<span class="chatBotMessage">'+this.lang.channelLeave.replace(/%s/,a[1])+"</span>"},replaceCommandPrivMsg:function(b){var a=b.slice(1).join(" ");a=this.replaceBBCode(a);a=this.replaceHyperLinks(a);a=this.replaceEmoticons(a);return'<span class="privmsg">'+this.lang.privmsg+"</span> "+a},replaceCommandPrivMsgTo:function(b){var a=b.slice(2).join(" ");a=this.replaceBBCode(a);a=this.replaceHyperLinks(a);a=this.replaceEmoticons(a);return'<span class="privmsg">'+this.lang.privmsgto.replace(/%s/,b[1])+"</span> "+a},replaceCommandPrivAction:function(a){var b=a.slice(1).join(" ");b=this.replaceBBCode(b);b=this.replaceHyperLinks(b);b=this.replaceEmoticons(b);return'<span class="action">'+b+'</span> <span class="privmsg">'+this.lang.privmsg+"</span> "},replaceCommandPrivActionTo:function(a){var b=a.slice(2).join(" ");b=this.replaceBBCode(b);b=this.replaceHyperLinks(b);b=this.replaceEmoticons(b);return'<span class="action">'+b+'</span> <span class="privmsg">'+this.lang.privmsgto.replace(/%s/,a[1])+"</span> "},replaceCommandAction:function(a){var b=a.slice(1).join(" ");b=this.replaceBBCode(b);b=this.replaceHyperLinks(b);b=this.replaceEmoticons(b);return'<span class="action">'+b+"</span>"},replaceCommandInvite:function(a){var b=this.lang.invite.replace(/%s/,a[1]).replace(/%s/,"<a href=\"javascript:ajaxChat.sendMessageWrapper('/join "+this.scriptLinkEncode(a[2])+'\');" title="'+this.lang.joinChannel.replace(/%s/,a[2])+'">'+a[2]+"</a>");return'<span class="chatBotMessage">'+b+"</span>"},replaceCommandInviteTo:function(a){var b=this.lang.inviteto.replace(/%s/,a[1]).replace(/%s/,a[2]);return'<span class="chatBotMessage">'+b+"</span>"},replaceCommandUninvite:function(a){var b=this.lang.uninvite.replace(/%s/,a[1]).replace(/%s/,a[2]);return'<span class="chatBotMessage">'+b+"</span>"},replaceCommandUninviteTo:function(a){var b=this.lang.uninviteto.replace(/%s/,a[1]).replace(/%s/,a[2]);return'<span class="chatBotMessage">'+b+"</span>"},replaceCommandQueryOpen:function(a){return'<span class="chatBotMessage">'+this.lang.queryOpen.replace(/%s/,a[1])+"</span>"},replaceCommandQueryClose:function(a){return'<span class="chatBotMessage">'+this.lang.queryClose.replace(/%s/,a[1])+"</span>"},replaceCommandIgnoreAdded:function(a){return'<span class="chatBotMessage">'+this.lang.ignoreAdded.replace(/%s/,a[1])+"</span>"},replaceCommandIgnoreRemoved:function(a){return'<span class="chatBotMessage">'+this.lang.ignoreRemoved.replace(/%s/,a[1])+"</span>"},replaceCommandIgnoreList:function(a){return'<span class="chatBotMessage">'+this.lang.ignoreList+" "+this.getInlineUserMenu(a.slice(1))+"</span>"},replaceCommandIgnoreListEmpty:function(a){return'<span class="chatBotMessage">'+this.lang.ignoreListEmpty+"</span>"},replaceCommandKick:function(a){return'<span class="chatBotMessage">'+this.lang.logoutKicked.replace(/%s/,a[1])+"</span>"},replaceCommandWho:function(a){return'<span class="chatBotMessage">'+this.lang.who+" "+this.getInlineUserMenu(a.slice(1))+"</span>"},replaceCommandWhoChannel:function(a){return'<span class="chatBotMessage">'+this.lang.whoChannel.replace(/%s/,a[1])+" "+this.getInlineUserMenu(a.slice(2))+"</span>"},replaceCommandWhoEmpty:function(a){return'<span class="chatBotMessage">'+this.lang.whoEmpty+"</span>"},replaceCommandList:function(c){var a=c.slice(1);var e=new Array();var b;for(var d=0;d<a.length;d++){b=(a[d]==this.channelName)?"<b>"+a[d]+"</b>":a[d];e.push("<a href=\"javascript:ajaxChat.sendMessageWrapper('/join "+this.scriptLinkEncode(a[d])+'\');" title="'+this.lang.joinChannel.replace(/%s/,a[d])+'">'+b+"</a>")}return'<span class="chatBotMessage">'+this.lang.list+" "+e.join(", ")+"</span>"},replaceCommandBans:function(a){var d=a.slice(1);var c=new Array();for(var b=0;b<d.length;b++){c.push("<a href=\"javascript:ajaxChat.sendMessageWrapper('/unban "+this.scriptLinkEncode(d[b])+'\');" title="'+this.lang.unbanUser.replace(/%s/,d[b])+'">'+d[b]+"</a>")}return'<span class="chatBotMessage">'+this.lang.bans+" "+c.join(", ")+"</span>"},replaceCommandBansEmpty:function(a){return'<span class="chatBotMessage">'+this.lang.bansEmpty+"</span>"},replaceCommandUnban:function(a){return'<span class="chatBotMessage">'+this.lang.unban.replace(/%s/,a[1])+"</span>"},replaceCommandWhois:function(a){return'<span class="chatBotMessage">'+this.lang.whois.replace(/%s/,a[1])+" "+a[2]+"</span>"},replaceCommandWhereis:function(a){return'<span class="chatBotMessage">'+this.lang.whereis.replace(/%s/,a[1]).replace(/%s/,"<a href=\"javascript:ajaxChat.sendMessageWrapper('/join "+this.scriptLinkEncode(a[2])+'\');" title="'+this.lang.joinChannel.replace(/%s/,a[2])+'">'+a[2]+"</a>")+"</span>"},replaceCommandRoll:function(a){var b=this.lang.roll.replace(/%s/,a[1]);b=b.replace(/%s/,a[2]);b=b.replace(/%s/,a[3]);return'<span class="chatBotMessage">'+b+"</span>"},replaceCommandNick:function(a){return'<span class="chatBotMessage">'+this.lang.nick.replace(/%s/,a[1]).replace(/%s/,a[2])+"</span>"},replaceCommandError:function(a){var b=this.lang["error"+a[1]];if(!b){b="Error: Unknown."}else{if(a.length>2){b=b.replace(/%s/,a.slice(2).join(" "))}}return'<span class="chatBotErrorMessage">'+b+"</span>"},getInlineUserMenu:function(c){var b="";for(var a=0;a<c.length;a++){if(a>0){b+=", "}b+="<a href=\"javascript:ajaxChat.toggleUserMenu('"+this.getInlineUserMenuDocumentID(this.userMenuCounter,a)+"', '"+this.scriptLinkEncode(c[a])+'\', null);" title="'+this.lang.toggleUserMenu.replace(/%s/,c[a])+'" dir="'+this.baseDirection+'">'+((c[a]==this.userName)?"<b>"+c[a]+"</b>":c[a])+'</a><ul class="inlineUserMenu" id="'+this.getInlineUserMenuDocumentID(this.userMenuCounter,a)+'" style="display:none;"></ul>'}this.userMenuCounter++;return b},containsUnclosedTags:function(b){if(!arguments.callee.regExpOpenTags||!arguments.callee.regExpCloseTags){arguments.callee.regExpOpenTags=new RegExp("<[^>\\/]+?>","gm");arguments.callee.regExpCloseTags=new RegExp("<\\/[^>]+?>","gm")}var c=b.match(arguments.callee.regExpOpenTags);var a=b.match(arguments.callee.regExpCloseTags);if((!c&&a)||(c&&!a)||(c&&a&&(c.length!=a.length))){return true}return false},breakLongWords:function(g){if(!this.settings.wordWrap){return g}var f="";var e=0;var b,d,a;for(var c=0;c<g.length;c++){b=g.charAt(c);if(b=="<"){d=true;if(c>5&&g.substr(c-5,4)=="<br/"){e=0}}else{if(d&&c>0&&g.charAt(c-1)==">"){d=false;if(c>4&&g.substr(c-5,4)=="<br/"){e=0}}else{if(b=="&"){a=true}else{if(a&&c>0&&g.charAt(c-1)==";"){a=false;e++}}}}if(!d&&!a){if(b==" "||b=="\n"||b=="\t"){e=0}else{e++}if(e>this.settings.maxWordLength){f+=this.getBreakString();e=0}}f+=b}return f},getBreakString:function(){if(typeof arguments.callee.breakString=="undefined"){arguments.callee.breakString="&#8203;"}return arguments.callee.breakString},replaceBBCode:function(a){if(!this.settings.bbCode){if(!arguments.callee.regExpStripBBCode){arguments.callee.regExpStripBBCode=new RegExp("\\[(?:\\/)?(\\w+)(?:=([^<>]*?))?\\]","gm")}return a.replace(arguments.callee.regExpStripBBCode,"")}if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("\\[(\\w+)(?:=([^<>]*?))?\\](.+?)\\[\\/\\1\\]","gm")}return a.replace(arguments.callee.regExp,this.replaceBBCodeCallback)},replaceBBCodeCallback:function(d,c,b,a){if(!ajaxChat.inArray(ajaxChat.bbCodeTags,c)){return d}if(ajaxChat.containsUnclosedTags(a)){return d}switch(c){case"color":return ajaxChat.replaceBBCodeColor(a,b);case"url":return ajaxChat.replaceBBCodeUrl(a,b);case"img":return ajaxChat.replaceBBCodeImage(a);case"quote":return ajaxChat.replaceBBCodeQuote(a,b);case"code":return ajaxChat.replaceBBCodeCode(a);case"u":return ajaxChat.replaceBBCodeUnderline(a);default:return ajaxChat.replaceCustomBBCode(c,b,a)}},replaceBBCodeColor:function(b,a){if(this.settings.bbCodeColors){if(!a||!this.inArray(ajaxChat.colorCodes,a)){return b}return'<span style="color:'+a+';">'+this.replaceBBCode(b)+"</span>"}return b},replaceBBCodeUrl:function(c,b){var a;if(b){a=b.replace(/\s/gm,this.encodeText(" "))}else{a=this.stripBBCodeTags(c.replace(/\s/gm,this.encodeText(" ")))}if(!arguments.callee.regExpUrl){arguments.callee.regExpUrl=new RegExp("^(?:(?:http)|(?:https)|(?:ftp)|(?:irc)):\\/\\/","")}if(!a||!a.match(arguments.callee.regExpUrl)){return c}return'<a href="'+a+'" onclick="window.open(this.href); return false;">'+this.replaceBBCode(c)+"</a>"},replaceBBCodeImage:function(a){if(this.settings.bbCodeImages){if(!arguments.callee.regExpUrl){arguments.callee.regExpUrl=new RegExp(this.regExpMediaUrl,"")}if(!a||!a.match(arguments.callee.regExpUrl)){return a}a=a.replace(/\s/gm,this.encodeText(" "));var c=this.dom.chatList.offsetWidth-50;var b=this.dom.chatList.offsetHeight-50;return'<a href="'+a+'" onclick="window.open(this.href); return false;"><img class="bbCodeImage" style="max-width:'+c+"px; max-height:"+b+'px;" src="'+a+'" alt="" onload="ajaxChat.updateChatlistView();"/></a>'}return a},replaceBBCodeQuote:function(b,a){if(a){return'<span class="quote"><cite>'+this.lang.cite.replace(/%s/,a)+"</cite><q>"+this.replaceBBCode(b)+"</q></span>"}return'<span class="quote"><q>'+this.replaceBBCode(b)+"</q></span>"},replaceBBCodeCode:function(a){return"<code>"+this.replaceBBCode(a.replace(/\t|(?:  )/gm,"&#160;&#160;"))+"</code>"},replaceBBCodeUnderline:function(a){return'<span style="text-decoration:underline;">'+this.replaceBBCode(a)+"</span>"},replaceHyperLinks:function(a){if(!this.settings.hyperLinks){return a}if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("(^|\\s|>)((?:(?:http)|(?:https)|(?:ftp)|(?:irc)):\\/\\/[^\\s<>]+)(<\\/a>)?","gm")}return a.replace(arguments.callee.regExp,function(e,d,c,b){if(b){return e}return d+'<a href="'+c+'" onclick="window.open(this.href); return false;">'+c+"</a>"})},replaceLineBreaks:function(a){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp("\\n","g")}if(!this.settings.lineBreaks){return a.replace(arguments.callee.regExp," ")}else{return a.replace(arguments.callee.regExp,"<br/>")}},replaceEmoticons:function(c){if(!this.settings.emoticons){return c}if(!arguments.callee.regExp){var a="^(.*)(";for(var b=0;b<this.emoticonCodes.length;b++){if(b!=0){a+="|"}a+="(?:"+this.escapeRegExp(this.emoticonCodes[b])+")"}a+=")(.*)$";arguments.callee.regExp=new RegExp(a,"gm")}return c.replace(arguments.callee.regExp,this.replaceEmoticonsCallback)},replaceEmoticonsCallback:function(e,d,c,b){if(!arguments.callee.regExp){arguments.callee.regExp=new RegExp('(="[^"]*$)|(&[^;]*$)',"")}if(d.match(arguments.callee.regExp)){return e}if(c){var a=ajaxChat.arraySearch(c,ajaxChat.emoticonCodes);return ajaxChat.replaceEmoticons(d)+'<img src="'+ajaxChat.dirs.emoticons+ajaxChat.emoticonFiles[a]+'" alt="'+c+'" />'+ajaxChat.replaceEmoticons(b)}return e},getActiveStyle:function(){var a=this.readCookie(this.sessionName+"_style");var b=a?a:this.getPreferredStyleSheet();return b},initStyle:function(){this.styleInitiated=true;this.setActiveStyleSheet(this.getActiveStyle())},persistStyle:function(){if(this.styleInitiated){this.createCookie(this.sessionName+"_style",this.getActiveStyleSheet(),this.cookieExpiration)}},setSelectedStyle:function(){if(this.dom.styleSelection){var c=this.getActiveStyle();var a=this.dom.styleSelection.getElementsByTagName("option");for(var b=0;b<a.length;b++){if(a[b].value==c){a[b].selected=true;break}}}},getSelectedStyle:function(){var a=this.dom.styleSelection.getElementsByTagName("option");if(this.dom.styleSelection.selectedIndex==-1){return a[0].value}else{return a[this.dom.styleSelection.selectedIndex].value}},setActiveStyleSheet:function(f){var e,d,b;var c=false;for(e=0;(d=document.getElementsByTagName("link")[e]);e++){if(d.getAttribute("rel").indexOf("style")!=-1&&d.getAttribute("title")){d.disabled=true;if(d.getAttribute("title")==f){d.disabled=false;c=true}}}if(!c&&f!=null){this.setActiveStyleSheet(this.getPreferredStyleSheet())}},getActiveStyleSheet:function(){var c,b;for(c=0;(b=document.getElementsByTagName("link")[c]);c++){if(b.getAttribute("rel").indexOf("style")!=-1&&b.getAttribute("title")&&!b.disabled){return b.getAttribute("title")}}return null},getPreferredStyleSheet:function(){var c,b;for(c=0;(b=document.getElementsByTagName("link")[c]);c++){if(b.getAttribute("rel").indexOf("style")!=-1&&b.getAttribute("rel").indexOf("alt")==-1&&b.getAttribute("title")){return b.getAttribute("title")}}return null},switchLanguage:function(a){window.location.search="?lang="+a},createCookie:function(c,e,h){var a="";if(h){var b=new Date();b.setTime(b.getTime()+(h*24*60*60*1000));a="; expires="+b.toGMTString()}var g="; path="+this.cookiePath;var d=this.cookieDomain?"; domain="+this.cookieDomain:"";var f=this.cookieSecure?"; secure":"";document.cookie=c+"="+encodeURIComponent(e)+a+g+d+f},readCookie:function(b){if(!document.cookie){return null}var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)==0){return decodeURIComponent(f.substring(e.length,f.length))}}return null},isCookieEnabled:function(){this.createCookie(this.sessionName+"_cookie_test",true,1);var a=this.readCookie(this.sessionName+"_cookie_test");if(a){this.createCookie(this.sessionName+"_cookie_test",true,-1);return true}return false},finalize:function(){if(typeof this.finalizeFunction=="function"){this.finalizeFunction()}if(this.socket){try{this.socket.close();this.socket=null}catch(a){}}this.persistSettings();this.persistStyle();this.customFinalize()},initializeCustomFlashInterface:function(){},handleCustomInfoMessage:function(a,b){},customInitialize:function(){},customFinalize:function(){},getCustomUserMenuItems:function(b,a){return""},parseCustomInputMessage:function(a){return a},parseCustomInputCommand:function(b,a){return b},replaceCustomText:function(a){return a},replaceCustomCommands:function(b,a){return b},replaceCustomBBCode:function(a,c,b){return"<"+a+">"+this.replaceBBCode(b)+"</"+a+">"},customOnNewMessage:function(e,c,f,b,a,g,d,h){return true},disconnect:function(){var a="text=/disconnect";this.makeRequest(this.ajaxURL,"GET",a)},userConnection:function(){this.makeRequest("connect.php","GET",null);try{}catch(a){}},conn:function(a){this.iClick=true;if(!a){a=this.lang.digudeReConn}if(a!=""){this.addChatBotMessageToChatList(a)}this.connecting=true;this.userConnection()},digudeInit:function(){this.conn(this.lang.digudeConn)},stop:function(){this.iClick=true;if(this.connecting){this.addChatBotMessageToChatList(this.lang.digudeDisconn)}this.connecting=false;this.sendMessage("/disconnect")}};