var ver_buddy="1.1";var useIcons=1;var defaultIcon='<img src="/gfx/nopic.gif" alt="" border="0" align="left" class="icon" />';var Buddylist={buddyListWin:null,noSingle:false,timeout:false,create:function(){if(!$("buddylist")){var A="";switch(document.getElementById("onlineStatus").value){case"1":A="online_16";onlineStatusTxt="online";break;case"2":A="busy";onlineStatusTxt="busy";break}this.buddyListWin=new MochaUI.Window({id:"buddylist",title:"buddylist",closable:false,maximizable:false,resizeLimit:{x:[190,400],y:[200,1024]},width:230,height:300,shadowBlur:3,icon:"/gfx/icons/move.png",toolbar:true,toolbarURL:"",toolbarContent:'<div class="toolbarStatus" style="padding:3px;"><span id="myCurrentStatus" class="selectBox" onclick="toggle_display_id(\'myStatus\');" ><img src="/gfx/icons/png/'+A+'.png" alt="" align="absmiddle" /> '+onlineStatusTxt+'</span><div style="display:none;margin: 3px 0 0 10px;position: fixed;" class="selectUl" id="myStatus"><ul style="width: 80px;"><a href="javascript:;" onclick="setOnlineStatus(\'1\');"><img src="/gfx/icons/png/online_16.png" alt="" align="absmiddle" /> online</a><a href="javascript:;" onclick="setOnlineStatus(\'2\');"><img src="/gfx/icons/png/busy.png" alt="" align="absmiddle" /> busy</a></ul></div></div>',toolbarPosition:"top",startMinimized:false});window.addEvent("unload",function(){if(MochaUI){MochaUI.garbageCleanUp()}})}$("buddylist_content").innerHTML='<div id="blist_content" class="bordit_small img_margin"></div>';this.list={};this.listObjects={};this.blocked={}},sync_chat:function(C){var G;if($("uid").value==C.uid){chat_name=C.to_uname;var B=""}else{chat_name=C.uname;var B=" buddy_col"}this.chat(C.id,chat_name,C.uid);var F=$(C.id+"_history");if((($("chat_"+C.id+"_contentWrapper").scrollHeight-$("chat_"+C.id+"_contentWrapper").clientHeight)==$("chat_"+C.id+"_contentWrapper").scrollTop)||$("chat_"+C.id+"_contentWrapper").scrollTop==0){G=true}else{G=false}var D=new Date(C.time*1000);date_time=D.getHours()+":"+D.getMinutes()+":"+D.getSeconds();var E=new Element("div");if(C.uname=="_"){E.innerHTML='<div class="messages-timeOnly buddy_admin">('+date_time+')</div><div class="messages-body">'+C.chat+'<div class="messages-notSent">'+nl2br(C.old)+"</div></div>"}else{if(F.last_writer==C.uname){E.innerHTML='<div class="messages-timeOnly'+B+'">('+date_time+')</div><div class="messages-body">'+Smile(nl2br(text2link(C.chat)))+"</div>"}else{E.innerHTML='<div class="messages-head'+B+'"><table width="100%"><tr><td><b>'+C.uname+'</b></td><td class="messages-time">('+date_time+')</td></tr></table></div><div class="messages-body">'+Smile(nl2br(text2link(C.chat)))+"</div>"}}E.inject(F);F.last_writer=C.uname;if(G){$("chat_"+C.id+"_contentWrapper").scrollTop=$("chat_"+C.id+"_contentWrapper").getScrollSize().y+200}if(!$("chat_"+C.id).hasClass("isFocused")){$("chat_"+C.id+"_dockTab").addClass("noticeDockTab");if(mute==0){var A={};A.soundfile=sounds.chat;swfobject.embedSWF("/gfx/flash/sound.swf","body_bottom","1","1","8","/js/swfobject/expressInstall.swf",A)}}},msg:function(B,C){if(this.timeout!=false){this.noSingle=true;clearTimeout(this.timeout);this.timeout=false}if(!$("msg_"+C)){var D=Math.round(Math.random()*(window.getSize().x-450));var A=Math.round(Math.random()*(window.getSize().y-400));var E=new MochaUI.Window({id:"msg_"+C,title:B+' <span class="fade_text"> - message</span>',closable:true,maximizable:false,content:"",resizable:false,width:400,height:0,toolbar:true,toolbarContent:'<div id="msgSend_'+C+'" style="display:none;text-align:center;position:absolute;top:30px;left:150px;background:white;border:1px solid #d4d4d4;padding:8px;"><small>sending message<br><img src="/gfx/spinner.gif"/></small></div><form action="/add/message" method="post" target="send_if" id="msgForm_'+C+'"><div class="toolbar_container"><div style="float:right"><img align="absmiddle" onclick="smilie_box(\'msg_'+C+'_pm_text\', event, 0, 1);" title="emoticons" src="/gfx/smilies/pack/2/2xd.gif" /> <img align="absmiddle" src="/gfx/icons/text.gif"/> <span title="2000" id="msg_'+C+'_pm_text_crop">2000</span></div><div>send type <select name="type"><option value="pm">private message</option><option value="gb">guestbook</option></select></div></div><textarea name="message" style="height:120px;" class="send_pm_textarea" id="msg_'+C+'_pm_text" /></textarea><div align="right"><input type="submit" class="button" value="send message" style="margin: 4px;" /></div><input type="hidden" name="uid" value="'+C+'"/></form>',toolbarPosition:"bottom",x:D,y:A,shadowBlur:3,icon:"/gfx/icons/png/blog.png",startMinimized:false});$("msg_"+C+"_pm_text").addEvent("keydown",function(F){if(F.key=="enter"&&F.shift){if(this.value.length<1){return false}if(this.value.length>2000){alert("text to long, please shorten it.");return false}document.getElementById("msgForm_"+C).submit();this.disabled=true;document.getElementById("msgSend_"+C).style.display="";return false}crop_input(this,null,2000)})}},chat:function(G,B,C,E){if(typeof (E)=="undefined"){E=true}if(!chatConn()){return false}if(this.timeout!=false){this.noSingle=true;clearTimeout(this.timeout);this.timeout=false}if(!$("chat_"+G)){var D=Math.round(Math.random()*(window.getSize().x-470));var A=Math.round(Math.random()*(window.getSize().y-400));var F=new MochaUI.Window({id:"chat_"+G,title:B+' <span class="fade_text"> - chat</span>',closable:true,maximizable:false,content:'<div id="'+G+'_history"></div>',resizeLimit:{x:[200,600],y:[100,700]},width:420,height:200,onFocus:function(){$(this.windowEl.id+"_dockTab").removeClass("noticeDockTab");if($(this.windowEl.id+"_pm_text")){$(this.windowEl.id+"_pm_text").focus()}},toolbar:true,toolbarURL:"",toolbarContent:'<div class="toolbar_container"><div class="toolbarButton"><img align="absmiddle" onclick="smilie_box(\'chat_'+G+'_pm_text\', event, 0, 0);" title="emoticons" src="/gfx/smilies/pack/2/2xd.gif" /></div><div style="float:right"><img align="absmiddle" src="/gfx/icons/text.gif"/> <span title="1200" id="chat_'+G+'_pm_text_crop">1200</span></div></div><textarea class="send_pm_textarea" id="chat_'+G+'_pm_text" /></textarea>',toolbarPosition:"bottom",x:D,y:A,shadowBlur:3,icon:"/gfx/icons/chat.gif",startMinimized:E});$("chat_"+G+"_pm_text").addEvent("keydown",function(I){if(I.key=="enter"&&!I.shift){if(!chatConn()){return false}if(this.value.length>1200){alert("text to long, please shorten it.");return false}if(this.value.length<2){alert("text to short.");return false}var H={};H.chat=this.value;H.to=C;H.id=G;var J=JSON.encode(H);document.getElementById("socket_js").sendJs("!msg "+J);this.value="";return false}crop_input(this,null,1200)})}},sync:function(F){for(var C=0;F[C];C++){if(F[C].group==""){F[C].group="online"}var E=1;if(typeof (Buddylist.listObjects[F[C].uid])=="undefined"){Buddylist.addBuddy(F[C])}else{if(Buddylist.listObjects[F[C].uid].status==0){E=0}}if(F[C].status==0){Buddylist.moveBuddy(F[C],"offline")}else{if(F[C].status==9){Buddylist.deleteBuddy(F[C].uid)}else{Buddylist.moveBuddy(F[C],F[C].group);if(E!=1){var G=Buddylist.listObjects[F[C].uid].img+"<h2>"+Buddylist.listObjects[F[C].uid].username+'</h2>is now <span style="color:#669900;">online</span><br/>click to start chat';var B=parseInt(F[C].uid)+parseInt($("uid").value);var H=Buddylist.listObjects[F[C].uid].username;var A=F[C].uid;var D=function(){Buddylist.chat(B,H,A,false)};roar.alert(G,{click:D})}}}}},addBuddy:function(H){var E=H.uname;var I=H.group;var C=parseInt(H.status);if(!$(I.replace(/\s/,"_")+"_group")){this.addGroup(I)}var F=$(I.replace(/\s/,"_")+"_group");var L=(H.img?'<a target="image_pop" onclick="pop(\'1\')" href="/user/'+E+'/image"><img src="'+H.img+'" alt="" border="0" align="left" class="icon" /></a>':defaultIcon);var G=H.uid;var B=parseInt(G)+parseInt($("uid").value);var D=new Element("li");D.id=G+"_blItem";D.title=E;D.className="clearfix buddy"+(useIcons?" buddyicon":"");var K="spacer.gif";var J="";var A="";switch(C){case 0:J="offline_16";A="offline";break;case 1:J="online_16";A="online";break;case 2:J="busy";A="busy";break}D.innerHTML="<div>"+(useIcons?L:"")+'<img src="/gfx/icons/png/'+J+'.png" id="contactStatus_'+G+'" title="'+A+'" alt="'+A+'" align="absmiddle" class="png_ie" /> <img src="/gfx/icons/chat.gif" align="absmiddle" title="click to open chat window" alt="click to open chat window" class="link_cursor chat_img" onclick="Buddylist.msg(\''+H.uname+"', '"+H.uid+'\')" /> <a href="/user/'+E+'" class="'+H.classn+'">'+E+'</a>&nbsp; <small class="fade_text">'+H.twitter+"</small></div>";D.inject(F);Buddylist.listObjects[G]={};Buddylist.listObjects[G].username=E;Buddylist.listObjects[G].obj=G+"_blItem";Buddylist.listObjects[G].group=I;Buddylist.listObjects[G].status=C;Buddylist.listObjects[G].timer=null;Buddylist.listObjects[G].img=(H.img?'<img src="'+H.img+'" alt="" border="0" align="left" class="icon" />':defaultIcon);Buddylist.listObjects[G].go=0},moveBuddy:function(A,B){if(B==null){return }if(Buddylist.listObjects[A.uid].status!=A.status){switch(parseInt(A.status)){case 0:onlineStatus="offline_16";onlineStatusTxt="offline";break;case 1:onlineStatus="online_16";onlineStatusTxt="online";break;case 2:onlineStatus="busy";onlineStatusTxt="busy";break}document.getElementById("contactStatus_"+A.uid).src="/gfx/icons/png/"+onlineStatus+".png";document.getElementById("contactStatus_"+A.uid).alt=onlineStatusTxt;document.getElementById("contactStatus_"+A.uid).title=onlineStatusTxt;Buddylist.listObjects[A.uid].status=A.status}if($(Buddylist.listObjects[A.uid].obj).parentNode==$(B.replace(/\s/,"_")+"_group")){return }if(!$(B.replace(/\s/,"_")+"_group")){this.addGroup(B)}var E=$(B.replace(/\s/,"_")+"_group");var C=false;for(var D=0;E.childNodes[D];D++){if(Buddylist.listObjects[A.uid].username.toLowerCase()<E.childNodes[D].title.toLowerCase()){C=true;break}}if(C==true){E.insertBefore($(Buddylist.listObjects[A.uid].obj),E.childNodes[D])}else{E.insertBefore($(Buddylist.listObjects[A.uid].obj),null)}},addGroup:function(A){var C=$("blist_content");var B=new Element("div");B.innerHTML='<ul class="groupTopUl"><li id="'+A.replace(/\s/,"_")+'_groupTop" class="groupTop '+(A!="offline"?"":"offline")+'" onmousedown="return false;" onselectstart="return false;" onclick="Buddylist.toggleGroup(\''+A+'\');"><img id="'+A.replace(/\s/,"_")+'_groupArrow" class="groupArrow" src="/gfx/user/buddylist/unfolded.gif" />'+A+'</li></ul><ul id="'+A.replace(/\s/,"_")+'_group" class="group"></ul>';if(A=="offline"){B.inject(C)}else{B.inject(C,"top")}},deleteBuddy:function(B){var A=$(Buddylist.listObjects[B].obj);if(typeof (A)!=="undefined"){A.parentNode.removeChild(A)}},deleteGroup:function(B){var F=B.replace(/\s/,"_");var E=$(F+"_group");var D=$(F+"_groupTop");if(typeof (E)!=="undefined"){E.parentNode.removeChild(E);D.parentNode.removeChild(D);for(var C=0;C<this.list[B].length;C++){var A=$(Buddylist.listObjects[this.list[B][C].uid].obj);if(typeof (A)!=="undefined"){A.parentNode.removeChild(A)}}delete this.list[B]}else{alert(B+", does not exist.")}},toggleGroup:function(B){var C=$(B.replace(/\s/,"_")+"_group");var A=$(B.replace(/\s/,"_")+"_groupArrow");if(C.style.display!="none"){C.style.display="none";A.src="/gfx/user/buddylist/folded.gif"}else{C.style.display="";A.src="/gfx/user/buddylist/unfolded.gif"}},clickTimer:function(C,A,B){this.noSingle=false;this.timeout=setTimeout("Buddylist.singleClick("+C+",'"+A+"',"+B+")",250)},singleClick:function(C,A,B){if(this.noSingle==false){this.chat(C,A,B,false)}noSingle=false;return false}};