var inputFocus=false;var autoScroll=true;var origTitle=null;function startGeneral(){startLayout();startInput();startButton();startSound();startTemplates();startServer();startEvents();startEmoticons();userListenTimer=setInterval(function(){userListener()},messageDelay);}function startLayout(){document.body.style.backgroundColor='#E2E2E2';document.body.style.overflow='hidden';if(!document.all){$('openPanes').style.position='absolute';}$('openPanes').style.display='';}function startInput(){var input=$('textInput');input.maxLength=300;input.onkeydown=function(evt){var e=evt?evt:event;var validKeys=[13,8,46,37,38,39,40];if(this.value.length>=this.maxLength&&!validKeys.inArray(e.keyCode)){return false;}if(e.keyCode==9){if(activePanel.type==1){var lista=activePanel.userList;completeName(lista);}return false;}else{lastSearch=null;searchBy=null;}if(e.keyCode==13){var lines=this.value.split('\n').length;if(!e.shiftKey){Sender.send();return false;}else if(lines>=3){return false;}}};input.onkeyup=function(evt){var e=evt?evt:event;if(e.keyCode==9){return false;}$('sendButton').disabled=!(this.value.trim().length>0);if(this.value.length>this.maxLength)this.value=this.value.substring(0,this.maxLength);};origTitle=document.title;input.onfocus=function(){inputFocus=true;document.title=origTitle;};input.onblur=function(){inputFocus=false;};}function startButton(){var btn=$('sendButton');btn.onclick=function(){Sender.send();};}function startTemplates(){colorTemplate=Template.parse(Template.colors);emoticonsTemplate=Template.parse(Template.emoticons);var doRecusive=function(obj){if(obj.tagName=="TD"){obj.style.border='1px solid #FFF';obj.align='center';obj.valign='middle';obj.onmouseover=function(){this.style.borderColor='#316AC5';};obj.onmouseout=function(){this.style.borderColor='#FFF';};obj.onclick=function(){this.style.borderColor='#FFF';};}else if(obj.tagName=="IMG"){obj.style.border='1px solid #DEDEDE';}};recusiveParse(emoticonsTemplate.emots,doRecusive);}function startEvents(){document.body.onclick=function(){ChatDialog.remove();};window.onresize=function(evt){if(!document.all){positionFix($('openPanes'),0);positionFix(activePanel.panel,10);if(activePanel.users)positionFix(activePanel.users,10);}ChatDialog.remove();};window.onunload=function(){Sender.quit();};if(!document.all)window.onresize();document.body.oncontextmenu=function(){return false;};var f=function(obj){if(obj.tagName=='IMG'){obj.onmouseover=function(){try{highLight(this);}catch(ex){}};obj.onmouseout=function(){try{outLight(this);}catch(ex){}};}};recusiveParse($('tableIcons'),f);}function startServer(){var serv=new ChatPanel('Servidor',0,null);serv.show();Sender.help([]);var ini=new ChatPanel(firstRoom,1,firstRoom);ini.show();}function startEmoticons(){for(var i=0;i<emoticonNames.length;i++){emoticonNames[i]='<img src="img/emoticons/'+emoticonNames[i]+'.gif" />';}}Object.extend=function(destination,source){for(property in source){destination[property]=source[property];}return destination;};Object.extend(Array.prototype,{inArray:function(obj){for(var i=0;i<this.length;i++){var x=this[i];if(x==obj)return true;}return false;},indexOf:function(obj){for(var i=0;i<this.length;i++){var x=this[i];if(x==obj)return i;}return-1;},insert:function(ele){this[this.length]=ele;},diff:function(arr){var ret=[];for(var i=0;i<this.length;i++){if(!arr.inArray(this[i])){ret.insert(this[i]);}}return ret;}});Object.extend(String.prototype,{trim:function(){var ns=this;var chars=[' ','\n','\t','\r'];while(chars.inArray(ns.charAt(0)))ns=ns.substring(1,ns.length);while(chars.inArray(ns.charAt(ns.length-1)))ns=ns.substring(0,ns.length-2);return ns;},myReplace:function(src,rep){if(typeof src=='string'&&typeof rep=='string'){var ret=this;ret=ret.split(src);ret=ret.join(rep);return ret;}else{if(src.length!=rep.length)return;var ret=this;for(var i=0;i<src.length;i++){ret=ret.myReplace(src[i],rep[i]);}return ret;}}});function $(e){return document.getElementById(e);}function $c(name){return document.createElement(name);}function recusiveParse(node,func){var nodes=node.childNodes;var args=arguments[2]?arguments[2]:null;for(var i=0;i<nodes.length;i++){var n=nodes[i];if(n.nodeType!=1)continue;func(n,args);if(n.childNodes.length>0){recusiveParse(n,func,args);}}}function zeroFill(n,nn){n=''+n;while(n.length<nn)n='0'+n;return n;}function popup(w,h,url){var goLink=popup.arguments[3]?popup.arguments[3]:null;var x=screen.availWidth/2-w/2;var y=screen.availHeight/2-h/2;var imageExtensions=["jpg","jpeg","gif","png","bmp"];var dotPos=url.lastIndexOf(".");var ext=url.substring(dotPos+1,url.length);ext=ext.toLowerCase();if(imageExtensions.inArray(ext)){var imageRef="<img src='"+url+"' border='0' />";if(goLink)imageRef="<a href='javascript:;' onclick=\"window.opener.location.href = '"+goLink+"'; window.close();\">"+imageRef+"</a>";var jan=window.open("","_blank","top="+x+", left="+y+", width="+w+", height="+h+", scrollbars=0, toolbar=0, status=0, titlebar=0, resizeable=0");jan.document.write("<html><head><title></title></head><body style='margin: 0px;'>"+imageRef+"</body></html>");}else{window.open(url,"_blank","top="+x+", left="+y+", width="+w+", height="+h+", scrollbars=0, toolbar=0, status=0, titlebar=0, resizeable=0");}}function dec2hex(dec){var hex_chars="0123456789ABCDEF";var n1=hex_chars.charAt(Math.floor(dec/16));var n2=hex_chars.charAt(dec%16);return n1+n2;}function hex2dec(hex){var hex_chars="0123456789ABCDEF";var n1=hex.charAt(0);var n2=hex.charAt(1);var n1=hex_chars.indexOf(n1)*16;var n2=hex_chars.indexOf(n2);return n1+n2;}function colorAjust(color){if(color.length==7||color.length==4){color=color.substring(1,color.length);}if(color.length==3){color=color.charAt(0)+color.charAt(0)+color.charAt(1)+color.charAt(1)+color.charAt(2)+color.charAt(2);}if(color.length!=6){alert("Cor invalida: "+color);return null;}return color.toUpperCase();}function rgbFromHex(hex){hex=colorAjust(hex);if(hex){var r=hex2dec(hex.substring(0,2));var g=hex2dec(hex.substring(2,4));var b=hex2dec(hex.substring(4,6));return[r,g,b];}else{return null;}}function hexFromRGB(rgb){var simbol=hexFromRGB.arguments[1]?false:true;var str=dec2hex(rgb[0])+dec2hex(rgb[1])+dec2hex(rgb[2]);if(simbol)str="#"+str;return str;}function getXOffset(obj){var x=obj.offsetLeft;while((obj=obj.offsetParent)!=null){x+=obj.offsetLeft;}return x;}function getYOffset(obj){var y=obj.offsetTop;while((obj=obj.offsetParent)!=null){y+=obj.offsetTop;}return y;}function getInnerWidth(){return window.innerWidth?window.innerWidth:document.body.offsetWidth-4;}function getInnerHeight(){return window.innerHeight?window.innerHeight:document.body.offsetHeight-4;}var Ajax={sepList:"|:;!*-+.qwertyuiopasdfghjklzxcvbnm",init:function(){var req;try{req=new XMLHttpRequest();}catch(e){try{req=new ActiveXObject("Msxml2.XMLHTTP");}catch(ex){try{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(exc){req=null;}}}return req;},open:function(pag){var ajax=Ajax.init();if(ajax){var openArgs=arguments[1];if(typeof openArgs=='object'){var sendCont=openArgs.post;var cbArgs=openArgs.args;var errorHandle=openArgs.error;var cb=openArgs.callback;if(typeof cbArgs=='undefined')cbArgs=null;if(typeof errorHandle!='function')errorHandle=Ajax.defaultError;if(typeof cb!='function'){cb=null;}}else{var cb=openArgs;var sendCont=arguments[2]?arguments[2]:null;var cbArgs=arguments[3]?arguments[3]:null;var errorHandle=typeof arguments[4]=='function'?arguments[4]:Ajax.defaultError;}if(sendCont){ajax.open("POST",pag,true);ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");}else{ajax.open("GET",pag,true);}ajax.onreadystatechange=function(){if(ajax.readyState==4){if(ajax.status==200){var resp=unescape(ajax.responseText);if(!resp){if(typeof cb=='function'){cb(null,cbArgs);}return false;}var st=resp.charAt(0);var txt=resp.substring(2);if(st=='+'){if(typeof cb=='function'){cb(txt,cbArgs);}}else if(st=='-'){errorHandle(txt,false,cbArgs);return false;}else{errorHandle(resp,true,cbArgs);return false;}}else{errorHandle(ajax.statusText,true,cbArgs);return false;}}};ajax.send(sendCont);}},getArray:function(pag){var cb=function(v,args){v=Ajax.strToArray(v);var userArgs=args[0];var cb2=args[1];if(typeof cb2=='function'){cb2(v,userArgs);}};var openArgs=arguments[1]?arguments[1]:new Object();openArgs.args=[openArgs.args,openArgs.callback?openArgs.callback:null];openArgs.callback=cb;Ajax.open(pag,openArgs);},strToArray:function(v){var convert=function(str,lv,func){var nlv=lv+1;var c=Ajax.sepList.charAt(lv);var arr=str.split(' '+c+' ');for(var i=0;i<arr.length;i++){var x=arr[i];var type=x.charAt(0);var cont=x.substring(1,x.length);cont=cont.myReplace(c+''+c,c);if(type=='A')arr[i]=func(cont,nlv,func);else arr[i]=cont;}return arr;};return convert(v,0,convert);},send:function(f){var sendArgs=arguments[1];if(typeof sendArgs=='object'){var cb=sendArgs.callback;var cbArgs=sendArgs.args;var errorHandle=sendArgs.error;}else{var cb=sendArgs;var cbArgs=arguments[2]?arguments[2]:null;var errorHandle=typeof arguments[3]=='function'?arguments[3]:null;}var acao=f.action;var metodo=f.method;if(!acao){alert("Erro: o valor action do formulario não foi definido");return false;}if(!metodo){alert("Erro: o método do formulário não foi definido");return false;}else{metodo=metodo.toLowerCase();}var send=new Array();var elementos=f.elements;for(var i=0;i<elementos.length;i++){var e=elementos[i];if(!e.name){continue;}if(e.disabled){continue;}var tipo=e.type.toLowerCase();if(tipo!="checkbox"&&tipo!="radio"){send[send.length]=e.name+"="+escape(e.value);}else if(e.checked){send[send.length]=e.name+"="+escape(e.value);}}send=send.join("&");if(metodo=="post"){Ajax.open(acao,{callback:cb,post:send,args:cbArgs,error:errorHandle});}else{Ajax.open(acao+"?"+send,{callback:cb,args:cbArgs,error:errorHandle});}return false;},defaultError:function(msg,fatal){if(!fatal){alert("Erro: "+msg);}else{alert("Erro fatal: "+msg);}}};var Loader={lastLoaded:null,timer:null,autoScroll:true,initPage:function(){var links=document.links;for(var i=0;i<links.length;i++){if(links[i].getAttribute("href")&&links[i].getAttribute("href").match(/^ajax:\/\//)){links[i].onclick=function(){var pag=this.href;var reducao=0;var indexBarra=pag.lastIndexOf("/");if(indexBarra==(pag.length-1))reducao=1;pag=pag.substring("ajax://".length,pag.length-reducao);var target="conteudo";if(this.target){target=this.target;}Loader.load(pag,target);return false;}}else if(links[i].href!="javascript:;"){links[i].setAttribute("target","_blank");}}},load:function(url){var contentElement=arguments[1]?arguments[1]:'conteudo';if(contentElement=='conteudo'){window.location.href='index.php#'+url;Loader.lastLoaded=url;if(document.all)window.loaderFrame.location.href='load.php?pageLoad='+escape(url);}$('pageLoading').style.display='';pageName=unescape(url);pageName=pageName.replace(/(&amp;)/g,"&");var getSend="";var getPos=pageName.indexOf(":");if(getPos>0){getSend=pageName.substr(getPos+1);getSend=getSend.split("&");for(var i=0;i<getSend.length;i++){var equalPos=getSend[i].indexOf('=');var value=getSend[i].substr(equalPos+1,getSend[i].length);getSend[i]=getSend[i].substr(0,equalPos+1)+escape(value);}getSend="&"+getSend.join("&");pageName=escape(pageName.substr(0,getPos));}Loader.scrollAction();Ajax.open("loader.php?pag="+pageName+getSend,{callback:Loader.callback,error:Loader.error,args:[contentElement,pageName]});},callback:function(content,args){var dest=args[0];try{if(typeof dest=='string')$(dest).innerHTML=content;else dest.innerHTML=content;}catch(e){}$('pageLoading').style.display='none';try{eval("doInit_"+args[1].replace(/(\/|\\)/,'_')+"()");}catch(e){}Loader.initPage();if(Loader.autoScroll){window.scrollTo(0,0);Loader.scrollAction();}},error:function(msg){alert('Não foi possivel carregar a página: '+msg);$('pageLoading').style.display='none';},verifyChange:function(){var loc=window.location.href;var pos=loc.indexOf('#');var atual='home';if(pos>=0){atual=loc.substring(pos+1,loc.length);}if(atual!=Loader.lastLoaded){Loader.load(atual);}Loader.timer=setTimeout("Loader.verifyChange()",200);},scrollAction:function(){var s=window.pageYOffset?window.pageYOffset:document.body.scrollTop;$("pageLoading").style.top=(s+6)+"px";}};function Sound(path){var vol=Sound.arguments[1]?Sound.arguments[1]:0;this.src=path;this.loops=0;this.volume=vol>0||vol<-10000?0:vol;this._buffer=null;this._output=null;this.preload();}Sound.prototype.preload=function(){this._buffer=document.createElement("bgsound");this._buffer.volume=-10000;this._buffer.src=this.src;document.body.appendChild(this._buffer);};Sound.prototype.play=function(){var l=this.play.arguments[0]?this.play.arguments[0]:0;this._output=document.createElement("bgsound");this._output.loop=l;this._output.volume=this.volume;document.body.appendChild(this._output);this._output.src=this._buffer.src;document.body.removeChild(this._output);};Sound.prototype.stop=function(){this._output.loops=0;this._output.src="";};Sound.prototype.setVolume=function(volume){this._output.volume=this.volume=volume;};var Template={_toLoad:_templatesToLoad,_pos:0,_loaded:false,load:function(){if(Template._pos<Template._toLoad.length){if(Template._toLoad[Template._pos]){Ajax.open("loader.php?pag=jsTemplates/"+Template._toLoad[Template._pos],{callback:Template.callback,args:Template._toLoad[Template._pos],error:Template.error});}else{Template._pos++;Template.load();}}else{Template._loaded=true;_siteStart();}},callback:function(v,n){Template[n]=v;Template._pos++;Template.load();},error:function(m,f,n){alert("Não foi possivel carregar o template "+n);Template._pos++;Template.load();},parse:function(html){var tmp=document.createElement("div");tmp.innerHTML=html;var obj=new Object();var func=function(n,obj){var ele=null;if(ele=n.getAttribute("oName")){obj[ele]=n;}};recusiveParse(tmp,func,obj);obj._obj=tmp;obj._html=html;return obj;}};function doInit_chat(){startGeneral();}function doInit_chat2(){startGeneral();}var inputFocus=false;var autoScroll=true;var origTitle=null;function startGeneral(){startLayout();startInput();startButton();startSound();startTemplates();startServer();startEvents();startEmoticons();userListenTimer=setInterval(function(){userListener()},messageDelay);}function startLayout(){document.body.style.backgroundColor='#9f3703';document.body.style.overflow='hidden';if(!document.all){$('openPanes').style.position='absolute';}$('openPanes').style.display='';}function startInput(){var input=$('textInput');input.maxLength=300;input.onkeydown=function(evt){var e=evt?evt:event;var validKeys=[13,8,46,37,38,39,40];if(this.value.length>=this.maxLength&&!validKeys.inArray(e.keyCode)){return false;}if(e.keyCode==9){if(activePanel.type==1){var lista=activePanel.userList;completeName(lista);}return false;}else{lastSearch=null;searchBy=null;}if(e.keyCode==13){var lines=this.value.split('\n').length;if(!e.shiftKey){Sender.send();return false;}else if(lines>=3){return false;}}};input.onkeyup=function(evt){var e=evt?evt:event;if(e.keyCode==9){return false;}$('sendButton').disabled=!(this.value.trim().length>0);if(this.value.length>this.maxLength)this.value=this.value.substring(0,this.maxLength);};origTitle=document.title;input.onfocus=function(){inputFocus=true;document.title=origTitle;};input.onblur=function(){inputFocus=false;};}function startButton(){var btn=$('sendButton');btn.onclick=function(){Sender.send();};}function startTemplates(){colorTemplate=Template.parse(Template.colors);emoticonsTemplate=Template.parse(Template.emoticons);var doRecusive=function(obj){if(obj.tagName=="TD"){obj.style.border='1px solid #FFF';obj.align='center';obj.valign='middle';obj.onmouseover=function(){this.style.borderColor='#316AC5';};obj.onmouseout=function(){this.style.borderColor='#FFF';};obj.onclick=function(){this.style.borderColor='#FFF';};}else if(obj.tagName=="IMG"){obj.style.border='1px solid #DEDEDE';}};recusiveParse(emoticonsTemplate.emots,doRecusive);}function startEvents(){document.body.onclick=function(){ChatDialog.remove();};window.onresize=function(evt){if(!document.all){positionFix($('openPanes'),0);positionFix(activePanel.panel,10);if(activePanel.users)positionFix(activePanel.users,10);}ChatDialog.remove();};window.onunload=function(){Sender.quit();};if(!document.all)window.onresize();document.body.oncontextmenu=function(){return false;};var f=function(obj){if(obj.tagName=='IMG'){obj.onmouseover=function(){try{highLight(this);}catch(ex){}};obj.onmouseout=function(){try{outLight(this);}catch(ex){}};}};recusiveParse($('tableIcons'),f);}function startServer(){var serv=new ChatPanel('Servidor',0,null);serv.show();Sender.help([]);var ini=new ChatPanel(firstRoom,1,firstRoom);ini.show();}function startEmoticons(){for(var i=0;i<emoticonNames.length;i++){emoticonNames[i]='<img src="img/emoticons/'+emoticonNames[i]+'.gif" />';}}var ChatDialog={opened:null,show:function(obj,source){ChatDialog.remove();obj.style.position='absolute';obj.first=true;document.body.appendChild(obj);ChatDialog.opened=obj;var posX=getXOffset(source)-5;var posY=getYOffset(source)-obj.offsetHeight-3;obj.style.left=posX+'px';obj.style.top=posY+'px';},remove:function(){if(ChatDialog.opened){if(ChatDialog.opened.first)ChatDialog.opened.first=false;else{document.body.removeChild(ChatDialog.opened);ChatDialog.opened=null;}}}};var Error={backLogin:false,handle:function(msg,obj){var pos=msg.indexOf(':');if(pos==-1){var errorNum=parseInt(msg);var text='';}else{var errorNum=parseInt(msg.substring(0,pos));var text=msg.substring(pos+1,msg.length);}switch(errorNum){case 0:this.showMessage(text,obj,'#F00');break;case 1:this.showMessage(text,obj,'#900');break;case 2:this.disconnect();break;}},showMessage:function(msg,obj,color){var style={color:color,fontWeight:'bold'};obj.appendln(msg,style);},disconnect:function(){if(!chatRunning)return;for(var i=0;i<chatPanels.length;i++){if(!chatPanels[i])continue;var p=chatPanels[i];this.showMessage('Você foi desconectado do chat',p,'#FF0000');if(p.type==1){p.clearUsers();p.running=false;}}chatRunning=false;if(userListenTimer)clearInterval(userListenTimer);if(Error.backLogin)location.href='index.php';}};var userListenTimer=null;var chatRunning=true;function userListener(){if(!chatRunning)return;var cb=function(v,tempo){if(v){var mens=getMessage(v);for(var i=0;i<mens.length;i++){var m=mens[i];var panel=traySearch(m.nick,2);if(!panel)panel=new ChatPanel(m.nick,2,m.nick);panel.appendMessage(m.message,m.nick,m.color);}}if(showRoomPing)showPing(tempo);};var error=function(v,f,tempo){if(!f){Error.handle(v,chatPanels[0]);}if(showRoomPing)showPing(tempo);};var d=new Date();var t=d.getMilliseconds();Ajax.open('filtrar.php?filtro=get',{callback:cb,error:error,post:'get=self',args:t});}function getMessage(v){var mens=v.split(' | ');var ret=[];for(var i=0;i<mens.length;i++){var msg=mens[i].replace(/\|\|/g,'|');msg=msg.split(' : ');for(var x=0;x<msg.length;x++){var m=msg[x];m=m.replace(/\:\:/g,':');msg[x]=m;}ret.insert({nick:msg[0],message:msg[1],color:msg[2]});}return ret;}function showPing(t1){var d=new Date();var t2=d.getMilliseconds();var ping=t2-t1;if(ping<=0)ping*=-1;$('status').innerHTML=ping+' ms';}var chatPanels=[];var activePanel=null;var showRoomPing=false;function ChatPanel(title,type,id){this.title=title;this.origTitle=title;this.type=type;this.id=id;this.running=true;this.panel=this.startPanel();if(this.type==1){this.timer=null;this.msgTimer=null;this.roomID=0;this.users=this.startPanel();this.refreshUsers();}this.trayButton=this.startButton();chatPanels.insert(this);sortTray();}Object.extend(ChatPanel.prototype,{show:function(){$('conversaTitle').innerHTML=this.title;if(!activePanel){$('conversaLocation').appendChild(this.panel);}else{$('conversaLocation').replaceChild(this.panel,activePanel.panel);if(this.type==1){if(activePanel.type==1)$('usersLocation').replaceChild(this.users,activePanel.users);else $('usersLocation').appendChild(this.users);$('usersTD').style.display='';}else{if(activePanel.type==1)$('usersLocation').removeChild(activePanel.users);$('usersTD').style.display='none';}activePanel.trayButton.style.backgroundColor='';activePanel.trayButton.style.border='1px solid #CCC';}this.trayButton.style.backgroundColor='#CCF';this.trayButton.style.border='1px solid #000';this.trayButton.style.color='#000';activePanel=this;if(!document.all){try{window.onresize();}catch(ex){}}try{$('textInput').focus();}catch(ex){}this.panel.scrollTop=100000000000;},destroy:function(){var pos=chatPanels.indexOf(this);if(pos>-1){$('openPanes').removeChild(this.trayButton);chatPanels[pos]=null;if(activePanel==this){do{pos--;}while(!chatPanels[pos]);chatPanels[pos].show();}}this.running=false;if(this.timer)clearTimeout(this.timer);if(this.msgTimer)clearInterval(this.msgTimer);if(this.type==1){Ajax.open('filtrar.php?filtro=outRoom',{post:'name='+this.id,error:function(){}});}},startPanel:function(){var e=$c('div');e.className='chatPanel';e.style.padding='5px';if(navigator.userAgent.indexOf("Opera")>-1){e.style.height='375px';}return e;},startButton:function(){var btn=$c('div');btn.className='trayButton';var prefix=['@','#',''];btn.innerHTML=prefix[this.type]+this.title;btn.chatObj=this;btn.onclick=function(){this.chatObj.show();};btn.onmousedown=function(evt){var e=evt?evt:event;if(e.button==2&&this.chatObj.type!=0){this.chatObj.destroy();}};btn.onmouseover=function(){if(activePanel!=this.chatObj){this.style.backgroundColor='#EEF';}};btn.onmouseout=function(){if(activePanel!=this.chatObj){this.style.backgroundColor='';}};$('openPanes').appendChild(btn);return btn;},refreshUsers:function(){if(!this.running)return;var cb=function(string,panel){if(!string){setTimeout(function(){panel.refreshUsers();},refreshUserDelay);return;}panel.clearUsers();var obj=panel.users;var users=string.split(' | ');users.sort();for(var i=0;i<users.length;i++){var u=users[i]=users[i].replace(/\|\|/g,'|');var name=u;var usr=$c('div');usr.innerHTML=name;usr.uID=name;usr.style.border='1px solid #CCC';usr.style.padding='2px';usr.style.marginBottom='2px';if(name!=myNick){usr.onmouseover=function(){this.style.backgroundColor='#EFE';};usr.onmouseout=function(){this.style.backgroundColor='';};usr.onclick=function(){var obj=traySearch(this.innerHTML,2);if(obj){obj.show();}else{var no=new ChatPanel(this.innerHTML,2,this.uID);no.show();}this.style.backgroundColor='';};}else{usr.style.backgroundColor='#CFC';}obj.appendChild(usr);}if(panel.userList){var usersIn=users.diff(panel.userList);var usersOut=panel.userList.diff(users);for(var i=0;i<usersIn.length;i++){panel.appendln(getHorario()+' <b>'+usersIn[i]+'</b> entrou na sala',{color:'#009900'});}for(var i=0;i<usersOut.length;i++){panel.appendln(getHorario()+' <b>'+usersOut[i]+'</b> saiu da sala',{color:'#990000'});}}panel.userList=users;if(panel.roomID==0){panel.msgTimer=setInterval(function(){panel.messageRequest();},roomMessageDelay);}panel.roomID=1;setTimeout(function(){panel.refreshUsers();},refreshUserDelay);};var error=function(v,f,c){if(f){setTimeout(function(){c.refreshUsers();},refreshUserDelay);return;}v=parseInt(v);switch(v){case 0:c.appendln('A sala <b>'+c.id+'</b> não foi encontrada',{color:'#FF0000'});c.roomID=-1;c.running=false;break;case 1:c.appendln('A sala <b>'+c.id+'</b> está cheia',{color:'#FF0000'});c.roomID=-1;c.running=false;break;}setTimeout(function(){c.refreshUsers();},refreshUserDelay);};Ajax.open('filtrar.php?filtro=users',{post:'name='+escape(this.id),callback:cb,error:error,args:this});},clearUsers:function(){this.users.innerHTML='';},messageRequest:function(){if(!this.running)return;var cb=function(v,args){var panel=args[0];var tempo=args[1];if(v){var mens=getMessage(v);for(var i=0;i<mens.length;i++){var m=mens[i];panel.appendMessage(m.message,m.nick,m.color);}}if(showRoomPing&&activePanel==panel){panel.ping(tempo);}};var error=function(v,f,args){var panel=args[0];var tempo=args[1];if(!f){Error.handle(v,panel);}if(showRoomPing&&activePanel==panel){panel.ping(tempo);}};var d=new Date();var t=d.getMilliseconds();Ajax.open('filtrar.php?filtro=get',{callback:cb,error:error,post:'get=R:'+this.id,args:[this,t]});},append:function(msg){var ele=$c('div');var style=arguments[1]?arguments[1]:null;if(style){Object.extend(ele.style,style);var f=function(n){Object.extend(n.style,style);};recusiveParse(ele,f);}ele.innerHTML=msg+'<br>';this.panel.appendChild(ele);if(activePanel!=this)this.trayButton.style.color='#FF0000';if(autoScroll){this.panel.scrollTop=100000000000;}if(!inputFocus){document.title=':: WWC - MENSAGENS NÃO LIDAS ::';if(document.all&&myNick=='Wilker')window.focus();}},appendln:function(msg){this.append(msg+'<br>',arguments[1]);},appendMessage:function(msg,from,color){var t=getHorario();var topString=t+' <b>'+from+'</b> diz:';var msgStyle={color:'#'+color,marginLeft:'15px'};if(activeSound&&(activePanel!=this||!inputFocus)&&this.type==2){soundAlert.play();}msg=msg.myReplace(emoticonCuts,emoticonNames);msg=msg.replace(/(http:\/\/([^\s\t\n\r]+)|(www\.[^\s\t\n\r]+))/gi,'<a href="http://$2$3" target="_blank">$1</a>');this.append(topString);this.appendln(msg,msgStyle);},ping:function(t1){var d=new Date();var t2=d.getMilliseconds();var ping=t2-t1;if(ping<=0)ping*=-1;this.title=this.origTitle+' - '+ping+' ms';$('conversaTitle').innerHTML=this.title;}});function traySearch(title,type){for(var i=0;i<chatPanels.length;i++){if(!chatPanels[i])continue;var c=chatPanels[i];if(c.title.toLowerCase()==title.toLowerCase()&&c.type==type)return c;}return null;}function sortTray(){var rooms=[];var users=[];for(var i=0;i<chatPanels.length;i++){if(!chatPanels[i])continue;var o=chatPanels[i].title;if(chatPanels[i].type==1)rooms.insert(o);else if(chatPanels[i].type==2)users.insert(o);}rooms.sort();users.sort();var newOrder=[];newOrder.insert(chatPanels[0]);var insertTray=function(arr,n){for(var i=0;i<arr.length;i++){var ele=traySearch(arr[i],n);newOrder.insert(ele);$('openPanes').removeChild(ele.trayButton);$('openPanes').appendChild(ele.trayButton);}};insertTray(rooms,1);insertTray(users,2);chatPanels=newOrder;}var Sender={send:function(){var txt=$('textInput').value.trim();$('textInput').value='';$('sendButton').disabled=true;if(txt.length>0){if(txt.charAt(0)=='/'){this.sendCommand(txt);return;}if(activePanel.type==0){activePanel.appendln('Você não pode enviar mensagens ao Servidor',{color:'#FF0000'});return;}if(activePanel.type==1){if(activePanel.roomID==0){activePanel.appendln('Aguarde o carregamento de usuários para enviar mensagens para essa sala',{color:'#FF0000'});return;}else if(activePanel.roomID==-1){activePanel.appendln('Você não pode enviar mensagens para uma sala inexistente',{color:'#FF0000'});return;}}var error=function(v,f,c){if(!f)Error.handle(v,c[0]);else{c[0].append("A seguinte mensagem não pode ser entregue:<br>"+txt,{color:'#FF0000'});}};var prefix=['','R','U'];var to=prefix[activePanel.type]+':'+activePanel.id;Ajax.open('filtrar.php?filtro=send',{error:error,post:'msg='+escape(txt)+'&to='+escape(to)+'&color='+userColor,args:[activePanel,txt]});txt=txt.replace(/\</g,'&lt;');txt=txt.replace(/\</g,'&gt;');txt=txt.replace(/\n/g,'<br>');activePanel.appendMessage(txt,myNick,userColor);}},sendCommand:function(v){var pos=v.indexOf(' ');if(pos==-1){var command=v.substring(1,v.length);var args=[];}else{var command=v.substring(1,pos);var args=v.substring(pos+1,v.length).split(' ');}var serverCommands=['find','register','changepassword','ban','unban','kikar','criarsala','delsala','listban','admin','listadmin','registeradmin','deladmin','deluser','listsalas','aviso'];if(command=='help'||command=='h')this.help(args);else if(command=='join'||command=='j')this.join(args);else if(command=='showping')this.tooglePing();else if(command=='clear'||command=='cls')this.clearScreen();else if(command=='quit')this.quit();else if(serverCommands.inArray(command))this.serverCommand(command,args);else activePanel.appendln('Comando desconhecido',{color:'#FF0000'});},help:function(args){var type=args[0];if(type)this.specifyHelp(type);else{var h='';h+='<b>/help</b> ou <b>/h</b> => Mostra tela de ajuda<br>';h+='<b>/join <i>nome_sala</i></b> ou <b>/j <i>nome_sala</i></b> => Entrar na sala <i>nome_sala</i><br>';h+='<b>/register <i>email senha confirma_senha</i></b> => Registrar o nick em uso<br>';h+='<b>/changepassword <i>senha_antiga senha confirma_senha</i></b> => Trocar sua senha (apenas se já for registrado)<br>';h+='<b>/showping</b> => mostrar o seu ping para com o chat<br>';h+='<b>/clear</b> ou <b>/cls</b> => limpar a tela atual<br>';h+='<b>/find <i>usuario</i></b> => busca por um usuário<br>';h+='<b>/kikar <i>usuario</i></b> => kikar usuário<br>';h+='<b>/quit</b> => sair do chat<br><br>';h+='Para uma descrição mais completa de algum comando digite: <b>/help <i>comando</i></b> ou <b>/h <i>comando</i></b><br><br><br>';h+='<b>/admin</b> => Comando exclusivos para Administradores<br>';activePanel.appendln(h,{color:'#009',fontFamily:'Courier New'});}},specifyHelp:function(type){var h='';if(type=='help'||type=='h'){h+='<b>/help</b> ou <b>/h</b><br>';h+='Mostra ajuda do chat.';}else if(type=='join'||type=='j'){h+='<b>/join <i>nome_sala</i></b> ou <b>/j <i>nome_sala</i></b><br>';h+='Esse comando lhe permite acessar uma nova sala no chat, caso a sala já esteja aberta, ele vai apenas dar foco na janela da sala.';}else if(type=='register'){h+='<b>/register <i>email senha confirma_senha</i></b><br>';h+='Use esse comando para registrar o nick que você esta usando, lembre-se de usar um e-mail válido, pois o registro do seu nick só será ativado após a confirmação via email';}else if(type=='changepassword'){h+='<b>/changepassword <i>senha_antiga senha confirma_senha</i></b><br>';h+='Se você já for registrado e deseja alterar sua senha, use esse comando.';}else if(type=='showping'){h+='<b>/showping</b><br>';h+='Mostra o tempo entre o pedido de requisição ao servidor e a resposta para o cliente, esse tempo eh marcado em milézimos de segundo.<br>';h+='Existem 2 tipos de ping no WWC, o 1° tipo é o ping para mensagens pessoais, esse ping fica representado na barra status (abaixo de onde você digita), o 2° tipo é o ping individual para cada sala, esse ping é mostrado na barra de título quando a sala está ativa.';}else if(type=='clear'||type=='cls'){h+='<b>/clear</b> ou <b>/cls</b><br>';h+='Apaga todas as mensagens da janela atualmente ativa.';}else if(type=='find'){h+='<b>/find <i>usuário</i></b><br>';h+='Esse comando busca por um usuário logado no chat, se encontrado lista logo abaixo o nome das salas onde o usuário esta ativo (obs: o usuário pode estar online e ao mesmo tempo não estar em nenhuma sala).';}else if(type=='quit'){h+='<b>/quit</b><br>';h+='Use esse comando para sair do chat';}else if(type=='kikar'){h+='<b>/kikar <i>usuário</i></b><br>';h+='Use esse comando para kikar usuarios indesejados na sala, precisa de no minimo 60% dos usuário votem';}if(h){activePanel.appendln(h,{color:'#009',fontFamily:'Courier New'});}else{activePanel.appendln('Não foi encontrada nenhuma ajuda para o comando solicitado',{color:'#900'});}},join:function(args){var sala=args[0];var r=traySearch(sala,1);if(r)r.show();else{var p=new ChatPanel(sala,1,sala);p.show();}},tooglePing:function(){showRoomPing=!showRoomPing;if(!showRoomPing){$('conversaTitle').innerHTML=activePanel.origTitle;$('status').innerHTML='Copyright &copy; 2007';for(var i=0;i<chatPanels.length;i++){if(!chatPanels[i])continue;var p=chatPanels[i];p.title=p.origTitle;}}},quit:function(){Error.backLogin=true;Ajax.open('filtrar.php?filtro=logout');},clearScreen:function(){activePanel.panel.innerHTML='';},serverCommand:function(command,args){var cb=function(v,p){var pos=v.indexOf(':');if(pos==-1){var cmdNum=parseInt(v);var text='';}else{var cmdNum=parseInt(v.substring(0,pos));var text=v.substring(pos+1,v.length);}switch(cmdNum){case 0:Sender.sendMessage(text,p);break;case 1:Sender.scFind(text,p);break;}};var error=function(v,f,p){if(!f){Error.handle(v,p);}else{alert(v);}};var argsOut=['cmd='+escape(command)];for(var i=0;i<args.length;i++){argsOut.insert('args[]='+escape(args[i]));}Ajax.open('filtrar.php?filtro=command',{callback:cb,error:error,post:argsOut.join('&'),args:activePanel});},sendMessage:function(v,p){v=Ajax.strToArray(v);var msg=v[0];var color=v[1];p.appendln(msg,{color:color,fontWeight:'bold'});},scFind:function(v,p){v=Ajax.strToArray(v);var nick=v[0];var rooms=v[1];var out='O usuário <b>'+nick+'</b> está online<br>';for(var i=0;i<rooms.length;i++){out+='#'+rooms[i]+'<br>';}p.append(out,{color:'#090'});}};var messageDelay=1500;var roomMessageDelay=2000;var refreshUserDelay=3000;function positionFix(obj,space){obj.style.width=obj.parentNode.offsetWidth-space+'px';obj.style.height=obj.parentNode.offsetHeight-space+'px';}function highLight(obj){obj.style.backgroundColor='#B0D8E8';obj.parentNode.style.backgroundColor='#4890C8';}function outLight(obj){obj.style.backgroundColor='';obj.parentNode.style.backgroundColor='';}var colorTemplate=null;var userColor='000000';function openColor(evt){var e=evt?evt:event;var t=e.target?e.target:e.srcElement;ChatDialog.show(colorTemplate._obj,t);}function openEmoticons(evt){var e=evt?evt:event;var t=e.target?e.target:e.srcElement;ChatDialog.show(emoticonsTemplate._obj,t);}function selectColor(color){userColor=color;$('textInput').style.color='#'+color;$('textInput').focus();}var lastSearch;var searchBy;function completeName(listOpt){typedText=$('textInput').value;if(!searchBy)searchBy=typedText.substring(typedText.lastIndexOf(" ")+1).toLowerCase();if(!searchBy)return;for(i=0;i<listOpt.length;i++){val=listOpt[i].trim();if(val.toLowerCase().substring(0,searchBy.length)==searchBy&&i>=lastSearch){lastSearch=i+1;$('textInput').value=typedText.substring(0,typedText.lastIndexOf(" ")+1)+val;return;}}if(lastSearch){lastSearch=null;for(i=0;i<listOpt.length;i++){val=listOpt[i].trim();if(val.toLowerCase().substring(0,searchBy.length)==searchBy&&i>=lastSearch){lastSearch=i+1;$('textInput').value=typedText.substring(0,typedText.lastIndexOf(" ")+1)+val;return;}}}}function getHorario(){var d=new Date();var h=zeroFill(d.getHours(),2);var m=zeroFill(d.getMinutes(),2);var s=zeroFill(d.getSeconds(),2);return'['+h+':'+m+':'+s+']';}function exitChat(){if(!confirm('Deseja sair do chat?'))return;Sender.quit();}var imgScrollAtivo=new Image();imgScrollAtivo.src='img/icoScrollAtivo.gif';var imgScrollInativo=new Image();imgScrollInativo.src='img/icoScrollInativo.gif';function scrollToogle(obj){autoScroll=!autoScroll;if(autoScroll)obj.src=imgScrollAtivo.src;else obj.src=imgScrollInativo.src;try{$('textInput').focus();}catch(e){}}function addEmoticon(shotcut){$('textInput').value+=shotcut;$('textInput').focus();$('sendButton').disabled=false;}function doInit_login(){$('nickInput').focus();}function doLogin(f){var cb=function(v,nick){if(v=='digitaSenha'){$('senhaInput').disabled=false;$('senha1').style.display='';$('senha2').style.display='';$('senhaInput').focus();$('noticeDiv').innerHTML='O nick <b>'+nick+'</b> já esta registrado, se foi você mesmo que registrou, apenas digite a senha no novo campo de senha, caso contrario, tente outro nick (deixe o campo de senha em branco)<br><br>';}else{location.href='index.php';}};Ajax.send(f,{callback:cb,args:$('nickInput').value});}var imgSomAtivo=new Image();imgSomAtivo.src='img/icoSomAtivo.gif';var imgSomInativo=new Image();imgSomInativo.src='img/icoSomInativo.gif';var activeSound=document.all?true:false;if(document.all){var soundAlert=new Sound('beep.wav');}function startSound(){if(document.all&&navigator.userAgent.indexOf("Opera")==-1)$('imgSom').src=imgSomAtivo.src;else $('imgSom').src=imgSomInativo.src;}function soundTrigger(obj){if(!document.all||navigator.userAgent.indexOf("Opera")>-1){alert('Desculpe, mas seu browser não tem suporte a recursos sonoros');return;}if(activeSound==true){activeSound=false;obj.src=imgSomInativo.src;}else{activeSound=true;obj.src=imgSomAtivo.src;}}function _siteStart(){if(typeof Template!='undefined'&&typeof Template=='object'&&!Template._loaded){Template.load();return;}var pageWidth=document.innerWidth?document.innerWidth:document.body.offsetWidth-6;$('pageLoading').style.left=(pageWidth-120)+'px';$('pageLoading').style.top='6px';if(navigator.userAgent.indexOf("Opera")==-1||_soloBase){Loader.initPage();if(!_soloBase)Loader.verifyChange();window.old_onscroll=window.onscroll;window.onscroll=function(evt){try{window.old_onscroll(evt);}catch(e){}Loader.scrollAction();};if(!_soloBase){if(typeof userInit!='undefined'&&typeof userInit=='function')userInit();}else{try{eval("doInit_"+_soloBase.replace(/(\/|\\)/,'_')+"()");}catch(e){}}}else{$('siteContent').innerHTML="<div style='text-align: center; font-weight: bold; font-size: 15px; padding-top: 30px;'>Desculpe, mas seu browser não da suporte aos recursos nescessarios para a visualização desse site</div>";}}