diff --git a/src/messenger/webim/js/164/brws.js b/src/messenger/webim/js/164/brws.js index 02ecf9b2..34b72c55 100644 --- a/src/messenger/webim/js/164/brws.js +++ b/src/messenger/webim/js/164/brws.js @@ -1 +1 @@ -var myAgent="";var _j=0;var myRealAgent="";function mk(){var nk=["opera","msie","safari","firefox","netscape","mozilla"];var nj=navigator.userAgent.toLowerCase();for(var i=0;i");rt.write("");rt.write("");rt.write("
");rt.write("");rt.close();nt.onload=function(){if(nt.tt){_s.mt(nt).getElementById('content').innerHTML+=nt.tt;_s.ut(nt);} } ;} ,ht:function(nt,it){var jt=this.mt(nt).getElementById('content');if(jt==null){if(!nt.tt)nt.tt="";nt.tt+=it;} else{jt.innerHTML+=it;} } ,ut:function(nt){var kt=this.mt(nt).getElementById('bottom');if(myAgent=='opera'){try{nt.contentWindow.scrollTo(0,this.mt(nt).getElementById('content').clientHeight);} catch(e){} } if(kt){kt.scrollIntoView(false);} } } ;nq.lt=mn.nn();mn.rn(nq.lt,nq.iq,{qn:function(kq){this.jq(kq);this.kq.onComplete=this.ot.ln(this);this.kq.ur=this.pt.ln(this);this.kq.sr=this.yq.ln(this);this.kq.timeout=011610;this.dt={} ;this.frequency=(this.kq.frequency||2);this.et=0;this.ft=true;this.gt=true;this.at=true;this.bt=this.kq.ct!=null;_s.qt(this.kq.vt);if(this.kq.ct){this.kq.ct.onkeydown=this.wt.ln(this);this.kq.ct.onfocus=(function(){this.at=true;} ).ln(this);this.kq.ct.onblur=(function(){this.at=false;} ).ln(this)} this.xt();} ,pt:function(yt,zt){this.$t("offline, reconnecting");this._t();this.mu=setTimeout(this.xt.ln(this),01750);} ,yq:function(yt){this.$t("timeout, reconnecting");this._t();this.mu=setTimeout(this.xt.ln(this),01750);} ,nu:function(qu){this.kq.pq='act='+qu+'&thread='+(this.kq.threadid||0)+'&token='+(this.kq.token||0)+'&lastid='+(this.kq.ru||0);if(this.kq.user)this.kq.pq+="&user=true";if(qu=='refresh'&&this.kq.ct&&this.kq.ct.value!='')this.kq.pq+="&typed=1";} ,su:function(tu){if(this.kq.ct)this.kq.ct.disabled=!tu;} ,_t:function(){this.su(true);if(this.dt.kq)this.dt.kq.onComplete=undefined;clearTimeout(this.mu);} ,xt:function(){this.nu("refresh");this.dt=new nq.aq(this.kq.servl,this.kq);} ,ot:function(sq){try{this.su(true);this.ft=true;var uu=nq.rq(sq);if(uu&&uu.tagName=='thread'){this.hu(uu);} else{this.iu(sq,uu,'refresh messages failed');} } catch(e){} this.gt=false;this.mu=setTimeout(this.xt.ln(this),this.frequency*01750);} ,ju:function(ku){if(ku==""||!this.ft){return;} this.ft=false;this._t();this.gt=true;this.nu("post");var lu={} .tn(this.kq);lu.pq+="&message="+encodeURIComponent(ku);lu.onComplete=(function(ou){this.ot(ou);if(this.kq.ct){this.kq.ct.value='';this.kq.ct.focus();} } ).ln(this);if(myRealAgent!='opera')this.su(false);this.dt=new nq.aq(this.kq.servl,lu);} ,pu:function(du){this.gt=true;new nq.aq(this.kq.servl,{pq:'act=rename&thread='+(this.kq.threadid||0)+'&token='+(this.kq.token||0)+'&name='+encodeURIComponent(du)} );} ,eu:function(sq){var uu=nq.rq(sq);if(uu&&uu.tagName=='closed'){setTimeout('window.close()',(1544+456));} else{this.iu(sq,uu,'cannot close');} } ,fu:function(){var gu='act=close&thread='+(this.kq.threadid||0)+'&token='+(this.kq.token||0);if(this.kq.user)gu+="&user=true";new nq.aq(this.kq.servl,{pq:gu,onComplete:this.eu.ln(this)} );} ,au:function(bu,ct){var cu=ms.ss(ct);_s.ht(bu,cu);} ,vu:function(wu){if($("typingdiv")){$("typingdiv").style.display=wu?'inline':'none';} } ,xu:function(yu){var zu=ms.ss(yu);if(this.kq.yu&&this.kq.user){this.kq.yu.innerHTML=zu!=""?"\"\"\"\"/":"";} } ,hu:function(uu){var _u=false;var mh=this.kq.vt;var nh=ms.is(uu,"lastid");if(nh){this.kq.ru=nh;} var qh=ms.is(uu,"typing");if(qh){this.vu(qh=='1');} var rh=ms.is(uu,"canpost");if(rh){if(rh=='1'&&!this.bt||this.bt&&rh!='1'){window.location.href=window.location.href;} } for(var i=0;i=0){var tu="updated";if(this.et>0){var th=((new Date()).getTime()-this.et)/0x3e8;tu=tu+", "+th+" secs";if(th>012){alert(tu);} } this.et=(new Date()).getTime();this.$t(tu);} else{this.uh();} if(_u){_s.ut(this.kq.vt);if(!this.gt){var hh=$('soundimg');if(hh==null||hh.className.match(new RegExp("\\bisound\\b"))){vs(st.$u+'/sounds/new_message.wav');} } if(!this.at){window.focus();} } } ,ih:function(jh,kh){return((kh==015&&(jh||this.kq.ignorectrl))||(kh==(7+3)));} ,wt:function(k){if(k){lh=k.ctrlKey;k=k.which;} else{k=event.keyCode;lh=event.ctrlKey;} if(this.kq.ct&&this.ih(lh,k)){var oh=this.kq.ct.value;if(this.kq.ignorectrl){oh=oh.replace(/[\r\n]+$/,'');} this.ju(oh);return false;} return true;} ,iu:function(sq,uu,ph){if(uu&&uu.tagName=='error'){this.$t(ms.ns(uu,"descr"));} else{this.$t("reconnecting");} } ,dh:function(k){if($("engineinfo")){$("engineinfo").style.display='inline';$("engineinfo").innerHTML=k;} } ,$t:function(k){if(this.eh)clearTimeout(this.eh);this.dh(k);this.eh=setTimeout(this.uh.ln(this),0xfa0);} ,uh:function(){$("engineinfo").style.display='none';} } );var st={fh:{} ,gh:function(){st.fh.pu($('uname').value);$('changename1').style.display='none';$('changename2').style.display='inline';$('unamelink').innerHTML=zs($('uname').value);} ,ah:function(){$('changename1').style.display='inline';$('changename2').style.display='none';} } ;pr.ir({'#postmessage a':function(bh){bh.onclick=function(){var ct=$('msgwnd');if(ct)st.fh.ju(ct.value);} ;} ,'select#predefined':function(bh){bh.onchange=function(){var ct=$('msgwnd');if(this.selectedIndex!=0){ct.value=this.options[this.selectedIndex].innerText||this.options[this.selectedIndex].innerHTML;} this.selectedIndex=0;ct.focus();} ;} ,'div#changename2 a':function(bh){bh.onclick=function(){st.ah();return false;} ;} ,'div#changename1 a':function(bh){bh.onclick=function(){st.gh();return false;} ;} ,'div#changename1 input#uname':function(bh){bh.onkeydown=function(e){var kr=e||event;if(kr.keyCode==015){st.gh();} } ;} ,'a#refresh':function(bh){bh.onclick=function(){st.fh._t();st.fh.xt();} ;} ,'a#togglesound':function(bh){bh.onclick=function(){var hh=$('soundimg');if(!hh){return;} if(hh.className.match(new RegExp("\\bisound\\b"))){hh.className="tplimage inosound";} else{hh.className="tplimage isound";} var ch=$('msgwnd');if(ch)ch.focus();} ;} ,'a.closethread':function(bh){bh.onclick=function(){st.fh.fu();} ;} } );hr.ir(window,'onload',function(){st.$u=threadParams.wroot;st.cssfile=threadParams.cssfile;st.fh=new nq.lt(({ignorectrl:-1,vt:myRealAgent=='safari'?self.frames[0]:$("chatwnd"),yu:$("avatarwnd"),ct:$("msgwnd")} ).tn(threadParams||{} ));} ); \ No newline at end of file +/* + This file is part of Mibew Messenger project. + http://mibew.org + + Copyright (c) 2005-2011 Mibew Messenger Community + License: http://mibew.org/license.php +*/ +var FrameUtils={getDocument:function(a){return a.contentDocument?a.contentDocument:a.contentWindow?a.contentWindow.document:a.document?a.document:null},initFrame:function(a){var b=this.getDocument(a);b.open();b.write("");b.write('');b.write("");b.write("
"); +b.write("");b.close();a.onload=function(){a.myHtml&&(FrameUtils.getDocument(a).getElementById("content").innerHTML+=a.myHtml,FrameUtils.scrollDown(a))}},insertIntoFrame:function(a,b){var c=this.getDocument(a).getElementById("content");if(c==null){if(!a.myHtml)a.myHtml="";a.myHtml+=b}else c.innerHTML+=b},scrollDown:function(a){var b=this.getDocument(a).getElementById("bottom");if(myAgent=="opera")try{a.contentWindow.scrollTo(0,this.getDocument(a).getElementById("content").clientHeight)}catch(c){}b&& +b.scrollIntoView(!1)}};Ajax.ChatThreadUpdater=Class.create(); +Class.inherit(Ajax.ChatThreadUpdater,Ajax.Base,{initialize:function(a){this.setOptions(a);this._options.onComplete=this.requestComplete.bind(this);this._options.onException=this.handleException.bind(this);this._options.onTimeout=this.handleTimeout.bind(this);this._options.timeout=5E3;this.updater={};this.frequency=this._options.frequency||2;this.lastupdate=0;this.focused=this.skipNextsound=this.cansend=!0;this.ownThread=this._options.message!=null;FrameUtils.initFrame(this._options.container);if(this._options.message)this._options.message.onkeydown= +this.handleKeyDown.bind(this),this._options.message.onfocus=function(){this.focused=!0}.bind(this),this._options.message.onblur=function(){this.focused=!1}.bind(this);this.update()},handleException:function(){this.setStatus("offline, reconnecting");this.stopUpdate();this.timer=setTimeout(this.update.bind(this),1E3)},handleTimeout:function(){this.setStatus("timeout, reconnecting");this.stopUpdate();this.timer=setTimeout(this.update.bind(this),1E3)},updateOptions:function(a){this._options.parameters= +"act="+a+"&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0)+"&lastid="+(this._options.lastid||0);this._options.user&&(this._options.parameters+="&user=true");a=="refresh"&&this._options.message&&this._options.message.value!=""&&(this._options.parameters+="&typed=1")},enableInput:function(a){if(this._options.message)this._options.message.disabled=!a},stopUpdate:function(){this.enableInput(!0);if(this.updater._options)this.updater._options.onComplete=void 0;clearTimeout(this.timer)}, +update:function(){this.updateOptions("refresh");this.updater=new Ajax.Request(this._options.servl,this._options)},requestComplete:function(a){try{this.enableInput(!0);this.cansend=!0;var b=Ajax.getXml(a);b&&b.tagName=="thread"?this.updateContent(b):this.handleError(a,b,"refresh messages failed")}catch(c){}this.skipNextsound=!1;this.timer=setTimeout(this.update.bind(this),this.frequency*1E3)},postMessage:function(a){if(a!=""&&this.cansend){this.cansend=!1;this.stopUpdate();this.skipNextsound=!0;this.updateOptions("post"); +var b={}.extend(this._options);b.parameters+="&message="+encodeURIComponent(a);b.onComplete=function(a){this.requestComplete(a);if(this._options.message)this._options.message.value="",this._options.message.focus()}.bind(this);myRealAgent!="opera"&&this.enableInput(!1);this.updater=new Ajax.Request(this._options.servl,b)}},changeName:function(a){this.skipNextsound=!0;new Ajax.Request(this._options.servl,{parameters:"act=rename&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0)+ +"&name="+encodeURIComponent(a)})},onThreadClosed:function(a){var b=Ajax.getXml(a);b&&b.tagName=="closed"?setTimeout("window.close()",2E3):this.handleError(a,b,"cannot close")},closeThread:function(){var a="act=close&thread="+(this._options.threadid||0)+"&token="+(this._options.token||0);this._options.user&&(a+="&user=true");new Ajax.Request(this._options.servl,{parameters:a,onComplete:this.onThreadClosed.bind(this)})},processMessage:function(a,b){var c=NodeUtils.getNodeText(b);FrameUtils.insertIntoFrame(a, +c)},showTyping:function(a){if($("typingdiv"))$("typingdiv").style.display=a?"inline":"none"},setupAvatar:function(a){a=NodeUtils.getNodeText(a);if(this._options.avatar&&this._options.user)this._options.avatar.innerHTML=a!=""?'':""},updateContent:function(a){var b=!1,c=this._options.container,d=NodeUtils.getAttrValue(a,"lastid");if(d)this._options.lastid=d;(d=NodeUtils.getAttrValue(a, +"typing"))&&this.showTyping(d=="1");if((d=NodeUtils.getAttrValue(a,"canpost"))&&(d=="1"&&!this.ownThread||this.ownThread&&d!="1"))window.location.href=window.location.href;for(d=0;d=0?(a="updated",this.lastupdate>0&&(c=((new Date).getTime()-this.lastupdate)/1E3,a=a+", "+c+" secs",c>10&&alert(a)),this.lastupdate=(new Date).getTime(), +this.setStatus(a)):this.clearStatus();b&&(FrameUtils.scrollDown(this._options.container),this.skipNextsound||(b=$("soundimg"),(b==null||b.className.match(/\bisound\b/))&&playSound(Chat.webimRoot+"/sounds/new_message.wav")),this.focused||window.focus())},isSendkey:function(a,b){return b==13&&(a||this._options.ignorectrl)||b==10},handleKeyDown:function(a){a?(ctrl=a.ctrlKey,a=a.which):(a=event.keyCode,ctrl=event.ctrlKey);if(this._options.message&&this.isSendkey(ctrl,a))return a=this._options.message.value, +this._options.ignorectrl&&(a=a.replace(/[\r\n]+$/,"")),this.postMessage(a),!1;return!0},handleError:function(a,b){b&&b.tagName=="error"?this.setStatus(NodeUtils.getNodeValue(b,"descr")):this.setStatus("reconnecting")},showStatusDiv:function(a){if($("engineinfo"))$("engineinfo").style.display="inline",$("engineinfo").innerHTML=a},setStatus:function(a){this.statusTimeout&&clearTimeout(this.statusTimeout);this.showStatusDiv(a);this.statusTimeout=setTimeout(this.clearStatus.bind(this),4E3)},clearStatus:function(){$("engineinfo").style.display= +"none"}});var Chat={threadUpdater:{},applyName:function(){Chat.threadUpdater.changeName($("uname").value);$("changename1").style.display="none";$("changename2").style.display="inline";$("unamelink").innerHTML=htmlescape($("uname").value)},showNameField:function(){$("changename1").style.display="inline";$("changename2").style.display="none"}}; +Behaviour.register({"#postmessage a":function(a){a.onclick=function(){var a=$("msgwnd");a&&Chat.threadUpdater.postMessage(a.value)}},"select#predefined":function(a){a.onchange=function(){var a=$("msgwnd");if(this.selectedIndex!=0)a.value=this.options[this.selectedIndex].innerText||this.options[this.selectedIndex].innerHTML;this.selectedIndex=0;a.focus()}},"div#changename2 a":function(a){a.onclick=function(){Chat.showNameField();return!1}},"div#changename1 a":function(a){a.onclick=function(){Chat.applyName(); +return!1}},"div#changename1 input#uname":function(a){a.onkeydown=function(a){(a||event).keyCode==13&&Chat.applyName()}},"a#refresh":function(a){a.onclick=function(){Chat.threadUpdater.stopUpdate();Chat.threadUpdater.update()}},"a#togglesound":function(a){a.onclick=function(){var a=$("soundimg");if(a)a.className=a.className.match(/\bisound\b/)?"tplimage inosound":"tplimage isound",(a=$("msgwnd"))&&a.focus()}},"a.closethread":function(a){a.onclick=function(){Chat.threadUpdater.closeThread()}}}); +EventHelper.register(window,"onload",function(){Chat.webimRoot=threadParams.wroot;Chat.cssfile=threadParams.cssfile;Chat.threadUpdater=new Ajax.ChatThreadUpdater({ignorectrl:-1,container:myRealAgent=="safari"?self.frames[0]:$("chatwnd"),avatar:$("avatarwnd"),message:$("msgwnd")}.extend(threadParams||{}))}); diff --git a/src/messenger/webim/js/164/common.js b/src/messenger/webim/js/164/common.js index 486bd9f5..a1cb644b 100644 --- a/src/messenger/webim/js/164/common.js +++ b/src/messenger/webim/js/164/common.js @@ -1 +1,25 @@ -var mn={nn:function(){return function(){this.qn.apply(this,arguments);} ;} ,rn:function(sn,parent,body){Object.tn(Object.tn(sn.prototype,parent.prototype),body);} } ;Object.tn=function(un,hn){for(jn in hn){un[jn]=hn[jn];} return un;} ;Object.prototype.tn=function(kn){return Object.tn.apply(this,[this,kn]);} ;Function.prototype.ln=function(kn){var on=this;return function(){return on.apply(kn,arguments);} } ;Function.prototype.pn=function(kn){var on=this;return function(event){on.call(kn,event||window.event);} } ;Number.prototype.dn=function(){var en=this.toString((11+5));if(this<(13+3))return'0'+en;return en;} ;var fn={gn:function(){var returnValue;for(var i=0;i=(127+73)&&sq.status<0454){var tq=sq.responseXML;if(tq&&tq.documentElement)return tq.documentElement;} return null;} ,uq:function(sq){return sq.statusText||"connection error N"+sq.status;} ,hq:function(){} } ;nq.iq=function(){} ;nq.iq.prototype={jq:function(kq){this.kq={lq:'post',oq:true,pq:''} .tn(kq||{} );} ,dq:function(){try{return this.eq.status||0;} catch(e){return 0} } ,fq:function(){var status=this.dq();return!status||(status>=0310&&status<(242+58));} ,gq:function(){return!this.fq();} } ;nq.aq=mn.nn();nq.aq.bq=['Uninitialized','Loading','Loaded','Interactive','Complete'];mn.rn(nq.aq,nq.iq,{qn:function(url,kq){this.eq=nq.qq();this.jq(kq);this.cq={} ;this.vq=false;this.wq(url);} ,wq:function(url){var pq=this.kq.pq||'';if(pq.length>0)pq+='&_=';try{if(this.kq.lq=='get'&&pq.length>0)url+='?'+pq;this.eq.open(this.kq.lq.toUpperCase(),url,this.kq.oq);if(this.kq.oq){this.eq.onreadystatechange=this.xq.ln(this);if(this.kq.timeout){this.cq=setTimeout(this.yq.ln(this),this.kq.timeout);} } this.zq();var $q=this.kq._q?this.kq._q:pq;this.eq.send(this.kq.lq=='post'?$q:null);} catch(e){this.mr(e);} } ,zq:function(){var nr=['X-Requested-With','XMLHttpRequest'];if(this.kq.lq=='post'){nr.zn('Content-type','application/x-www-form-urlencoded');if(this.eq.overrideMimeType&&(navigator.userAgent.match("/Gecko\/(\d{4} )/")||[0,(1984+21)])[1]<0x7d5)nr.zn('Connection','close');} if(this.kq.nr)nr.zn.apply(nr,this.kq.nr);for(var i=0;i-1){var wr=token.split('#');var xr=wr[0];var id=wr[1];var element=document.getElementById(id);if(element==null||xr&&element.nodeName.toLowerCase()!=xr){return new Array();} vr=new Array(element);continue;} if(token.indexOf('.')>-1){var wr=token.split('.');var xr=wr[0];var yr=wr[1];if(!xr){xr='*';} var zr=new Array;var $r=0;for(var h=0;h