source: branches/2.4/jabberit_messenger/jmessenger/js/jscode/loadIM.mini.js @ 6722

Revision 6722, 35.2 KB checked in by eduardow, 12 years ago (diff)

Ticket #2932 - Melhorado o posicionamento de botão do messenger.

  • Property svn:executable set to *
Line 
1(function()
2{var _autoStatus;var _autoStatusTime=60000;var addUser=null;var conn=null;var fullName="";var path="";var path_phpgwapi="";var _preferencesIM="";var selectEditable=null;var showhidden=null;var statusUserIM="";var _statusMessage="";var timeoutId=null;var userCurrent=null;var _timeOutNotification="";var Xtools=null;var zIndex=9001;var windowPopUp=[];var add_user=new Image();add_user.src=path_jabberit+'templates/default/images/adduser_azul.png';var arrow_down=new Image();arrow_down.src=path_jabberit+'templates/default/images/arrow_down.gif';var arrow_right=new Image();arrow_right.src=path_jabberit+'templates/default/images/arrow_right.gif';function actionButton()
3{if(arguments.length>0)
4{var e=arguments[0];var _element=(e.target)?e.target:e.srcElement;var jid=arguments[1];var coord=null;if(!e)
5e=window.event;var _X=e.clientX+document.body.scrollLeft-document.body.clientLeft;var _Y=e.clientY+document.body.scrollTop-document.body.clientTop;coord={X:_X,Y:_Y};var _onContextMenu=function()
6{return false;};window.document.oncontextmenu=_onContextMenu;if(e.button)
7{if(e.button>1)
8optionsItensContact(jid,coord);else
9TrophyIM.rosterClick(jid);}
10else if(e.which)
11{if(e.which>1)
12optionsItensContact(jid,coord);else
13if(e.target.id)
14TrophyIM.rosterClick(jid);}
15setTimeout(function()
16{window.document.oncontextmenu=function()
17{return true;};},500);}}
18function addContact()
19{if(arguments.length>0)
20addUser.add();else
21addUser.show();}
22function addIcon()
23{var div_write_msg=(getElement('em_div_write_msg')!=null)?getElement('em_div_write_msg'):null;var StatusBar=(getElement('divStatusBar')!=null)?getElement('divStatusBar'):null;var StatusBarIM=(getElement('JabberMessenger')!=null)?getElement('JabberMessenger'):null;if((div_write_msg&&StatusBarIM)!=null)
24{div_write_msg.parentNode.insertBefore(StatusBarIM,div_write_msg);StatusBarIM.style.paddingLeft='33px';return;}
25if(!StatusBarIM)
26{StatusBarIM=document.createElement('div');StatusBarIM.setAttribute('id','JabberMessenger');}
27if(StatusBar)
28{StatusBar.style.paddingLeft='33px';var _div=document.createElement('div');_div.appendChild(StatusBar.parentNode.removeChild(StatusBar.previousSibling));StatusBar.parentNode.insertBefore(_div,StatusBar);var _fastMenu=top.document.createElement('div');_fastMenu.setAttribute('id','fast_menu_jabber_expresso');_fastMenu.style.background='no-repeat';_fastMenu.style.backgroundImage='url('+arrow_down.src+')';_fastMenu.style.float='left';_fastMenu.style.height='15px';_fastMenu.style.left='17px';_fastMenu.style.margin='8 0 0 10px';_fastMenu.style.padding='0px';_fastMenu.style.position='absolute';_fastMenu.style.width='15px';_fastMenu.style.cursor='pointer';StatusBarIM.insertBefore(_fastMenu,StatusBarIM.firstChild);configEvents(_fastMenu,'onclick',function(){fastMenu(_fastMenu);});var _statusJabber=top.document.createElement('div');_statusJabber.setAttribute('id','status_jabber_expresso');_statusJabber.style.background='no-repeat';_statusJabber.style.backgroundImage='url('+add_user.src+')';_statusJabber.style.float='left';_statusJabber.style.height='18px';_statusJabber.style.left='19px';_statusJabber.style.margin='0 0 0 10px';_statusJabber.style.padding='0px';_statusJabber.style.position='absolute';_statusJabber.style.width='18px';_statusJabber.style.cursor='pointer';_statusJabber.style.zindex='999999';StatusBarIM.insertBefore(_statusJabber,StatusBarIM.firstChild);StatusBar.insertBefore(StatusBarIM,StatusBar.firstChild);if(_preferencesIM[0]=="openWindowJabberit:true")
29{configEvents(_statusJabber,'onclick',function(){rosterDiv();});}
30else
31{configEvents(_statusJabber,'onclick',function(){TrophyIM.load();});}}}
32function addNewUser()
33{addUser.newUser();}
34function autoStatus()
35{var _div_status=(getElement('status_jabber_expresso')!=null)?getElement('status_jabber_expresso'):null;if(_autoStatus)
36clearTimeout(_autoStatus);if(_div_status!=null)
37{var _status=_div_status.style.backgroundImage;_status=_status.substr(_status.lastIndexOf('/')+1);_status=_status.substr(0,_status.indexOf('.'));if(_status=="xa"&&_div_status.getAttribute('autoStatus'))
38{if(getStatusMessage()!="")
39TrophyIM.setPresence("available",getStatusMessage());else
40TrophyIM.setPresence("available");_div_status.removeAttribute('autoStatus');loadscript.setStatusJabber("Disponível","available");}}
41var TimeStatus=_preferencesIM[2].split(':');if(TimeStatus[1])
42_autoStatus=setTimeout(function(){autoStatusHandler();},parseInt(TimeStatus[1])*_autoStatusTime);else
43_autoStatus=setTimeout(function(){autoStatusHandler();},parseInt(_autoStatusTime));}
44function autoStatusHandler()
45{var _div_status=(getElement('status_jabber_expresso')!=null)?getElement('status_jabber_expresso'):null;if(_div_status!=null)
46{var _status=_div_status.style.backgroundImage;_status=_status.substr(_status.lastIndexOf('/')+1);_status=_status.substr(0,_status.indexOf('.'));if(_status=="available")
47{if(getStatusMessage()!="")
48TrophyIM.setPresence("xa",getStatusMessage());else
49TrophyIM.setPresence("xa");_div_status.setAttribute('autoStatus','true');loadscript.setStatusJabber("Não Disponível","xa");}}}
50function clrAllContacts()
51{getElement("JabberIMRoster").innerHTML="";}
52function configEvents(pObj,pEvent,pHandler)
53{if(typeof pObj=='object')
54{if(pEvent.substring(0,2)=='on')
55pEvent=pEvent.substring(2,pEvent.length);if(arguments.length==3)
56{if(pObj.addEventListener)
57pObj.addEventListener(pEvent,pHandler,false);else if(pObj.attachEvent)
58pObj.attachEvent('on'+pEvent,pHandler);}
59else if(arguments.length==4)
60{if(pObj.removeEventListener)
61pObj.removeEventListener(pEvent,pHandler,false);else if(pObj.detachEvent)
62pObj.detachEvent('on'+pEvent,pHandler);}}}
63function disabledNotificationNewUsers()
64{var _notification=getElement('notification_new_users_jabber');var _statusJabber=getElement('status_jabber_expresso');_notification.style.display='none';_statusJabber.style.background="url('"+path_jabberit+"templates/default/images/"+statusUserIM+".gif') no-repeat";if(_timeOutNotification)
65clearTimeout(_timeOutNotification);TrophyIM.controll.notificationNewUsers=0;}
66function enabledNotificationNewUsers()
67{var _notification=getElement('notification_new_users_jabber');var _statusJabber=getElement('status_jabber_expresso');if(_notification&&_statusJabber)
68{if(_notification.style.display=='none')
69{_notification.style.display='block';_statusJabber.style.background="url('"+path_jabberit+"templates/default/images/alert_mini.png') no-repeat";if(_timeOutNotification)
70clearTimeout(_timeOutNotification);_timeOutNotification=setTimeout(function(){enabledNotificationNewUsers();},2000);}
71else
72{_notification.style.display='none';_statusJabber.style.background="url('"+path_jabberit+"templates/default/images/"+statusUserIM+".gif') no-repeat";if(_timeOutNotification)
73clearTimeout(_timeOutNotification);_timeOutNotification=setTimeout(function(){enabledNotificationNewUsers();},800);}}}
74function fastMenu()
75{if(arguments.length>0)
76{var element=arguments[0];if(showhidden==null)
77showhidden=new ShowHidden(300);var _options=[['Adicionar Contato','loadscript.addContact();'],['Preferências','loadscript.preferences();']];if(im_chatroom=="false")
78{_options[2]=['Sala(s) de Bate-Papo','loadscript.getListRooms();'];}
79var _itens="";for(var i in _options)
80{if(_options[i].constructor==Function)
81continue;_itens+='<img src="'+arrow_right.src+'"/>';_itens+='<span style="cursor:pointer; margin:3px;" onclick='+_options[i][1]+'>';_itens+=_options[i][0]+'</span><br/>';}
82var _optionsItens=document.createElement("div");_optionsItens.id="fastMenu_Jabber";_optionsItens.style.marginTop="19px";_optionsItens.style.marginLeft="-8px";_optionsItens.className="x-menu";_optionsItens.style.zIndex='999999';_optionsItens.innerHTML=_itens;_optionsItens.onclick=function(){showhidden.hiddenObject(false);};_optionsItens.onmouseout=function(){showhidden.hiddenObject(false);};_optionsItens.onmouseover=function(){showhidden.hiddenObject(true);};showhidden.action('onmouseover','onmouseout',_optionsItens);element.parentNode.appendChild(_optionsItens);}}
83function getElement(elementId)
84{return document.getElementById(elementId);}
85function getBrowserCompatible()
86{return SnifferBrowser.isLoadApp('firefox');}
87function getPhotoUser(jid)
88{try
89{var _divPhoto=getElement(jid+'__photo');if(_divPhoto.style.backgroundImage.indexOf('photo.png')>0)
90{var _imgUser=path_jabberit+'inc/WebService.php?'+Date.parse(new Date);_imgUser+='&photo_ldap='+jid;_divPhoto.style.backgroundImage='url('+_imgUser+')';}}catch(e){}}
91function getShowContactsOffline()
92{if(_preferencesIM[3])
93{var showOffline=_preferencesIM[3].split(":");if(showOffline[1]==="true")
94return true;else
95return false;}
96return true;}
97function getSmiles(String)
98{String=String.replace(/:\)|:-\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/1.gif'/> ");String=String.replace(/:-D/g," <img src='"+path_jabberit+"templates/default/images/smiles/2.gif'/> ");String=String.replace(/;-\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/3.gif'/> ");String=String.replace(/=-O/g," <img src='"+path_jabberit+"templates/default/images/smiles/4.gif'/> ");String=String.replace(/:P/g," <img src='"+path_jabberit+"templates/default/images/smiles/5.gif'/> ");String=String.replace(/8-\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/6.gif'/> ");String=String.replace(/\>:o/g," <img src='"+path_jabberit+"templates/default/images/smiles/7.gif'/> ");String=String.replace(/:-\$/g," <img src='"+path_jabberit+"templates/default/images/smiles/8.gif'/> ");String=String.replace(/:s|:-X/g," <img src='"+path_jabberit+"templates/default/images/smiles/9.gif'/> ");String=String.replace(/:-\(/g," <img src='"+path_jabberit+"templates/default/images/smiles/10.gif'/> ");String=String.replace(/:\'\(/g," <img src='"+path_jabberit+"templates/default/images/smiles/11.gif'/> ");String=String.replace(/:\|/g," <img src='"+path_jabberit+"templates/default/images/smiles/12.gif'/> ");String=String.replace(/O:-\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/13.gif'/> ");String=String.replace(/\*\*@#%/g," <img src='"+path_jabberit+"templates/default/images/smiles/14.gif'/> ");String=String.replace(/\(I\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/15.gif'/> ");String=String.replace(/C28I/g," <img src='"+path_jabberit+"templates/default/images/smiles/16.gif'/> ");String=String.replace(/CS2A/g," <img src='"+path_jabberit+"templates/default/images/smiles/17.gif' style='width:42px;height:36px;'/> ");String=String.replace(/\(CzzzzI\)/g," <img src='"+path_jabberit+"templates/default/images/smiles/18.gif'/> ");return String;}
99function getStatusUserIM()
100{return statusUserIM;}
101function getStatusMessage()
102{return _statusMessage;}
103function getUserCurrent()
104{return userCurrent;}
105function getZindex()
106{return zIndex++;}
107function groupsHidden()
108{if(arguments.length>0)
109{var _element=arguments[0];_element.style.background="url('"+path_jabberit+"templates/default/images/arrow_right.gif') no-repeat center left";_element.onclick=function(){groupsVisible(_element);};var _elementNext=_element.nextSibling;while(_elementNext)
110{if(_elementNext.nodeType==1)
111_elementNext.style.display="none";_elementNext=_elementNext.nextSibling;}}}
112function groupsVisible()
113{if(arguments.length>0)
114{var _element=arguments[0];_element.style.background="url('"+path_jabberit+"templates/default/images/arrow_down.gif') no-repeat center left";_element.onclick=function(){groupsHidden(_element);};var _elementNext=_element.nextSibling;while(_elementNext)
115{if(_elementNext.nodeType==1&&_elementNext.nodeName.toLowerCase()=="div")
116{var is_off=_elementNext.style.backgroundImage.indexOf("unavailable");if(is_off>0&&!getShowContactsOffline())
117{_elementNext.style.display="none";getElement("span_show_"+_elementNext.id).style.display="none";}
118else
119{_elementNext.style.display="block";getElement("span_show_"+_elementNext.id).style.display="block";}}
120_elementNext=_elementNext.nextSibling;}}}
121function keyPressSearch()
122{if(arguments.length>0)
123{var ev=arguments[0];var element=arguments[1];if(ev.keyCode==13)
124if(element.value.length>=3)
125searchUser(element.value);else
126alert(i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS+'.');}}
127function loginPage()
128{var paramsLoginPage={'username':(((Base64.decode(getUserCurrent().jid)))?Base64.decode(getUserCurrent().jid):""),'password':(((Base64.decode(getUserCurrent().password)))?Base64.decode(getUserCurrent().password):"")}
129var winLoginPage={id_window:"window_login_page",width:260,height:120,top:100,left:400,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:"Expresso Messenger - Login",closeAction:"remove",content:Xtools.parse(Xtools.xml("login_page"),"loginPage.xsl",paramsLoginPage)};_winBuild(winLoginPage);}
130function loadScripts(pFiles)
131{var loadJavaScript=function(pJs)
132{var newScript=document.createElement("script");newScript.setAttribute("type","text/javascript");newScript.setAttribute("src",pJs);return newScript;};var loadStyleSheet=function(pCss)
133{var newStyle=document.createElement("link");newStyle.setAttribute("rel","stylesheet");newStyle.setAttribute("type","text/css");newStyle.setAttribute("href",pCss);return newStyle;};for(var i=0;i<pFiles.length;i++)
134{if(pFiles[i].indexOf(".js")>-1)
135document.getElementsByTagName("head")[0].appendChild(loadJavaScript(pFiles[i]));if(pFiles[i].indexOf(".css")>-1)
136document.getElementsByTagName("head")[0].appendChild(loadStyleSheet(pFiles[i]));}}
137function notificationNewMessage()
138{var _doc=document;var _id=arguments[0];var _win_name=_id.replace(/\W/g,'');if(windowPOPUP(_id))
139{_doc=windowPopUp[_win_name].document;}
140var oldTitle=_doc.title;var newTitle="## NOVA MENSAGEM ##";if(timeoutId==null)
141{timeoutId=setInterval(function()
142{_doc.title=(_doc.title==newTitle)?oldTitle:newTitle;},1000);configEvents(_doc,'onclick',function()
143{clearInterval(timeoutId);_doc.title=oldTitle;timeoutId=null;});configEvents(_doc,'onkeypress',function()
144{clearInterval(timeoutId);_doc.title=oldTitle;timeoutId=null;});}}
145function optionsItensContact()
146{if(arguments.length>0)
147{var jid=arguments[0];var coord=arguments[1];var element=getElement('itenContact_'+jid);var action=(element.getAttribute("subscription")==="not-in-roster")?"Adicionar":"Autorizar";if(showhidden==null)
148showhidden=new ShowHidden(300);var _options=[[action,'loadscript.setAutorization(\''+jid+'\')'],['Remover','loadscript.removeContact(\''+jid+'\')'],['Renomear','loadscript.renameContact(\''+jid+'\')'],['Trocar grupo','loadscript.renameGroup(\''+jid+'\')']];var _itens="";for(var i in _options)
149{if(typeof(_options[i])=="object")
150{_itens+='<img src="'+arrow_right.src+'"/>';_itens+='<span style="cursor:pointer;margin:3px;font-weight:normal;" onclick='+_options[i][1]+'>';_itens+=_options[i][0]+'</span><br/>';}}
151var _optionsItens=document.createElement("div");_optionsItens.className="x-menu";_optionsItens.style.top=coord.Y;_optionsItens.style.left=(coord.X-element.offsetLeft);_optionsItens.style.zIndex=getZindex();_optionsItens.innerHTML=_itens;_optionsItens.onclick=function(){showhidden.hiddenObject(false);};_optionsItens.onmouseout=function(){showhidden.hiddenObject(false);};_optionsItens.onmouseover=function(){showhidden.hiddenObject(true);};showhidden.action('onmouseover','onmouseout',_optionsItens);window.document.body.appendChild(_optionsItens);}}
152function parse()
153{if(arguments.length==2)
154return Xtools.parse(Xtools.xml(arguments[0]),arguments[1]);if(arguments.length===3)
155return Xtools.parse(Xtools.xml(arguments[0]),arguments[1],arguments[2]);}
156function preferences()
157{var paramPreferences={'path':path,'lang1':'Suas Preferências','lang2':'Conexão','lang3':'Conectar Automaticamente o IM','lang4':'Usuários OffLine','lang5':'Exibir amigos Offline','lang6':'Salvar','lang7':'Cancelar','lang8':'Janela de Contatos','lang9':'Abrir janela como Pop-up','lang10':'Ausente','lang11':'Definir status de ausente depois de','lang12':'minutos','lang13':'Mostrar Contatos','lang14':'Mostrar contatos desconectados','langYes':'Sim','langNo':'Não'};var _win_preferences={id_window:"jabberit_preferences",width:430,height:350,top:150,left:100,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:'Expresso Messenger - Preferências',closeAction:"remove",content:Xtools.parse(Xtools.xml('preferences'),'preferences.xsl',paramPreferences)};_winBuild(_win_preferences);var _pButtons={'lang1':'Salvar','lang2':'Fechar','onclickClose':'_winBuild("jabberit_preferences","remove");','onclickSubmit':'javascript:loadscript.setPreferences();'};document.getElementById('buttons_preferences_jabberit').innerHTML=Xtools.parse(Xtools.xml('buttons_main'),'buttons.xsl',_pButtons);var value1=_preferencesIM[0].split(':');var element1=document.getElementById(value1[0]);var valueSelect1=value1[1];for(var i=0;i<element1.options.length;i++)
158if(element1.options[i].value==valueSelect1)
159element1.options[i].selected=true;var value2=_preferencesIM[1].split(':');var value3=_preferencesIM[2].split(':');var element3=document.getElementById(value3[0]);element3.value=value3[1];var value4=_preferencesIM[3].split(':');var element4=document.getElementById(value4[0]);var valueSelect4=value4[1];for(var i=0;i<element4.options.length;i++)
160if(element4.options[i].value==valueSelect4)
161element4.options[i].selected=true;}
162function removeContact(jid)
163{TrophyIM.removeContact(jid);}
164function removeElement()
165{if(arguments.length>0)
166{var _element=arguments[0]
167if(_element!=null)
168{_element.parentNode.removeChild(_element);}}}
169function removeGroup()
170{var _parent=arguments[0];if(_parent.childNodes.length<=2)
171_parent.parentNode.removeChild(_parent);}
172function renameContact()
173{if(arguments.length>0)
174{var _jid=arguments[0];TrophyIM.renameContact(_jid);}}
175function renameGroup()
176{if(arguments.length>0)
177{var _jid=arguments[0];TrophyIM.renameGroup(_jid);}}
178function rosterDiv()
179{var _rosterDiv=function()
180{var winRosterDiv={id_window:"window_Roster_im",width:250,height:410,top:50,left:-1500,leftOld:50,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:"Expresso Messenger - Contatos",closeAction:"hidden",content:""};if(_preferencesIM[0]=="openWindowJabberit:false")
181{winRosterDiv.left=50;winRosterDiv.leftOld=-1500;}
182if(SnifferBrowser.isLoadApp())
183{var _idUser=Base64.decode(getUserCurrent().jid);var paramListContact={'idUser':_idUser,'full_name':((fullName.length<25)?fullName:(fullName.substring(0,25)+"...")),'path_jabberit':path_jabberit,'help_expresso':help_expresso,'zIndex_':zIndex++};winRosterDiv.content=Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl",paramListContact)}
184else
185{var paramList={'path':path_phpgwapi};winRosterDiv.width=280;winRosterDiv.height=430;winRosterDiv.content=Xtools.parse(Xtools.xml("navigator"),path_phpgwapi+"templates/default/xsl/navigatorCompatible.xsl",paramList);}
186_winBuild(winRosterDiv);getPhotoUser(_idUser);}
187setTimeout(function(){_rosterDiv();},200);}
188function searchUser()
189{var _input=getElement('search_user_jabber');if(_input.value.length>=3)
190addUser.search();else
191alert(i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS+'.');}
192function setAutorization()
193{var divItenContact=null;if(arguments.length>0)
194{var jidTo=arguments[0];if(getElement('itenContact_'+jidTo))
195divItenContact=getElement('itenContact_'+jidTo);}
196if(divItenContact)
197{var subscription=divItenContact.getAttribute('subscription');switch(subscription)
198{case'from':TrophyIM.setAutorization(jidTo,Base64.decode(this.getUserCurrent().jid),'subscribe');break;case'subscribe':TrophyIM.setAutorization(jidTo,Base64.decode(this.getUserCurrent().jid),'subscribed');break;case'none':TrophyIM.setAutorization(jidTo,Base64.decode(this.getUserCurrent().jid),'subscribe');break;case'to':TrophyIM.setAutorization(jidTo,Base64.decode(this.getUserCurrent().jid),'subscribed');removeElement(getElement('itenContactNotification_'+jidTo));break;case'not-in-roster':TrophyIM.setAutorization(jidTo,Base64.decode(this.getUserCurrent().jid),'subscribed');addUser.add(jidTo);break;}}}
199function setMessageStatus()
200{if(arguments.length>0)
201{var _element=arguments[0];var _parent=_element.parentNode;if(_element.nodeName.toLowerCase()=="label")
202{var _input=document.createElement("input");_input.size="35";_input.maxlength="35";_input.style.border="0";_input.value=_element.innerHTML;configEvents(_input,"onkeyup",function(e)
203{if(e.keyCode==13)loadscript.setMessageStatus(_input,_element);});configEvents(_input,"onblur",function(){loadscript.setMessageStatus(_input,_element)});if(_parent!=null)
204{if(_element!=null)
205_parent.removeChild(_element);if(_input!=null)
206_parent.appendChild(_input);}
207_input.focus();_input.select();}
208else
209{var _label=arguments[1];_statusMessage=_element.value.replace(/^\(+|\)+$/g,"");if((_statusMessage=_statusMessage.replace(/^\s+|\s+$|^\n|\n$/g,""))!="")
210_label.innerHTML="( "+_statusMessage+" )";else
211_label.innerHTML="( "+i18n.TYPE_YOUR_MESSAGE_HERE_STATUS+" )";if(_parent!=null)
212{if(_element!=null)
213_parent.removeChild(_element);if(_label!=null)
214_parent.appendChild(_label);}
215_statusMessage=((_statusMessage!=i18n.TYPE_YOUR_MESSAGE_HERE_STATUS)?_statusMessage:"");TrophyIM.setPresence("status",_statusMessage);}}}
216function setPreferences()
217{var elementOpenW=document.getElementById('openWindowJabberit');var value='';for(var i=0;i<elementOpenW.options.length;i++)
218if(elementOpenW.options[i].selected==true)
219{value='preferences1=openWindowJabberit:'+elementOpenW.options[i].value;_preferencesIM[0]='openWindowJabberit:'+elementOpenW.options[i].value;}
220value+='&preferences2=openWindowJabberitPopUp:false';_preferencesIM[1]='openWindowJabberitPopUp:false';var elementFlagIM=document.getElementById('flagAwayIM');if(elementFlagIM.value.length>0&&parseInt(elementFlagIM.value)>0)
221{_preferencesIM[2]='flagAwayIM:'+elementFlagIM.value;value+='&preferences3=flagAwayIM:'+elementFlagIM.value;}
222else
223{alert('Informe um valor igual ou maior que 1!');return false;}
224var elementShowOffline=document.getElementById('showContactsOfflineJabberit');for(var i=0;i<elementShowOffline.options.length;i++)
225if(elementShowOffline.options[i].selected==true)
226{_preferencesIM[3]='showContactsOfflineJabberit:'+elementShowOffline.options[i].value;value+='&preferences4=showContactsOfflineJabberit:'+elementShowOffline.options[i].value;}
227conn.go('p.pf.setPreferences',function(data)
228{if(data=='false')
229{alert('Erro salvando suas preferências!');}
230_winBuild('jabberit_preferences','remove');},value);}
231function setPresence()
232{if(arguments.length>0)
233{var element=arguments[0];if(showhidden==null)
234showhidden=new ShowHidden(300);var _status=[['Afastado','away','<img src="'+path_jabberit+'templates/default/images/away.gif" />'],['Disponível','available','<img src="'+path_jabberit+'templates/default/images/available.gif" />'],['Livre p/ Conversa','chat','<img src="'+path_jabberit+'templates/default/images/chat.gif" />'],['Não Disponível','xa','<img src="'+path_jabberit+'templates/default/images/xa.gif" />'],['Ocupado','dnd','<img src="'+path_jabberit+'templates/default/images/dnd.gif" />'],['Desconectado','unavailable','<img src="'+path_jabberit+'templates/default/images/unavailable.gif" />'],['Mensagem de Status...','status','<img src="'+path_jabberit+'templates/default/images/message_normal.gif" />'],];var _itens="";for(var i in _status)
235{if(typeof(_status[i])=="object")
236{_itens+='<span style="cursor:pointer;" onclick="TrophyIM.setPresence(\''+_status[i][1]+'\'); loadscript.setStatusJabber(\''+_status[i][0]+'\',\''+_status[i][1]+'\');">';_itens+=_status[i][2]+"<span style='margin:3px;'>"+_status[i][0]+"</span></span><br/>";}}
237var _statusItens=document.createElement("div");_statusItens.style.marginTop="65px";_statusItens.style.marginLeft="67px";_statusItens.className="x-menu";_statusItens.style.zIndex='99999';_statusItens.innerHTML=_itens;_statusItens.onclick=function(){showhidden.hiddenObject(false);};showhidden.action('onmouseover','onmouseout',_statusItens);element.parentNode.onmouseout=function(){showhidden.hiddenObject(false);};element.parentNode.onmouseover=function(){showhidden.hiddenObject(true);};element.parentNode.appendChild(_statusItens);}}
238function setSelectEditable(element,top,left)
239{if(getElement('selectBox0')==null)
240selectEditable.create(element,top,left);}
241function setStatusJabber()
242{if(arguments.length>0)
243{if(arguments[1]!='status')
244{var _text=arguments[0];var _img=statusUserIM=arguments[1];getElement('statusJabberText').innerHTML=_text;getElement('statusJabberImg').style.background="url('"+path_jabberit+"templates/default/images/"+_img+".gif')";getElement('status_jabber_expresso').style.background="url('"+path_jabberit+"templates/default/images/"+_img+".gif') no-repeat";}}}
245function _setUserCurrent(_user)
246{userCurrent={'jid':_user.jid.substring(11,_user.jid.length),'password':_user.password.substring(11,_user.password.length)}}
247function setUserCurrent()
248{if(getUserCurrent()==null)
249{conn.go('p.ff.data_0',function(_User)
250{conn.go('p.ff.data_1',function(_pass)
251{_setUserCurrent({jid:_User,password:_pass});});});}}
252var _stylesheets=[];var _links=document.getElementsByTagName('link');for(var i=0;i<_links.length;i++)
253if(_links.item(i).type&&_links.item(i).type.toLowerCase()=='text/css')
254_stylesheets[_stylesheets.length]=_links.item(i);function windowPOPUP()
255{var _id=arguments[0];var _win_name=_id.replace(/\W/g,'');if(arguments.length==1)
256{if(windowPopUp[_win_name])
257return true;else
258return false;}
259if(arguments.length==2)
260{if(!windowPopUp[_win_name])
261{windowPopUp[_win_name]=window.open('',_win_name+'__popup','height=355,width=380,top=50,left=50,toolbar=no,menubar=no,resizable=no,scrollbars=no,status=no,location=no,titlebar=no');var tmp=windowPopUp[_win_name].document;tmp.write('<html><head>');tmp.write('</head><body>');tmp.write('</body></html>');tmp.close();for(var i=0;i<_stylesheets.length;i++)
262tmp.documentElement.getElementsByTagName('head').item(0).appendChild(_stylesheets[i].cloneNode(true));var divPOP=getElement(_id+"__popUp");divPOP.style.background="url('"+path_jabberit+"templates/default/images/icon_down.png') no-repeat";divPOP.innerHTML="PopIn";function _close()
263{windowPopUp[_win_name].close();configEvents(divPOP,'onclick',_close,true);}
264configEvents(divPOP,'onclick',_close);var _content=tmp.documentElement.getElementsByTagName('body').item(0).appendChild(getElement(_id+'__chatBox').parentNode);_content.firstChild.scrollTop=_content.firstChild.scrollHeight;configEvents(windowPopUp[_win_name],'onbeforeunload',function()
265{delete windowPopUp[_win_name];divPOP.style.background="url('"+path_jabberit+"templates/default/images/icon_up.png') no-repeat";divPOP.innerHTML="PopUp";divPOP.onclick=function(){loadscript.windowPOPUP(_id,true);};_winBuild('window_chat_area_'+_id,"display").content(true);});_winBuild('window_chat_area_'+_id,'hidden');}}}
266function windowNotificationNewUsers()
267{var _users=Xtools.xml('notification_new_users');for(var user in TrophyIM.rosterObj.roster)
268{if(TrophyIM.rosterObj.roster[user].constructor==Function)
269continue;if(TrophyIM.rosterObj.roster[user].contact.jid!=Base64.decode(loadscript.getUserCurrent().jid))
270{var _subscription=TrophyIM.rosterObj.roster[user].contact.subscription;if(_subscription=='to'||_subscription=='not-in-roster')
271{var _user=_users.createElement('user');var _jid=_users.createElement('jid');var _status=_users.createElement('status');_jid.appendChild(_users.createTextNode(TrophyIM.rosterObj.roster[user].contact.jid));_status.appendChild(_users.createTextNode(_subscription));_user.appendChild(_jid);_user.appendChild(_status);_users.documentElement.appendChild(_user);}}}
272var paramsNotification={'lang_1':"Notificação",'lang_2':"O(s) usuário(s) abaixo pedem sua autorização.",'lang_3':"Autorizar",'lang_4':"Remover"};var winNotification={id_window:"window_notification_new_users",width:400,height:300,top:100,left:400,draggable:true,visible:"display",resizable:true,zindex:zIndex++,title:"Expresso Messenger - Notificação de Novos Usuários",closeAction:"remove",content:Xtools.parse(_users,"notificationNewUsers.xsl",paramsNotification)};_winBuild(winNotification);}
273function createChatRooms()
274{_winBuild("window_List_Rooms_jabberit_messenger","remove");var paramCreateChatRoom={'lang_nameChatRoom':"Nome da Sala",'lang_nickName':"Apelido"};var winCreateChatRooms={id_window:"window_create_chat_rooms",width:360,height:160,top:100,left:410,draggable:true,visible:"display",resizable:true,zindex:loadscript.getZIndex(),title:"Expresso Messenger - Criar Sala de Bate Papo",closeAction:"remove",content:Xtools.parse(Xtools.xml("create_chat_room"),"createChatRoom.xsl",paramCreateChatRoom)};_winBuild(winCreateChatRooms);var _pButtons={'lang1':'Ingressar','lang2':'Fechar','onclickClose':'_winBuild("window_create_chat_rooms","remove");','onclickSubmit':'TrophyIM.createChatRooms(); _winBuild("window_create_chat_rooms","remove");'};document.getElementById('buttons_createChatRoom').innerHTML=Xtools.parse(Xtools.xml('buttons_main'),'buttons.xsl',_pButtons);}
275function listRooms(element)
276{element=element.getElementsByTagName('item');var _roomsCount=0;var _xml=Xtools.xml('listRooms');var _listRooms=_xml.documentElement;var show=function()
277{if(_roomsCount!=element.length)
278return false;var paramsListRooms={"path_jabberit":path_jabberit};var winListRooms={id_window:"window_List_Rooms_jabberit_messenger",width:450,height:300,top:100,left:400,draggable:true,visible:"display",resizable:true,zindex:loadscript.getZIndex(),title:"Expresso Messenger - Salas de Bate Papo",closeAction:"remove",content:Xtools.parse(_xml,"listRooms.xsl",paramsListRooms)};_winBuild(winListRooms);var _pButtons={'lang1':'Criar Nova Sala','lang2':'Fechar','onclickClose':'_winBuild("window_List_Rooms_jabberit_messenger","remove");','onclickSubmit':'loadscript.createChatRooms();'};document.getElementById('buttons_addChatRoom').innerHTML=Xtools.parse(Xtools.xml('buttons_main'),'buttons.xsl',_pButtons);};var _add_room=function(_room)
279{_roomsCount++;var _ROOM=_xml.createElement('room');var _JIDROOM=_xml.createElement('jidRoom');var nameRoom=_room.getAttribute('from');_ROOM.setAttribute('nameRoom',unescape((nameRoom.substring(0,nameRoom.indexOf("@"))).toUpperCase()));_JIDROOM.appendChild(_xml.createTextNode(nameRoom));_ROOM.appendChild(_JIDROOM);var _fields=_room.getElementsByTagName('field');for(var f=0;f<_fields.length;f++)
280{if(_fields[f].getAttribute('var'))
281{if(_fields[f].firstChild.hasChildNodes()&&_fields[f].getAttribute('var')=='muc#roominfo_description')
282{var _description=_xml.createElement("description");_description.appendChild(_xml.createTextNode(_fields[f].firstChild.firstChild.nodeValue));_ROOM.appendChild(_description);}
283if(_fields[f].firstChild.hasChildNodes()&&_fields[f].getAttribute('var')=='muc#roominfo_occupants')
284{var _occupants=_xml.createElement("occupants")
285_occupants.appendChild(_xml.createTextNode(_fields[f].firstChild.firstChild.nodeValue));_ROOM.appendChild(_occupants);}}}
286var _feature=_room.getElementsByTagName('feature');for(var f=0;f<_feature.length;f++)
287{if(_feature[f].getAttribute('var'))
288{if(_feature[f].getAttribute('var')=='muc_unsecured')
289{var _password=_xml.createElement("password");_password.appendChild(_xml.createTextNode("false"));_ROOM.appendChild(_password);}
290else if(_feature[f].getAttribute('var')=='muc_passwordprotected')
291{var _password=_xml.createElement("password");_password.appendChild(_xml.createTextNode("true"));_ROOM.appendChild(_password);}}}
292_listRooms.appendChild(_ROOM);show();};var _get_room_info=function(_room)
293{TrophyIM.connection.sendIQ($iq({"to":_room,"type":"get"}).c("query",{xmlns:Strophe.NS.DISCO_INFO}),_add_room,function(a)
294{_roomsCount++;show();},500);};if(element.length>0)
295{for(var i=0;i<element.length;i++)
296{_get_room_info(element[i].getAttribute('jid'));}}
297else
298{show();}}
299function getListRooms()
300{TrophyIM.getListRooms();}
301function joinRoom(jidRoom,nameRoom)
302{var append_nick=function(room,nick)
303{var room_nick=room;if(nick)
304{room_nick+="/"+nick;}
305return room_nick;}
306if(document.getElementById('window_chat_room_'+jidRoom+'__main')!=null)
307{_winBuild('window_chat_room_'+jidRoom,'display');}
308else
309{var nickName=Base64.decode(loadscript.getUserCurrent().jid);nickName=nickName.substring(0,nickName.indexOf('@'));var _prompt=prompt("Deseja informar um Apelido ?",nickName);if(_prompt)
310{_prompt=_prompt.replace(/^\s+|\s+$|^\n|\n$/g,"");var room_nick=append_nick(jidRoom,nickName);var nickChat=nickName.toString();if(_prompt&&_prompt!="")
311{nickChat=_prompt.toString();var room_nick=append_nick(jidRoom,_prompt);}
312TrophyIM.makeChatRoom(jidRoom,nameRoom);TrophyIM.activeChatRoom.name[TrophyIM.activeChatRoom.name.length]=room_nick;TrophyIM.joinChatRoom(room_nick);setTimeout(function()
313{var _message=nickName.toUpperCase()+" entrou como : "+nickChat;TrophyIM.sendMessageChatRoom(jidRoom,_message);},500);}}
314_winBuild("window_List_Rooms_jabberit_messenger","remove");}
315function loadIM()
316{if(arguments.length>0)
317{var files=[/*path_jabberit+'templates/default/css/button.css',*/path_jabberit+'templates/default/css/common.css',/*path_jabberit+'templates/default/css/selectEditableStyle.css',*/path_jabberit+'templates/default/css/'+theme_jabberit];fullName=arguments[0];_preferencesIM=arguments[1].split(";");path_phpgwapi=arguments[2];if(!_preferencesIM[3])_preferencesIM[3]="showContactsOfflineJabberit:true";loadScripts(files);setTimeout(function()
318{if(Xtools==null)
319Xtools=new xtools(path_jabberit);if(conn==null)
320conn=new AjaxConnector(path_jabberit);if(addUser==null)
321addUser=new addUserIM(Xtools,conn);if(selectEditable==null)
322selectEditable=new SelectEditable();addIcon();setTimeout(function()
323{if(_preferencesIM[0]==='openWindowJabberit:true')
324{if(SnifferBrowser.isLoadApp())
325{TrophyIM.load();}}},1500);autoStatus();configEvents(document,'onmousemove',autoStatus);configEvents(document,'onkeypress',autoStatus);},2000);}}
326loadIM.prototype.adIcon=addIcon;loadIM.prototype.actionButton=actionButton;loadIM.prototype.addContact=addContact;loadIM.prototype.addNewUser=addNewUser;loadIM.prototype.clrAllContacts=clrAllContacts;loadIM.prototype.configEvents=configEvents;loadIM.prototype.createChatRooms=createChatRooms;loadIM.prototype.disabledNotificationNewUsers=disabledNotificationNewUsers;loadIM.prototype.enabledNotificationNewUsers=enabledNotificationNewUsers;loadIM.prototype.getListRooms=getListRooms;loadIM.prototype.getBrowserCompatible=getBrowserCompatible;loadIM.prototype.getPhotoUser=getPhotoUser;loadIM.prototype.getSmiles=getSmiles;loadIM.prototype.getStatusUserIM=getStatusUserIM;loadIM.prototype.getStatusMessage=getStatusMessage;loadIM.prototype.getShowContactsOffline=getShowContactsOffline;loadIM.prototype.getUserCurrent=getUserCurrent;loadIM.prototype.getZIndex=getZindex;loadIM.prototype.groupsHidden=groupsHidden;loadIM.prototype.groupsVisible=groupsVisible;loadIM.prototype.joinRoom=joinRoom;loadIM.prototype.keyPressSearch=keyPressSearch;loadIM.prototype.listRooms=listRooms;loadIM.prototype.loginPage=loginPage;loadIM.prototype.notification=notificationNewMessage;loadIM.prototype.parse=parse;loadIM.prototype.preferences=preferences;loadIM.prototype.searchUser=searchUser
327loadIM.prototype.setAutorization=setAutorization;loadIM.prototype.setMessageStatus=setMessageStatus;loadIM.prototype.setPreferences=setPreferences;loadIM.prototype.setPresence=setPresence;loadIM.prototype.setStatusJabber=setStatusJabber;loadIM.prototype.setSelectEditable=setSelectEditable;loadIM.prototype.setUserCurrent=setUserCurrent;loadIM.prototype.removeContact=removeContact;loadIM.prototype.removeElement=removeElement;loadIM.prototype.removeGroup=removeGroup;loadIM.prototype.renameContact=renameContact;loadIM.prototype.renameGroup=renameGroup;loadIM.prototype.rosterDiv=rosterDiv;loadIM.prototype.windowNotificationNewUsers=windowNotificationNewUsers;loadIM.prototype.windowPOPUP=windowPOPUP;window.LoadIM=loadIM;if(SnifferBrowser.isLoadApp('msie'))
328{configEvents(window,'onload',function()
329{if(!document.getElementById('cc_msg_err_serialize_data_unknown'))
330{var fix=document.createElement('input');fix.type='hidden';fix.id='cc_msg_err_serialize_data_unknown';document.appendChild(fix);}
331if(!window.showMessage)
332window.showMessage=function(){};});}})();
Note: See TracBrowser for help on using the repository browser.