Changeset 5041 for trunk/jabberit_messenger/jmessenger/js/jscode/loadIM.js
- Timestamp:
- 09/05/11 18:10:06 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jabberit_messenger/jmessenger/js/jscode/loadIM.js
r4360 r5041 1 1 (function() 2 { 3 var _autoStatus; 4 var _autoStatusTime = 60000; // 1 minuto 5 var addUser = null; 6 var conn = null; 7 var fullName = ""; 8 var path = ""; 9 var _preferencesIM = ""; 10 var selectEditable = null; 11 var showhidden = null; 12 var statusUserIM = ""; 13 var _statusMessage = ""; 14 var timeoutId = null; 15 var userCurrent = null; 16 var _timeOutNotification = ""; 17 var Xtools = null; 18 var zIndex = 9001; 19 var windowPopUp = []; 20 21 // Images 22 var add_user = new Image(); 23 add_user.src = path_jabberit + 'templates/default/images/adduser_azul.png'; 24 25 var arrow_down = new Image(); 26 arrow_down.src = path_jabberit + 'templates/default/images/arrow_down.gif'; 27 28 var arrow_right = new Image(); 29 arrow_right.src = path_jabberit + 'templates/default/images/arrow_right.gif'; 30 31 function actionButton() 32 { 33 if( arguments.length > 0 ) 34 { 35 var e = arguments[0]; 36 var _element = ( e.target ) ? e.target : e.srcElement; 37 var jid = arguments[1]; 38 var coord = null; 39 40 if ( !e ) 41 e = window.event; 42 43 var _X = e.clientX + document.body.scrollLeft - document.body.clientLeft; 44 var _Y = e.clientY + document.body.scrollTop - document.body.clientTop; 45 46 coord = { X : _X, Y : _Y }; 47 48 49 var _onContextMenu = function() 50 { 51 return false; 52 }; 53 54 window.document.oncontextmenu = _onContextMenu; 55 56 if( e.button ) 57 { 58 if( e.button > 1 ) 59 optionsItensContact( jid, coord ); 60 else 61 TrophyIM.rosterClick(jid); 62 } 63 else if( e.which ) 64 { 65 if( e.which > 1 ) 66 optionsItensContact( jid, coord ); 67 else 68 if( e.target.id ) 69 TrophyIM.rosterClick(jid); 70 } 71 72 setTimeout(function() 73 { 74 window.document.oncontextmenu = function() 75 { 76 return true; 77 }; 78 79 },500); 80 } 81 } 82 83 function addContact() 84 { 85 if( arguments.length > 0 ) 86 addUser.add(); 87 else 88 addUser.show(); 89 } 90 91 function addIcon() 92 { 93 94 var div_write_msg = ( getElement('em_div_write_msg') != null ) ? getElement('em_div_write_msg') : null ; 95 var StatusBar = ( getElement('divStatusBar') != null ) ? getElement('divStatusBar') : null ; 96 var StatusBarIM = ( getElement('JabberMessenger') != null ) ? getElement('JabberMessenger') : null; 97 98 /************************************************************************** 2 { 3 var _autoStatus; 4 var _autoStatusTime = 60000; // 1 minuto 5 var addUser = null; 6 var conn = null; 7 var fullName = ""; 8 var path = ""; 9 var path_phpgwapi = ""; 10 var _preferencesIM = ""; 11 var selectEditable = null; 12 var showhidden = null; 13 var statusUserIM = ""; 14 var _statusMessage = ""; 15 var timeoutId = null; 16 var userCurrent = null; 17 var _timeOutNotification = ""; 18 var Xtools = null; 19 var zIndex = 9001; 20 var windowPopUp = []; 21 22 // Images 23 var add_user = new Image(); 24 add_user.src = path_jabberit + 'templates/default/images/adduser_azul.png'; 25 26 var arrow_down = new Image(); 27 arrow_down.src = path_jabberit + 'templates/default/images/arrow_down.gif'; 28 29 var arrow_right = new Image(); 30 arrow_right.src = path_jabberit + 'templates/default/images/arrow_right.gif'; 31 32 function actionButton() 33 { 34 if( arguments.length > 0 ) 35 { 36 var e = arguments[0]; 37 var _element = ( e.target ) ? e.target : e.srcElement; 38 var jid = arguments[1]; 39 var coord = null; 40 41 if ( !e ) 42 e = window.event; 43 44 var _X = e.clientX + document.body.scrollLeft - document.body.clientLeft; 45 var _Y = e.clientY + document.body.scrollTop - document.body.clientTop; 46 47 coord = { 48 X : _X, 49 Y : _Y 50 }; 51 52 53 var _onContextMenu = function() 54 { 55 return false; 56 }; 57 58 window.document.oncontextmenu = _onContextMenu; 59 60 if( e.button ) 61 { 62 if( e.button > 1 ) 63 optionsItensContact( jid, coord ); 64 else 65 TrophyIM.rosterClick(jid); 66 } 67 else if( e.which ) 68 { 69 if( e.which > 1 ) 70 optionsItensContact( jid, coord ); 71 else 72 if( e.target.id ) 73 TrophyIM.rosterClick(jid); 74 } 75 76 setTimeout(function() 77 { 78 window.document.oncontextmenu = function() 79 { 80 return true; 81 }; 82 83 },500); 84 } 85 } 86 87 function addContact() 88 { 89 if( arguments.length > 0 ) 90 addUser.add(); 91 else 92 addUser.show(); 93 } 94 95 function addIcon() 96 { 97 98 var div_write_msg = ( getElement('em_div_write_msg') != null ) ? getElement('em_div_write_msg') : null ; 99 var StatusBar = ( getElement('divStatusBar') != null ) ? getElement('divStatusBar') : null ; 100 var StatusBarIM = ( getElement('JabberMessenger') != null ) ? getElement('JabberMessenger') : null; 101 102 /************************************************************************** 99 103 * 100 104 * Quando estiver habilitada a opção fora de escritório nos filtros. … … 102 106 */ 103 107 104 if( ( div_write_msg && StatusBarIM ) != null ) 105 { 106 div_write_msg.parentNode.insertBefore(StatusBarIM, div_write_msg); 107 StatusBarIM.style.paddingLeft = '33px'; 108 return; 109 } 110 111 /**************************************************************************/ 112 113 if ( !StatusBarIM ) 114 { 115 StatusBarIM = document.createElement('div'); 116 StatusBarIM.setAttribute('id', 'JabberMessenger'); 117 } 118 119 if( StatusBar ) 120 { 121 StatusBar.style.paddingLeft = '33px'; 122 123 var _div = document.createElement('div'); 124 _div.appendChild(StatusBar.parentNode.removeChild(StatusBar.previousSibling)); 125 126 StatusBar.parentNode.insertBefore( _div, StatusBar); 127 128 var _fastMenu = top.document.createElement('div'); 129 _fastMenu.setAttribute('id', 'fast_menu_jabber_expresso'); 130 _fastMenu.style.background = 'no-repeat'; 131 _fastMenu.style.backgroundImage = 'url(' + arrow_down.src + ')'; 132 _fastMenu.style.float = 'left'; 133 _fastMenu.style.height = '15px'; 134 _fastMenu.style.left = '7px'; 135 _fastMenu.style.margin = '8 0 0 10px'; 136 _fastMenu.style.padding = '0px'; 137 _fastMenu.style.position = 'absolute'; 138 _fastMenu.style.width = '15px'; 139 _fastMenu.style.cursor = 'pointer'; 140 141 StatusBarIM.insertBefore( _fastMenu, StatusBarIM.firstChild ); 142 143 // Add event onclick element _fastMenu 144 configEvents( _fastMenu, 'onclick', function(){ fastMenu(_fastMenu); }); 145 146 var _statusJabber = top.document.createElement('div'); 147 _statusJabber.setAttribute('id','status_jabber_expresso'); 148 _statusJabber.style.background = 'no-repeat'; 149 _statusJabber.style.backgroundImage = 'url(' + add_user.src +')'; 150 _statusJabber.style.float = 'left'; 151 _statusJabber.style.height = '18px'; 152 _statusJabber.style.left = '19px'; 153 _statusJabber.style.margin = '0 0 0 10px'; 154 _statusJabber.style.padding = '0px'; 155 _statusJabber.style.position = 'absolute'; 156 _statusJabber.style.width = '18px'; 157 _statusJabber.style.cursor = 'pointer'; 158 _statusJabber.style.zindex = '999999'; 159 160 StatusBarIM.insertBefore( _statusJabber, StatusBarIM.firstChild ); 161 162 StatusBar.insertBefore( StatusBarIM, StatusBar.firstChild ); 163 164 // Add event onclick element _statusJabber 165 if( _preferencesIM[0] == "openWindowJabberit:true" ) 166 { 167 configEvents( _statusJabber, 'onclick', function(){ rosterDiv(); }); 168 } 169 else 170 { 171 configEvents( _statusJabber, 'onclick', function(){ TrophyIM.load(); }); 172 } 173 } 174 } 175 176 function addNewUser() 177 { 178 addUser.newUser(); 179 } 180 181 function autoStatus() 182 { 183 var _div_status = ( getElement('status_jabber_expresso') != null ) ? getElement('status_jabber_expresso') : null; 184 185 if ( _autoStatus ) 186 clearTimeout(_autoStatus); 187 188 if ( _div_status != null ) 189 { 190 var _status = _div_status.style.backgroundImage; 191 _status = _status.substr(_status.lastIndexOf('/') + 1); 192 _status = _status.substr(0, _status.indexOf('.')); 193 194 if( _status == "xa" && _div_status.getAttribute('autoStatus') ) 195 { 196 if( getStatusMessage() != "") 197 TrophyIM.setPresence("available", getStatusMessage()); 198 else 199 TrophyIM.setPresence("available"); 200 201 _div_status.removeAttribute('autoStatus'); 202 loadscript.setStatusJabber("Disponível","available"); 203 } 204 } 205 206 var TimeStatus = _preferencesIM[2].split(':'); 207 208 if( TimeStatus[1] ) 209 _autoStatus = setTimeout( function(){ autoStatusHandler();}, parseInt(TimeStatus[1]) * _autoStatusTime ); 210 else 211 _autoStatus = setTimeout( function(){ autoStatusHandler();}, parseInt(_autoStatusTime)); 212 } 213 214 function autoStatusHandler() 215 { 216 var _div_status = ( getElement('status_jabber_expresso') != null ) ? getElement('status_jabber_expresso') : null; 217 218 if ( _div_status != null ) 219 { 220 var _status = _div_status.style.backgroundImage; 221 _status = _status.substr(_status.lastIndexOf('/') + 1); 222 _status = _status.substr(0, _status.indexOf('.')); 223 224 if( _status == "available" ) 225 { 226 if(getStatusMessage() != "") 227 TrophyIM.setPresence("xa", getStatusMessage()); 228 else 229 TrophyIM.setPresence("xa"); 230 231 _div_status.setAttribute('autoStatus','true'); 232 233 loadscript.setStatusJabber("Não Disponível","xa"); 234 } 235 } 236 } 237 238 function clrAllContacts() 239 { 240 getElement("JabberIMRoster").innerHTML = ""; 241 } 242 243 function configEvents(pObj, pEvent, pHandler) 244 { 245 if ( typeof pObj == 'object' ) 246 { 247 if ( pEvent.substring(0, 2) == 'on' ) 248 pEvent = pEvent.substring(2, pEvent.length ); 249 250 if ( arguments.length == 3 ) 251 { 252 if ( pObj.addEventListener ) 253 pObj.addEventListener(pEvent, pHandler, false ); 254 else if ( pObj.attachEvent ) 255 pObj.attachEvent( 'on' + pEvent, pHandler ); 256 } 257 else if ( arguments.length == 4 ) 258 { 259 if ( pObj.removeEventListener ) 260 pObj.removeEventListener( pEvent, pHandler, false ); 261 else if ( pObj.detachEvent ) 262 pObj.detachEvent( 'on' + pEvent, pHandler ); 263 } 264 } 265 } 266 267 function disabledNotificationNewUsers() 268 { 269 var _notification = getElement('notification_new_users_jabber') ; 270 var _statusJabber = getElement('status_jabber_expresso'); 271 272 _notification.style.display = 'none'; 273 274 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/" + statusUserIM + ".gif') no-repeat"; 275 276 if( _timeOutNotification ) 277 clearTimeout(_timeOutNotification ); 278 279 TrophyIM.controll.notificationNewUsers = 0; 280 } 281 282 function enabledNotificationNewUsers() 283 { 284 var _notification = getElement('notification_new_users_jabber') ; 285 var _statusJabber = getElement('status_jabber_expresso'); 286 287 if( _notification && _statusJabber ) 288 { 289 if ( _notification.style.display == 'none' ) 290 { 291 _notification.style.display = 'block'; 292 293 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/alert_mini.png') no-repeat"; 294 295 if( _timeOutNotification ) 296 clearTimeout(_timeOutNotification ); 297 298 _timeOutNotification = setTimeout( function(){ enabledNotificationNewUsers(); }, 2000 ); 299 } 300 else 301 { 302 _notification.style.display = 'none'; 303 304 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/" + statusUserIM + ".gif') no-repeat"; 305 306 if( _timeOutNotification ) 307 clearTimeout(_timeOutNotification ); 308 309 _timeOutNotification = setTimeout( function(){ enabledNotificationNewUsers(); }, 800 ); 310 } 311 } 312 } 313 314 function fastMenu() 315 { 316 if( arguments.length > 0 ) 317 { 318 var element = arguments[0]; 319 320 if( showhidden == null ) 321 showhidden = new ShowHidden(300); 322 323 var _options = [ 324 ['Adicionar Contato', 'loadscript.addContact();' ], 325 ['Preferências', 'loadscript.preferences();'] 326 ]; 327 328 if( im_chatroom == "false" ) 329 { 330 _options[2] = [ 'Sala(s) de Bate-Papo','loadscript.getListRooms();']; 331 } 332 333 var _itens = ""; 334 335 for( var i in _options ) 336 { 337 if( _options[i].constructor == Function ) 338 continue; 339 340 _itens += '<img src="'+arrow_right.src+'"/>'; 341 _itens += '<span style="cursor:pointer; margin:3px;" onclick='+_options[i][1]+'>'; 342 _itens += _options[i][0] + '</span><br/>'; 343 } 344 345 var _optionsItens = document.createElement("div"); 346 _optionsItens.id = "fastMenu_Jabber"; 347 _optionsItens.style.marginTop = "19px"; 348 _optionsItens.style.marginLeft = "-8px"; 349 _optionsItens.className = "x-menu"; 350 _optionsItens.style.zIndex = '999999'; 351 _optionsItens.innerHTML = _itens; 352 _optionsItens.onclick = function(){ showhidden.hiddenObject(false); }; 353 _optionsItens.onmouseout = function(){ showhidden.hiddenObject(false); }; 354 _optionsItens.onmouseover = function(){ showhidden.hiddenObject(true); }; 108 if( ( div_write_msg && StatusBarIM ) != null ) 109 { 110 div_write_msg.parentNode.insertBefore(StatusBarIM, div_write_msg); 111 StatusBarIM.style.paddingLeft = '33px'; 112 return; 113 } 114 115 /**************************************************************************/ 116 117 if ( !StatusBarIM ) 118 { 119 StatusBarIM = document.createElement('div'); 120 StatusBarIM.setAttribute('id', 'JabberMessenger'); 121 } 122 123 if( StatusBar ) 124 { 125 StatusBar.style.paddingLeft = '33px'; 126 127 var _div = document.createElement('div'); 128 _div.appendChild(StatusBar.parentNode.removeChild(StatusBar.previousSibling)); 129 130 StatusBar.parentNode.insertBefore( _div, StatusBar); 131 132 var _fastMenu = top.document.createElement('div'); 133 _fastMenu.setAttribute('id', 'fast_menu_jabber_expresso'); 134 _fastMenu.style.background = 'no-repeat'; 135 _fastMenu.style.backgroundImage = 'url(' + arrow_down.src + ')'; 136 _fastMenu.style.float = 'left'; 137 _fastMenu.style.height = '15px'; 138 _fastMenu.style.left = '7px'; 139 _fastMenu.style.margin = '8 0 0 10px'; 140 _fastMenu.style.padding = '0px'; 141 _fastMenu.style.position = 'absolute'; 142 _fastMenu.style.width = '15px'; 143 _fastMenu.style.cursor = 'pointer'; 144 145 StatusBarIM.insertBefore( _fastMenu, StatusBarIM.firstChild ); 146 147 // Add event onclick element _fastMenu 148 configEvents( _fastMenu, 'onclick', function(){ 149 fastMenu(_fastMenu); 150 }); 151 152 var _statusJabber = top.document.createElement('div'); 153 _statusJabber.setAttribute('id','status_jabber_expresso'); 154 _statusJabber.style.background = 'no-repeat'; 155 _statusJabber.style.backgroundImage = 'url(' + add_user.src +')'; 156 _statusJabber.style.float = 'left'; 157 _statusJabber.style.height = '18px'; 158 _statusJabber.style.left = '19px'; 159 _statusJabber.style.margin = '0 0 0 10px'; 160 _statusJabber.style.padding = '0px'; 161 _statusJabber.style.position = 'absolute'; 162 _statusJabber.style.width = '18px'; 163 _statusJabber.style.cursor = 'pointer'; 164 _statusJabber.style.zindex = '999999'; 165 166 StatusBarIM.insertBefore( _statusJabber, StatusBarIM.firstChild ); 167 168 StatusBar.insertBefore( StatusBarIM, StatusBar.firstChild ); 169 170 // Add event onclick element _statusJabber 171 if( _preferencesIM[0] == "openWindowJabberit:true" ) 172 { 173 configEvents( _statusJabber, 'onclick', function(){ 174 rosterDiv(); 175 }); 176 } 177 else 178 { 179 configEvents( _statusJabber, 'onclick', function(){ 180 TrophyIM.load(); 181 }); 182 } 183 } 184 } 185 186 function addNewUser() 187 { 188 addUser.newUser(); 189 } 190 191 function autoStatus() 192 { 193 var _div_status = ( getElement('status_jabber_expresso') != null ) ? getElement('status_jabber_expresso') : null; 194 195 if ( _autoStatus ) 196 clearTimeout(_autoStatus); 197 198 if ( _div_status != null ) 199 { 200 var _status = _div_status.style.backgroundImage; 201 _status = _status.substr(_status.lastIndexOf('/') + 1); 202 _status = _status.substr(0, _status.indexOf('.')); 203 204 if( _status == "xa" && _div_status.getAttribute('autoStatus') ) 205 { 206 if( getStatusMessage() != "") 207 TrophyIM.setPresence("available", getStatusMessage()); 208 else 209 TrophyIM.setPresence("available"); 210 211 _div_status.removeAttribute('autoStatus'); 212 loadscript.setStatusJabber("Disponível","available"); 213 } 214 } 215 216 var TimeStatus = _preferencesIM[2].split(':'); 217 218 if( TimeStatus[1] ) 219 _autoStatus = setTimeout( function(){ 220 autoStatusHandler(); 221 }, parseInt(TimeStatus[1]) * _autoStatusTime ); 222 else 223 _autoStatus = setTimeout( function(){ 224 autoStatusHandler(); 225 }, parseInt(_autoStatusTime)); 226 } 227 228 function autoStatusHandler() 229 { 230 var _div_status = ( getElement('status_jabber_expresso') != null ) ? getElement('status_jabber_expresso') : null; 231 232 if ( _div_status != null ) 233 { 234 var _status = _div_status.style.backgroundImage; 235 _status = _status.substr(_status.lastIndexOf('/') + 1); 236 _status = _status.substr(0, _status.indexOf('.')); 237 238 if( _status == "available" ) 239 { 240 if(getStatusMessage() != "") 241 TrophyIM.setPresence("xa", getStatusMessage()); 242 else 243 TrophyIM.setPresence("xa"); 244 245 _div_status.setAttribute('autoStatus','true'); 246 247 loadscript.setStatusJabber("Não Disponível","xa"); 248 } 249 } 250 } 251 252 function clrAllContacts() 253 { 254 getElement("JabberIMRoster").innerHTML = ""; 255 } 256 257 function configEvents(pObj, pEvent, pHandler) 258 { 259 if ( typeof pObj == 'object' ) 260 { 261 if ( pEvent.substring(0, 2) == 'on' ) 262 pEvent = pEvent.substring(2, pEvent.length ); 263 264 if ( arguments.length == 3 ) 265 { 266 if ( pObj.addEventListener ) 267 pObj.addEventListener(pEvent, pHandler, false ); 268 else if ( pObj.attachEvent ) 269 pObj.attachEvent( 'on' + pEvent, pHandler ); 270 } 271 else if ( arguments.length == 4 ) 272 { 273 if ( pObj.removeEventListener ) 274 pObj.removeEventListener( pEvent, pHandler, false ); 275 else if ( pObj.detachEvent ) 276 pObj.detachEvent( 'on' + pEvent, pHandler ); 277 } 278 } 279 } 280 281 function disabledNotificationNewUsers() 282 { 283 var _notification = getElement('notification_new_users_jabber') ; 284 var _statusJabber = getElement('status_jabber_expresso'); 285 286 _notification.style.display = 'none'; 287 288 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/" + statusUserIM + ".gif') no-repeat"; 289 290 if( _timeOutNotification ) 291 clearTimeout(_timeOutNotification ); 292 293 TrophyIM.controll.notificationNewUsers = 0; 294 } 295 296 function enabledNotificationNewUsers() 297 { 298 var _notification = getElement('notification_new_users_jabber') ; 299 var _statusJabber = getElement('status_jabber_expresso'); 300 301 if( _notification && _statusJabber ) 302 { 303 if ( _notification.style.display == 'none' ) 304 { 305 _notification.style.display = 'block'; 306 307 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/alert_mini.png') no-repeat"; 308 309 if( _timeOutNotification ) 310 clearTimeout(_timeOutNotification ); 311 312 _timeOutNotification = setTimeout( function(){ 313 enabledNotificationNewUsers(); 314 }, 2000 ); 315 } 316 else 317 { 318 _notification.style.display = 'none'; 319 320 _statusJabber.style.background = "url('"+path_jabberit+"templates/default/images/" + statusUserIM + ".gif') no-repeat"; 321 322 if( _timeOutNotification ) 323 clearTimeout(_timeOutNotification ); 324 325 _timeOutNotification = setTimeout( function(){ 326 enabledNotificationNewUsers(); 327 }, 800 ); 328 } 329 } 330 } 331 332 function fastMenu() 333 { 334 if( arguments.length > 0 ) 335 { 336 var element = arguments[0]; 337 338 if( showhidden == null ) 339 showhidden = new ShowHidden(300); 340 341 var _options = [ 342 ['Adicionar Contato', 'loadscript.addContact();' ], 343 ['Preferências', 'loadscript.preferences();'] 344 ]; 345 346 if( im_chatroom == "false" ) 347 { 348 _options[2] = [ 'Sala(s) de Bate-Papo','loadscript.getListRooms();']; 349 } 350 351 var _itens = ""; 352 353 for( var i in _options ) 354 { 355 if( _options[i].constructor == Function ) 356 continue; 357 358 _itens += '<img src="'+arrow_right.src+'"/>'; 359 _itens += '<span style="cursor:pointer; margin:3px;" onclick='+_options[i][1]+'>'; 360 _itens += _options[i][0] + '</span><br/>'; 361 } 362 363 var _optionsItens = document.createElement("div"); 364 _optionsItens.id = "fastMenu_Jabber"; 365 _optionsItens.style.marginTop = "19px"; 366 _optionsItens.style.marginLeft = "-8px"; 367 _optionsItens.className = "x-menu"; 368 _optionsItens.style.zIndex = '999999'; 369 _optionsItens.innerHTML = _itens; 370 _optionsItens.onclick = function(){ 371 showhidden.hiddenObject(false); 372 }; 373 _optionsItens.onmouseout = function(){ 374 showhidden.hiddenObject(false); 375 }; 376 _optionsItens.onmouseover = function(){ 377 showhidden.hiddenObject(true); 378 }; 355 379 356 357 358 359 360 361 362 363 364 365 366 367 function getIsIE()368 369 return SnifferBrowser.isCompatible('is_ie');370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 String = String.replace( /\(CzzzzI\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/18.gif'/> "); 380 showhidden.action('onmouseover', 'onmouseout', _optionsItens); 381 382 element.parentNode.appendChild( _optionsItens ); 383 } 384 } 385 386 function getElement( elementId ) 387 { 388 return document.getElementById( elementId ); 389 } 390 391 function getBrowserCompatible() 392 { 393 return SnifferBrowser.isLoadApp('firefox'); 394 } 395 396 function getPhotoUser( jid ) 397 { 398 try 399 { 400 var _divPhoto = getElement( jid + '__photo' ); 401 402 if( _divPhoto.style.backgroundImage.indexOf('photo.png') > 0 ) 403 { 404 var _imgUser = path_jabberit + 'inc/WebService.php?' + Date.parse( new Date ); 405 _imgUser += '&photo_ldap=' + jid; 406 407 _divPhoto.style.backgroundImage = 'url(' + _imgUser + ')'; 408 } 409 }catch(e){} 410 } 411 412 function getShowContactsOffline() 413 { 414 if( _preferencesIM[3] ) 415 { 416 var showOffline = _preferencesIM[3].split(":"); 417 418 if( showOffline[1] === "true") 419 return true; 420 else 421 return false; 422 } 423 424 return true; 425 } 426 427 function getSmiles( String ) 428 { 429 String = String.replace( /:\)|:-\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/1.gif'/> "); 430 String = String.replace( /:-D/g , " <img src='"+path_jabberit+"templates/default/images/smiles/2.gif'/> "); 431 String = String.replace( /;-\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/3.gif'/> "); 432 String = String.replace( /=-O/g , " <img src='"+path_jabberit+"templates/default/images/smiles/4.gif'/> "); 433 String = String.replace( /:P/g , " <img src='"+path_jabberit+"templates/default/images/smiles/5.gif'/> "); 434 String = String.replace( /8-\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/6.gif'/> "); 435 String = String.replace( /\>:o/g , " <img src='"+path_jabberit+"templates/default/images/smiles/7.gif'/> "); 436 String = String.replace( /:-\$/g , " <img src='"+path_jabberit+"templates/default/images/smiles/8.gif'/> "); 437 String = String.replace( /:s|:-X/g , " <img src='"+path_jabberit+"templates/default/images/smiles/9.gif'/> "); 438 String = String.replace( /:-\(/g , " <img src='"+path_jabberit+"templates/default/images/smiles/10.gif'/> "); 439 String = String.replace( /:\'\(/g , " <img src='"+path_jabberit+"templates/default/images/smiles/11.gif'/> "); 440 String = String.replace( /:\|/g , " <img src='"+path_jabberit+"templates/default/images/smiles/12.gif'/> "); 441 String = String.replace( /O:-\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/13.gif'/> "); 442 String = String.replace( /\*\*@#%/g , " <img src='"+path_jabberit+"templates/default/images/smiles/14.gif'/> "); 443 String = String.replace( /\(I\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/15.gif'/> "); 444 String = String.replace( /C28I/g , " <img src='"+path_jabberit+"templates/default/images/smiles/16.gif'/> "); 445 String = String.replace( /CS2A/g , " <img src='"+path_jabberit+"templates/default/images/smiles/17.gif' style='width:42px;height:36px;'/> "); 446 String = String.replace( /\(CzzzzI\)/g , " <img src='"+path_jabberit+"templates/default/images/smiles/18.gif'/> "); 423 447 424 return String; 425 } 426 427 function getStatusUserIM() 428 { 429 return statusUserIM; 430 } 431 432 function getStatusMessage() 433 { 434 return _statusMessage; 435 } 436 437 function getUserCurrent() 438 { 439 return userCurrent; 440 } 441 442 function getZindex() 443 { 444 return zIndex++; 445 } 446 447 function groupsHidden() 448 { 449 if( arguments.length > 0 ) 450 { 451 var _element = arguments[0]; 452 _element.style.background = "url('"+path_jabberit+"templates/default/images/arrow_right.gif') no-repeat center left"; 453 _element.onclick = function(){ groupsVisible(_element);}; 454 455 // Hidden all 456 var _elementNext = _element.nextSibling; 457 458 while( _elementNext ) 459 { 460 if( _elementNext.nodeType == 1 ) 461 _elementNext.style.display = "none"; 448 return String; 449 } 450 451 function getStatusUserIM() 452 { 453 return statusUserIM; 454 } 455 456 function getStatusMessage() 457 { 458 return _statusMessage; 459 } 460 461 function getUserCurrent() 462 { 463 return userCurrent; 464 } 465 466 function getZindex() 467 { 468 return zIndex++; 469 } 470 471 function groupsHidden() 472 { 473 if( arguments.length > 0 ) 474 { 475 var _element = arguments[0]; 476 _element.style.background = "url('"+path_jabberit+"templates/default/images/arrow_right.gif') no-repeat center left"; 477 _element.onclick = function(){ 478 groupsVisible(_element); 479 }; 480 481 // Hidden all 482 var _elementNext = _element.nextSibling; 483 484 while( _elementNext ) 485 { 486 if( _elementNext.nodeType == 1 ) 487 _elementNext.style.display = "none"; 462 488 463 _elementNext = _elementNext.nextSibling; 464 } 465 } 466 } 467 468 function groupsVisible() 469 { 470 if( arguments.length > 0 ) 471 { 472 var _element = arguments[0]; 473 _element.style.background = "url('"+path_jabberit+"templates/default/images/arrow_down.gif') no-repeat center left"; 474 _element.onclick = function(){ groupsHidden(_element);}; 475 476 // Display all 477 var _elementNext = _element.nextSibling; 478 479 while( _elementNext ) 480 { 481 if( _elementNext.nodeType == 1 && _elementNext.nodeName.toLowerCase() == "div" ) 482 { 483 var is_off = _elementNext.style.backgroundImage.indexOf("unavailable"); 484 485 if( is_off > 0 && !getShowContactsOffline()) 486 { 487 _elementNext.style.display = "none"; 488 getElement("span_show_" + _elementNext.id ).style.display = "none"; 489 _elementNext = _elementNext.nextSibling; 490 } 491 } 492 } 493 494 function groupsVisible() 495 { 496 if( arguments.length > 0 ) 497 { 498 var _element = arguments[0]; 499 _element.style.background = "url('"+path_jabberit+"templates/default/images/arrow_down.gif') no-repeat center left"; 500 _element.onclick = function(){ 501 groupsHidden(_element); 502 }; 503 504 // Display all 505 var _elementNext = _element.nextSibling; 506 507 while( _elementNext ) 508 { 509 if( _elementNext.nodeType == 1 && _elementNext.nodeName.toLowerCase() == "div" ) 510 { 511 var is_off = _elementNext.style.backgroundImage.indexOf("unavailable"); 512 513 if( is_off > 0 && !getShowContactsOffline()) 514 { 515 _elementNext.style.display = "none"; 516 getElement("span_show_" + _elementNext.id ).style.display = "none"; 489 517 490 } 491 else 492 { 493 _elementNext.style.display = "block"; 494 getElement("span_show_" + _elementNext.id ).style.display = "block"; 495 } 496 } 497 498 _elementNext = _elementNext.nextSibling; 499 } 500 } 501 } 502 503 function keyPressSearch() 504 { 505 if( arguments.length > 0 ) 506 { 507 var ev = arguments[0]; 508 var element = arguments[1]; 509 510 if ( ev.keyCode == 13 ) 511 if( element.value.length >= 3 ) 512 searchUser( element.value ); 513 else 514 alert( i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS + '.' ); 515 } 516 } 517 518 519 function loginPage() 520 { 521 var paramsLoginPage = 522 { 523 'username' : ((( Base64.decode(getUserCurrent().jid) )) ? Base64.decode(getUserCurrent().jid) : ""), 524 'password' : ((( Base64.decode(getUserCurrent().password) )) ? Base64.decode(getUserCurrent().password) : "") 525 } 526 527 var winLoginPage = 528 { 529 id_window : "window_login_page", 530 width : 260, 531 height : 120, 532 top : 100, 533 left : 400, 534 draggable : true, 535 visible : "display", 536 resizable : true, 537 zindex : zIndex++, 538 title : "Expresso Messenger - Login", 539 closeAction : "remove", 540 content : Xtools.parse(Xtools.xml("login_page"), "loginPage.xsl", paramsLoginPage) 541 }; 542 543 _winBuild( winLoginPage ); 544 } 545 546 function loadScripts(pFiles) 547 { 548 // Load JavaScript 549 var loadJavaScript = function(pJs) 550 { 551 var newScript = document.createElement("script"); 552 newScript.setAttribute("type", "text/javascript"); 553 newScript.setAttribute("src", pJs ); 554 555 return newScript; 556 }; 557 558 // Load CSS 559 var loadStyleSheet = function(pCss) 560 { 561 var newStyle = document.createElement("link"); 562 newStyle.setAttribute("rel", "stylesheet"); 563 newStyle.setAttribute("type", "text/css"); 564 newStyle.setAttribute("href", pCss); 565 566 return newStyle; 567 }; 568 569 for(var i = 0; i < pFiles.length; i++) 570 { 571 if( pFiles[i].indexOf(".js") > -1 ) 572 document.getElementsByTagName("head")[0].appendChild(loadJavaScript(pFiles[i])); 573 574 if( pFiles[i].indexOf(".css") > -1 ) 575 document.getElementsByTagName("head")[0].appendChild(loadStyleSheet(pFiles[i])); 576 } 577 } 578 579 function notificationNewMessage() 580 { 581 var _doc = document; 582 var _id = arguments[0]; 583 var _win_name = _id.replace( /\W/g, '' ); 584 585 if ( windowPOPUP( _id ) ) 586 { 587 _doc = windowPopUp[_win_name].document; 588 } 589 590 var oldTitle = _doc.title; 591 var newTitle = "## NOVA MENSAGEM ##"; 592 593 if( timeoutId == null ) 594 { 595 timeoutId = setInterval(function() 596 { 597 _doc.title = ( _doc.title == newTitle ) ? oldTitle : newTitle; 598 }, 1000); 599 600 configEvents( _doc, 'onclick', function() 601 { 602 clearInterval(timeoutId); 603 _doc.title = oldTitle; 604 timeoutId = null; 605 }); 606 607 configEvents( _doc, 'onkeypress', function() 608 { 609 clearInterval(timeoutId); 610 _doc.title = oldTitle; 611 timeoutId = null; 612 }); 613 } 614 } 615 616 function optionsItensContact() 617 { 618 if( arguments.length > 0 ) 619 { 620 var jid = arguments[0]; 621 var coord = arguments[1]; 622 var element = getElement('itenContact_' + jid ); 623 var action = ( element.getAttribute("subscription") === "not-in-roster" ) ? "Adicionar" : "Autorizar"; 624 625 if( showhidden == null ) 626 showhidden = new ShowHidden(300); 627 628 var _options = [ 629 [ action , 'loadscript.setAutorization(\''+jid+'\')'], 630 ['Remover' , 'loadscript.removeContact(\''+jid+'\')'], 631 ['Renomear' , 'loadscript.renameContact(\''+jid+'\')'], 632 ['Trocar grupo' , 'loadscript.renameGroup(\''+jid+'\')'] 633 ]; 634 635 var _itens = ""; 636 637 for( var i in _options ) 638 { 639 if( typeof(_options[i]) == "object") 640 { 641 _itens += '<img src="'+arrow_right.src+'"/>'; 642 _itens += '<span style="cursor:pointer;margin:3px;font-weight:normal;" onclick='+_options[i][1]+'>'; 643 _itens += _options[i][0] + '</span><br/>'; 644 } 645 } 646 647 var _optionsItens = document.createElement("div"); 648 _optionsItens.className = "x-menu"; 649 _optionsItens.style.top = coord.Y; 650 _optionsItens.style.left = ( coord.X - element.offsetLeft ); 651 _optionsItens.style.zIndex = getZindex(); 652 _optionsItens.innerHTML = _itens; 653 _optionsItens.onclick = function(){ showhidden.hiddenObject(false); }; 654 _optionsItens.onmouseout = function(){ showhidden.hiddenObject(false); }; 655 _optionsItens.onmouseover = function(){ showhidden.hiddenObject(true); }; 656 657 showhidden.action('onmouseover', 'onmouseout', _optionsItens); 658 659 window.document.body.appendChild(_optionsItens); 660 } 661 } 662 663 function parse() 664 { 665 if( arguments.length == 2 ) 666 return Xtools.parse(Xtools.xml(arguments[0]), arguments[1] ); 667 668 if( arguments.length === 3 ) 669 return Xtools.parse(Xtools.xml(arguments[0]), arguments[1], arguments[2] ); 670 } 671 672 function preferences() 673 { 674 var paramPreferences = 675 { 676 'path' : path, 677 'lang1' : 'Suas Preferências', 678 'lang2' : 'Conexão', 679 'lang3' : 'Conectar Automaticamente o IM', 680 'lang4' : 'Usuários OffLine', 681 'lang5' : 'Exibir amigos Offline', 682 'lang6' : 'Salvar', 683 'lang7' : 'Cancelar', 684 'lang8' : 'Janela de Contatos', 685 'lang9' : 'Abrir janela como Pop-up', 686 'lang10' : 'Ausente', 687 'lang11' : 'Definir status de ausente depois de', 688 'lang12' : 'minutos', 689 'lang13' : 'Mostrar Contatos', 690 'lang14' : 'Mostrar contatos desconectados', 691 'langYes': 'Sim', 692 'langNo' : 'Não' 693 }; 694 695 696 var _win_preferences = 697 { 698 id_window : "jabberit_preferences", 699 width : 430, 700 height : 350, 701 top : 150, 702 left : 100, 703 draggable : true, 704 visible : "display", 705 resizable : true, 706 zindex : zIndex++, 707 title : 'Expresso Messenger - Preferências', 708 closeAction : "remove", 709 content : Xtools.parse(Xtools.xml('preferences'), 'preferences.xsl', paramPreferences) 710 }; 711 712 _winBuild(_win_preferences); 713 714 715 var _pButtons = { 716 'lang1' : 'Salvar', 717 'lang2' : 'Fechar', 718 'onclickClose' : '_winBuild("jabberit_preferences","remove");', 719 'onclickSubmit' : 'javascript:loadscript.setPreferences();' 720 }; 721 722 document.getElementById('buttons_preferences_jabberit').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 723 724 // Element openWindowJabberit 725 var value1 = _preferencesIM[0].split(':'); 726 var element1 = document.getElementById(value1[0]); 727 var valueSelect1 = value1[1]; 728 729 for(var i = 0; i < element1.options.length; i++) 730 if( element1.options[i].value == valueSelect1 ) 731 element1.options[i].selected = true; 732 733 // Element openWindowJabberitPopUp 734 var value2 = _preferencesIM[1].split(':'); 735 736 // Element flagAwayIM 737 var value3 = _preferencesIM[2].split(':'); 738 var element3 = document.getElementById(value3[0]); 739 element3.value = value3[1]; 740 741 // Element showContactsOfflineJabberit 742 var value4 = _preferencesIM[3].split(':'); 743 var element4 = document.getElementById(value4[0]); 744 var valueSelect4 = value4[1]; 745 for(var i = 0; i < element4.options.length; i++) 746 if( element4.options[i].value == valueSelect4 ) 747 element4.options[i].selected = true; 748 } 749 750 function removeContact( jid ) 751 { 752 TrophyIM.removeContact( jid ); 753 } 754 755 function removeElement( ) 756 { 757 if( arguments.length > 0 ) 758 { 759 var _element = arguments[0] 760 761 if( _element != null ) 762 { 763 _element.parentNode.removeChild( _element ); 764 } 765 } 766 } 767 768 function removeGroup() 769 { 770 var _parent = arguments[0]; 771 772 if( _parent.childNodes.length <= 2 ) 773 _parent.parentNode.removeChild(_parent); 774 } 775 776 function renameContact() 777 { 778 if( arguments.length > 0 ) 779 { 780 var _jid = arguments[0]; 781 782 TrophyIM.renameContact( _jid ); 783 } 784 } 785 786 function renameGroup() 787 { 788 if( arguments.length > 0 ) 789 { 790 var _jid = arguments[0]; 791 792 TrophyIM.renameGroup( _jid ); 793 } 794 } 795 796 function rosterDiv() 797 { 798 var _rosterDiv = function() 799 { 800 801 var winRosterDiv = 802 { 803 id_window : "window_Roster_im", 804 width : 250, 805 height : 410, 806 top : 50, 807 left : -1500, 808 leftOld : 50, 809 draggable : true, 810 visible : "display", 811 resizable : true, 812 zindex : zIndex++, 813 title : "Expresso Messenger - Contatos", 814 closeAction : "hidden", 815 content : "" 816 }; 817 818 if( _preferencesIM[0] == "openWindowJabberit:false" ) 819 { 820 winRosterDiv.left = 50; 821 winRosterDiv.leftOld = -1500; 822 } 823 824 if( SnifferBrowser.isCompatible('ie8','firefox3','firefox4','epiphany2','iceweasel3') ) 825 { 826 var _idUser = Base64.decode(getUserCurrent().jid); 827 828 var paramListContact = 829 { 830 'idUser' : _idUser, 831 'full_name' : (( fullName.length < 25 ) ? fullName : ( fullName.substring( 0, 25) + "...")), 832 'path_jabberit' : path_jabberit, 833 'help_expresso' : help_expresso, 834 'zIndex_' : zIndex++ 835 }; 836 837 winRosterDiv.content = Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl", paramListContact) 838 839 } 840 else 841 { 842 var paramList = 843 { 844 'path_jabberit' : path_jabberit 845 }; 846 847 winRosterDiv.width = 280; 848 winRosterDiv.height = 430; 849 winRosterDiv.content = Xtools.parse(Xtools.xml("navigator"),"navigatorCompatible.xsl", paramList); 850 } 851 852 _winBuild( winRosterDiv ); 853 854 // Photo User 855 getPhotoUser(_idUser); 856 } 857 858 setTimeout( function(){ _rosterDiv(); }, 200 ); 859 } 860 861 function searchUser() 862 { 863 var _input = getElement('search_user_jabber'); 864 865 if( _input.value.length >= 3 ) 866 addUser.search(); 867 else 868 alert( i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS + '.' ); 869 } 870 871 function setAutorization() 872 { 873 var divItenContact = null; 874 875 if( arguments.length > 0 ) 876 { 877 var jidTo = arguments[0]; 878 879 if( getElement('itenContact_' + jidTo) ) 880 divItenContact = getElement('itenContact_' + jidTo ); 881 } 882 883 if( divItenContact ) 884 { 885 var subscription = divItenContact.getAttribute('subscription'); 886 887 switch(subscription) 888 { 889 case 'from': 518 } 519 else 520 { 521 _elementNext.style.display = "block"; 522 getElement("span_show_" + _elementNext.id ).style.display = "block"; 523 } 524 } 525 526 _elementNext = _elementNext.nextSibling; 527 } 528 } 529 } 530 531 function keyPressSearch() 532 { 533 if( arguments.length > 0 ) 534 { 535 var ev = arguments[0]; 536 var element = arguments[1]; 537 538 if ( ev.keyCode == 13 ) 539 if( element.value.length >= 3 ) 540 searchUser( element.value ); 541 else 542 alert( i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS + '.' ); 543 } 544 } 545 546 547 function loginPage() 548 { 549 var paramsLoginPage = 550 { 551 'username' : ((( Base64.decode(getUserCurrent().jid) )) ? Base64.decode(getUserCurrent().jid) : ""), 552 'password' : ((( Base64.decode(getUserCurrent().password) )) ? Base64.decode(getUserCurrent().password) : "") 553 } 554 555 var winLoginPage = 556 { 557 id_window : "window_login_page", 558 width : 260, 559 height : 120, 560 top : 100, 561 left : 400, 562 draggable : true, 563 visible : "display", 564 resizable : true, 565 zindex : zIndex++, 566 title : "Expresso Messenger - Login", 567 closeAction : "remove", 568 content : Xtools.parse(Xtools.xml("login_page"), "loginPage.xsl", paramsLoginPage) 569 }; 570 571 _winBuild( winLoginPage ); 572 } 573 574 function loadScripts(pFiles) 575 { 576 // Load JavaScript 577 var loadJavaScript = function(pJs) 578 { 579 var newScript = document.createElement("script"); 580 newScript.setAttribute("type", "text/javascript"); 581 newScript.setAttribute("src", pJs ); 582 583 return newScript; 584 }; 585 586 // Load CSS 587 var loadStyleSheet = function(pCss) 588 { 589 var newStyle = document.createElement("link"); 590 newStyle.setAttribute("rel", "stylesheet"); 591 newStyle.setAttribute("type", "text/css"); 592 newStyle.setAttribute("href", pCss); 593 594 return newStyle; 595 }; 596 597 for(var i = 0; i < pFiles.length; i++) 598 { 599 if( pFiles[i].indexOf(".js") > -1 ) 600 document.getElementsByTagName("head")[0].appendChild(loadJavaScript(pFiles[i])); 601 602 if( pFiles[i].indexOf(".css") > -1 ) 603 document.getElementsByTagName("head")[0].appendChild(loadStyleSheet(pFiles[i])); 604 } 605 } 606 607 function notificationNewMessage() 608 { 609 var _doc = document; 610 var _id = arguments[0]; 611 var _win_name = _id.replace( /\W/g, '' ); 612 613 if ( windowPOPUP( _id ) ) 614 { 615 _doc = windowPopUp[_win_name].document; 616 } 617 618 var oldTitle = _doc.title; 619 var newTitle = "## NOVA MENSAGEM ##"; 620 621 if( timeoutId == null ) 622 { 623 timeoutId = setInterval(function() 624 { 625 _doc.title = ( _doc.title == newTitle ) ? oldTitle : newTitle; 626 }, 1000); 627 628 configEvents( _doc, 'onclick', function() 629 { 630 clearInterval(timeoutId); 631 _doc.title = oldTitle; 632 timeoutId = null; 633 }); 634 635 configEvents( _doc, 'onkeypress', function() 636 { 637 clearInterval(timeoutId); 638 _doc.title = oldTitle; 639 timeoutId = null; 640 }); 641 } 642 } 643 644 function optionsItensContact() 645 { 646 if( arguments.length > 0 ) 647 { 648 var jid = arguments[0]; 649 var coord = arguments[1]; 650 var element = getElement('itenContact_' + jid ); 651 var action = ( element.getAttribute("subscription") === "not-in-roster" ) ? "Adicionar" : "Autorizar"; 652 653 if( showhidden == null ) 654 showhidden = new ShowHidden(300); 655 656 var _options = [ 657 [ action , 'loadscript.setAutorization(\''+jid+'\')'], 658 ['Remover' , 'loadscript.removeContact(\''+jid+'\')'], 659 ['Renomear' , 'loadscript.renameContact(\''+jid+'\')'], 660 ['Trocar grupo' , 'loadscript.renameGroup(\''+jid+'\')'] 661 ]; 662 663 var _itens = ""; 664 665 for( var i in _options ) 666 { 667 if( typeof(_options[i]) == "object") 668 { 669 _itens += '<img src="'+arrow_right.src+'"/>'; 670 _itens += '<span style="cursor:pointer;margin:3px;font-weight:normal;" onclick='+_options[i][1]+'>'; 671 _itens += _options[i][0] + '</span><br/>'; 672 } 673 } 674 675 var _optionsItens = document.createElement("div"); 676 _optionsItens.className = "x-menu"; 677 _optionsItens.style.top = coord.Y; 678 _optionsItens.style.left = ( coord.X - element.offsetLeft ); 679 _optionsItens.style.zIndex = getZindex(); 680 _optionsItens.innerHTML = _itens; 681 _optionsItens.onclick = function(){ 682 showhidden.hiddenObject(false); 683 }; 684 _optionsItens.onmouseout = function(){ 685 showhidden.hiddenObject(false); 686 }; 687 _optionsItens.onmouseover = function(){ 688 showhidden.hiddenObject(true); 689 }; 690 691 showhidden.action('onmouseover', 'onmouseout', _optionsItens); 692 693 window.document.body.appendChild(_optionsItens); 694 } 695 } 696 697 function parse() 698 { 699 if( arguments.length == 2 ) 700 return Xtools.parse(Xtools.xml(arguments[0]), arguments[1] ); 701 702 if( arguments.length === 3 ) 703 return Xtools.parse(Xtools.xml(arguments[0]), arguments[1], arguments[2] ); 704 } 705 706 function preferences() 707 { 708 var paramPreferences = 709 { 710 'path' : path, 711 'lang1' : 'Suas Preferências', 712 'lang2' : 'Conexão', 713 'lang3' : 'Conectar Automaticamente o IM', 714 'lang4' : 'Usuários OffLine', 715 'lang5' : 'Exibir amigos Offline', 716 'lang6' : 'Salvar', 717 'lang7' : 'Cancelar', 718 'lang8' : 'Janela de Contatos', 719 'lang9' : 'Abrir janela como Pop-up', 720 'lang10' : 'Ausente', 721 'lang11' : 'Definir status de ausente depois de', 722 'lang12' : 'minutos', 723 'lang13' : 'Mostrar Contatos', 724 'lang14' : 'Mostrar contatos desconectados', 725 'langYes': 'Sim', 726 'langNo' : 'Não' 727 }; 728 729 730 var _win_preferences = 731 { 732 id_window : "jabberit_preferences", 733 width : 430, 734 height : 350, 735 top : 150, 736 left : 100, 737 draggable : true, 738 visible : "display", 739 resizable : true, 740 zindex : zIndex++, 741 title : 'Expresso Messenger - Preferências', 742 closeAction : "remove", 743 content : Xtools.parse(Xtools.xml('preferences'), 'preferences.xsl', paramPreferences) 744 }; 745 746 _winBuild(_win_preferences); 747 748 749 var _pButtons = { 750 'lang1' : 'Salvar', 751 'lang2' : 'Fechar', 752 'onclickClose' : '_winBuild("jabberit_preferences","remove");', 753 'onclickSubmit' : 'javascript:loadscript.setPreferences();' 754 }; 755 756 document.getElementById('buttons_preferences_jabberit').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 757 758 // Element openWindowJabberit 759 var value1 = _preferencesIM[0].split(':'); 760 var element1 = document.getElementById(value1[0]); 761 var valueSelect1 = value1[1]; 762 763 for(var i = 0; i < element1.options.length; i++) 764 if( element1.options[i].value == valueSelect1 ) 765 element1.options[i].selected = true; 766 767 // Element openWindowJabberitPopUp 768 var value2 = _preferencesIM[1].split(':'); 769 770 // Element flagAwayIM 771 var value3 = _preferencesIM[2].split(':'); 772 var element3 = document.getElementById(value3[0]); 773 element3.value = value3[1]; 774 775 // Element showContactsOfflineJabberit 776 var value4 = _preferencesIM[3].split(':'); 777 var element4 = document.getElementById(value4[0]); 778 var valueSelect4 = value4[1]; 779 for(var i = 0; i < element4.options.length; i++) 780 if( element4.options[i].value == valueSelect4 ) 781 element4.options[i].selected = true; 782 } 783 784 function removeContact( jid ) 785 { 786 TrophyIM.removeContact( jid ); 787 } 788 789 function removeElement( ) 790 { 791 if( arguments.length > 0 ) 792 { 793 var _element = arguments[0] 794 795 if( _element != null ) 796 { 797 _element.parentNode.removeChild( _element ); 798 } 799 } 800 } 801 802 function removeGroup() 803 { 804 var _parent = arguments[0]; 805 806 if( _parent.childNodes.length <= 2 ) 807 _parent.parentNode.removeChild(_parent); 808 } 809 810 function renameContact() 811 { 812 if( arguments.length > 0 ) 813 { 814 var _jid = arguments[0]; 815 816 TrophyIM.renameContact( _jid ); 817 } 818 } 819 820 function renameGroup() 821 { 822 if( arguments.length > 0 ) 823 { 824 var _jid = arguments[0]; 825 826 TrophyIM.renameGroup( _jid ); 827 } 828 } 829 830 function rosterDiv() 831 { 832 var _rosterDiv = function() 833 { 834 835 var winRosterDiv = 836 { 837 id_window : "window_Roster_im", 838 width : 250, 839 height : 410, 840 top : 50, 841 left : -1500, 842 leftOld : 50, 843 draggable : true, 844 visible : "display", 845 resizable : true, 846 zindex : zIndex++, 847 title : "Expresso Messenger - Contatos", 848 closeAction : "hidden", 849 content : "" 850 }; 851 852 if( _preferencesIM[0] == "openWindowJabberit:false" ) 853 { 854 winRosterDiv.left = 50; 855 winRosterDiv.leftOld = -1500; 856 } 857 858 if( SnifferBrowser.isLoadApp() ) 859 { 860 var _idUser = Base64.decode(getUserCurrent().jid); 861 862 var paramListContact = 863 { 864 'idUser' : _idUser, 865 'full_name' : (( fullName.length < 25 ) ? fullName : ( fullName.substring( 0, 25) + "...")), 866 'path_jabberit' : path_jabberit, 867 'help_expresso' : help_expresso, 868 'zIndex_' : zIndex++ 869 }; 870 871 winRosterDiv.content = Xtools.parse(Xtools.xml("contacts_list"),"contactsList.xsl", paramListContact) 872 873 } 874 else 875 { 876 var paramList = 877 { 878 'path' : path_phpgwapi 879 }; 880 881 winRosterDiv.width = 280; 882 winRosterDiv.height = 430; 883 winRosterDiv.content = Xtools.parse( Xtools.xml("navigator"), path_phpgwapi + "templates/default/xsl/navigatorCompatible.xsl" , paramList); 884 } 885 886 _winBuild( winRosterDiv ); 887 888 // Photo User 889 getPhotoUser(_idUser); 890 } 891 892 setTimeout( function(){ 893 _rosterDiv(); 894 }, 200 ); 895 } 896 897 function searchUser() 898 { 899 var _input = getElement('search_user_jabber'); 900 901 if( _input.value.length >= 3 ) 902 addUser.search(); 903 else 904 alert( i18n.YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS + '.' ); 905 } 906 907 function setAutorization() 908 { 909 var divItenContact = null; 910 911 if( arguments.length > 0 ) 912 { 913 var jidTo = arguments[0]; 914 915 if( getElement('itenContact_' + jidTo) ) 916 divItenContact = getElement('itenContact_' + jidTo ); 917 } 918 919 if( divItenContact ) 920 { 921 var subscription = divItenContact.getAttribute('subscription'); 922 923 switch(subscription) 924 { 925 case 'from': 890 926 891 892 893 894 927 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 928 break; 929 930 case 'subscribe' : 895 931 896 897 932 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed'); 933 break; 898 934 899 935 case 'none' : 900 936 901 902 937 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 938 break; 903 939 904 case 'to' :940 case 'to' : 905 941 906 907 908 909 910 942 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed'); 943 removeElement( getElement('itenContactNotification_' + jidTo ) ); 944 break; 945 946 case 'not-in-roster': 911 947 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 948 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid), 'subscribed'); 949 addUser.add( jidTo ); 950 break; 951 } 952 } 953 } 954 955 function setMessageStatus() 956 { 957 if( arguments.length > 0 ) 958 { 959 var _element = arguments[0]; 960 var _parent = _element.parentNode; 961 962 if( _element.nodeName.toLowerCase() == "label") 963 { 964 var _input = document.createElement("input"); 965 _input.size = "35"; 966 _input.maxlength = "35"; 967 _input.style.border = "0"; 968 _input.value = _element.innerHTML; 933 969 934 // OnkeyUp 935 configEvents( _input, "onkeyup", function(e) 936 { 937 if( e.keyCode == 13 ) loadscript.setMessageStatus(_input, _element); 938 } 939 ); 940 941 // Onblur 942 configEvents(_input, "onblur", function(){ loadscript.setMessageStatus(_input, _element)}); 970 // OnkeyUp 971 configEvents( _input, "onkeyup", function(e) 972 { 973 if( e.keyCode == 13 ) loadscript.setMessageStatus(_input, _element); 974 } 975 ); 976 977 // Onblur 978 configEvents(_input, "onblur", function(){ 979 loadscript.setMessageStatus(_input, _element) 980 }); 943 981 944 982 945 946 947 948 949 983 if( _parent != null ) 984 { 985 // Remove label 986 if( _element != null ) 987 _parent.removeChild( _element ); 950 988 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 989 // Add Input 990 if( _input != null ) 991 _parent.appendChild( _input ); 992 } 993 994 _input.focus(); 995 _input.select(); 996 } 997 else 998 { 999 var _label = arguments[1]; 1000 _statusMessage = _element.value.replace(/^\(+|\)+$/g,""); 1001 1002 if( ( _statusMessage = _statusMessage.replace(/^\s+|\s+$|^\n|\n$/g,"") ) != "") 1003 _label.innerHTML = "( " + _statusMessage + " )"; 1004 else 1005 _label.innerHTML = "( " + i18n.TYPE_YOUR_MESSAGE_HERE_STATUS + " )"; 1006 1007 if( _parent != null ) 1008 { 1009 // Remove Input 1010 if( _element != null ) 1011 _parent.removeChild( _element ); 974 1012 975 // Add Label 976 if( _label != null ) 977 _parent.appendChild( _label ); 978 } 979 980 // Send Status Message 981 _statusMessage = ( ( _statusMessage != i18n.TYPE_YOUR_MESSAGE_HERE_STATUS ) ? _statusMessage : "" ); 982 983 TrophyIM.setPresence("status", _statusMessage ); 984 } 985 } 986 } 987 988 function setPreferences() 989 { 990 // Element openWindowJabberit 991 var elementOpenW = document.getElementById('openWindowJabberit'); 992 var value = ''; 993 994 for(var i = 0 ; i < elementOpenW.options.length; i++) 995 if( elementOpenW.options[i].selected == true) 996 { 997 value = 'preferences1=openWindowJabberit:' + elementOpenW.options[i].value; 998 _preferencesIM[0] = 'openWindowJabberit:' + elementOpenW.options[i].value; 999 } 1000 1001 // Element openWindowJabberitPopUp 1002 value += '&preferences2=openWindowJabberitPopUp:false'; 1003 _preferencesIM[1] = 'openWindowJabberitPopUp:false'; 1004 1005 // Element flagAwayIM 1006 var elementFlagIM = document.getElementById('flagAwayIM'); 1007 1008 if( elementFlagIM.value.length > 0 && parseInt(elementFlagIM.value) > 0 ) 1009 { 1010 _preferencesIM[2] = 'flagAwayIM:' + elementFlagIM.value; 1011 value += '&preferences3=flagAwayIM:' + elementFlagIM.value; 1012 } 1013 else 1014 { 1015 alert('Informe um valor igual ou maior que 1!'); 1016 return false; 1017 } 1018 1019 // Element showContactsOfflineJabberit 1020 var elementShowOffline = document.getElementById('showContactsOfflineJabberit'); 1021 1022 for(var i = 0 ; i < elementShowOffline.options.length; i++) 1023 if( elementShowOffline.options[i].selected == true) 1024 { 1025 _preferencesIM[3] = 'showContactsOfflineJabberit:' + elementShowOffline.options[i].value; 1026 value += '&preferences4=showContactsOfflineJabberit:' + elementShowOffline.options[i].value; 1027 } 1028 1029 // Save Preferences 1030 conn.go('p.pf.setPreferences', 1031 function(data) 1032 { 1033 if( data == 'false' ) 1034 { 1035 alert('Erro salvando suas preferências!'); 1036 } 1037 1038 _winBuild('jabberit_preferences', 'remove'); 1039 }, 1040 value); 1041 } 1042 1043 function setPresence() 1044 { 1045 if( arguments.length > 0 ) 1046 { 1047 var element = arguments[0]; 1048 1049 if( showhidden == null ) 1050 showhidden = new ShowHidden(300); 1051 1052 var _status = [ 1053 ['Afastado', 'away', '<img src="'+path_jabberit+'templates/default/images/away.gif" />'], 1054 ['Disponível', 'available', '<img src="'+path_jabberit+'templates/default/images/available.gif" />'], 1055 ['Livre p/ Conversa', 'chat', '<img src="'+path_jabberit+'templates/default/images/chat.gif" />'], 1056 ['Não Disponível', 'xa', '<img src="'+path_jabberit+'templates/default/images/xa.gif" />'], 1057 ['Ocupado', 'dnd', '<img src="'+path_jabberit+'templates/default/images/dnd.gif" />'], 1058 ['Desconectado', 'unavailable', '<img src="'+path_jabberit+'templates/default/images/unavailable.gif" />'], 1059 ['Mensagem de Status...', 'status', '<img src="'+path_jabberit+'templates/default/images/message_normal.gif" />'], 1060 ]; 1061 1062 var _itens = ""; 1063 1064 for( var i in _status ) 1065 { 1066 if( typeof( _status[i]) == "object" ) 1067 { 1068 _itens += '<span style="cursor:pointer;" onclick="TrophyIM.setPresence(\''+_status[i][1]+'\'); loadscript.setStatusJabber(\''+_status[i][0]+'\',\''+_status[i][1]+'\');">'; 1069 _itens += _status[i][2]+ "<span style='margin:3px;'>" + _status[i][0] + "</span></span><br/>"; 1070 } 1071 } 1072 1073 var _statusItens = document.createElement("div"); 1074 _statusItens.style.marginTop = "65px"; 1075 _statusItens.style.marginLeft = "67px"; 1076 _statusItens.className = "x-menu"; 1077 _statusItens.style.zIndex = '99999'; 1078 _statusItens.innerHTML = _itens; 1079 _statusItens.onclick = function(){ showhidden.hiddenObject(false); }; 1013 // Add Label 1014 if( _label != null ) 1015 _parent.appendChild( _label ); 1016 } 1017 1018 // Send Status Message 1019 _statusMessage = ( ( _statusMessage != i18n.TYPE_YOUR_MESSAGE_HERE_STATUS ) ? _statusMessage : "" ); 1020 1021 TrophyIM.setPresence("status", _statusMessage ); 1022 } 1023 } 1024 } 1025 1026 function setPreferences() 1027 { 1028 // Element openWindowJabberit 1029 var elementOpenW = document.getElementById('openWindowJabberit'); 1030 var value = ''; 1031 1032 for(var i = 0 ; i < elementOpenW.options.length; i++) 1033 if( elementOpenW.options[i].selected == true) 1034 { 1035 value = 'preferences1=openWindowJabberit:' + elementOpenW.options[i].value; 1036 _preferencesIM[0] = 'openWindowJabberit:' + elementOpenW.options[i].value; 1037 } 1038 1039 // Element openWindowJabberitPopUp 1040 value += '&preferences2=openWindowJabberitPopUp:false'; 1041 _preferencesIM[1] = 'openWindowJabberitPopUp:false'; 1042 1043 // Element flagAwayIM 1044 var elementFlagIM = document.getElementById('flagAwayIM'); 1045 1046 if( elementFlagIM.value.length > 0 && parseInt(elementFlagIM.value) > 0 ) 1047 { 1048 _preferencesIM[2] = 'flagAwayIM:' + elementFlagIM.value; 1049 value += '&preferences3=flagAwayIM:' + elementFlagIM.value; 1050 } 1051 else 1052 { 1053 alert('Informe um valor igual ou maior que 1!'); 1054 return false; 1055 } 1056 1057 // Element showContactsOfflineJabberit 1058 var elementShowOffline = document.getElementById('showContactsOfflineJabberit'); 1059 1060 for(var i = 0 ; i < elementShowOffline.options.length; i++) 1061 if( elementShowOffline.options[i].selected == true) 1062 { 1063 _preferencesIM[3] = 'showContactsOfflineJabberit:' + elementShowOffline.options[i].value; 1064 value += '&preferences4=showContactsOfflineJabberit:' + elementShowOffline.options[i].value; 1065 } 1066 1067 // Save Preferences 1068 conn.go('p.pf.setPreferences', 1069 function(data) 1070 { 1071 if( data == 'false' ) 1072 { 1073 alert('Erro salvando suas preferências!'); 1074 } 1075 1076 _winBuild('jabberit_preferences', 'remove'); 1077 }, 1078 value); 1079 } 1080 1081 function setPresence() 1082 { 1083 if( arguments.length > 0 ) 1084 { 1085 var element = arguments[0]; 1086 1087 if( showhidden == null ) 1088 showhidden = new ShowHidden(300); 1089 1090 var _status = [ 1091 ['Afastado', 'away', '<img src="'+path_jabberit+'templates/default/images/away.gif" />'], 1092 ['Disponível', 'available', '<img src="'+path_jabberit+'templates/default/images/available.gif" />'], 1093 ['Livre p/ Conversa', 'chat', '<img src="'+path_jabberit+'templates/default/images/chat.gif" />'], 1094 ['Não Disponível', 'xa', '<img src="'+path_jabberit+'templates/default/images/xa.gif" />'], 1095 ['Ocupado', 'dnd', '<img src="'+path_jabberit+'templates/default/images/dnd.gif" />'], 1096 ['Desconectado', 'unavailable', '<img src="'+path_jabberit+'templates/default/images/unavailable.gif" />'], 1097 ['Mensagem de Status...', 'status', '<img src="'+path_jabberit+'templates/default/images/message_normal.gif" />'], 1098 ]; 1099 1100 var _itens = ""; 1101 1102 for( var i in _status ) 1103 { 1104 if( typeof( _status[i]) == "object" ) 1105 { 1106 _itens += '<span style="cursor:pointer;" onclick="TrophyIM.setPresence(\''+_status[i][1]+'\'); loadscript.setStatusJabber(\''+_status[i][0]+'\',\''+_status[i][1]+'\');">'; 1107 _itens += _status[i][2]+ "<span style='margin:3px;'>" + _status[i][0] + "</span></span><br/>"; 1108 } 1109 } 1110 1111 var _statusItens = document.createElement("div"); 1112 _statusItens.style.marginTop = "65px"; 1113 _statusItens.style.marginLeft = "67px"; 1114 _statusItens.className = "x-menu"; 1115 _statusItens.style.zIndex = '99999'; 1116 _statusItens.innerHTML = _itens; 1117 _statusItens.onclick = function(){ 1118 showhidden.hiddenObject(false); 1119 }; 1080 1120 1081 showhidden.action('onmouseover', 'onmouseout', _statusItens); 1082 1083 element.parentNode.onmouseout = function(){ showhidden.hiddenObject(false); }; 1084 element.parentNode.onmouseover = function(){ showhidden.hiddenObject(true); }; 1085 element.parentNode.appendChild(_statusItens); 1086 } 1087 } 1088 1089 function setSelectEditable(element, top, left ) 1090 { 1091 if( getElement('selectBox0') == null ) 1092 selectEditable.create(element, top, left ); 1093 } 1094 1095 function setStatusJabber() 1096 { 1097 if( arguments.length > 0 ) 1098 { 1099 if( arguments[1] != 'status' ) 1100 { 1101 var _text = arguments[0]; 1102 var _img = statusUserIM = arguments[1]; 1103 1104 getElement('statusJabberText').innerHTML = _text; 1105 getElement('statusJabberImg').style.background = "url('"+path_jabberit+"templates/default/images/"+_img+".gif')"; 1106 getElement('status_jabber_expresso').style.background = "url('"+path_jabberit+"templates/default/images/"+_img+".gif') no-repeat"; 1107 } 1108 } 1109 } 1110 1111 function _setUserCurrent( _user ) 1112 { 1113 userCurrent = 1114 { 1115 'jid' : _user.jid.substring(11, _user.jid.length), 1116 'password' : _user.password.substring(11, _user.password.length) 1117 } 1118 } 1119 1120 function setUserCurrent() 1121 { 1122 if( getUserCurrent() == null ) 1123 { 1124 conn.go('p.ff.data_0', 1125 function(_User) 1126 { 1127 conn.go('p.ff.data_1', 1128 function(_pass) 1129 { 1130 _setUserCurrent( { jid : _User, password : _pass } ); 1131 }); 1132 }); 1133 } 1134 } 1135 1136 var _stylesheets = [ ]; 1137 var _links = document.getElementsByTagName( 'link' ); 1138 1139 for ( var i = 0; i < _links.length; i++ ) 1140 if ( _links.item( i ).type && _links.item( i ).type.toLowerCase( ) == 'text/css' ) 1141 _stylesheets[ _stylesheets.length ] = _links.item( i ); 1142 1143 function windowPOPUP() 1144 { 1145 var _id = arguments[0]; 1146 var _win_name = _id.replace( /\W/g, '' ); 1147 1148 if ( arguments.length == 1 ) 1149 { 1150 if ( windowPopUp[_win_name] ) 1151 return true; 1152 else 1153 return false; 1154 } 1155 1156 if( arguments.length == 2 ) 1157 { 1158 if( !windowPopUp[_win_name] ) 1159 { 1160 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'); 1161 var tmp = windowPopUp[_win_name].document; 1162 1163 tmp.write('<html><head>'); 1164 tmp.write('</head><body>'); 1165 tmp.write('</body></html>'); 1166 tmp.close(); 1167 1168 for ( var i = 0; i < _stylesheets.length; i++ ) 1169 tmp.documentElement.getElementsByTagName( 'head' ).item(0).appendChild( _stylesheets[ i ].cloneNode( true ) ); 1170 1171 var divPOP = getElement( _id + "__popUp" ); 1172 divPOP.style.background = "url('"+path_jabberit+"templates/default/images/icon_down.png') no-repeat"; 1173 divPOP.innerHTML = "PopIn"; 1121 showhidden.action('onmouseover', 'onmouseout', _statusItens); 1122 1123 element.parentNode.onmouseout = function(){ 1124 showhidden.hiddenObject(false); 1125 }; 1126 element.parentNode.onmouseover = function(){ 1127 showhidden.hiddenObject(true); 1128 }; 1129 element.parentNode.appendChild(_statusItens); 1130 } 1131 } 1132 1133 function setSelectEditable(element, top, left ) 1134 { 1135 if( getElement('selectBox0') == null ) 1136 selectEditable.create(element, top, left ); 1137 } 1138 1139 function setStatusJabber() 1140 { 1141 if( arguments.length > 0 ) 1142 { 1143 if( arguments[1] != 'status' ) 1144 { 1145 var _text = arguments[0]; 1146 var _img = statusUserIM = arguments[1]; 1147 1148 getElement('statusJabberText').innerHTML = _text; 1149 getElement('statusJabberImg').style.background = "url('"+path_jabberit+"templates/default/images/"+_img+".gif')"; 1150 getElement('status_jabber_expresso').style.background = "url('"+path_jabberit+"templates/default/images/"+_img+".gif') no-repeat"; 1151 } 1152 } 1153 } 1154 1155 function _setUserCurrent( _user ) 1156 { 1157 userCurrent = 1158 { 1159 'jid' : _user.jid.substring(11, _user.jid.length), 1160 'password' : _user.password.substring(11, _user.password.length) 1161 } 1162 } 1163 1164 function setUserCurrent() 1165 { 1166 if( getUserCurrent() == null ) 1167 { 1168 conn.go('p.ff.data_0', 1169 function(_User) 1170 { 1171 conn.go('p.ff.data_1', 1172 function(_pass) 1173 { 1174 _setUserCurrent( { 1175 jid : _User, 1176 password : _pass 1177 } ); 1178 }); 1179 }); 1180 } 1181 } 1182 1183 var _stylesheets = [ ]; 1184 var _links = document.getElementsByTagName( 'link' ); 1185 1186 for ( var i = 0; i < _links.length; i++ ) 1187 if ( _links.item( i ).type && _links.item( i ).type.toLowerCase( ) == 'text/css' ) 1188 _stylesheets[ _stylesheets.length ] = _links.item( i ); 1189 1190 function windowPOPUP() 1191 { 1192 var _id = arguments[0]; 1193 var _win_name = _id.replace( /\W/g, '' ); 1194 1195 if ( arguments.length == 1 ) 1196 { 1197 if ( windowPopUp[_win_name] ) 1198 return true; 1199 else 1200 return false; 1201 } 1202 1203 if( arguments.length == 2 ) 1204 { 1205 if( !windowPopUp[_win_name] ) 1206 { 1207 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'); 1208 var tmp = windowPopUp[_win_name].document; 1209 1210 tmp.write('<html><head>'); 1211 tmp.write('</head><body>'); 1212 tmp.write('</body></html>'); 1213 tmp.close(); 1214 1215 for ( var i = 0; i < _stylesheets.length; i++ ) 1216 tmp.documentElement.getElementsByTagName( 'head' ).item(0).appendChild( _stylesheets[ i ].cloneNode( true ) ); 1217 1218 var divPOP = getElement( _id + "__popUp" ); 1219 divPOP.style.background = "url('"+path_jabberit+"templates/default/images/icon_down.png') no-repeat"; 1220 divPOP.innerHTML = "PopIn"; 1174 1221 1175 1176 1177 1178 1179 1222 function _close( ) 1223 { 1224 windowPopUp[_win_name].close(); 1225 configEvents( divPOP ,'onclick', _close, true ); 1226 } 1180 1227 1181 configEvents( divPOP ,'onclick', _close ); 1182 1183 var _content = tmp.documentElement.getElementsByTagName( 'body' ).item(0).appendChild( getElement(_id + '__chatBox' ).parentNode ); 1184 1185 _content.firstChild.scrollTop = _content.firstChild.scrollHeight; 1186 1187 configEvents( windowPopUp[_win_name] ,'onbeforeunload', function() 1188 { 1189 delete windowPopUp[_win_name]; 1190 divPOP.style.background = "url('"+path_jabberit+"templates/default/images/icon_up.png') no-repeat"; 1191 divPOP.innerHTML = "PopUp"; 1192 divPOP.onclick = function(){ loadscript.windowPOPUP( _id , true ); }; 1193 _winBuild( 'window_chat_area_' + _id, "display" ).content( true ); 1194 }); 1195 1196 _winBuild( 'window_chat_area_' + _id, 'hidden' ); 1197 } 1198 } 1199 } 1200 1201 function windowNotificationNewUsers() 1202 { 1203 var _users = Xtools.xml('notification_new_users'); 1204 1205 for( var user in TrophyIM.rosterObj.roster ) 1206 { 1207 if ( TrophyIM.rosterObj.roster[ user ].constructor == Function ) 1208 continue; 1209 1210 if( TrophyIM.rosterObj.roster[ user ].contact.jid != Base64.decode( loadscript.getUserCurrent().jid) ) 1211 { 1212 var _subscription = TrophyIM.rosterObj.roster[user].contact.subscription; 1213 1214 if ( _subscription == 'to' || _subscription == 'not-in-roster' ) 1215 { 1216 var _user = _users.createElement('user'); 1217 var _jid = _users.createElement('jid'); 1218 var _status = _users.createElement('status'); 1219 _jid.appendChild( _users.createTextNode(TrophyIM.rosterObj.roster[user].contact.jid) ); 1220 _status.appendChild( _users.createTextNode( _subscription ) ); 1221 _user.appendChild( _jid ); 1222 _user.appendChild( _status ); 1223 _users.documentElement.appendChild( _user ); 1224 } 1225 } 1226 } 1227 1228 var paramsNotification = 1229 { 1230 'lang_1' : "Notificação", 1231 'lang_2' : "O(s) usuário(s) abaixo pedem sua autorização.", 1232 'lang_3' : "Autorizar", 1233 'lang_4' : "Remover" 1234 }; 1235 1236 var winNotification = 1237 { 1238 id_window : "window_notification_new_users", 1239 width : 400, 1240 height : 300, 1241 top : 100, 1242 left : 400, 1243 draggable : true, 1244 visible : "display", 1245 resizable : true, 1246 zindex : zIndex++, 1247 title : "Expresso Messenger - Notificação de Novos Usuários", 1248 closeAction : "remove", 1249 content : Xtools.parse( _users , "notificationNewUsers.xsl", paramsNotification ) 1250 }; 1251 1252 _winBuild( winNotification ); 1253 } 1254 1255 function createChatRooms() 1256 { 1257 _winBuild("window_List_Rooms_jabberit_messenger","remove"); 1258 1259 var paramCreateChatRoom = 1260 { 1261 'lang_nameChatRoom' : "Nome da Sala", 1262 'lang_nickName' : "Apelido" 1263 }; 1264 1265 var winCreateChatRooms = 1266 { 1267 id_window : "window_create_chat_rooms", 1268 width : 360, 1269 height : 160, 1270 top : 100, 1271 left : 410, 1272 draggable : true, 1273 visible : "display", 1274 resizable : true, 1275 zindex : loadscript.getZIndex(), 1276 title : "Expresso Messenger - Criar Sala de Bate Papo", 1277 closeAction : "remove", 1278 content : Xtools.parse( Xtools.xml("create_chat_room"), "createChatRoom.xsl", paramCreateChatRoom ) 1279 }; 1280 1281 _winBuild( winCreateChatRooms ); 1282 1283 var _pButtons = 1284 { 1285 'lang1' : 'Ingressar', 1286 'lang2' : 'Fechar', 1287 'onclickClose' : '_winBuild("window_create_chat_rooms","remove");', 1288 'onclickSubmit' : 'TrophyIM.createChatRooms(); _winBuild("window_create_chat_rooms","remove");' 1289 }; 1290 1291 // Add Buttons 1292 document.getElementById('buttons_createChatRoom').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 1293 1294 } 1295 1296 function listRooms( element ) 1297 { 1298 element = element.getElementsByTagName( 'item' ); 1299 1300 var _roomsCount = 0; 1301 var _xml = Xtools.xml('listRooms'); 1302 var _listRooms = _xml.documentElement; 1303 1304 var show = function( ) 1305 { 1306 if ( _roomsCount != element.length ) 1307 return false; 1308 1309 var paramsListRooms = 1310 { 1311 "path_jabberit" : path_jabberit 1312 }; 1313 1314 var winListRooms = 1315 { 1316 id_window : "window_List_Rooms_jabberit_messenger", 1317 width : 450, 1318 height : 300, 1319 top : 100, 1320 left : 400, 1321 draggable : true, 1322 visible : "display", 1323 resizable : true, 1324 zindex : loadscript.getZIndex(), 1325 title : "Expresso Messenger - Salas de Bate Papo", 1326 closeAction : "remove", 1327 content : Xtools.parse( _xml, "listRooms.xsl", paramsListRooms ) 1328 }; 1329 1330 _winBuild( winListRooms ); 1331 1332 var _pButtons = 1333 { 1334 'lang1' : 'Criar Nova Sala', 1335 'lang2' : 'Fechar', 1336 'onclickClose' : '_winBuild("window_List_Rooms_jabberit_messenger","remove");', 1337 'onclickSubmit' : 'loadscript.createChatRooms();' 1338 }; 1339 1340 // Add Buttons 1341 document.getElementById('buttons_addChatRoom').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 1342 }; 1343 1344 var _add_room = function( _room ) 1345 { 1346 _roomsCount++; 1347 1348 var _ROOM = _xml.createElement('room'); 1349 var _JIDROOM = _xml.createElement('jidRoom'); 1350 var nameRoom = _room.getAttribute( 'from' ); 1351 1352 _ROOM.setAttribute( 'nameRoom', unescape((nameRoom.substring(0, nameRoom.indexOf("@"))).toUpperCase()) ); 1353 _JIDROOM.appendChild( _xml.createTextNode(nameRoom) ); 1354 _ROOM.appendChild( _JIDROOM ); 1355 1356 // Get fields elements; 1357 var _fields = _room.getElementsByTagName( 'field' ); 1358 1359 for ( var f = 0; f < _fields.length; f++ ) 1360 { 1361 if ( _fields[ f ].getAttribute( 'var' ) ) 1362 { 1363 if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_description' ) 1364 { 1365 var _description = _xml.createElement("description"); 1366 _description.appendChild( _xml.createTextNode( _fields[ f ].firstChild.firstChild.nodeValue ) ); 1367 _ROOM.appendChild( _description ); 1368 } 1369 1370 if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_occupants' ) 1371 { 1372 var _occupants = _xml.createElement("occupants") 1373 _occupants.appendChild( _xml.createTextNode( _fields[ f ].firstChild.firstChild.nodeValue) ); 1374 _ROOM.appendChild( _occupants ); 1375 } 1376 } 1377 } 1378 1379 // Get feature elements; 1380 var _feature = _room.getElementsByTagName( 'feature' ); 1381 1382 for( var f = 0 ; f < _feature.length; f++ ) 1383 { 1384 if ( _feature[ f ].getAttribute( 'var' ) ) 1385 { 1386 if( _feature[ f ].getAttribute( 'var' ) == 'muc_unsecured' ) 1387 { 1388 var _password = _xml.createElement("password"); 1389 _password.appendChild( _xml.createTextNode("false") ); 1390 _ROOM.appendChild( _password ); 1391 } 1392 else if( _feature[ f ].getAttribute( 'var' ) == 'muc_passwordprotected' ) 1393 { 1394 var _password = _xml.createElement("password"); 1395 _password.appendChild( _xml.createTextNode("true") ); 1396 _ROOM.appendChild( _password ); 1397 } 1398 } 1399 } 1400 1401 _listRooms.appendChild( _ROOM ); 1402 1403 show( ); 1404 }; 1405 1406 var _get_room_info = function( _room ) 1407 { 1408 TrophyIM.connection.sendIQ( 1409 $iq( { "to" : _room, "type" : "get" } ).c( "query",{xmlns: Strophe.NS.DISCO_INFO } ), 1410 _add_room, 1411 function( a ) 1412 { 1413 _roomsCount++; 1228 configEvents( divPOP ,'onclick', _close ); 1229 1230 var _content = tmp.documentElement.getElementsByTagName( 'body' ).item(0).appendChild( getElement(_id + '__chatBox' ).parentNode ); 1231 1232 _content.firstChild.scrollTop = _content.firstChild.scrollHeight; 1233 1234 configEvents( windowPopUp[_win_name] ,'onbeforeunload', function() 1235 { 1236 delete windowPopUp[_win_name]; 1237 divPOP.style.background = "url('"+path_jabberit+"templates/default/images/icon_up.png') no-repeat"; 1238 divPOP.innerHTML = "PopUp"; 1239 divPOP.onclick = function(){ 1240 loadscript.windowPOPUP( _id , true ); 1241 }; 1242 _winBuild( 'window_chat_area_' + _id, "display" ).content( true ); 1243 }); 1244 1245 _winBuild( 'window_chat_area_' + _id, 'hidden' ); 1246 } 1247 } 1248 } 1249 1250 function windowNotificationNewUsers() 1251 { 1252 var _users = Xtools.xml('notification_new_users'); 1253 1254 for( var user in TrophyIM.rosterObj.roster ) 1255 { 1256 if ( TrophyIM.rosterObj.roster[ user ].constructor == Function ) 1257 continue; 1258 1259 if( TrophyIM.rosterObj.roster[ user ].contact.jid != Base64.decode( loadscript.getUserCurrent().jid) ) 1260 { 1261 var _subscription = TrophyIM.rosterObj.roster[user].contact.subscription; 1262 1263 if ( _subscription == 'to' || _subscription == 'not-in-roster' ) 1264 { 1265 var _user = _users.createElement('user'); 1266 var _jid = _users.createElement('jid'); 1267 var _status = _users.createElement('status'); 1268 _jid.appendChild( _users.createTextNode(TrophyIM.rosterObj.roster[user].contact.jid) ); 1269 _status.appendChild( _users.createTextNode( _subscription ) ); 1270 _user.appendChild( _jid ); 1271 _user.appendChild( _status ); 1272 _users.documentElement.appendChild( _user ); 1273 } 1274 } 1275 } 1276 1277 var paramsNotification = 1278 { 1279 'lang_1' : "Notificação", 1280 'lang_2' : "O(s) usuário(s) abaixo pedem sua autorização.", 1281 'lang_3' : "Autorizar", 1282 'lang_4' : "Remover" 1283 }; 1284 1285 var winNotification = 1286 { 1287 id_window : "window_notification_new_users", 1288 width : 400, 1289 height : 300, 1290 top : 100, 1291 left : 400, 1292 draggable : true, 1293 visible : "display", 1294 resizable : true, 1295 zindex : zIndex++, 1296 title : "Expresso Messenger - Notificação de Novos Usuários", 1297 closeAction : "remove", 1298 content : Xtools.parse( _users , "notificationNewUsers.xsl", paramsNotification ) 1299 }; 1300 1301 _winBuild( winNotification ); 1302 } 1303 1304 function createChatRooms() 1305 { 1306 _winBuild("window_List_Rooms_jabberit_messenger","remove"); 1307 1308 var paramCreateChatRoom = 1309 { 1310 'lang_nameChatRoom' : "Nome da Sala", 1311 'lang_nickName' : "Apelido" 1312 }; 1313 1314 var winCreateChatRooms = 1315 { 1316 id_window : "window_create_chat_rooms", 1317 width : 360, 1318 height : 160, 1319 top : 100, 1320 left : 410, 1321 draggable : true, 1322 visible : "display", 1323 resizable : true, 1324 zindex : loadscript.getZIndex(), 1325 title : "Expresso Messenger - Criar Sala de Bate Papo", 1326 closeAction : "remove", 1327 content : Xtools.parse( Xtools.xml("create_chat_room"), "createChatRoom.xsl", paramCreateChatRoom ) 1328 }; 1329 1330 _winBuild( winCreateChatRooms ); 1331 1332 var _pButtons = 1333 { 1334 'lang1' : 'Ingressar', 1335 'lang2' : 'Fechar', 1336 'onclickClose' : '_winBuild("window_create_chat_rooms","remove");', 1337 'onclickSubmit' : 'TrophyIM.createChatRooms(); _winBuild("window_create_chat_rooms","remove");' 1338 }; 1339 1340 // Add Buttons 1341 document.getElementById('buttons_createChatRoom').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 1342 1343 } 1344 1345 function listRooms( element ) 1346 { 1347 element = element.getElementsByTagName( 'item' ); 1348 1349 var _roomsCount = 0; 1350 var _xml = Xtools.xml('listRooms'); 1351 var _listRooms = _xml.documentElement; 1352 1353 var show = function( ) 1354 { 1355 if ( _roomsCount != element.length ) 1356 return false; 1357 1358 var paramsListRooms = 1359 { 1360 "path_jabberit" : path_jabberit 1361 }; 1362 1363 var winListRooms = 1364 { 1365 id_window : "window_List_Rooms_jabberit_messenger", 1366 width : 450, 1367 height : 300, 1368 top : 100, 1369 left : 400, 1370 draggable : true, 1371 visible : "display", 1372 resizable : true, 1373 zindex : loadscript.getZIndex(), 1374 title : "Expresso Messenger - Salas de Bate Papo", 1375 closeAction : "remove", 1376 content : Xtools.parse( _xml, "listRooms.xsl", paramsListRooms ) 1377 }; 1378 1379 _winBuild( winListRooms ); 1380 1381 var _pButtons = 1382 { 1383 'lang1' : 'Criar Nova Sala', 1384 'lang2' : 'Fechar', 1385 'onclickClose' : '_winBuild("window_List_Rooms_jabberit_messenger","remove");', 1386 'onclickSubmit' : 'loadscript.createChatRooms();' 1387 }; 1388 1389 // Add Buttons 1390 document.getElementById('buttons_addChatRoom').innerHTML = Xtools.parse(Xtools.xml('buttons_main'), 'buttons.xsl', _pButtons); 1391 }; 1392 1393 var _add_room = function( _room ) 1394 { 1395 _roomsCount++; 1396 1397 var _ROOM = _xml.createElement('room'); 1398 var _JIDROOM = _xml.createElement('jidRoom'); 1399 var nameRoom = _room.getAttribute( 'from' ); 1400 1401 _ROOM.setAttribute( 'nameRoom', unescape((nameRoom.substring(0, nameRoom.indexOf("@"))).toUpperCase()) ); 1402 _JIDROOM.appendChild( _xml.createTextNode(nameRoom) ); 1403 _ROOM.appendChild( _JIDROOM ); 1404 1405 // Get fields elements; 1406 var _fields = _room.getElementsByTagName( 'field' ); 1407 1408 for ( var f = 0; f < _fields.length; f++ ) 1409 { 1410 if ( _fields[ f ].getAttribute( 'var' ) ) 1411 { 1412 if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_description' ) 1413 { 1414 var _description = _xml.createElement("description"); 1415 _description.appendChild( _xml.createTextNode( _fields[ f ].firstChild.firstChild.nodeValue ) ); 1416 _ROOM.appendChild( _description ); 1417 } 1418 1419 if ( _fields[ f ].firstChild.hasChildNodes( ) && _fields[ f ].getAttribute( 'var' ) == 'muc#roominfo_occupants' ) 1420 { 1421 var _occupants = _xml.createElement("occupants") 1422 _occupants.appendChild( _xml.createTextNode( _fields[ f ].firstChild.firstChild.nodeValue) ); 1423 _ROOM.appendChild( _occupants ); 1424 } 1425 } 1426 } 1427 1428 // Get feature elements; 1429 var _feature = _room.getElementsByTagName( 'feature' ); 1430 1431 for( var f = 0 ; f < _feature.length; f++ ) 1432 { 1433 if ( _feature[ f ].getAttribute( 'var' ) ) 1434 { 1435 if( _feature[ f ].getAttribute( 'var' ) == 'muc_unsecured' ) 1436 { 1437 var _password = _xml.createElement("password"); 1438 _password.appendChild( _xml.createTextNode("false") ); 1439 _ROOM.appendChild( _password ); 1440 } 1441 else if( _feature[ f ].getAttribute( 'var' ) == 'muc_passwordprotected' ) 1442 { 1443 var _password = _xml.createElement("password"); 1444 _password.appendChild( _xml.createTextNode("true") ); 1445 _ROOM.appendChild( _password ); 1446 } 1447 } 1448 } 1449 1450 _listRooms.appendChild( _ROOM ); 1451 1452 show( ); 1453 }; 1454 1455 var _get_room_info = function( _room ) 1456 { 1457 TrophyIM.connection.sendIQ( 1458 $iq( { 1459 "to" : _room, 1460 "type" : "get" 1461 } ).c( "query",{ 1462 xmlns: Strophe.NS.DISCO_INFO 1463 } ), 1464 _add_room, 1465 function( a ) 1466 { 1467 _roomsCount++; 1414 1468 1415 1469 show( ); 1416 1470 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1471 }, 500 ); 1472 }; 1473 1474 if( element.length > 0 ) 1475 { 1476 for ( var i = 0; i < element.length; i++ ) 1477 { 1478 _get_room_info( element[ i ].getAttribute( 'jid' ) ); 1479 } 1480 } 1481 else 1482 { 1483 show(); 1484 } 1485 } 1486 1487 function getListRooms() 1488 { 1489 TrophyIM.getListRooms(); 1490 } 1491 1492 function joinRoom( jidRoom, nameRoom ) 1493 { 1494 var append_nick = function( room, nick ) 1495 { 1496 var room_nick = room; 1443 1497 1444 1445 1446 1447 1498 if ( nick ) 1499 { 1500 room_nick += "/" + nick; 1501 } 1448 1502 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1503 return room_nick; 1504 } 1505 1506 if( document.getElementById( 'window_chat_room_' + jidRoom + '__main' ) != null ) 1507 { 1508 _winBuild('window_chat_room_' + jidRoom, 'display'); 1509 } 1510 else 1511 { 1512 var nickName = Base64.decode( loadscript.getUserCurrent().jid ); 1513 nickName = nickName.substring(0, nickName.indexOf('@')); 1460 1514 1461 1515 var _prompt = prompt("Deseja informar um Apelido ?", nickName ); 1462 1516 1463 1464 1465 1517 if( _prompt ) 1518 { 1519 _prompt = _prompt.replace(/^\s+|\s+$|^\n|\n$/g,""); 1466 1520 1467 1521 var room_nick = append_nick( jidRoom, nickName ); 1468 1522 1469 1523 var nickChat = nickName.toString(); 1470 1524 1471 1472 1473 1474 1475 1525 if( _prompt && _prompt != "" ) 1526 { 1527 nickChat = _prompt.toString(); 1528 var room_nick = append_nick( jidRoom, _prompt ); 1529 } 1476 1530 1477 1478 1479 1531 TrophyIM.makeChatRoom( jidRoom , nameRoom ); 1532 1533 TrophyIM.activeChatRoom.name[ TrophyIM.activeChatRoom.name.length ] = room_nick; 1480 1534 1481 1535 TrophyIM.joinChatRoom( room_nick); 1482 1536 1483 1484 1485 1537 setTimeout(function() 1538 { 1539 var _message = nickName.toUpperCase() + " entrou como : " + nickChat; 1486 1540 1487 1541 TrophyIM.sendMessageChatRoom( jidRoom , _message ); 1488 1542 1489 1543 }, 500); 1490 1544 1491 1492 1545 } 1546 } 1493 1547 1494 _winBuild("window_List_Rooms_jabberit_messenger","remove"); 1495 } 1496 1497 function loadIM() 1498 { 1499 if( arguments.length > 0 ) 1500 { 1501 var files = [ 1502 path_jabberit + 'templates/default/css/button.css', 1503 path_jabberit + 'templates/default/css/common.css', 1504 path_jabberit + 'templates/default/css/selectEditableStyle.css', 1505 path_jabberit + 'templates/default/css/' + theme_jabberit 1506 ]; 1507 // FullName 1508 fullName = arguments[0]; 1509 1510 // Preferences 1511 _preferencesIM = arguments[1].split(";"); 1512 1513 if( !_preferencesIM[3] ) _preferencesIM[3] = "showContactsOfflineJabberit:true"; 1514 1515 loadScripts(files); 1516 1517 setTimeout(function() 1518 { 1519 // Object Xtools 1520 if( Xtools == null ) 1521 Xtools = new xtools(path_jabberit); 1522 1523 // Object Conector 1524 if( conn == null ) 1525 conn = new AjaxConnector(path_jabberit); 1526 1527 // Object Add User 1528 if( addUser == null ) 1529 addUser = new addUserIM(Xtools, conn); 1530 1531 1532 // Object SelectEditable 1533 if( selectEditable == null ) 1534 selectEditable = new SelectEditable(); 1548 _winBuild("window_List_Rooms_jabberit_messenger","remove"); 1549 } 1550 1551 function loadIM() 1552 { 1553 if( arguments.length > 0 ) 1554 { 1555 var files = [ 1556 path_jabberit + 'templates/default/css/button.css', 1557 path_jabberit + 'templates/default/css/common.css', 1558 path_jabberit + 'templates/default/css/selectEditableStyle.css', 1559 path_jabberit + 'templates/default/css/' + theme_jabberit 1560 ]; 1561 // FullName 1562 fullName = arguments[0]; 1563 1564 // Preferences 1565 _preferencesIM = arguments[1].split(";"); 1566 1567 //Path Phpgwapi 1568 path_phpgwapi = arguments[2]; 1569 1570 if( !_preferencesIM[3] ) _preferencesIM[3] = "showContactsOfflineJabberit:true"; 1571 1572 loadScripts(files); 1573 1574 setTimeout(function() 1575 { 1576 // Object Xtools 1577 if( Xtools == null ) 1578 Xtools = new xtools(path_jabberit); 1579 1580 // Object Conector 1581 if( conn == null ) 1582 conn = new AjaxConnector(path_jabberit); 1583 1584 // Object Add User 1585 if( addUser == null ) 1586 addUser = new addUserIM(Xtools, conn); 1587 1588 1589 // Object SelectEditable 1590 if( selectEditable == null ) 1591 selectEditable = new SelectEditable(); 1535 1592 1536 // Add Jabber in StatusBar; 1537 addIcon(); 1538 1539 // Auto Connect 1540 setTimeout(function() 1541 { 1542 if( _preferencesIM[0] === 'openWindowJabberit:true' ) 1543 { 1544 if( SnifferBrowser.isCompatible('ie8','firefox3','firefox4','epiphany2','iceweasel3') ) 1545 TrophyIM.load(); 1546 } 1593 // Add Jabber in StatusBar; 1594 addIcon(); 1595 1596 // Auto Connect 1597 setTimeout(function() 1598 { 1599 if( _preferencesIM[0] === 'openWindowJabberit:true' ) 1600 { 1601 if( SnifferBrowser.isLoadApp() ) 1602 { 1603 TrophyIM.load(); 1604 } 1605 } 1547 1606 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 loadIM.prototype.getIsIE = getIsIE;1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 })();1607 },1500); 1608 1609 // Auto Status 1610 autoStatus(); 1611 configEvents( document, 'onmousemove', autoStatus ); 1612 configEvents( document, 'onkeypress', autoStatus ); 1613 1614 }, 2000); 1615 } 1616 } 1617 1618 loadIM.prototype.adIcon = addIcon; 1619 loadIM.prototype.actionButton = actionButton; 1620 loadIM.prototype.addContact = addContact; 1621 loadIM.prototype.addNewUser = addNewUser; 1622 loadIM.prototype.clrAllContacts = clrAllContacts; 1623 loadIM.prototype.configEvents = configEvents; 1624 loadIM.prototype.createChatRooms = createChatRooms; 1625 loadIM.prototype.disabledNotificationNewUsers = disabledNotificationNewUsers; 1626 loadIM.prototype.enabledNotificationNewUsers = enabledNotificationNewUsers; 1627 loadIM.prototype.getListRooms = getListRooms; 1628 loadIM.prototype.getBrowserCompatible = getBrowserCompatible; 1629 loadIM.prototype.getPhotoUser = getPhotoUser; 1630 loadIM.prototype.getSmiles = getSmiles; 1631 loadIM.prototype.getStatusUserIM = getStatusUserIM; 1632 loadIM.prototype.getStatusMessage = getStatusMessage; 1633 loadIM.prototype.getShowContactsOffline = getShowContactsOffline; 1634 loadIM.prototype.getUserCurrent = getUserCurrent; 1635 loadIM.prototype.getZIndex = getZindex; 1636 loadIM.prototype.groupsHidden = groupsHidden; 1637 loadIM.prototype.groupsVisible = groupsVisible; 1638 loadIM.prototype.joinRoom = joinRoom; 1639 loadIM.prototype.keyPressSearch = keyPressSearch; 1640 loadIM.prototype.listRooms = listRooms; 1641 loadIM.prototype.loginPage = loginPage; 1642 loadIM.prototype.notification = notificationNewMessage; 1643 loadIM.prototype.parse = parse; 1644 loadIM.prototype.preferences = preferences; 1645 loadIM.prototype.searchUser = searchUser 1646 loadIM.prototype.setAutorization = setAutorization; 1647 loadIM.prototype.setMessageStatus = setMessageStatus; 1648 loadIM.prototype.setPreferences = setPreferences; 1649 loadIM.prototype.setPresence = setPresence; 1650 loadIM.prototype.setStatusJabber = setStatusJabber; 1651 loadIM.prototype.setSelectEditable = setSelectEditable; 1652 loadIM.prototype.setUserCurrent = setUserCurrent; 1653 loadIM.prototype.removeContact = removeContact; 1654 loadIM.prototype.removeElement = removeElement; 1655 loadIM.prototype.removeGroup = removeGroup; 1656 loadIM.prototype.renameContact = renameContact; 1657 loadIM.prototype.renameGroup = renameGroup; 1658 loadIM.prototype.rosterDiv = rosterDiv; 1659 loadIM.prototype.windowNotificationNewUsers = windowNotificationNewUsers; 1660 loadIM.prototype.windowPOPUP = windowPOPUP; 1661 1662 window.LoadIM = loadIM; 1663 1664 // Necessário para não ocasionar problema no ExpressoMail 1665 // quando os itens abaixo não são criados pelo próprio ExpressoMail 1666 if( SnifferBrowser.isCompatible('is_ie') ) 1667 { 1668 configEvents( window, 'onload', function( ) 1669 { 1670 if ( ! document.getElementById( 'cc_msg_err_serialize_data_unknown' ) ) 1671 { 1672 var fix = document.createElement('input'); 1673 fix.type = 'hidden'; 1674 fix.id = 'cc_msg_err_serialize_data_unknown'; 1675 1676 document.appendChild( fix ); 1677 } 1678 if ( ! window.showMessage ) 1679 window.showMessage = function(){}; 1680 }); 1681 } 1682 1683 })();
Note: See TracChangeset
for help on using the changeset viewer.