Changeset 5041


Ignore:
Timestamp:
09/05/11 18:10:06 (8 years ago)
Author:
alexandrecorreia
Message:

Ticket #2260 - Sincronismo do branch2.2(versão 2.2.8) do modulo mobile para 2.4

Location:
trunk/jabberit_messenger
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/jabberit_messenger/inc/controller.xml

    r3199 r5041  
    2727                        <item ref="show_hidden" js="show_hidden" /> 
    2828                        <item ref="setup" js="setup"/> 
    29                         <item ref="xtools" js="xtools" /> 
    3029                        <item ref="jsloader" js="jsloader" /> 
    3130                        <item ref="makeW" js="makeW" /> 
  • trunk/jabberit_messenger/inc/jabberit_acl.inc.php

    r3209 r5041  
    6767                                $webserver_url .= '/'; 
    6868         
    69                         $webserver_url = $webserver_url . 'jabberit_messenger/';  
     69                         
     70                        $webserver_expresso = $webserver_url . "phpgwapi/"; 
     71                        $webserver_url      = $webserver_url . 'jabberit_messenger/';  
    7072                         
    7173                        require_once PHPGW_SERVER_ROOT . '/jabberit_messenger/inc/jabberit_sessions.inc.php'; 
     
    7375                        $_SESSION['phpgw_info']['jabberit_messenger']['webserver_url'] = $webserver_url; 
    7476                         
     77                         
    7578                        require_once dirname(__FILE__) . '/load_lang.php'; 
    7679                         
     
    7881                        $js .= "var _ZINDEX='99000'; ";  
    7982         
    80                         echo "<script type=\"text/javascript\">".$js."</script>"; 
    81                          
     83                        // Xtools Phpgwapi 
     84                        echo "<script type='text/javascript' src='".$webserver_expresso."js/x_tools/xtools.js'></script>"; 
     85                         
     86                        // Javascript JMessenger 
     87                        echo "<script type=\"text/javascript\">".$js."</script>"; 
    8288                        $js = array( 
    8389                                                'j.connector', 
    84                                                 'j.xtools', 
    8590                                                'j.dragdrop', 
    8691                                                'j.makeW', 
  • trunk/jabberit_messenger/jmessenger/inc/jabberit_acl.inc.php

    r3680 r5041  
    3939                        $webserver_url .= '/'; 
    4040 
    41                 $help_expresso  = $webserver_url .'help'; 
    42                 $webserver_url  = $webserver_url . 'jabberit_messenger/jmessenger/';  
     41                $help_expresso      = $webserver_url .'help'; 
     42                $webserver_expresso = $webserver_url . "phpgwapi/"; 
     43                $webserver_url      = $webserver_url . 'jabberit_messenger/jmessenger/';  
    4344                 
    4445                require_once PHPGW_SERVER_ROOT . '/jabberit_messenger/jmessenger/inc/jabberit_sessions.inc.php'; 
     
    8485                $_DbIM                  = new DataBaseIM(); 
    8586                $preferences    = $_DbIM->getPreferences(); 
    86  
     87                 
     88                 
    8789                echo "<script type='text/javascript'>".$js."</script>"; 
    88                 echo "<script type='text/javascript' src='".$webserver_url . "js/strophe.mini.js'></script>"; 
    89                 echo "<script type='text/javascript' src='".$webserver_url . "js/SnifferBrowser.mini.js'></script>"; 
    90                 echo "<script type='text/javascript' src='".$webserver_url . "js/jscode/loadIM.mini.js'></script>"; 
    91         echo "<script type='text/javascript' src='".$webserver_url . "js/connector.mini.js'></script>"; 
    92                 echo "<script type='text/javascript' src='".$webserver_url . "js/xtools.mini.js'></script>"; 
    93                 echo "<script type='text/javascript' src='".$webserver_url . "js/lang/i18n_pt_Br.mini.js'></script>"; 
    94                 echo "<script type='text/javascript' src='".$webserver_url . "js/dragdrop.mini.js'></script>"; 
    95                 echo "<script type='text/javascript' src='".$webserver_url . "js/makeW.mini.js'></script>"; 
    96                 echo "<script type='text/javascript' src='".$webserver_url . "js/show_hidden.mini.js'></script>"; 
    97                 echo "<script type='text/javascript' src='".$webserver_url . "js/trophyim_constants.js'></script>"; 
    98                 echo "<script type='text/javascript' src='".$webserver_url . "js/trophyim.mini.js'></script>"; 
    99                 echo "<script type='text/javascript' src='".$webserver_url . "js/AddUser.mini.js'></script>";                                            
    100                 echo "<script type='text/javascript' src='".$webserver_url . "js/json2.js'></script>"; 
    101                 echo "<script type='text/javascript' src='".$webserver_url . "js/SelectEditable.mini.js'></script>"; 
    102                 echo "<script type='text/javascript'> var loadscript = new LoadIM('".$fullName."','".$preferences."'); </script>"; 
     90                echo "<script type='text/javascript' src='".$webserver_url .        "js/strophe.mini.js'></script>"; 
     91                echo "<script type='text/javascript' src='".$webserver_expresso .   "js/browser/browserDetect.js'></script>"; 
     92                echo "<script type='text/javascript' src='".$webserver_url .        "js/jscode/loadIM.mini.js'></script>"; 
     93                echo "<script type='text/javascript' src='".$webserver_url .        "js/connector.mini.js'></script>"; 
     94                echo "<script type='text/javascript' src='".$webserver_expresso .   "js/x_tools/xtools.js'></script>"; 
     95                echo "<script type='text/javascript' src='".$webserver_url .        "js/lang/i18n_pt_Br.mini.js'></script>"; 
     96                echo "<script type='text/javascript' src='".$webserver_url .        "js/dragdrop.mini.js'></script>"; 
     97                echo "<script type='text/javascript' src='".$webserver_url .        "js/makeW.mini.js'></script>"; 
     98                echo "<script type='text/javascript' src='".$webserver_url .        "js/show_hidden.mini.js'></script>"; 
     99                echo "<script type='text/javascript' src='".$webserver_url .        "js/trophyim_constants.js'></script>"; 
     100                echo "<script type='text/javascript' src='".$webserver_url .        "js/trophyim.mini.js'></script>"; 
     101                echo "<script type='text/javascript' src='".$webserver_url .        "js/AddUser.mini.js'></script>";                                             
     102                echo "<script type='text/javascript' src='".$webserver_url .        "js/json2.js'></script>"; 
     103                echo "<script type='text/javascript' src='".$webserver_url .        "js/SelectEditable.mini.js'></script>"; 
     104                echo "<script type='text/javascript'> var loadscript = new LoadIM('".$fullName."','".$preferences."','".$webserver_expresso."'); </script>"; 
    103105                 
    104106                break; 
  • trunk/jabberit_messenger/jmessenger/js/jscode/loadIM.js

    r4360 r5041  
    11(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            /************************************************************************** 
    99103                 *  
    100104                 * Quando estiver habilitada a opção fora de escritório nos filtros. 
     
    102106                 */ 
    103107 
    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                };       
    355379                                                                                   
    356                                 showhidden.action('onmouseover', 'onmouseout', _optionsItens); 
    357                                  
    358                         element.parentNode.appendChild( _optionsItens ); 
    359                 } 
    360         } 
    361          
    362         function getElement( elementId ) 
    363         { 
    364                 return document.getElementById( elementId ); 
    365         } 
    366          
    367         function getIsIE() 
    368         { 
    369                 return SnifferBrowser.isCompatible('is_ie'); 
    370         } 
    371          
    372         function getPhotoUser( jid ) 
    373         { 
    374                 try 
    375                 { 
    376                         var _divPhoto = getElement( jid + '__photo' ); 
    377          
    378                         if( _divPhoto.style.backgroundImage.indexOf('photo.png') > 0 ) 
    379                         { 
    380                                 var _imgUser  = path_jabberit + 'inc/WebService.php?' + Date.parse( new Date ); 
    381                                         _imgUser += '&photo_ldap=' + jid; 
    382          
    383                                 _divPhoto.style.backgroundImage = 'url(' + _imgUser + ')'; 
    384                         } 
    385                 }catch(e){} 
    386         } 
    387          
    388         function getShowContactsOffline() 
    389         { 
    390                 if( _preferencesIM[3] ) 
    391                 { 
    392                         var showOffline = _preferencesIM[3].split(":"); 
    393                          
    394                         if( showOffline[1] === "true") 
    395                                 return true; 
    396                         else 
    397                                 return false; 
    398                 } 
    399                  
    400                 return true; 
    401         } 
    402          
    403         function getSmiles( String ) 
    404         { 
    405                 String = String.replace( /:\)|:-\)/g    , " <img src='"+path_jabberit+"templates/default/images/smiles/1.gif'/> "); 
    406                 String = String.replace( /:-D/g                 , " <img src='"+path_jabberit+"templates/default/images/smiles/2.gif'/> "); 
    407                 String = String.replace( /;-\)/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/3.gif'/> "); 
    408                 String = String.replace( /=-O/g                 , " <img src='"+path_jabberit+"templates/default/images/smiles/4.gif'/> "); 
    409                 String = String.replace( /:P/g                  , " <img src='"+path_jabberit+"templates/default/images/smiles/5.gif'/> "); 
    410                 String = String.replace( /8-\)/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/6.gif'/> "); 
    411                 String = String.replace( /\>:o/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/7.gif'/> "); 
    412                 String = String.replace( /:-\$/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/8.gif'/> "); 
    413                 String = String.replace( /:s|:-X/g              , " <img src='"+path_jabberit+"templates/default/images/smiles/9.gif'/> "); 
    414                 String = String.replace( /:-\(/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/10.gif'/> "); 
    415                 String = String.replace( /:\'\(/g               , " <img src='"+path_jabberit+"templates/default/images/smiles/11.gif'/> "); 
    416                 String = String.replace( /:\|/g                 , " <img src='"+path_jabberit+"templates/default/images/smiles/12.gif'/> "); 
    417                 String = String.replace( /O:-\)/g               , " <img src='"+path_jabberit+"templates/default/images/smiles/13.gif'/> "); 
    418                 String = String.replace( /\*\*@#%/g             , " <img src='"+path_jabberit+"templates/default/images/smiles/14.gif'/> "); 
    419                 String = String.replace( /\(I\)/g               , " <img src='"+path_jabberit+"templates/default/images/smiles/15.gif'/> "); 
    420                 String = String.replace( /C28I/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/16.gif'/> "); 
    421                 String = String.replace( /CS2A/g                , " <img src='"+path_jabberit+"templates/default/images/smiles/17.gif' style='width:42px;height:36px;'/> "); 
    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'/> ");                 
    423447  
    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"; 
    462488                                         
    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"; 
    489517                                                         
    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': 
    890926                                         
    891                                         TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 
    892                                 break; 
    893  
    894                                 case 'subscribe' : 
     927                        TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 
     928                        break; 
     929 
     930                    case 'subscribe' : 
    895931                                         
    896                                         TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed'); 
    897                                 break; 
     932                        TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed'); 
     933                        break; 
    898934                                 
    899                                 case 'none' :                                    
     935                    case 'none' :                                        
    900936                                 
    901                                 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 
    902                                 break; 
     937                        TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribe'); 
     938                        break; 
    903939                                 
    904                         case 'to' :                              
     940                    case 'to' :                          
    905941                                 
    906                                 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed');                               
    907                                 removeElement( getElement('itenContactNotification_' + jidTo ) );                                
    908                                 break; 
    909  
    910                         case 'not-in-roster': 
     942                        TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid ), 'subscribed');                               
     943                        removeElement( getElement('itenContactNotification_' + jidTo ) );                                
     944                        break; 
     945 
     946                    case 'not-in-roster': 
    911947                                         
    912                                 TrophyIM.setAutorization( jidTo, Base64.decode(this.getUserCurrent().jid), 'subscribed'); 
    913                                 addUser.add( jidTo ); 
    914                                         break; 
    915                 } 
    916         } 
    917         } 
    918          
    919         function setMessageStatus() 
    920         { 
    921                 if( arguments.length > 0 ) 
    922                 { 
    923                         var _element = arguments[0]; 
    924                         var _parent      = _element.parentNode;                  
    925  
    926                         if( _element.nodeName.toLowerCase() == "label") 
    927                         { 
    928                                 var _input                              = document.createElement("input");  
    929                                         _input.size                     = "35"; 
    930                                         _input.maxlength        = "35"; 
    931                                         _input.style.border = "0"; 
    932                                         _input.value            = _element.innerHTML; 
     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; 
    933969                                         
    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                        });              
    943981 
    944982                             
    945                                 if( _parent != null ) 
    946                                 {        
    947                                         // Remove label 
    948                                         if( _element != null ) 
    949                                                 _parent.removeChild( _element ); 
     983                    if( _parent != null ) 
     984                    {    
     985                        // Remove label 
     986                        if( _element != null ) 
     987                            _parent.removeChild( _element ); 
    950988                                                 
    951                                         // Add Input 
    952                                         if( _input != null )  
    953                                                 _parent.appendChild( _input ); 
    954                                 } 
    955  
    956                                 _input.focus(); 
    957                                 _input.select(); 
    958                         } 
    959                         else 
    960                         { 
    961                                 var _label              = arguments[1]; 
    962                                 _statusMessage  = _element.value.replace(/^\(+|\)+$/g,""); 
    963                                  
    964                                 if( ( _statusMessage = _statusMessage.replace(/^\s+|\s+$|^\n|\n$/g,"") ) != "") 
    965                                         _label.innerHTML = "( " + _statusMessage + " )"; 
    966                                 else 
    967                                         _label.innerHTML = "( " + i18n.TYPE_YOUR_MESSAGE_HERE_STATUS + " )"; 
    968                                  
    969                                 if( _parent != null ) 
    970                                 {        
    971                                         // Remove Input 
    972                                         if( _element != null ) 
    973                                                 _parent.removeChild( _element ); 
     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 ); 
    9741012                                                 
    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                }; 
    10801120                                                                                   
    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"; 
    11741221                                         
    1175                                 function _close( ) 
    1176                                 { 
    1177                                         windowPopUp[_win_name].close(); 
    1178                                         configEvents( divPOP ,'onclick', _close, true ); 
    1179                                 } 
     1222                    function _close( ) 
     1223                    { 
     1224                        windowPopUp[_win_name].close(); 
     1225                        configEvents( divPOP ,'onclick', _close, true ); 
     1226                    } 
    11801227                                         
    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++; 
    14141468                                 
    1415                                         show( ); 
     1469                        show( ); 
    14161470                                         
    1417                                 }, 500 ); 
    1418                 }; 
    1419  
    1420                 if( element.length > 0 ) 
    1421                 { 
    1422                         for ( var i = 0; i < element.length; i++ ) 
    1423                         { 
    1424                                 _get_room_info( element[ i ].getAttribute( 'jid' ) ); 
    1425                         } 
    1426                 } 
    1427                 else 
    1428                 { 
    1429                         show(); 
    1430                 } 
    1431         } 
    1432          
    1433         function getListRooms() 
    1434         { 
    1435                 TrophyIM.getListRooms();         
    1436         } 
    1437          
    1438         function joinRoom( jidRoom, nameRoom ) 
    1439         { 
    1440                 var append_nick = function( room, nick ) 
    1441             { 
    1442                 var room_nick = room; 
     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; 
    14431497                 
    1444                 if ( nick )  
    1445                 { 
    1446                     room_nick += "/" + nick;  
    1447                 } 
     1498                if ( nick )  
     1499                { 
     1500                    room_nick += "/" + nick;  
     1501                } 
    14481502                 
    1449                 return room_nick; 
    1450             } 
    1451                  
    1452             if( document.getElementById( 'window_chat_room_' + jidRoom + '__main' ) != null ) 
    1453             { 
    1454                 _winBuild('window_chat_room_' + jidRoom, 'display'); 
    1455             } 
    1456             else 
    1457             { 
    1458                     var nickName = Base64.decode( loadscript.getUserCurrent().jid ); 
    1459                         nickName = nickName.substring(0, nickName.indexOf('@')); 
     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('@')); 
    14601514                     
    1461                     var _prompt = prompt("Deseja informar um Apelido ?", nickName ); 
     1515                var _prompt = prompt("Deseja informar um Apelido ?", nickName ); 
    14621516                     
    1463                     if( _prompt ) 
    1464                     {    
    1465                                 _prompt = _prompt.replace(/^\s+|\s+$|^\n|\n$/g,""); 
     1517                if( _prompt ) 
     1518                {        
     1519                    _prompt = _prompt.replace(/^\s+|\s+$|^\n|\n$/g,""); 
    14661520                             
    1467                             var room_nick       = append_nick( jidRoom, nickName ); 
     1521                    var room_nick       = append_nick( jidRoom, nickName ); 
    14681522                             
    1469                             var nickChat        = nickName.toString(); 
     1523                    var nickChat        = nickName.toString(); 
    14701524                                 
    1471                             if( _prompt && _prompt != "" ) 
    1472                             { 
    1473                                 nickChat                = _prompt.toString(); 
    1474                                 var room_nick   = append_nick( jidRoom, _prompt ); 
    1475                             } 
     1525                    if( _prompt && _prompt != "" ) 
     1526                    { 
     1527                        nickChat                = _prompt.toString(); 
     1528                        var room_nick   = append_nick( jidRoom, _prompt ); 
     1529                    } 
    14761530                             
    1477                             TrophyIM.makeChatRoom( jidRoom , nameRoom ); 
    1478  
    1479                             TrophyIM.activeChatRoom.name[ TrophyIM.activeChatRoom.name.length ] = room_nick;  
     1531                    TrophyIM.makeChatRoom( jidRoom , nameRoom ); 
     1532 
     1533                    TrophyIM.activeChatRoom.name[ TrophyIM.activeChatRoom.name.length ] = room_nick;  
    14801534                             
    1481                             TrophyIM.joinChatRoom( room_nick); 
     1535                    TrophyIM.joinChatRoom( room_nick); 
    14821536                          
    1483                             setTimeout(function() 
    1484                             { 
    1485                                 var _message    =  nickName.toUpperCase() + " entrou como : "  + nickChat; 
     1537                    setTimeout(function() 
     1538                    { 
     1539                        var _message    =  nickName.toUpperCase() + " entrou como : "  + nickChat; 
    14861540                                    
    1487                                     TrophyIM.sendMessageChatRoom( jidRoom , _message ); 
     1541                        TrophyIM.sendMessageChatRoom( jidRoom , _message ); 
    14881542                                     
    1489                             }, 500); 
     1543                    }, 500); 
    14901544                             
    1491                     } 
    1492             } 
     1545                } 
     1546            } 
    14931547             
    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(); 
    15351592                                         
    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                        } 
    15471606                                         
    1548                                 },1500); 
    1549                                  
    1550                                 // Auto Status 
    1551                                 autoStatus(); 
    1552                                 configEvents( document, 'onmousemove', autoStatus ); 
    1553                                 configEvents( document, 'onkeypress', autoStatus ); 
    1554                                  
    1555                         }, 2000); 
    1556                 } 
    1557         } 
    1558  
    1559         loadIM.prototype.adIcon                         = addIcon; 
    1560         loadIM.prototype.actionButton           = actionButton; 
    1561         loadIM.prototype.addContact                     = addContact; 
    1562         loadIM.prototype.addNewUser                     = addNewUser; 
    1563         loadIM.prototype.clrAllContacts         = clrAllContacts; 
    1564         loadIM.prototype.configEvents           = configEvents; 
    1565         loadIM.prototype.createChatRooms        = createChatRooms; 
    1566         loadIM.prototype.disabledNotificationNewUsers   = disabledNotificationNewUsers; 
    1567         loadIM.prototype.enabledNotificationNewUsers    = enabledNotificationNewUsers;   
    1568         loadIM.prototype.getListRooms           = getListRooms;  
    1569         loadIM.prototype.getIsIE                        = getIsIE; 
    1570         loadIM.prototype.getPhotoUser           = getPhotoUser; 
    1571         loadIM.prototype.getSmiles                      = getSmiles; 
    1572         loadIM.prototype.getStatusUserIM        = getStatusUserIM; 
    1573         loadIM.prototype.getStatusMessage       = getStatusMessage; 
    1574         loadIM.prototype.getShowContactsOffline = getShowContactsOffline; 
    1575         loadIM.prototype.getUserCurrent         = getUserCurrent; 
    1576         loadIM.prototype.getZIndex                      = getZindex; 
    1577         loadIM.prototype.groupsHidden           = groupsHidden; 
    1578         loadIM.prototype.groupsVisible          = groupsVisible; 
    1579         loadIM.prototype.joinRoom                       = joinRoom;      
    1580         loadIM.prototype.keyPressSearch         = keyPressSearch;        
    1581         loadIM.prototype.listRooms                      = listRooms; 
    1582         loadIM.prototype.loginPage                      = loginPage; 
    1583         loadIM.prototype.notification           = notificationNewMessage; 
    1584         loadIM.prototype.parse                          = parse; 
    1585         loadIM.prototype.preferences            = preferences; 
    1586         loadIM.prototype.searchUser                     = searchUser 
    1587         loadIM.prototype.setAutorization        = setAutorization; 
    1588         loadIM.prototype.setMessageStatus       = setMessageStatus; 
    1589         loadIM.prototype.setPreferences         = setPreferences; 
    1590         loadIM.prototype.setPresence            = setPresence; 
    1591         loadIM.prototype.setStatusJabber        = setStatusJabber; 
    1592         loadIM.prototype.setSelectEditable      = setSelectEditable; 
    1593         loadIM.prototype.setUserCurrent         = setUserCurrent; 
    1594         loadIM.prototype.removeContact          = removeContact; 
    1595         loadIM.prototype.removeElement          = removeElement; 
    1596         loadIM.prototype.removeGroup            = removeGroup; 
    1597         loadIM.prototype.renameContact          = renameContact; 
    1598         loadIM.prototype.renameGroup            = renameGroup; 
    1599         loadIM.prototype.rosterDiv                      = rosterDiv; 
    1600         loadIM.prototype.windowNotificationNewUsers  = windowNotificationNewUsers; 
    1601         loadIM.prototype.windowPOPUP            = windowPOPUP; 
    1602          
    1603         window.LoadIM = loadIM; 
    1604          
    1605         // Necessário para não ocasionar problema no ExpressoMail 
    1606         // quando os itens abaixo não são criados pelo próprio ExpressoMail 
    1607         if( SnifferBrowser.isCompatible('is_ie') ) 
    1608         { 
    1609                 configEvents( window, 'onload', function( ) 
    1610                 { 
    1611                         if ( ! document.getElementById( 'cc_msg_err_serialize_data_unknown' ) ) 
    1612                         { 
    1613                                 var fix = document.createElement('input'); 
    1614                                         fix.type        = 'hidden'; 
    1615                                         fix.id          = 'cc_msg_err_serialize_data_unknown'; 
    1616                                  
    1617                                         document.appendChild( fix ); 
    1618                         } 
    1619                         if ( ! window.showMessage ) 
    1620                                 window.showMessage = function(){}; 
    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    })(); 
  • trunk/jabberit_messenger/jmessenger/js/jscode/loadIM.mini.js

    r4360 r5041  
    11(function() 
    2 {var _autoStatus;var _autoStatusTime=60000;var addUser=null;var conn=null;var fullName="";var path="";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() 
     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() 
    33{if(arguments.length>0) 
    44{var e=arguments[0];var _element=(e.target)?e.target:e.srcElement;var jid=arguments[1];var coord=null;if(!e) 
     
    8383function getElement(elementId) 
    8484{return document.getElementById(elementId);} 
    85 function getIsIE() 
    86 {return SnifferBrowser.isCompatible('is_ie');} 
     85function getBrowserCompatible() 
     86{return SnifferBrowser.isLoadApp('firefox');} 
    8787function getPhotoUser(jid) 
    8888{try 
     
    180180{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") 
    181181{winRosterDiv.left=50;winRosterDiv.leftOld=-1500;} 
    182 if(SnifferBrowser.isCompatible('ie8','firefox3','firefox4','epiphany2','iceweasel3')) 
     182if(SnifferBrowser.isLoadApp()) 
    183183{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)} 
    184184else 
    185 {var paramList={'path_jabberit':path_jabberit};winRosterDiv.width=280;winRosterDiv.height=430;winRosterDiv.content=Xtools.parse(Xtools.xml("navigator"),"navigatorCompatible.xsl",paramList);} 
     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);} 
    186186_winBuild(winRosterDiv);getPhotoUser(_idUser);} 
    187187setTimeout(function(){_rosterDiv();},200);} 
     
    315315function loadIM() 
    316316{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(";");if(!_preferencesIM[3])_preferencesIM[3]="showContactsOfflineJabberit:true";loadScripts(files);setTimeout(function() 
     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() 
    318318{if(Xtools==null) 
    319319Xtools=new xtools(path_jabberit);if(conn==null) 
     
    322322selectEditable=new SelectEditable();addIcon();setTimeout(function() 
    323323{if(_preferencesIM[0]==='openWindowJabberit:true') 
    324 {if(SnifferBrowser.isCompatible('ie8','firefox3','firefox4','epiphany2','iceweasel3')) 
    325 TrophyIM.load();}},1500);autoStatus();configEvents(document,'onmousemove',autoStatus);configEvents(document,'onkeypress',autoStatus);},2000);}} 
    326 loadIM.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.getIsIE=getIsIE;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 
     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 
    327327loadIM.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.isCompatible('is_ie')) 
    328328{configEvents(window,'onload',function() 
  • trunk/jabberit_messenger/jmessenger/js/lang/i18n_pt_Br.js

    r3260 r5041  
    3131        NONE_RESULT_WAS_FOUND : 'Nenhum resultado encontrado !', 
    3232        PAUSED : ' está parado.', 
     33        ROOM_CREATION_IS_DENIED_BY_SERVICE_POLICY : 'Não é permitido a criação de salas', 
    3334        SEND : 'Enviar', 
    3435        SEARCH_RESULT : 'Resulta da busca', 
  • trunk/jabberit_messenger/jmessenger/js/lang/i18n_pt_Br.mini.js

    r3260 r5041  
    1  
    2 i18n={ADD:'Adicionar',ADD_CONTACT:'Adicionar Contatos',ADD_CONTACTS:'Adicionar Contatos',ASK_NEW_NAME_QUESTION:'Informe um novo nome para ',ASK_NEW_GROUP_QUESTION:'Informe um novo grupo ou deixe em branco',ASK_FOR_AUTH:'PEDIR AUTORIZAÇÃO !',AUTHORIZED:'AUTORIZADO !',AUTH_SENT:'AUTORIZAÇÃO ENVIADA !',ASK_FOR_AUTH_QUESTION:'QUERO ADICIONÁ-LO(A) ! POSSO ?',CLOSE:'Fechar',COMPOSING:' está digitando...',CONTACT_ASK_FOR_AUTH:'CONTATO PEDE AUTORIZAÇÃO !',GONE:' saiu da conversa.',GROUP:'Grupo',INACTIVE:' está inativo.',LEAVE_CHATROOM:'Sair da Sala',LOAD:'Carregando',MANY_RESULTS_PLEASE_TRY_TO_REFINE_YOUR_SEARCH:'Muitos Resultados ! Por favor tente refinar sua busca !',ME:'Eu',NAME_CONTACT:'Nome do Contato',NEW_USER:'Novo Usuário',NONE_RESULT_WAS_FOUND:'Nenhum resultado encontrado !',PAUSED:' está parado.',SEND:'Enviar',SEARCH_RESULT:'Resulta da busca',SEARCH_USERS:'Procurar contatos',STATUS_ANAVAILABLE:'Desconectado',STATUS_AVAILABLE:'Disponível',STATUS_ANAVAILABLE:'Desconectado',TRY_AGAIN:'Tente Novamente!',TYPE_YOUR_MESSAGE_HERE_STATUS:'Digite aqui sua mensagem de Status',TYPE_YOUR_MSG:'Digite sua mensagem !!!',YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS:'Sua busca precisa ter mais que 3 dígitos'}; 
     1i18n={ADD:'Adicionar',ADD_CONTACT:'Adicionar Contatos',ADD_CONTACTS:'Adicionar Contatos',ASK_NEW_NAME_QUESTION:'Informe um novo nome para ',ASK_NEW_GROUP_QUESTION:'Informe um novo grupo ou deixe em branco',ASK_FOR_AUTH:'PEDIR AUTORIZAÇÃO !',AUTHORIZED:'AUTORIZADO !',AUTH_SENT:'AUTORIZAÇÃO ENVIADA !',ASK_FOR_AUTH_QUESTION:'QUERO ADICIONÁ-LO(A) ! POSSO ?',CLOSE:'Fechar',COMPOSING:' está digitando...',CONTACT_ASK_FOR_AUTH:'CONTATO PEDE AUTORIZAÇÃO !',GONE:' saiu da conversa.',GROUP:'Grupo',INACTIVE:' está inativo.',LEAVE_CHATROOM:'Sair da Sala',LOAD:'Carregando',MANY_RESULTS_PLEASE_TRY_TO_REFINE_YOUR_SEARCH:'Muitos Resultados ! Por favor tente refinar sua busca !',ME:'Eu',NAME_CONTACT:'Nome do Contato',NEW_USER:'Novo Usuário',NONE_RESULT_WAS_FOUND:'Nenhum resultado encontrado !',PAUSED:' está parado.',ROOM_CREATION_IS_DENIED_BY_SERVICE_POLICY:'Não é permitido a criação de salas',SEND:'Enviar',SEARCH_RESULT:'Resulta da busca',SEARCH_USERS:'Procurar contatos',STATUS_ANAVAILABLE:'Desconectado',STATUS_AVAILABLE:'Disponível',STATUS_ANAVAILABLE:'Desconectado',TRY_AGAIN:'Tente Novamente!',TYPE_YOUR_MESSAGE_HERE_STATUS:'Digite aqui sua mensagem de Status',TYPE_YOUR_MSG:'Digite sua mensagem !!!',YOUR_SEARCH_ARGUMENT_MUST_BE_LONGER_THAN_3_CHARACTERS:'Sua busca precisa ter mais que 3 dígitos'}; 
  • trunk/jabberit_messenger/jmessenger/js/strophe.mini.js

    r3317 r5041  
    109109{var xhr=null;if(window.XMLHttpRequest){xhr=new XMLHttpRequest();if(xhr.overrideMimeType){xhr.overrideMimeType("text/xml");}}else if(window.ActiveXObject){xhr=new ActiveXObject("Microsoft.XMLHTTP");} 
    110110xhr.onreadystatechange=this.func.prependArg(this);return xhr;}};Strophe.Connection=function(service) 
    111 {this.service=service;this.jid="";this.rid=Math.floor(Math.random()*4294967295);this.sid=null;this.streamId=null;this.do_session=false;this.do_bind=false;this.timedHandlers=[];this.handlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=[];this._idleTimeout=null;this._disconnectTimeout=null;this.authenticated=false;this.disconnecting=false;this.connected=false;this.errors=0;this.paused=false;this.hold=1;this.wait=60;this.window=5;this._data=[];this._requests=[];this._uniqueId=Math.round(Math.random()*10000);this._sasl_success_handler=null;this._sasl_failure_handler=null;this._sasl_challenge_handler=null;this._idleTimeout=setTimeout(this._onIdle.bind(this),100);for(var k in Strophe._connectionPlugins){if(Strophe._connectionPlugins.hasOwnProperty(k)){var ptype=Strophe._connectionPlugins[k];var F=function(){};F.prototype=ptype;this[k]=new F();this[k].init(this);}}};Strophe.Connection.prototype={reset:function() 
     111{this.service=service;this.jid="";this.rid=Math.floor(Math.random()*4294967295);this.sid=null;this.streamId=null;this.do_session=false;this.do_bind=false;this.timedHandlers=[];this.handlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=[];this._idleTimeout=null;this._disconnectTimeout=null;this.authenticated=false;this.disconnecting=false;this.connected=false;this.errors=0;this.paused=false;this.hold=2;this.wait=20;this.window=5;this._data=[];this._requests=[];this._uniqueId=Math.round(Math.random()*10000);this._sasl_success_handler=null;this._sasl_failure_handler=null;this._sasl_challenge_handler=null;this._idleTimeout=setTimeout(this._onIdle.bind(this),100);for(var k in Strophe._connectionPlugins){if(Strophe._connectionPlugins.hasOwnProperty(k)){var ptype=Strophe._connectionPlugins[k];var F=function(){};F.prototype=ptype;this[k]=new F();this[k].init(this);}}};Strophe.Connection.prototype={reset:function() 
    112112{this.rid=Math.floor(Math.random()*4294967295);this.sid=null;this.streamId=null;this.do_session=false;this.do_bind=false;this.timedHandlers=[];this.handlers=[];this.removeTimeds=[];this.removeHandlers=[];this.addTimeds=[];this.addHandlers=[];this.authenticated=false;this.disconnecting=false;this.connected=false;this.errors=0;this._requests=[];this._uniqueId=Math.round(Math.random()*10000);},pause:function() 
    113113{this.paused=true;},resume:function() 
  • trunk/jabberit_messenger/jmessenger/js/trophyim.js

    r3332 r5041  
    1717                    this.processor = new XSLTProcessor(); 
    1818                    this.processor.importStylesheet(this.xmlRender( 
    19                     '<xsl:stylesheet version="1.0"\ 
     19                        '<xsl:stylesheet version="1.0"\ 
    2020                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\ 
    2121                    <xsl:output method="html" indent="yes"/><xsl:template\ 
     
    6868                } 
    6969                var renderObj = this.parser.parseFromString(xmlString, 
    70                 "application/xml"); 
     70                    "application/xml"); 
    7171            } catch(e) { 
    7272                alert("TrophyIM Error: Cannot create new html for page"); 
     
    8484     */ 
    8585    getHTML : function(page) 
    86         { 
     86    { 
    8787        return this.xmlParse(HTMLSnippets[page]); 
    8888    }, 
     
    9696     */ 
    9797    getScript : function(script) 
    98         { 
     98    { 
    9999        var newscript = document.createElement('script'); 
    100100        newscript.setAttribute('src', script); 
     
    112112                 
    113113 
    114         controll : { notificationNewUsers : 0 },         
    115      
    116         /** AutoConnection 
     114    controll : { 
     115        notificationNewUsers : 0 
     116    },   
     117     
     118    /** AutoConnection 
    117119        *  
    118120        */       
    119121                 
    120         autoConnection : { connect : true }, 
    121  
    122         /** Active Chat Room 
     122    autoConnection : { 
     123        connect : true 
     124    }, 
     125 
     126    /** Active Chat Room 
    123127         *  
    124128         */ 
    125129         
    126         activeChatRoom : { name : [] }, 
    127          
    128         /** Object: chatHistory 
     130    activeChatRoom : { 
     131        name : [] 
     132    }, 
     133         
     134    /** Object: chatHistory 
    129135    * 
    130136    *  Stores chat history (last 10 message) and current presence of active 
     
    132138    */ 
    133139         
    134         chatHistory : {}, 
    135          
    136         /** Constants: 
     140    chatHistory : {}, 
     141         
     142    /** Constants: 
    137143    * 
    138144    *    (Boolean) stale_roster - roster is stale and needs to be rewritten. 
    139145    */ 
    140146         
    141         constants : {stale_roster: false}, 
    142          
    143         /** PosWindow 
     147    constants : { 
     148        stale_roster: false 
     149    }, 
     150         
     151    /** PosWindow 
    144152         *  
    145153         */      
    146         posWindow : { left : 400, top : 100 },   
    147                  
    148         /** StatusConnection 
     154    posWindow : { 
     155        left : 400,  
     156        top : 100 
     157    },   
     158                 
     159    /** StatusConnection 
    149160         *  
    150161         */ 
    151162 
    152         statusConn : { connected : false }, 
    153          
    154         /** TimeOut Render Roster 
     163    statusConn : { 
     164        connected : false 
     165    }, 
     166         
     167    /** TimeOut Render Roster 
    155168         *  
    156169         *  
    157170         */ 
    158171         
    159         _timeOut : { renderRoster : null }, 
    160          
    161          
    162         /** Remove Contact ( type = set ) 
     172    _timeOut : { 
     173        renderRoster : null 
     174    }, 
     175         
     176         
     177    /** Remove Contact ( type = set ) 
    163178         *  
    164179         *  
    165180         */ 
    166181         
    167         removeResult : { idResult : [] }, 
    168          
    169      /** Function: setCookie 
     182    removeResult : { 
     183        idResult : [] 
     184    }, 
     185         
     186    /** Function: setCookie 
    170187     * 
    171188     *  Sets cookie name/value pair.  Date and path are auto-selected. 
     
    176193     */ 
    177194     
    178         setCookie : function(name, value) 
    179         { 
     195    setCookie : function(name, value) 
     196    { 
    180197        var expire = new Date(); 
    181198        expire.setDate(expire.getDate() + 365); 
     
    183200    }, 
    184201     
    185         /** Function: delCookie 
     202    /** Function: delCookie 
    186203     * 
    187204     *  Deletes cookie 
     
    191208     */ 
    192209     
    193         delCookie : function(name) 
    194         { 
     210    delCookie : function(name) 
     211    { 
    195212        var expire = new Date(); 
    196213        expire.setDate(expire.getDate() - 365); 
     
    199216    }, 
    200217     
    201         /** Function: getCookies 
     218    /** Function: getCookies 
    202219     * 
    203220     *  Retrieves all trophyim cookies into an indexed object.  Inteneded to be 
     
    208225     */ 
    209226     
    210         getCookies : function() 
    211         { 
     227    getCookies : function() 
     228    { 
    212229        var cObj = {}; 
    213230        var cookies = document.cookie.split(';'); 
     
    215232        for(var i = 0 ; i < cookies.length; i++ ) 
    216233        { 
    217                 while ( cookies[i].charAt(0) == ' ') 
     234            while ( cookies[i].charAt(0) == ' ') 
    218235            {  
    219236                cookies[i] = cookies[i].substring(1,cookies[i].length); 
     
    237254     */ 
    238255 
    239         load : function() 
    240         { 
    241         if( loadscript.getUserCurrent() == null ) 
    242         { 
    243                 loadscript.setUserCurrent();      
     256    load : function() 
     257    { 
     258        if( loadscript.getUserCurrent() == null ) 
     259        { 
     260            loadscript.setUserCurrent();          
    244261        }         
    245262 
    246         if ( !TrophyIM.statusConn.connected ) 
    247                 { 
    248                         TrophyIM.cookies = TrophyIM.getCookies(); 
    249  
    250                         //Wait a second to give scripts time to load 
    251                         setTimeout( "TrophyIM.showLogin()", 550 ); 
    252                 } 
    253                 else 
    254                 { 
    255                         loadscript.rosterDiv(); 
    256                 } 
    257    }, 
    258  
    259    /** Function: storeData 
     263        if ( !TrophyIM.statusConn.connected ) 
     264        { 
     265            TrophyIM.cookies = TrophyIM.getCookies(); 
     266 
     267            //Wait a second to give scripts time to load 
     268            setTimeout( "TrophyIM.showLogin()", 550 ); 
     269        } 
     270        else 
     271        { 
     272            loadscript.rosterDiv(); 
     273        } 
     274    }, 
     275 
     276    /** Function: storeData 
    260277     * 
    261278     *  Store all our data in the JSONStore, if it is active 
    262279     */ 
    263280      
    264    storeData : function() 
    265    { 
     281    storeData : function() 
     282    { 
    266283        if ( TrophyIM.connection && TrophyIM.connection.connected ) 
    267                 { 
     284        { 
    268285            TrophyIM.setCookie('trophyim_bosh_xid', TrophyIM.connection.jid + "|" + 
    269             TrophyIM.connection.sid + "|" +  TrophyIM.connection.rid); 
     286                TrophyIM.connection.sid + "|" +  TrophyIM.connection.rid); 
    270287            TrophyIM.rosterObj.save(); 
    271288        } 
     
    280297      
    281298    showLogin : function() 
    282         { 
     299    { 
    283300        /** 
    284301         *  
     
    288305                 */ 
    289306 
    290                 if ( typeof(JSON) != undefined && typeof(Strophe) != undefined ) 
    291         { 
    292                 TrophyIM.JSONStore = new TrophyIMJSONStore(); 
     307        if ( typeof(JSON) != undefined && typeof(Strophe) != undefined ) 
     308        { 
     309            TrophyIM.JSONStore = new TrophyIMJSONStore(); 
    293310                 
    294                         if ( TrophyIM.JSONStore.store_working && TrophyIM.cookies['trophyim_bosh_xid'] ) 
    295             { 
    296                 var xids = TrophyIM.cookies['trophyim_bosh_xid'].split("|"); 
     311            if ( TrophyIM.JSONStore.store_working && TrophyIM.cookies['trophyim_bosh_xid'] ) 
     312            { 
     313                var xids = TrophyIM.cookies['trophyim_bosh_xid'].split("|"); 
    297314                TrophyIM.delCookie('trophyim_bosh_xid'); 
    298315                TrophyIM.constants.stale_roster = true; 
    299316                         
    300                                 TrophyIM.connection                             = new Strophe.Connection(TROPHYIM_BOSH_SERVICE); 
     317                TrophyIM.connection                             = new Strophe.Connection(TROPHYIM_BOSH_SERVICE); 
    301318                TrophyIM.connection.rawInput    = TrophyIM.rawInput; 
    302319                TrophyIM.connection.rawOutput   = TrophyIM.rawOutput; 
     
    308325            else 
    309326            { 
    310                 // List Contact 
    311                                 loadscript.rosterDiv(); 
    312  
    313                                 // Get User Current; 
    314                                 var _getUserCurrent = null; 
    315                                         _getUserCurrent = loadscript.getUserCurrent(); 
     327                // List Contact 
     328                loadscript.rosterDiv(); 
     329 
     330                // Get User Current; 
     331                var _getUserCurrent = null; 
     332                _getUserCurrent = loadscript.getUserCurrent(); 
    316333                                 
    317                                 if( _getUserCurrent == null ) 
    318                                 {        
    319                                         setTimeout( "TrophyIM.showLogin()", 500 ); 
    320                                 } 
    321                                 else 
    322                                 { 
    323                                         TrophyIM.login( Base64.decode( _getUserCurrent.jid ), Base64.decode( _getUserCurrent.password )); 
    324                                 } 
     334                if( _getUserCurrent == null ) 
     335                {        
     336                    setTimeout( "TrophyIM.showLogin()", 500 ); 
     337                } 
     338                else 
     339                { 
     340                    TrophyIM.login( Base64.decode( _getUserCurrent.jid ), Base64.decode( _getUserCurrent.password )); 
     341                } 
    325342            } 
    326343        } 
    327344        else 
    328345        { 
    329                 setTimeout("TrophyIM.showLogin()", 500); 
    330         } 
    331     }, 
    332      
    333         /** Function: log 
     346            setTimeout("TrophyIM.showLogin()", 500); 
     347        } 
     348    }, 
     349     
     350    /** Function: log 
    334351     * 
    335352     *  This function logs the given message in the trophyimlog div 
     
    361378     */ 
    362379    rawInput : function (data) 
    363         { 
     380    { 
    364381        Strophe.debug("RECV: " + data); 
    365382    }, 
     
    370387     */ 
    371388    rawOutput : function (data) 
    372         { 
     389    { 
    373390        Strophe.debug("SEND: " + data); 
    374391    }, 
     
    382399     */ 
    383400    login : function() 
    384         { 
    385                 if ( TrophyIM.JSONStore.store_working ) 
    386                 {  
    387                    //In case they never logged out 
     401    { 
     402        if ( TrophyIM.JSONStore.store_working ) 
     403        {  
     404            //In case they never logged out 
    388405            TrophyIM.JSONStore.delData(['groups','roster', 'active_chat', 'chat_history']); 
    389406        } 
    390407 
    391                 TrophyIM.connection                             = new Strophe.Connection(TROPHYIM_BOSH_SERVICE); 
     408        TrophyIM.connection                             = new Strophe.Connection(TROPHYIM_BOSH_SERVICE); 
    392409        TrophyIM.connection.rawInput    = TrophyIM.rawInput; 
    393410        TrophyIM.connection.rawOutput   = TrophyIM.rawOutput; 
    394411        //Strophe.log                                   = TrophyIM.log; 
    395412         
    396                 if ( arguments.length > 0 ) 
    397                 { 
    398                         var barejid = arguments[0]; 
    399                         var password = arguments[1]; 
    400                          
    401                         TrophyIM.connection.connect( barejid + TROPHYIM_RESOURCE, password, TrophyIM.onConnect ); 
    402                 } 
    403                 else 
    404                 { 
    405                          
    406                         var barejid             = document.getElementById('trophyimjid').value 
    407                         var fulljid             = barejid + TROPHYIM_RESOURCE; 
    408                         var password    = document.getElementById('trophyimpass').value; 
    409                         var button              = document.getElementById('trophyimconnect'); 
    410                          
    411                         loadscript.setUserCurrent( barejid, password); 
    412                          
    413                         if ( button.value == 'connect' ) 
    414                         { 
    415                                 button.value = 'disconnect'; 
    416                                 //TrophyIM.connection.connect( fulljid , password, TrophyIM.onConnect ); 
     413        if ( arguments.length > 0 ) 
     414        { 
     415            var barejid = arguments[0]; 
     416            var password = arguments[1]; 
     417                         
     418            TrophyIM.connection.connect( barejid + TROPHYIM_RESOURCE, password, TrophyIM.onConnect ); 
     419        } 
     420        else 
     421        { 
     422                         
     423            var barejid         = document.getElementById('trophyimjid').value 
     424            var fulljid         = barejid + TROPHYIM_RESOURCE; 
     425            var password        = document.getElementById('trophyimpass').value; 
     426            var button          = document.getElementById('trophyimconnect'); 
     427                         
     428            loadscript.setUserCurrent( barejid, password); 
     429                         
     430            if ( button.value == 'connect' ) 
     431            { 
     432                button.value = 'disconnect'; 
     433                //TrophyIM.connection.connect( fulljid , password, TrophyIM.onConnect ); 
    417434                                 
    418                                 TrophyIM.login( barejid, password ); 
    419                                 _winBuild('window_login_page', 'remove'); 
    420                         } 
    421                 } 
    422  
    423                 TrophyIM.setCookie('trophyimjid', barejid); 
     435                TrophyIM.login( barejid, password ); 
     436                _winBuild('window_login_page', 'remove'); 
     437            } 
     438        } 
     439 
     440        TrophyIM.setCookie('trophyimjid', barejid); 
    424441    }, 
    425442         
     
    429446     */ 
    430447    logout : function() 
    431         { 
    432         TrophyIM.autoConnection.connect = false; 
     448    { 
     449        TrophyIM.autoConnection.connect = false; 
    433450         
    434         TrophyIM.delCookie('trophyim_bosh_xid'); 
     451        TrophyIM.delCookie('trophyim_bosh_xid'); 
    435452         
    436453        delete TrophyIM['cookies']['trophyim_bosh_xid']; 
     
    444461     */ 
    445462    onConnect : function(status) 
    446         { 
    447         var loading_gif = document.getElementById("JabberIMRosterLoadingGif"); 
    448                  
    449         if( status == Strophe.Status.CONNECTING ) 
    450                 { 
    451                 loading_gif.style.display = "block"; 
    452                 Strophe.info('Strophe is connecting.'); 
    453         } 
    454                  
    455                 if( status == Strophe.Status.CONNFAIL ) 
    456                 { 
    457                         TrophyIM.delCookie('trophyim_bosh_xid'); 
     463    { 
     464        var loading_gif = document.getElementById("JabberIMRosterLoadingGif"); 
     465                 
     466        if( status == Strophe.Status.CONNECTING ) 
     467        { 
     468            loading_gif.style.display = "block"; 
     469            Strophe.info('Strophe is connecting.'); 
     470        } 
     471                 
     472        if( status == Strophe.Status.CONNFAIL ) 
     473        { 
     474            TrophyIM.delCookie('trophyim_bosh_xid'); 
    458475            TrophyIM.statusConn.connected = false; 
    459476            loading_gif.style.display = "block"; 
    460477        } 
    461478                 
    462                 if( status == Strophe.Status.DISCONNECTING ) 
    463                 { 
    464                         TrophyIM.statusConn.connected = false; 
    465         } 
    466                  
    467                 if( status == Strophe.Status.DISCONNECTED ) 
    468                 { 
    469                         if( TrophyIM.autoConnection.connect ) 
    470                         { 
    471                                 loading_gif.style.display = "block"; 
     479        if( status == Strophe.Status.DISCONNECTING ) 
     480        { 
     481            TrophyIM.statusConn.connected = false; 
     482        } 
     483                 
     484        if( status == Strophe.Status.DISCONNECTED ) 
     485        { 
     486            if( TrophyIM.autoConnection.connect ) 
     487            { 
     488                loading_gif.style.display = "block"; 
    472489                                 
    473                                 TrophyIM.delCookie('trophyim_bosh_xid'); 
     490                TrophyIM.delCookie('trophyim_bosh_xid'); 
    474491                     
    475                     TrophyIM.statusConn.connected = false; 
     492                TrophyIM.statusConn.connected = false; 
    476493                     
    477                                 setTimeout(function() 
    478                                 { 
    479                             TrophyIM.showLogin(); 
     494                setTimeout(function() 
     495                { 
     496                    TrophyIM.showLogin(); 
    480497                             
    481                                 },10000); 
     498                },10000); 
    482499                                 
    483                     loadscript.clrAllContacts();         
     500                loadscript.clrAllContacts();     
    484501                     
    485                     loadscript.setStatusJabber(i18n.STATUS_ANAVAILABLE,"unavailable"); 
     502                loadscript.setStatusJabber(i18n.STATUS_ANAVAILABLE,"unavailable"); 
    486503                     
    487                     delete TrophyIM.rosterObj.roster; 
    488                     delete TrophyIM.rosterObj.groups; 
    489                         } 
    490         } 
    491                  
    492                 if( status == Strophe.Status.CONNECTED ) 
    493                 { 
    494                         loadscript.setStatusJabber(i18n.STATUS_AVAILABLE,'available'); 
    495                         TrophyIM.statusConn.connected = true; 
     504                delete TrophyIM.rosterObj.roster; 
     505                delete TrophyIM.rosterObj.groups; 
     506            } 
     507        } 
     508                 
     509        if( status == Strophe.Status.CONNECTED ) 
     510        { 
     511            loadscript.setStatusJabber(i18n.STATUS_AVAILABLE,'available'); 
     512            TrophyIM.statusConn.connected = true; 
    496513            TrophyIM.showClient(); 
    497514        } 
     
    504521     */ 
    505522    showClient : function() 
    506         { 
     523    { 
    507524        TrophyIM.setCookie('trophyim_bosh_xid', TrophyIM.connection.jid + "|" + 
    508         TrophyIM.connection.sid + "|" +  TrophyIM.connection.rid); 
     525            TrophyIM.connection.sid + "|" +  TrophyIM.connection.rid); 
    509526                 
    510527        TrophyIM.rosterObj = new TrophyIMRoster(); 
     
    514531        TrophyIM.connection.addHandler(TrophyIM.onMessage, null, 'message', null, null,  null); 
    515532         
    516                 //Get roster then announce presence. 
    517         TrophyIM.connection.send($iq({type: 'get', xmlns: Strophe.NS.CLIENT}).c('query', {xmlns: Strophe.NS.ROSTER}).tree()); 
     533        //Get roster then announce presence. 
     534        TrophyIM.connection.send($iq({ 
     535            type: 'get',  
     536            xmlns: Strophe.NS.CLIENT 
     537            }).c('query', { 
     538            xmlns: Strophe.NS.ROSTER 
     539            }).tree()); 
    518540        TrophyIM.connection.send($pres().tree()); 
    519                 setTimeout( TrophyIM.renderRoster, 1000); 
     541        setTimeout( TrophyIM.renderRoster, 1000); 
    520542    }, 
    521543         
     
    558580            var to = msg.getAttribute('to'); 
    559581            var id = msg.getAttribute('id'); 
    560             var reply = $iq({type: 'result', to: from, from: to, id: id}).c('query', 
    561             {name: "TrophyIM", version: TROPHYIM_VERSION, os: 
    562             "Javascript-capable browser"}); 
     582            var reply = $iq({ 
     583                type: 'result',  
     584                to: from,  
     585                from: to,  
     586                id: id 
     587            }).c('query', 
     588 
     589            { 
     590                name: "TrophyIM",  
     591                version: TROPHYIM_VERSION,  
     592                os: 
     593                "Javascript-capable browser" 
     594            }); 
    563595            TrophyIM.connection.send(reply.tree()); 
    564596        } 
     
    572604     
    573605    onRoster : function(msg) 
    574         { 
    575         var roster_items = msg.firstChild.getElementsByTagName('item'); 
    576                  
    577                 for (var i = 0; i < roster_items.length; i++) 
    578                 { 
    579                         with(roster_items[i]) 
    580                         { 
    581                                 var groups              = getElementsByTagName('group');         
    582                                 var group_array = []; 
     606    { 
     607        var roster_items = msg.firstChild.getElementsByTagName('item'); 
     608                 
     609        for (var i = 0; i < roster_items.length; i++) 
     610        { 
     611            with(roster_items[i]) 
     612            { 
     613                var groups              = getElementsByTagName('group');         
     614                var group_array = []; 
    583615                                 
    584                                 for( var g = 0 ; g < groups.length; g++ ) 
    585                                 { 
    586                                         if( groups[g].hasChildNodes() ) 
    587                                                 group_array[group_array.length] = groups[g].firstChild.nodeValue; 
    588                                 } 
    589  
    590                                 if( getAttribute('ask') && getAttribute('ask').toString() === "subscribe" )  
    591                                 { 
    592                                         if( getAttribute('subscription').toString() === "none" ) 
    593                                         { 
    594                                                 TrophyIM.rosterObj.addContact( getAttribute('jid'), getAttribute('ask'), getAttribute('name'), group_array ); 
    595                                         } 
     616                for( var g = 0 ; g < groups.length; g++ ) 
     617                { 
     618                    if( groups[g].hasChildNodes() ) 
     619                        group_array[group_array.length] = groups[g].firstChild.nodeValue; 
     620                } 
     621 
     622                if( getAttribute('ask') && getAttribute('ask').toString() === "subscribe" )  
     623                { 
     624                    if( getAttribute('subscription').toString() === "none" ) 
     625                    { 
     626                        TrophyIM.rosterObj.addContact( getAttribute('jid'), getAttribute('ask'), getAttribute('name'), group_array ); 
     627                    } 
    596628                                         
    597                                         if( getAttribute('subscription').toString() === "remove" ) 
    598                                         { 
    599                                                 TrophyIM.rosterObj.removeContact( getAttribute('jid').toString() ); 
    600                                         } 
    601                                 } 
    602                                 else 
    603                                 { 
    604                                         if( ( getAttribute('ask') == null && getAttribute('subscription').toString() === "remove" ) || getAttribute('subscription').toString() === "remove" ) 
    605                                         { 
    606                                                 TrophyIM.rosterObj.removeContact( getAttribute('jid').toString() ); 
    607                                         } 
    608                                         else 
    609                                         { 
    610                                                 TrophyIM.rosterObj.addContact( getAttribute('jid'), getAttribute('subscription'), getAttribute('name'), group_array ); 
    611                                         } 
    612                                 } 
    613                         } 
    614         } 
    615  
    616                 if ( msg.getAttribute('type') == 'set' ) 
    617                 { 
    618                         var _iq = $iq({type: 'reply', id: msg.getAttribute('id'), to: msg.getAttribute('from')}); 
    619                         TrophyIM.connection.send( _iq.tree()); 
    620         } 
    621  
    622                 return true; 
     629                    if( getAttribute('subscription').toString() === "remove" ) 
     630                    { 
     631                        TrophyIM.rosterObj.removeContact( getAttribute('jid').toString() ); 
     632                    } 
     633                } 
     634                else 
     635                { 
     636                    if( ( getAttribute('ask') == null && getAttribute('subscription').toString() === "remove" ) || getAttribute('subscription').toString() === "remove" ) 
     637                    { 
     638                        TrophyIM.rosterObj.removeContact( getAttribute('jid').toString() ); 
     639                    } 
     640                    else 
     641                    { 
     642                        TrophyIM.rosterObj.addContact( getAttribute('jid'), getAttribute('subscription'), getAttribute('name'), group_array ); 
     643                    } 
     644                } 
     645                } 
     646        } 
     647 
     648        if ( msg.getAttribute('type') == 'set' ) 
     649        { 
     650            var _iq = $iq({ 
     651                type: 'reply',  
     652                id: msg.getAttribute('id'),  
     653                to: msg.getAttribute('from') 
     654                }); 
     655            TrophyIM.connection.send( _iq.tree()); 
     656        } 
     657 
     658        return true; 
    623659    }, 
    624660     
     
    629665     
    630666    onPresence : function(msg) 
    631         { 
    632         // Get Presences ChatRoom 
    633         TrophyIM.onPresenceChatRoom( msg ); 
    634  
    635         var type                = msg.getAttribute('type') ? msg.getAttribute('type') : 'available'; 
     667    { 
     668        // Get Presences ChatRoom 
     669        TrophyIM.onPresenceChatRoom( msg ); 
     670 
     671        var type                = msg.getAttribute('type') ? msg.getAttribute('type') : 'available'; 
    636672        var show                = msg.getElementsByTagName('show').length ? Strophe.getText(msg.getElementsByTagName('show')[0]) : type; 
    637673        var status              = msg.getElementsByTagName('status').length ? Strophe.getText(msg.getElementsByTagName('status')[0]) : ''; 
    638674        var priority    = msg.getElementsByTagName('priority').length ? parseInt(Strophe.getText(msg.getElementsByTagName('priority')[0])) : 0; 
    639675 
    640         if( msg.getAttribute('from').toString().indexOf( TROPHYIM_CHATROOM ) < 0 ) 
    641         {        
    642                         var _from = Strophe.getBareJidFromJid( msg.getAttribute('from') ); 
    643                         var _flag = true; 
    644  
    645                 if( TrophyIM.removeResult.idResult.length > 0 ) 
    646                 { 
    647                         for( var i = 0 ; i < TrophyIM.removeResult.idResult.length; i++ ) 
    648                         { 
    649                                 if( TrophyIM.removeResult.idResult[i] == _from ) 
    650                                 { 
    651                                         _flag = false; 
     676        if( msg.getAttribute('from').toString().indexOf( TROPHYIM_CHATROOM ) < 0 ) 
     677        {        
     678            var _from = Strophe.getBareJidFromJid( msg.getAttribute('from') ); 
     679            var _flag = true; 
     680 
     681            if( TrophyIM.removeResult.idResult.length > 0 ) 
     682            { 
     683                for( var i = 0 ; i < TrophyIM.removeResult.idResult.length; i++ ) 
     684                { 
     685                    if( TrophyIM.removeResult.idResult[i] == _from ) 
     686                    { 
     687                        _flag = false; 
    652688                                         
    653                                         TrophyIM.removeResult.idResult.splice(i,1); 
     689                        TrophyIM.removeResult.idResult.splice(i,1); 
    654690                                         
    655                                         i--; 
     691                        i--; 
    656692                                         
    657                                         if( show.toLowerCase() === 'subscribe' ) 
    658                                                 _flag = true; 
    659                                 } 
    660                         } 
    661                 } 
     693                        if( show.toLowerCase() === 'subscribe' ) 
     694                            _flag = true; 
     695                    } 
     696                } 
     697            } 
    662698                 
    663                 if( _flag ) 
    664                         TrophyIM.rosterObj.setPresence( msg.getAttribute('from'), priority, show, status ); 
    665         } 
    666  
    667         return true; 
     699            if( _flag ) 
     700                TrophyIM.rosterObj.setPresence( msg.getAttribute('from'), priority, show, status ); 
     701        } 
     702 
     703        return true; 
    668704    }, 
    669705 
     
    675711    onPresenceChatRoom : function(msg) 
    676712    { 
    677         var xquery = msg.getElementsByTagName("x"); 
    678  
    679         if ( xquery.length > 0 ) 
    680         { 
    681                 for ( var i = 0; i < xquery.length; i++ ) 
    682             { 
    683                 var xmlns = xquery[i].getAttribute("xmlns"); 
    684                  
    685                 if( xmlns.indexOf("http://jabber.org/protocol/muc#user") == 0 ) 
    686                 { 
    687                         var _from       = xquery[i].parentNode.getAttribute('from'); 
    688                         var _to         = xquery[i].parentNode.getAttribute('to'); 
    689  
    690                         // Get NameChatRoom 
    691                         var nameChatRoom        = Strophe.getBareJidFromJid( _from ); 
    692                          
    693                         // Get nickName 
    694                         var nickName            = Strophe.getResourceFromJid( _from ); 
    695                          
    696                         // Get Type/Show 
    697                         var type        = ( xquery[i].parentNode.getAttribute('type') != null ) ? xquery[i].parentNode.getAttribute('type') : 'available' ; 
    698                         var show        = ( xquery[i].parentNode.firstChild.nodeName == "show" ) ? xquery[i].parentNode.firstChild.firstChild.nodeValue : type; 
    699                          
    700                         var _idElement = nameChatRoom + "_UserChatRoom__" + nickName; 
    701                            
    702                         var _UserChatRoom                                       = document.createElement("div"); 
    703                                 _UserChatRoom.id                                = _idElement; 
    704                                 _UserChatRoom.style.paddingLeft = '18px'; 
    705                                 _UserChatRoom.style.margin              = '3px 0px 0px 2px'; 
    706                                 _UserChatRoom.style.background  = 'url("'+path_jabberit+'templates/default/images/' + show + '.gif") no-repeat center left'; 
    707                                 _UserChatRoom.appendChild( document.createTextNode( nickName ) ); 
    708  
    709                         var nodeUser = document.getElementById( _idElement );    
    710                                  
    711                         if( nodeUser == null ) 
    712                         { 
    713                                 if( document.getElementById( nameChatRoom + '__roomChat__participants' ) != null ) 
    714                                 { 
    715                                         nameChatRoom = document.getElementById( nameChatRoom + '__roomChat__participants' ); 
    716                                         nameChatRoom.appendChild( _UserChatRoom ); 
    717                                 } 
    718                                 else 
    719                                 { 
    720                                         if( type != 'unavailable' ) 
    721                                         { 
    722                                                 TrophyIM.makeChatRoom( nameChatRoom, nameChatRoom.substring(0, nameChatRoom.indexOf('@'))); 
    723                                                 nameChatRoom = document.getElementById( nameChatRoom + '__roomChat__participants' ); 
    724                                                 nameChatRoom.appendChild( _UserChatRoom ); 
    725                                         } 
    726                                 } 
    727                         } 
    728                         else 
    729                         { 
    730                                 if( type == 'unavailable' ) 
    731                                 { 
    732                                         nodeUser.parentNode.removeChild( nodeUser ); 
    733                                 } 
    734                                 else if( show ) 
    735                                 { 
    736                                         nodeUser.style.backgroundImage =  'url("'+path_jabberit+'templates/default/images/' + show + '.gif")'; 
    737                                 } 
    738                         } 
     713        var xquery      = msg.getElementsByTagName("x"); 
     714        var _error      = msg.getElementsByTagName("error"); 
     715        
     716        
     717        if( _error.length > 0 ) 
     718        {     
     719            /* Room creation is denied by service policy; 
     720             * 
     721             *  <error code='403' type='auth'> 
     722             *      <forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> 
     723             *      <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Room creation is denied by service policy</text> 
     724             *  </error>        
     725             */ 
     726             
     727            for ( var i = 0; i < _error.length; i++ ) 
     728            { 
     729                if ( _error[i].getElementsByTagName("text") ) 
     730                {     
     731                    var _errorMsg = Strophe.getText( _error[i].getElementsByTagName("text")[0] ); 
     732                     
     733                    if( _errorMsg == "Room creation is denied by service policy" ) 
     734                    { 
     735                        alert( i18n.ROOM_CREATION_IS_DENIED_BY_SERVICE_POLICY ); 
     736                    } 
     737                    else 
     738                    { 
     739                        alert( " Informe ao seu Administrador ERRO : \n" + _errorMsg ); 
     740                    }     
     741                         
     742                } 
     743            } 
     744        } 
     745        else 
     746        { 
     747            if ( xquery.length > 0 ) 
     748            { 
     749                for ( var i = 0; i < xquery.length; i++ ) 
     750                { 
     751                    var xmlns = xquery[i].getAttribute("xmlns"); 
     752 
     753                    if( xmlns.indexOf("http://jabber.org/protocol/muc#user") == 0 ) 
     754                    { 
     755                        var _from       = xquery[i].parentNode.getAttribute('from'); 
     756                        var _to         = xquery[i].parentNode.getAttribute('to'); 
     757 
     758                        // Get NameChatRoom 
     759                        var nameChatRoom        = Strophe.getBareJidFromJid( _from ); 
     760 
     761                        // Get nickName 
     762                        var nickName            = Strophe.getResourceFromJid( _from ); 
     763 
     764                        // Get Type/Show 
     765                        var type        = ( xquery[i].parentNode.getAttribute('type') != null ) ? xquery[i].parentNode.getAttribute('type') : 'available' ; 
     766                        var show        = ( xquery[i].parentNode.firstChild.nodeName == "show" ) ? xquery[i].parentNode.firstChild.firstChild.nodeValue : type; 
     767 
     768                        var _idElement = nameChatRoom + "_UserChatRoom__" + nickName; 
     769 
     770                        var _UserChatRoom                                       = document.createElement("div"); 
     771                        _UserChatRoom.id                                = _idElement; 
     772                        _UserChatRoom.style.paddingLeft = '18px'; 
     773                        _UserChatRoom.style.margin              = '3px 0px 0px 2px'; 
     774                        _UserChatRoom.style.background  = 'url("'+path_jabberit+'templates/default/images/' + show + '.gif") no-repeat center left'; 
     775                        _UserChatRoom.appendChild( document.createTextNode( nickName ) ); 
     776 
     777                        var nodeUser = document.getElementById( _idElement );    
     778 
     779                        if( nodeUser == null ) 
     780                        { 
     781                            if( document.getElementById( nameChatRoom + '__roomChat__participants' ) != null ) 
     782                            { 
     783                                nameChatRoom = document.getElementById( nameChatRoom + '__roomChat__participants' ); 
     784                                nameChatRoom.appendChild( _UserChatRoom ); 
     785                            } 
     786                            else 
     787                            { 
     788                                if( type != 'unavailable' ) 
     789                                { 
     790                                    TrophyIM.makeChatRoom( nameChatRoom, nameChatRoom.substring(0, nameChatRoom.indexOf('@'))); 
     791                                    nameChatRoom = document.getElementById( nameChatRoom + '__roomChat__participants' ); 
     792                                    nameChatRoom.appendChild( _UserChatRoom ); 
     793                                } 
     794                            } 
     795                        } 
     796                        else 
     797                        { 
     798                            if( type == 'unavailable' ) 
     799                            { 
     800                                nodeUser.parentNode.removeChild( nodeUser ); 
     801                            } 
     802                            else if( show ) 
     803                            { 
     804                                nodeUser.style.backgroundImage =  'url("'+path_jabberit+'templates/default/images/' + show + '.gif")'; 
     805                            } 
     806                        } 
     807                    } 
    739808                } 
    740809            } 
     
    749818    onMessage : function(msg) 
    750819    { 
    751         var checkTime = function(i) 
    752         { 
    753                 if ( i < 10 ) i= "0" + i; 
     820        var checkTime = function(i) 
     821        { 
     822            if ( i < 10 ) i= "0" + i; 
    754823                 
    755                 return i; 
    756         }; 
     824            return i; 
     825        }; 
    757826         
    758                 var messageDate = function( _date ) 
    759                 { 
    760                         var _dt = _date.substr( 0, _date.indexOf( 'T' ) ).split( '-' ); 
    761                         var _hr = _date.substr( _date.indexOf( 'T' ) + 1, _date.length - _date.indexOf( 'T' ) - 2 ).split( ':' ); 
    762                          
    763                         ( _date = new Date ).setTime( Date.UTC( _dt[0], _dt[1] - 1, _dt[2], _hr[0], _hr[1], _hr[2] ) ); 
    764  
    765                         return ( _date.toLocaleDateString( ).replace( /-/g, '/' ) + ' ' + _date.toLocaleTimeString( ) ); 
    766                 }; 
    767  
    768         var data        = new Date(); 
    769         var dtNow       = checkTime(data.getHours()) + ":" + checkTime(data.getMinutes()) + ":" + checkTime(data.getSeconds()); 
     827        var messageDate = function( _date ) 
     828        { 
     829            var _dt = _date.substr( 0, _date.indexOf( 'T' ) ).split( '-' ); 
     830            var _hr = _date.substr( _date.indexOf( 'T' ) + 1, _date.length - _date.indexOf( 'T' ) - 2 ).split( ':' ); 
     831                         
     832            ( _date = new Date ).setTime( Date.UTC( _dt[0], _dt[1] - 1, _dt[2], _hr[0], _hr[1], _hr[2] ) ); 
     833 
     834            return ( _date.toLocaleDateString( ).replace( /-/g, '/' ) + ' ' + _date.toLocaleTimeString( ) ); 
     835        }; 
     836 
     837        var data        = new Date(); 
     838        var dtNow       = checkTime(data.getHours()) + ":" + checkTime(data.getMinutes()) + ":" + checkTime(data.getSeconds()); 
    770839         
    771840        var from        = msg.getAttribute('from'); 
     
    775844        var stamp       = ( delay[0] != null ) ? "<font style='color:red;'>" + messageDate(delay[0].getAttribute('stamp')) + "</font>" :  dtNow; 
    776845 
    777                 var barejid             = Strophe.getBareJidFromJid(from); 
    778                 var jidChatRoom = Strophe.getResourceFromJid(from); 
    779                 var jid_lower   = barejid.toLowerCase(); 
    780                 var contact             = ""; 
    781                 var state               = ""; 
    782  
    783                 var chatBox     = document.getElementById(jid_lower + "__chatState"); 
    784                 var chatStateOnOff = null; 
    785                 var active      = msg.getElementsByTagName('active'); 
    786                  
    787                 contact = barejid.toLowerCase(); 
    788                 contact = contact.substring(0, contact.indexOf('@')); 
     846        var barejid             = Strophe.getBareJidFromJid(from); 
     847        var jidChatRoom = Strophe.getResourceFromJid(from); 
     848        var jid_lower   = barejid.toLowerCase(); 
     849        var contact             = ""; 
     850        var state               = ""; 
     851 
     852        var chatBox     = document.getElementById(jid_lower + "__chatState"); 
     853        var chatStateOnOff = null; 
     854        var active      = msg.getElementsByTagName('active'); 
     855                 
     856        contact = barejid.toLowerCase(); 
     857        contact = contact.substring(0, contact.indexOf('@')); 
    789858             
    790                 if( TrophyIM.rosterObj.roster[barejid] ) 
    791                 { 
    792                         if( TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name'] ) 
    793                         { 
    794                                 contact = TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name']; 
    795                         } 
    796                 } 
    797  
    798                 // Message with body are "content message", this means state active 
    799                 if ( elems.length > 0 ) 
    800                 { 
    801                         state = ""; 
    802                          
    803                         // Set notify chat state capability on when sender notify it themself 
    804                         chatStateOnOff = document.getElementById(jid_lower + "__chatStateOnOff"); 
    805                          
    806                         if (active.length > 0 & chatStateOnOff != null ) 
    807                         { 
    808                                 chatStateOnOff.value = 'on'; 
    809                         } 
    810  
    811                         // Get Message 
    812                         var _message    = document.createElement("div"); 
    813                         var _text               = Strophe.getText( elems[0] ); 
    814                          
    815                         // Events Javascript 
    816                         _text = _text.replace(/onblur/gi,"EVENT_DENY"); 
    817                          
    818                         _text = _text.replace(/onchange/gi,"EVENT_DENY"); 
    819                          
    820                         _text = _text.replace(/onclick/gi,"EVENT_DENY"); 
    821                          
    822                         _text = _text.replace(/ondblclick/gi,"EVENT_DENY"); 
    823                          
    824                         _text = _text.replace(/onerror/gi,"EVENT_DENY"); 
    825                          
    826                         _text = _text.replace(/onfocus/gi,"EVENT_DENY"); 
    827                          
    828                         _text = _text.replace(/onkeydown/gi,"EVENT_DENY"); 
    829                          
    830                         _text = _text.replace(/onkeypress/gi,"EVENT_DENY"); 
    831                          
    832                         _text = _text.replace(/onkeyup/gi,"EVENT_DENY"); 
    833                          
    834                         _text = _text.replace(/onmousedown/gi,"EVENT_DENY"); 
    835                          
    836                         _text = _text.replace(/onmousemove/gi,"EVENT_DENY"); 
    837                          
    838                         _text = _text.replace(/onmouseout/gi,"EVENT_DENY"); 
    839                          
    840                         _text = _text.replace(/onmouseover/gi,"EVENT_DENY"); 
    841                          
    842                         _text = _text.replace(/onmouseup/gi,"EVENT_DENY"); 
    843                          
    844                         _text = _text.replace(/onresize/gi,"EVENT_DENY"); 
    845                          
    846                         _text = _text.replace(/onselect/gi,"EVENT_DENY"); 
    847                          
    848                         _text = _text.replace(/onunload/gi,"EVENT_DENY"); 
    849                          
    850                         // Events CSS 
    851                         _text = _text.replace(/style/gi,"EVENT_DENY"); 
    852  
    853                         // Tags HTML 
    854                         _text = _text.replace(/img /gi,"IMG_DENY "); 
    855                          
    856                         _text = _text.replace(/script /gi,"SCRIPT_DENY "); 
    857                          
    858                         _text = _text.replace(/div /gi,"DIV_DENY "); 
    859                          
    860                         _text = _text.replace(/span /gi,"SPAN_DENY "); 
    861                          
    862                         _text = _text.replace(/iframe /gi,"IFRAME_DENY "); 
    863                          
    864                         _message.innerHTML = _text; 
    865                          
    866                         ////////// BEGIN XSS ////////////////////////////////////////////////// 
    867                         // Delete Tags <SCRIPT> 
    868                         var scripts = _message.getElementsByTagName('script_deny'); 
    869                         for (var i = 0; i < scripts.length; i++){ _message.removeChild(scripts[i--]); } 
    870                         //////////////////////////////////////////////////// 
    871                          
    872                         // Delete Tags <IMG> 
    873                         var _imgSrc = _message.getElementsByTagName('img_deny'); 
    874                         for (var i = 0; i < _imgSrc.length; i++){ _imgSrc[i].parentNode.removeChild( _imgSrc[i--] ); } 
    875                         //////////////////////////////////////////////////// 
    876                          
    877                         // Delete Tags <DIV> 
    878                         var _Div = _message.getElementsByTagName('div_deny'); 
    879                         for (var i = 0; i < _Div.length; i++){ _Div[i].parentNode.removeChild( _Div[i--] ); } 
    880                         //////////////////////////////////////////////////// 
    881                          
    882                         // Delete Tags <SPAN> 
    883                         var _Span = _message.getElementsByTagName('span_deny'); 
    884                         for (var i = 0; i < _Span.length; i++){ _Span[i].parentNode.removeChild( _Span[i--] ); } 
    885                         //////////////////////////////////////////////////// 
    886  
    887                         // Delete Tags <IFRAME> 
    888                         var _Iframe = _message.getElementsByTagName('iframe_deny'); 
    889                         for (var i = 0; i < _Iframe.length; i++){ _Iframe[i].parentNode.removeChild( _Iframe[i--] ); } 
    890  
    891                         // Delete Tags <A HREF> 
    892                         var _aHref = _message.getElementsByTagName('a'); 
    893                         for (var i = 0; i < _aHref.length; i++){ _aHref[i].parentNode.removeChild( _aHref[i--] ); } 
    894                          
    895                         _message.innerHTML = _message.innerHTML.replace(/^\s+|\s+$|^\n|\n$/g, ""); 
    896                         ////////// END XSS ////////////////////////////////////////////////// 
    897                          
    898                         // Get Smiles 
    899                         _message.innerHTML = loadscript.getSmiles( _message.innerHTML ); 
    900  
    901                         if (type == 'chat' || type == 'normal') 
    902                         { 
    903                                 if ( _message.hasChildNodes() ) 
    904                                 { 
    905                                         var message =  
    906                                         { 
    907                                 contact : "[" + stamp + "] <font style='font-weight:bold; color:black;'>" + contact + "</font>", 
    908                                 msg             : "</br>" + _message.innerHTML 
    909                         }; 
     859        if( TrophyIM.rosterObj.roster[barejid] ) 
     860        { 
     861            if( TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name'] ) 
     862            { 
     863                contact = TrophyIM.rosterObj.roster[barejid.toLowerCase()]['contact']['name']; 
     864            } 
     865        } 
     866 
     867        // Message with body are "content message", this means state active 
     868        if ( elems.length > 0 ) 
     869        { 
     870            state = ""; 
     871                         
     872            // Set notify chat state capability on when sender notify it themself 
     873            chatStateOnOff = document.getElementById(jid_lower + "__chatStateOnOff"); 
     874                         
     875            if (active.length > 0 & chatStateOnOff != null ) 
     876            { 
     877                chatStateOnOff.value = 'on'; 
     878            } 
     879 
     880            // Get Message 
     881            var _message        = document.createElement("div"); 
     882            var _text           = Strophe.getText( elems[0] ); 
     883                         
     884            // Events Javascript 
     885            _text = _text.replace(/onblur/gi,"EVENT_DENY"); 
     886                         
     887            _text = _text.replace(/onchange/gi,"EVENT_DENY"); 
     888                         
     889            _text = _text.replace(/onclick/gi,"EVENT_DENY"); 
     890                         
     891            _text = _text.replace(/ondblclick/gi,"EVENT_DENY"); 
     892                         
     893            _text = _text.replace(/onerror/gi,"EVENT_DENY"); 
     894                         
     895            _text = _text.replace(/onfocus/gi,"EVENT_DENY"); 
     896                         
     897            _text = _text.replace(/onkeydown/gi,"EVENT_DENY"); 
     898                         
     899            _text = _text.replace(/onkeypress/gi,"EVENT_DENY"); 
     900                         
     901            _text = _text.replace(/onkeyup/gi,"EVENT_DENY"); 
     902                         
     903            _text = _text.replace(/onmousedown/gi,"EVENT_DENY"); 
     904                         
     905            _text = _text.replace(/onmousemove/gi,"EVENT_DENY"); 
     906                         
     907            _text = _text.replace(/onmouseout/gi,"EVENT_DENY"); 
     908                         
     909            _text = _text.replace(/onmouseover/gi,"EVENT_DENY"); 
     910                         
     911            _text = _text.replace(/onmouseup/gi,"EVENT_DENY"); 
     912                         
     913            _text = _text.replace(/onresize/gi,"EVENT_DENY"); 
     914                         
     915            _text = _text.replace(/onselect/gi,"EVENT_DENY"); 
     916                         
     917            _text = _text.replace(/onunload/gi,"EVENT_DENY"); 
     918                         
     919            // Events CSS 
     920            _text = _text.replace(/style/gi,"EVENT_DENY"); 
     921 
     922            // Tags HTML 
     923            _text = _text.replace(/img /gi,"IMG_DENY "); 
     924                         
     925            _text = _text.replace(/script /gi,"SCRIPT_DENY "); 
     926                         
     927            _text = _text.replace(/div /gi,"DIV_DENY "); 
     928                         
     929            _text = _text.replace(/span /gi,"SPAN_DENY "); 
     930                         
     931            _text = _text.replace(/iframe /gi,"IFRAME_DENY "); 
     932                         
     933            _message.innerHTML = _text; 
     934                         
     935            ////////// BEGIN XSS ////////////////////////////////////////////////// 
     936            // Delete Tags <SCRIPT> 
     937            var scripts = _message.getElementsByTagName('script_deny'); 
     938            for (var i = 0; i < scripts.length; i++){ 
     939                _message.removeChild(scripts[i--]); 
     940            } 
     941            //////////////////////////////////////////////////// 
     942                         
     943            // Delete Tags <IMG> 
     944            var _imgSrc = _message.getElementsByTagName('img_deny'); 
     945            for (var i = 0; i < _imgSrc.length; i++){ 
     946                _imgSrc[i].parentNode.removeChild( _imgSrc[i--] ); 
     947            } 
     948            //////////////////////////////////////////////////// 
     949                         
     950            // Delete Tags <DIV> 
     951            var _Div = _message.getElementsByTagName('div_deny'); 
     952            for (var i = 0; i < _Div.length; i++){ 
     953                _Div[i].parentNode.removeChild( _Div[i--] ); 
     954            } 
     955            //////////////////////////////////////////////////// 
     956                         
     957            // Delete Tags <SPAN> 
     958            var _Span = _message.getElementsByTagName('span_deny'); 
     959            for (var i = 0; i < _Span.length; i++){ 
     960                _Span[i].parentNode.removeChild( _Span[i--] ); 
     961            } 
     962            //////////////////////////////////////////////////// 
     963 
     964            // Delete Tags <IFRAME> 
     965            var _Iframe = _message.getElementsByTagName('iframe_deny'); 
     966            for (var i = 0; i < _Iframe.length; i++){ 
     967                _Iframe[i].parentNode.removeChild( _Iframe[i--] ); 
     968            } 
     969 
     970            // Delete Tags <A HREF> 
     971            var _aHref = _message.getElementsByTagName('a'); 
     972            for (var i = 0; i < _aHref.length; i++){ 
     973                _aHref[i].parentNode.removeChild( _aHref[i--] ); 
     974            } 
     975                         
     976            _message.innerHTML = _message.innerHTML.replace(/^\s+|\s+$|^\n|\n$/g, ""); 
     977            ////////// END XSS ////////////////////////////////////////////////// 
     978                         
     979            // Get Smiles 
     980            _message.innerHTML = loadscript.getSmiles( _message.innerHTML ); 
     981 
     982            if (type == 'chat' || type == 'normal') 
     983            { 
     984                if ( _message.hasChildNodes() ) 
     985                { 
     986                    var message =  
     987                    { 
     988                        contact : "[" + stamp + "] <font style='font-weight:bold; color:black;'>" + contact + "</font>", 
     989                        msg             : "</br>" + _message.innerHTML 
     990                    }; 
    910991                                         
    911                                         TrophyIM.addMessage( TrophyIM.makeChat( from ), jid_lower, message ); 
    912                                 } 
    913                         } 
    914                         else if( type == 'groupchat') 
    915                         { 
    916                                 if ( _message.hasChildNodes() ) 
    917                                 { 
    918                                         var message =  
    919                                         { 
    920                                 contact : "[" + stamp + "] <font style='font-weight:bold; color:black;'>" + jidChatRoom + "</font>", 
    921                                 msg             : "</br>" + _message.innerHTML 
    922                         }; 
    923  
    924                                         TrophyIM.addMessage( TrophyIM.makeChatRoom( barejid ), jid_lower, message ); 
    925</