function classIm(){this.host="192.168.0.7";this.port="6666";this.swf_path="socket.swf";this.debug=0;this.history_length=7;this.chat_length=30;this.nickname=null;this.login_key=null;this.private_key=null;this.block_word=null;this.block_word_s=/<[^>]*>?|\'|\"|\\|#|\||(?:\w+:\/\/)?(?:[0-9a-zA-Z\-_]+\.){2,}[0-9a-zA-Z\-_]+/gi;this.block_word_s2=/<[^>]*>?|\'|\"|\\|#|(?:\w+:\/\/)?(?:[0-9a-zA-Z\-_]+\.){2,}[0-9a-zA-Z\-_]+/gi;this.block_word_s3=/<(?:script|i?frame|style|html|body|title|link|meta|object).*>?/gi;this.block_time=1000;this.world_desc="欢迎进入 <span class='highlight'>聊天中心</span>！<br />请严格遵守<span class='highlight'>《互联网站禁止传播淫秽、色情等不良信息自律规范》</span>的相关规定，<br />严禁发布反动、淫秽、色情等不良信息，对违反规定者我们将主动向公安机关举报。<br />希望大家自觉遵守相关法律法规，文明交流，祝大家聊天愉快！";this.private_desc="欢迎进入 <span class='highlight'>聊天中心</span>！<br />这里显示您与其他玩家的私密谈话。";this.delay_link=Math.round(Math.random()*10+10)*1000;this.sending=false;this.right_menu=new Array("加为好友","查看信息");this.heart_beat_time=300000;this.send_handle=null;this.channels={'C':{name:"联盟",view_online:true,desc:"这个是联盟"},'R':{name:"场景"},'M':{name:"师徒",view_online:true,member:{'50yqn':'管理员'}}};this.chat_action={ti:{my:"你踢了 $t 一脚，$t 气喘吁吁的站了起来",target:"$p 踢了你一脚，你气喘吁吁的站了起来",world:"$p 朝石头踢了一脚，结果踢歪了，重重地摔在地上，国足的脚法",channel:"$p 朝石头踢了一脚，结果踢歪了，重重地摔在地上，国足的脚法"},ha:{my:"你朝 $t 哈哈大笑",target:"$p 对着你哈哈大笑",world:"$p 哈哈大笑",channel:"$p 哈哈大笑"},"@@":{my:"你的一双眼睛瞪得比铜铃还大！越来越大……瞪破了！",target:"$p 瞪着一双比铜铃还大的眼睛向你挤眉弄眼。",world:"$p 的一双眼睛瞪得比铜铃还大！越来越大……瞪破了！",channel:"$p 的一双眼睛瞪得比铜铃还大！越来越大……瞪破了！"}};this.operation_icon="icon/icon-operation.gif";this.error_msg={too_fast:"说太快了，喝口水先~",user_not_exist:"该用户不在线或者不存在",private_chat_usage:"在私聊频道<br/>请采用(/用户名 聊天内容)的方式发送私聊信息，不包含括号！",connecting:"正在加入聊天中心，请稍候...",reconnect_warning:"重连失败次数过多，请稍候刷新页面重试"};this.default_channel=1;this.title_timeid=null;this.newMsg=new Array();this.send_data=new Array();this.chat_str=new Array();this.chat_user_array=new Array();this.chat_str_index;this.reconnectCount=1;this.alertCount=0;this.ifReconnect=true;this.feedback_url="http://cs.9wee.com/";this.sendName=null;this.isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;this.isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;this.isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false}classIm.prototype={connect:function(){this.connecting=true;this.connCount=1;if(typeof window.document.socket.connect=='function'){if(!this.DetectFlashVer(9,0,124)){this.showStatus("您使用的flash版本低于9.0.124，建议到 <br/> <a href=\"http://get.adobe.com/flashplayer/\" target=\"__blank\">http://get.adobe.com/flashplayer/</a> 下载安装最新的flash插件 <br/> 否则可能无法连接到聊天服务器")}if(this.debug==1)this.showStatus("连接服务器"+this.host+":"+this.port+"，请稍候...");window.document.socket.SetVariable("host",this.host);window.document.socket.SetVariable("port",this.port);window.document.socket.connect()}else{window.setTimeout("clsIm.connect()",500)}},close:function(){window.document.socket.close()},push_send_data:function(data){this.send_data.push(data)},send:function(data,key){if(key==undefined&&(this.send_data.length==0||this.sending)){return false}if(key==undefined&&typeof this.send_handle=="function"){data=this.send_data.shift();this.sending=true;this.send_handle(data);return false}data=this.private_key+'|'+data+'|'+key;if(this.debug==1)this.showStatus("---发送请求---"+data);window.document.socket.SetVariable("data",data);window.document.socket.send()},onConnect:function(success){if(this.reconnect_id!=undefined&&this.connCount==1){var reconnect_li=this.$(this.reconnect_id);reconnect_li.parentNode.removeChild(reconnect_li)}if(success==true){if(this.debug==1)this.showStatus("连接服务器成功");this.connected=true;this.connecting=false;window.document.socket.SetVariable("data",'G');window.document.socket.send()}else{if(this.connCount==1){this.onClose();this.connCount++}}},onClose:function(){this.connected=false;this.joined=false;clearInterval(this.send_time);clearInterval(this.heart_beat);if(!this.ifReconnect){this.$("im_post_content").setAttribute("disabled",true);return false}if(this.reconnectCount>=15){this.showStatus(this.error_msg.reconnect_warning);return false}this.reconnect_id="reconnect";this.showStatus("连接服务器失败，正在等待第 "+this.reconnectCount+" 次重新连接...",this.reconnect_id);this.reconnectCount++;window.setTimeout("clsIm.connect();",this.delay_link);this.$("im_post_content").value="正在连接服务器，请稍候...";this.$("im_post_content").setAttribute("disabled",true)},onData:function(data){if(this.debug==1)this.showStatus('---返回请求---'+data);this.defaultHandle(data)},onInit:function(){},init:function(){this.original_title=document.title;this.loadHtml();this.loadMenu();this.loadChatHistory();this.loadDom();this.block_word_d=new RegExp(this.block_word,"gi");window.setInterval('clsIm.refresh_newMsg()',25000)},loadHtml:function(){var tabHtml='';var optionHtml='';var ulHtml='';var menuHtml='';var selectHtml='';for(var i in this.channels){tabHtml+='<li id="im_type_'+i+'" style="display: none;">'+this.channels[i].name+'</li>';selectHtml+='<a id="im_select_'+i+'" style="display: none;" href="javascript:;"><'+this.channels[i].name+'></a>';if(this.channels[i].view_online!=undefined&&this.channels[i].view_online==true){menuHtml+='<div class="im_right_menu" id="im_menu_'+i+'" style="display: none;">'+'<div class="im_right_menu_title">在线列表</div>'+'<ul id="im_menu_list_'+i+'"></ul>'+'</div>';ulHtml+='<ul id="im_content_'+i+'" style="display: none;" class="im_content im_splitleft"></ul>'}else ulHtml+='<ul id="im_content_'+i+'" style="display: none;" class="im_content"></ul>'}show_button='<div id="im_extend_button" title="展开聊天中心"></div>';close_button='<div id="im_close_button" title="展开/收缩聊天中心"></div>';var rand=new Date().getTime();var imHtml='<!-- 内嵌swf -->'+'<div id="socket_container">'+'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="0" height="0" id="socket" align="middle">'+'<param name="allowScriptAccess" value="sameDomain" />'+'<param name="allowFullScreen" value="false" />'+'<param name="movie" value="'+this.swf_path+'?rand='+rand+'" />'+'<param name="quality" value="high" />'+'<param name="allowNetworking" value="all" />'+'<embed src="'+this.swf_path+'?rand='+rand+'" quality="high" width="0" height="0" name="socket" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" allowNetworking="all" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+'</object></div>'+'<!-- 长条框 -->'+'<div id="im_box">'+'<div id="im_border">'+'<ul id="im_content_title">聊天中心</ul>'+show_button+'<ul id="im_bulletin_content"><a href="javascript:;" onclick="document.getElementById(\'im_extend_button\').onclick()">点击这里参与玩家聊天</a></ul></div></div>'+'<!-- 聊天中心 -->'+'<div id="im_inner_box" style="display: none;">'+'<div id="im_inner_box_title" class="im_inner_box_title"><b>聊天中心</b></div>'+'<ul id="im_center_tab">'+'<li class="selected" id="im_type_1">综合</li>'+'<li id="im_type_3">私聊</li>'+tabHtml+'</ul>'+'<!-- 三个消息框 -->'+'<div id="im_content">'+'<ul id="im_content_1" class="im_content"></ul>'+'<ul id="im_content_3" style="display: none;" class="im_content im_splitleft"></ul>'+ulHtml+'<div class="im_right_menu" id="im_private_tab" style="display: none;">'+'<ul id="im_private_tab_list"><li class="selected" id="im_private_tab_all">全部</li></ul>'+'</div>'+menuHtml+'</div>'+'<!-- 发送消息 -->'+'<div id="im_post_table">'+'<div id="im_hint" style="display:none"><span id="im_hint_content"></span><span onclick="clsIm.hiddenHint();" class="im_close_tab" style="height:18px;"/></span></div>'+'<div id="im_select" style="display:none;">'+'<div id="im_select_input"><input type="text" id="im_post_target" tabIndex="1" value="'+this.title_html(this.default_channel,false)+'"/></div>'+'<a href="javascript:void(0);" id="im_select_img"></a>'+'</div>'+'<div id="im_post">'+'<input type="text" maxlength="75" id="im_post_content" name="post_content" disabled="true" value="'+this.error_msg.connecting+'" tabIndex="2" class="no_target"/>'+'</div>'+close_button+'</div>'+'<a id="im_close_icon" href="javascript:;" title="关闭"></a>'+'<a id="im_mini_icon" href="javascript:;" title="最小化"/></a>'+'<a id="im_report_icon" href="'+this.feedback_url+'" title="举报" target="_blank"/></a>'+'</div>'+'<ul id="im_private_menu" style="display:none;" class="im_select_menu">'+'</ul>'+'<ul id="im_synthetical_menu" style="display:none;" class="im_select_menu">'+'<a href="javascript:;"><世界></a>'+selectHtml+'<a href="javascript:;" class="parent">最近聊天</a>'+'</ul>'+'<div id="im_new_msg"></div>';var im_center=document.createElement("div");document.body.appendChild(im_center);im_center.id='im_center';im_center.innerHTML=imHtml},loadMenu:function(){if(this.right_menu.length==0)return false;var div_Menu=document.createElement("ul");div_Menu.id="div_RightMenu";div_Menu.className="im_RightMenu";for(var i=0,l=this.right_menu.length;i<l;i++){var div_MenuItem=document.createElement("li");div_MenuItem.className="im_RightMenuItem";div_MenuItem.onmousemove=function(){this.className='im_RightMenuItem_over'};div_MenuItem.onmouseout=function(){this.className='im_RightMenuItem'};div_MenuItem.innerHTML=this.right_menu[i];div_MenuItem.value=i;div_Menu.appendChild(div_MenuItem)}this.$("im_center").appendChild(div_Menu)},loadDom:function(){var self=this;var $=this.$;var imSyntheticalMenu=$("im_synthetical_menu");var imPrivateMenu=$("im_private_menu");$("im_select_img").onclick=function(){var menuList;if($("im_type_1").className=="selected")menuList=imSyntheticalMenu;if($("im_type_3").className=="selected")menuList=imPrivateMenu;if(menuList.style.display=="none"&&menuList.childNodes.length!=0){menuList.style.display=""}else{imSyntheticalMenu.style.display="none";imPrivateMenu.style.display="none"}};$("im_private_tab_all").onclick=function(){var all=$("im_content").getElementsByTagName("ul");for(var i=0,l=all.length;i<l;i++){if(all[i].id.match(/im_content_3_/)!=null)all[i].style.display="none"}$("im_content_3").style.display="";var all=$("im_private_tab_list").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){all[i].className=""}this.className="selected";$("im_content_3").scrollTop=$("im_content_3").scrollHeight};var all=imSyntheticalMenu.getElementsByTagName("a");for(var i=0,l=all.length;i<l;i++){if(all[i].className=="parent"){all[i].onmouseover=function(){if(imPrivateMenu.childNodes.length!=0){imPrivateMenu.className="im_select_menu child";imPrivateMenu.style.display=""}}}else{all[i].onclick=function(){$("im_post_target").value=self.get_value(this);imSyntheticalMenu.style.display="none";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus()};all[i].onmouseover=function(){imPrivateMenu.style.display="none"}}}$("im_close_icon").onclick=function(){$("im_inner_box").style.display="none";$("im_synthetical_menu").style.display="none";$("im_private_menu").style.display="none"};$("im_mini_icon").onclick=function(){if($("im_inner_box").className=="full"){$("im_inner_box").className="lite";$('im_content_1').scrollTop=$('im_content_1').scrollHeight;self.change_channel(1);$("im_mini_icon").title="最大化";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus()}else{$("im_inner_box").className="full";$('im_content_1').scrollTop=$('im_content_1').scrollHeight;$("im_mini_icon").title="最小化";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus()}};$("im_post_target").onclick=function(){$("im_post_target").select()};$("im_inner_box").onclick=function(){if(self.right_menu.length==0)return false;var obj=self.getSrcElement();if(obj&&obj.id!='im_operation_icon'){self.$("div_RightMenu").style.display="none"}};$("im_content_1").innerHTML='<li class="im_desc">'+this.world_desc+"</li>";$("im_content_3").innerHTML='<li class="im_desc">'+this.private_desc+"</li>";$("im_extend_button").onclick=function(){$('im_inner_box').style.display='';$('im_inner_box').className='lite';self.change_channel(1);if(!$('im_post_content').getAttribute("disabled"))$('im_post_content').focus();$('im_content_1').scrollTop=$('im_content_1').scrollHeight;self.set_cookie("hiddenIm",0)};$("im_close_button").onclick=function(){if($('im_inner_box').className=='lite'){$('im_inner_box').className='full';$('im_content_1').scrollTop=$('im_content_1').scrollHeight;if(!$('im_post_content').getAttribute("disabled"))$('im_post_content').focus()}else{$('im_inner_box').style.display="none";self.set_cookie("hiddenIm",1)}};$("im_new_msg").onclick=function(){this.className='';this.setAttribute("title","");self.chat(this.sendName)};$("im_post_content").onfocus=function(){if(self.title_timeid!=null){window.clearInterval(self.title_timeid);document.title=self.original_title;self.showTitle=false}$("im_new_msg").className='';$("im_new_msg").setAttribute("title","");if($("im_new_msg").className=='new'){this.className='';this.setAttribute("title","")}$("im_synthetical_menu").style.display="none";$("im_private_menu").style.display="none"};$("im_type_1").onclick=function(){$("im_select").style.display="";$("im_post_content").className="with_target";if(self.lastChatName!=undefined){$("im_post_target").value=self.lastChatName}var all=$("im_center_tab").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected')all[i].className=''}this.className="selected";for(var i=0,l=$("im_content").childNodes.length;i<l;i++){$("im_content").childNodes[i].style.display="none"}$("im_content_1").style.display="";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus();$("im_content_1").scrollTop=$("im_content_1").scrollHeight};for(i in this.channels){if(this.channels[i].desc)$("im_content_"+i).innerHTML='<li class="im_desc">'+this.channels[i].desc+"</li>";$("im_type_"+i).onclick=function(){$("im_select").style.display="none";$("im_post_content").className="no_target";var all=$("im_center_tab").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected')all[i].className=''}this.className="selected";for(var i=0,l=$("im_content").childNodes.length;i<l;i++){$("im_content").childNodes[i].style.display="none"}var signal=this.id.replace("im_type_",'');$("im_content_"+signal).style.display="";if($("im_menu_"+signal)!=null)$("im_menu_"+signal).style.display="";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus();$("im_content_"+signal).scrollTop=$("im_content_"+signal).scrollHeight}}$("im_type_3").onclick=function(){$("im_select").style.display="";$("im_post_content").className="with_target";$("im_private_menu").className="im_select_menu";self.lastChatName=$("im_post_target").value;if($("im_post_target").value.match(/<.+>/)!=null){$("im_post_target").value=""}var all=$("im_center_tab").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected')all[i].className=''}this.className="selected";for(var i=0,l=$("im_content").childNodes.length;i<l;i++){$("im_content").childNodes[i].style.display="none"}$("im_private_tab_all").onclick();$("im_private_tab").style.display="";if(!$("im_post_content").getAttribute("disabled"))$("im_post_content").focus();$("im_content_3").scrollTop=$("im_content_3").scrollHeight};$("im_post_content").onkeyup=function(event){if(window.event){k=window.event.keyCode}else if(event.which){k=event.which}var post_content=this.value;var post_target=$("im_post_target").value;if(k==13){if(self.wordFilter(post_content)=='')return false;if(!self.refreshBlock())return false;if($("im_type_3").className=="selected"||($("im_type_1").className=="selected"&&$("im_post_target").value.match(/<.+>/)==null)){if(post_target==""){self.showStatus("请先输入你要私聊的对象！");$("im_post_target").focus();return false}var chat_time='<span class="im_post_time">['+self.getTime()+']</span>';if(post_target==self.nickname){self.showType3('<span class="im_inner_title">你自言自语：'+chat_time+'</span><span style="" class="im_inner_content">'+self.wordFilter(post_content)+'</span>',post_target)}else{self.chat_history(post_target);self.chat_private_tab(post_target);self.push_send_data('M|'+post_target+'|'+self.wordFilter(post_content));if(!self.action_handle(post_content,post_target,"my"))self.showType3('<span class="im_inner_title">'+self.title_html(3)+'<span class="im_call_to">你对</span>'+self.user_html(post_target)+'<span class="im_call_action">说：</span>'+chat_time+'</span><span style="" class="im_inner_content">'+post_content+'</span>',post_target)}}else if($("im_type_1").className=="selected"&&$("im_post_target").value=="<世界>"){self.push_send_data('W|'+self.wordFilter(post_content))}else if($("im_type_1").className=="selected"&&$("im_post_target").value.match(/<.+>/)!=null){var target_channel=$("im_post_target").value.replace(/<|>/g,"");for(i in self.channels){if(self.channels[i].name==target_channel){if(self.channels[i].id==undefined){self.showStatus('你还没有加入该频道');return false}else self.push_send_data('C|'+i+'_'+self.channels[i].id+'|'+self.wordFilter(post_content))}}}else{var all=$("im_center_tab").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected'){var signal=all[i].id.replace('im_type_','');if(self.channels[signal].id==undefined){self.showStatus('你还没有加入该频道');return false}else self.push_send_data('C|'+signal+'_'+self.channels[signal].id+'|'+self.wordFilter(post_content))}}}this.value='';if(self.chat_str.length>=10)self.chat_str.shift();self.chat_str.push(post_content);self.chat_str_index=self.chat_str.length;return false}if(self.chat_str_index!=undefined){if(k==38){if(self.chat_str_index<0)return false;if(self.chat_str_index>0)self.chat_str_index--;this.value=self.chat_str[self.chat_str_index]}if(k==40){if(self.chat_str_index>self.chat_str.length-1){return false}if(self.chat_str_index==self.chat_str.length-1){this.value='';self.chat_str_index++;return false}if(self.chat_str_index<self.chat_str.length-1)self.chat_str_index++;this.value=self.chat_str[self.chat_str_index]}}};$("im_post_target").onkeyup=function(event){if(window.event){k=window.event.keyCode}else if(event.which){k=event.which}if(k==13){$("im_post_content").focus()}}},loadChatHistory:function(){var values=this.get_cookie("chat_user_array");if(values!=null){this.chat_user_array=values.split(",");for(var i=0,l=this.chat_user_array.length;i<l;i++){var listTag=document.createElement("a");listTag.setAttribute("href","javascript:;");listTag.innerHTML=this.chat_user_array[i];listTag.onclick=function(){clsIm.$("im_private_menu").style.display="none";clsIm.call_msg(this)};this.$("im_private_menu").appendChild(listTag)}}},refresh_newMsg:function(){if(window.pBulletinScroller!=undefined){clearInterval(window.pBulletinInterval);window.pBulletinScroller.scrollTo(0,0);window.pBulletinScroller.contentIsCloned=false;clearInterval(window.pBulletinScroller.interval)}var newMsgs='';window.pBulletinScroller=new scrollingBox('pBulletinScroller','im_border','im_bulletin_content');if(this.newMsg.length==0)newMsgs='<a onclick="document.getElementById(\'im_extend_button\').onclick()" href="javascript:;">点击这里参与玩家聊天</a>';else{if(this.newMsg.length>1){window.pBulletinInterval=setInterval('pBulletinScroller.autoScroll(0)',5000);this.$("im_bulletin_content").onmouseover=function(){pBulletinScroller.pause()};this.$("im_bulletin_content").onmouseout=function(){pBulletinScroller.resume()}}for(var i=0,l=this.newMsg.length;i<l;i++){newMsgs+=this.newMsg[i]}}pBulletinScroller.setContent(newMsgs)},showStatus:function(statusText,id){var signal;var private_signal;var all=this.$("im_center_tab").getElementsByTagName("li");statusTag=document.createElement("li");statusTag.innerHTML=statusText;statusTag.className="font0";if(id!=undefined)statusTag.id=id;if(signal==undefined){for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected'){signal=all[i].id.replace('im_type_','')}}}if(signal==3){var all=this.$("im_private_tab_list").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){if(all[i].className=='selected'&&all[i].id!="im_private_tab_all"){private_signal=all[i].id.replace('im_private_tab_','')}}if(private_signal!=undefined){private_statusTag=document.createElement("li");private_statusTag.innerHTML=statusText;private_statusTag.className="font0";var imContent3Signal=this.$("im_content_3_"+private_signal);if(imContent3Signal.childNodes.length>=this.chat_length)imContent3Signal.removeChild(imContent3Signal.childNodes[1]);imContent3Signal.appendChild(private_statusTag);imContent3Signal.scrollTop=imContent3Signal.scrollHeight}}var imContentSignal=this.$("im_content_"+signal);if(imContentSignal.childNodes.length>=this.chat_length)imContentSignal.removeChild(imContentSignal.childNodes[1]);imContentSignal.appendChild(statusTag);imContentSignal.scrollTop=imContentSignal.scrollHeight},showBulletin:function(statusText){if(this.newMsg.length>=5)this.newMsg.shift();this.newMsg.push('<li class="font_b">'+statusText+"</li>")},showType1:function(statusText,from){statusTag=document.createElement("li");statusTag.innerHTML=statusText;if(from==undefined){statusTag.className="font1"}else{statusTag.className="font"+from}var imContent1=this.$("im_content_1");if(imContent1.childNodes.length>=this.chat_length)imContent1.removeChild(this.$("im_content_1").firstChild);imContent1.appendChild(statusTag);this.$("im_content_1").scrollTop=this.$("im_content_1").scrollHeight},showType3:function(statusText,target){this.showType1(statusText,3);statusTag=document.createElement("li");statusTag.innerHTML=statusText;statusTag.className="font3";var imContent3=this.$("im_content_3");if(imContent3.childNodes.length>=this.chat_length)imContent3.removeChild(this.$("im_content_3").firstChild);imContent3.appendChild(statusTag);if(this.$("im_content_3_"+target)==null)this.chat_private_tab(target);var imContetTarget=this.$("im_content_3_"+target);statusTag1=document.createElement("li");statusTag1.innerHTML=statusText;statusTag1.className="font3";if(imContetTarget.childNodes.length>=this.chat_length)imContetTarget.removeChild(imContetTarget.firstChild);imContetTarget.appendChild(statusTag1);imContetTarget.scrollTop=imContetTarget.scrollHeight;if(this.$("im_private_tab_"+target).className!="selected")this.$("im_private_tab_"+target).className='new';this.$("im_content_3").scrollTop=this.$("im_content_3").scrollHeight;if(this.$("im_type_3").className!="selected")this.$("im_type_3").className='new'},showTypeo:function(statusText,ctype){if(!this.channels[ctype])return false;if(this.channels[ctype].show_in_global==null||this.channels[ctype].show_in_global==true){this.showType1(statusText,ctype)}statusTag=document.createElement("li");statusTag.innerHTML=statusText;statusTag.className="font"+ctype;var imContentType=this.$("im_content_"+ctype);if(imContentType.childNodes.length>=this.chat_length)imContentType.removeChild(imContentType.firstChild);imContentType.appendChild(statusTag);imContentType.scrollTop=imContentType.scrollHeight;if(this.$("im_type_"+ctype).className!="selected")this.$("im_type_"+ctype).className='new'},showOnline:function(userString,ctype){var users=userString.split(',');if(this.$("im_menu_list_"+ctype)!=null)this.$("im_menu_list_"+ctype).innerHTML='';for(var i=0,l=users.length;i<l;i++){if(users[i]!=''){var username=this.user_html(users[i]);if(this.channels[ctype]!=undefined&&this.channels[ctype].member!=undefined&&this.channels[ctype].member[users[i]]!=undefined)username=this.channels[ctype].member[users[i]]+' '+username;var listTag=document.createElement("li");listTag.innerHTML=username;listTag.className="font_list";this.$("im_menu_list_"+ctype).appendChild(listTag)}}},addOnline:function(username,ctype){username=this.user_html(username);var listTag=document.createElement("li");listTag.innerHTML=username;listTag.className="font_list";this.$("im_menu_list_"+ctype).appendChild(listTag)},rmOnline:function(username,ctype){for(var i=0,l=this.$("im_menu_list_"+ctype).childNodes.length;i<l;i++){if(this.get_value(this.$("im_menu_list_"+ctype).childNodes[i])==username)this.$("im_menu_list_"+ctype).removeChild(this.$("im_menu_list_"+ctype).childNodes[i])}},defaultHandle:function(data){chat_time='<span class="im_post_time">['+this.getTime()+']</span>';arr=data.split('|');if(this.nickname==arr[2]){this.private_key=arr[0];this.sending=false}if(this.other_handle(data)){return false}var filterData=this.wordFilter2(data);arr=filterData.split('|');arr[2]=data.split('|')[2];switch(arr[1]){case'J':if(arr[3]=='88'){this.joined=true;if(this.debug==1)this.showStatus("加入聊天中心成功");if(this.reconnectCount>1){this.reconnectCount=1;for(var i in this.channels){if(this.channels[i].id!=undefined){var tmpid=this.channels[i].id;this.channels[i].id=undefined;this.join_channel(i,tmpid)}}}this.heart_beat=window.setInterval("clsIm.push_send_data('X');",this.heart_beat_time);this.send_time=window.setInterval("clsIm.send();",500);var imPostContent=this.$("im_post_content");imPostContent.removeAttribute("disabled");imPostContent.value='';imPostContent.focus()}if(arr[3]=='99'){this.showStatus("用户"+this.nickname+"已在其他地点登陆，连接失败");this.ifReconnect=false}break;case'M':if(arr[3]=='88'){this.showStatus(this.error_msg.user_not_exist)}else if(arr[2]!=this.nickname){if(!this.action_handle(arr[3],arr[2],"target"))this.send_msg(3,arr[2],'悄悄跟你说：',arr[3],false);if(this.showTitle!=true&&this.$("im_type_3").className!='selected'){this.title_timeid=window.setInterval('clsIm.changeTitle()',1000);this.$("im_new_msg").className='new';this.$("im_new_msg").setAttribute("title","您有一条新私聊信息");this.$("im_new_msg").sendName=arr[2]}if(!$("im_post_content").getAttribute("disabled"))this.$("im_post_content").focus()}break;case'W':if(!this.action_handle(arr[3],arr[2],"world")){this.send_msg(1,arr[2],'吼：',arr[3],false);this.showBulletin(this.title_html(1)+'<a title="查看人物信息" href="javascript:;" onclick="clsIm.view_user(\''+arr[2]+'\');">'+arr[2]+'</a>：'+arr[3])}break;case'C':var role;var signal=arr[3].split('_')[0];var channel=this.channels[signal].name;if(this.channels[signal].view_online&&this.channels[signal].member!=undefined&&this.channels[signal].member[arr[2]]!=undefined)role=this.channels[signal].member[arr[2]]+' ';else role='';if(!this.action_handle(arr[4],arr[2],"channel",signal)){this.showTypeo('<span class="im_inner_title">'+this.title_html(signal)+role+this.user_html(arr[2])+'</a><span class="im_call_action">说：</span>'+chat_time+'</span><span style="" class="im_inner_content">'+arr[4]+'</span>',signal);this.showBulletin(this.title_html(signal)+'<a title="查看人物信息" href="javascript:;" onclick="clsIm.view_user(\''+arr[2]+'\');">'+role+arr[2]+'</a>：'+arr[4])}break;case'S':var result=arr[3].split('::');if(result[0]=='D'){this.kickUser(result[1])}else if(result[0]=='R'){this.send_msg(0,'','','<script type="text/javascript">setTimeout("window.location.reload()",'+result[1]+'000); </script>系统将在'+result[1]+'秒后刷新您的浏览器',false)}else if(result[0]=='N'){this.hintTime=window.setTimeout("clsIm.hiddenHint()",result[1]+"000");this.$("im_hint_content").innerHTML=result[2];this.$("im_hint").style.display="";if(460<this.$("im_hint_content").offsetWidth){this.$("im_hint_content").innerHTML='<marquee behavior="scroll" width="460" onmouseover="this.stop()" onmouseout="this.start()" scrolldelay="200">'+result[2]+'</marquee>';this.$("im_hint_content").childNodes[0].start()}}else this.send_msg(0,'','',arr[3],false);break;case'L':var signal=arr[3].split('_')[0];if(arr[4]=='88'){this.addOnline(arr[2],signal)}else if(arr[4]=='99'){this.rmOnline(arr[2],signal)}else{arr[4]=data.split('|')[4];this.showOnline(arr[4],signal)}break;case'U':case'P':if(arr[4]!='X'){var signal=arr[4].split('_')[0];this.channels[signal].id=undefined;this.$("im_type_"+signal).style.display="none";this.$("im_select_"+signal).style.display="none";if(arr[3]=='X')this.$("im_type_1").onclick()}if(arr[3]!='X'){var signal=arr[3].split('_')[0];this.channels[signal].id=arr[3].split('_')[1];this.$("im_type_"+signal).style.display="";this.$("im_select_"+signal).style.display="";if(arr[4]!='X')this.$("im_content_"+signal).innerHTML=''}break;case'G':if(this.debug==1){this.showStatus('以'+this.nickname+'加入聊天中心，请稍候...')}var data=arr[0]+'|'+'J|'+this.nickname+'|'+this.login_key+'|0';window.document.socket.SetVariable("data",data);window.document.socket.send();break;default:}},other_handle:function(data){},$:function(objId){return document.getElementById(objId)},view_user:function(username){alert('查看角色信息接口')},set_zindex:function(indexNum){this.$("im_box").style.zIndex=indexNum;this.$("im_inner_box").style.zIndex=indexNum;this.$("im_synthetical_menu").style.zIndex=this.$("im_inner_box").style.zIndex+1;this.$("im_private_menu").style.zIndex=this.$("im_inner_box").style.zIndex+1;this.$('im_new_msg').style.zIndex=this.$('im_inner_box').style.zIndex+1},chat:function(username){this.$("im_inner_box").style.display="";if(this.$("im_type_3").className!="selected"&&this.$("im_type_1").className!="selected"){this.$("im_inner_box").className="full";this.$("im_type_3").onclick()}this.$("im_post_target").value=username;if(!this.$("im_post_content").getAttribute("disabled"))this.$("im_post_content").focus()},change_channel:function(signal){this.$("im_type_"+signal).onclick()},rightclk:function(event,obj){if(this.right_menu.length==0)return false;var self=this;var m=this.$("div_RightMenu");this.mouseX=event.clientX;this.mouseY=event.clientY;for(var i=0,l=m.childNodes.length;i<l;i++)m.childNodes[i].onclick=function(){m.style.display="none";self.menu_click(this.value,clsIm.get_value(obj))};m.style.display="block";if((this.mouseX+m.offsetWidth)>document.documentElement.clientWidth)m.style.left=this.mouseX-m.offsetWidth+document.documentElement.offsetLeft+'px';else m.style.left=this.mouseX+document.documentElement.offsetLeft+'px';if((this.mouseY+m.offsetHeight)>document.documentElement.clientHeight)m.style.top=this.mouseY-m.offsetHeight+document.documentElement.offsetTop+'px';else m.style.top=this.mouseY+document.documentElement.offsetTop+'px'},refreshBlock:function(){var d=new Date();var nowTime=d.getTime();var value=this.get_cookie("send_time");if((nowTime-value)<this.block_time){this.showStatus(this.error_msg.too_fast);return false}this.set_cookie("send_time",nowTime);return true},getTime:function(){var now=new Date();var hour=now.getHours();var minute=now.getMinutes();var second=now.getSeconds();hour=hour<10?"0"+hour:hour;minute=minute<10?"0"+minute:minute;second=second<10?"0"+second:second;chat_time=hour+":"+minute+":"+second;return chat_time},wordFilter2:function(data){if(data.split('|')[1]=='S'){data=data.replace(/\n/g,'<br/>');data=data.replace(this.block_word_s3,'')}else{data=data.replace(this.block_word_s2,'');data=data.replace(this.block_word_d,'[屏蔽字符]')}return data},wordFilter:function(data){data=data.replace(/(^\s*|\s*$)/g,"");if(data.match(this.block_word_d)){this.showStatus("您的言语含有系统屏蔽字符！");return false}data=data.replace(this.block_word_s,'');return data},join_channel:function(signal,id){var joinSignal=signal+'_'+id;if(this.channels[signal].id!=id){if(this.channels[signal].id!=undefined)this.push_send_data('P|'+joinSignal+'|'+signal+'_'+this.channels[signal].id);else this.push_send_data('P|'+joinSignal+'|X')}},leave_channel:function(signal,id){var leaveSignal=signal+'_'+id;if(this.channels[signal].id==id){this.push_send_data('P|X|'+leaveSignal)}},close_channel:function(signal,id){var closeSignal=signal+'_'+id;if(this.channels[signal].id==id){this.push_send_data('U|'+closeSignal)}},menu_click:function(i,username){alert(username+"右键菜单接口"+i)},call_msg:function(obj){this.chat(this.get_value(obj))},call_title:function(obj){if(this.$("im_type_1").className=="selected"){this.$("im_post_target").value=this.get_value(obj);if(!this.$("im_post_content").getAttribute("disabled"))this.$("im_post_content").focus()}},action_handle:function(str,username,flag,ctype){chat_time='<span class="im_post_time">['+this.getTime()+']</span>';if(this.chat_action[str]==undefined||this.chat_action[str][flag]==undefined){return false}var obj=this.user_html(username);var out_obj='<a title="查看人物信息" href="javascript:;" onclick="clsIm.view_user(\''+username+'\');">'+username+'</a>';switch(flag){case"my":this.showType3(this.title_html(3)+this.chat_action[str][flag].replace(/\$t/g,obj)+chat_time,username);break;case"target":this.showType3(this.title_html(3)+this.chat_action[str][flag].replace(/\$p/g,obj)+chat_time,username);break;case"world":this.showType1(this.title_html(1)+this.chat_action[str][flag].replace(/\$p/g,obj)+chat_time);this.showBulletin(this.title_html(1)+this.chat_action[str][flag].replace(/\$p/g,out_obj));break;case"channel":var role;if(this.channels[ctype].view_online&&this.channels[ctype].member!=undefined&&this.channels[ctype].member[username]!=undefined)role=this.channels[ctype].member[username]+' ';else role='';this.showTypeo(this.title_html(ctype)+this.chat_action[str][flag].replace(/\$p/g,role+obj)+chat_time,ctype);this.showBulletin(this.title_html(ctype)+this.chat_action[str][flag].replace(/\$p/g,role+out_obj));break;default:}return true},chat_history:function(username){for(var i=0,l=this.chat_user_array.length;i<l;i++){if(this.chat_user_array[i]==username)return false}if(this.chat_user_array.length>=this.history_length)this.chat_user_array.shift();this.chat_user_array.push(username);this.set_cookie("chat_user_array",this.chat_user_array.join(","));var listTag=document.createElement("a");listTag.innerHTML=username;listTag.setAttribute("href","javascript:;");listTag.onclick=function(){clsIm.$("im_private_menu").style.display="none";clsIm.call_msg(this)};var imPrivateMenu=this.$("im_private_menu");if(imPrivateMenu.childNodes.length>=this.history_length)imPrivateMenu.removeChild(imPrivateMenu.firstChild);imPrivateMenu.appendChild(listTag)},chat_private_tab:function(username){var all=this.$("im_private_tab_list").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){all[i].className=""}if(this.$("im_private_tab_"+username)==null){var listTag=document.createElement("li");listTag.innerHTML='<div class="im_tab_name" onclick="clsIm.click_private_tab(this)">'+username+'</div><div class="im_close_tab" onclick="clsIm.close_private_tab(\''+username+'\');"></div>';if(this.$("im_type_3").className=="selected")listTag.className="selected";listTag.id="im_private_tab_"+username;this.$("im_private_tab_list").appendChild(listTag)}else this.$("im_private_tab_"+username).className="selected";this.$("im_private_tab").scrollTop=$("im_private_tab").scrollHeight;this.$("im_content_3").style.display="none";var all=this.$("im_content").getElementsByTagName("ul");for(var i=0,l=all.length;i<l;i++){if(all[i].id.match(/im_content_3_/)!=null)all[i].style.display="none"}if(this.$("im_content_3_"+username)==null){var ulTag=document.createElement("ul");ulTag.id="im_content_3_"+username;ulTag.className="im_content im_splitleft";if(this.$("im_type_3").className!="selected")ulTag.style.display="none";ulTag.innerHTML='<li class="im_desc">'+this.private_desc+"</li>";this.$("im_content").insertBefore(ulTag,this.$("im_content_3"))}else{if(this.$("im_type_3").className=="selected")this.$("im_content_3_"+username).style.display=""}},click_private_tab:function(obj){this.call_msg(obj);var all=this.$("im_content").getElementsByTagName("ul");this.$("im_content_3").style.display="none";for(var i=0,l=all.length;i<l;i++){if(all[i].id.match(/im_content_3_/)!=null)all[i].style.display="none"}this.$("im_content_3_"+this.get_value(obj)).style.display="";this.$("im_content_3_"+this.get_value(obj)).scrollTop=this.$("im_content_3_"+this.get_value(obj)).scrollHeight;var all=this.$("im_private_tab_list").getElementsByTagName("li");for(var i=0,l=all.length;i<l;i++){all[i].className=""}obj.parentNode.className="selected"},close_private_tab:function(username){if(this.$("im_content_3_"+username).style.display==""){this.$("im_content_3").style.display="";this.$("im_private_tab_all").className="selected"}this.$("im_content_3_"+username).parentNode.removeChild(this.$("im_content_3_"+username));this.$("im_private_tab_"+username).parentNode.removeChild(this.$("im_private_tab_"+username));return false},changeTitle:function(){this.showTitle=true;if(this.alertCount){document.title="【"+'新消息'+"】"}else{document.title="【"+'　　　'+"】"}this.alertCount=1-this.alertCount},send_msg:function(signal,send_name,say_action,send_content,show_flag,force_flag,chat_time){if(!force_flag&&!this.joined)return false;if(chat_time==undefined)chat_time=this.getTime();chat_time='<span class="im_post_time">['+chat_time+']</span>';if(show_flag!=false)this.show_channel(signal);if(send_content==undefined)send_content='';switch(signal){case 3:this.showType3('<span class="im_inner_title">'+this.title_html(3)+this.user_html(send_name)+'<span class="im_call_action">'+say_action+'</span>'+chat_time+'</span><span style="" class="im_inner_content"> '+send_content+'</span>',send_name);break;case 1:this.showType1('<span class="im_inner_title">'+this.title_html(1)+this.user_html(send_name)+'<span class="im_call_action">'+say_action+'</span>'+chat_time+'</span><span style="" class="im_inner_content">'+send_content+'</span>');break;case 0:this.showStatus('<span class="im_inner_title">'+this.title_html(0)+chat_time+'</span><span style="" class="im_inner_content">'+send_content+'</span>');break;default:}return true},show_channel:function(signal){this.$("im_inner_box").style.display="";this.$("im_inner_box").className="full";if(signal!=0)this.$("im_type_"+signal).onclick()},user_html:function(username){return'<span id="im_user_html"><a href="javascript:;" class="im_call_msg" onclick="clsIm.call_msg(this);">'+username+'</a><img src="'+this.operation_icon+'" align="absmiddle" onclick="clsIm.rightclk(event, this.previousSibling);" width="13" height="12" id="im_operation_icon" title="操作"/></span>'},get_value:function(obj){return this.isIE?obj.innerText:obj.textContent},get_cookie:function(cookieName){var cookieString=document.cookie;var first,last;first=cookieString.indexOf(cookieName);if(first!=-1){first+=(cookieName.length+1);last=cookieString.indexOf(';',first);if(last==-1)last=document.cookie.length;return unescape(cookieString.substring(first,last))}return null},set_cookie:function(cookieName,value){document.cookie=cookieName+"="+escape(value)},title_html:function(type,aFlag){var title;var titleType="<title>";if(type==3){title=titleType.replace("title","私聊");title='<span class="im_call_title" style="cursor:default;">'+title+'</span>'}else if(type==0){title=titleType.replace("title","系统");title='<span class="im_call_title" style="cursor:default;">'+title+'</span>'}else{switch(type){case 1:title=titleType.replace("title","世界");break;default:title=titleType.replace("title",this.channels[type].name)}if(aFlag!=false)title='<span onclick="clsIm.call_title(this);" class="im_call_title">'+title+'</span>'}return title},set_innerbox_class:function(className){switch(className){case"lite":this.change_channel(1);this.$("im_inner_box").style.display="";this.$("im_inner_box").className="lite";this.$("im_mini_icon").title="最大化";break;case"full":this.change_channel(1);this.$("im_inner_box").style.display="";this.$("im_inner_box").className="full";this.$("im_mini_icon").title="最小化";break;default:}},searchEvent:function(){if(window.event)return window.event;var func=this.searchEvent.caller;while(func!=null){var firstArg=func.arguments[0];if(firstArg){if(firstArg.constructor==MouseEvent||firstArg.constructor==Event)return firstArg}func=func.caller}return null},getSrcElement:function(){try{var evt=this.searchEvent();var srcElem=evt.target;if(typeof(evt.target)!='object'){var srcElem=evt.srcElement}return srcElem}catch(e){}},send_queue:function(signal,content,target){if(!this.joined)return false;switch(signal){case 3:this.push_send_data('M|'+target+'|'+content);break;default:}return true},ControlVersion:function(){var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version")}catch(e){}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version")}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version")}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0"}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11"}catch(e){version=-1}}return version},GetSwfVer:function(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4]}if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1)}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"))}}var flashVer=versionMajor+"."+versionMinor+"."+versionRevision}}else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(this.isIE&&this.isWin&&!this.isOpera){flashVer=this.ControlVersion()}return flashVer},DetectFlashVer:function(reqMajorVer,reqMinorVer,reqRevision){versionStr=this.GetSwfVer();if(versionStr==-1){return false}else if(versionStr!=0){if(this.isIE&&this.isWin&&!this.isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",")}else{versionArray=versionStr.split(".")}var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer)){return true}else if(versionMajor==parseFloat(reqMajorVer)){if(versionMinor>parseFloat(reqMinorVer))return true;else if(versionMinor==parseFloat(reqMinorVer)){if(versionRevision>=parseFloat(reqRevision))return true}}return false}},kickUser:function(username){var all=this.$("im_content_1").getElementsByTagName("a");var delLi=new Array();for(var i=0,l=all.length;i<l;i++){if(all[i].className=="im_call_msg"&&this.get_value(all[i])==username){delLi.push(all[i].parentNode.parentNode.parentNode)}}for(var i in delLi){this.$("im_content_1").removeChild(delLi[i])}},hiddenHint:function(){this.$("im_hint").style.display="none";window.clearTimeout(this.hintTime);this.$("im_hint_content").innerHTML=""}};