Changeset 3842


Ignore:
Timestamp:
03/01/11 15:11:13 (13 years ago)
Author:
alexandrecorreia
Message:

Ticket #1485 - Corrigido a pesquisa rapida de mensagens com palavra acentuada.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/js/search.js

    r3836 r3842  
    44        function searchE() 
    55        { 
    6                 this.searchW   = new Array; 
    7                 this.condition = ""; 
    8                 this.sort_type = ""; 
    9                 this.page = 0; 
     6                this.searchW            = []; 
     7                this.condition          = ""; 
     8                this.sort_type          = ""; 
     9                this.page                       = 0; 
    1010                this.name_box_search = ""; 
    11                 this.all_boxes = new Array; 
    12                 this.type = ""; 
    13                 this.txtfields = new Array("txt_ass","txt_de","txt_body","txt_para","txt_cc","txt_cco", 
    14                                         "since_date", "before_date", "on_date"); 
    15                 this.selectFields = new Array("flagged", "seen", "answered", "recent"); 
     11                this.all_boxes          = []; 
     12                this.type                       = ""; 
     13                this.txtfields          = new Array("txt_ass","txt_de","txt_body","txt_para","txt_cc","txt_cco", "since_date", "before_date", "on_date"); 
     14                this.selectFields       = new Array("flagged", "seen", "answered", "recent"); 
    1615        } 
    1716 
    1817        //Monta os forms dentro da janela; 
    19         searchE.prototype.showForms = function(value){ 
     18        searchE.prototype.showForms = function(value) 
     19        { 
    2020                // Principal 
    21                 if(!Element("window_search")) { 
     21                if(!Element("window_search")) 
     22                { 
    2223                        var form_search = document.createElement("DIV"); 
    2324                        form_search.style.visibility = 'hidden'; 
     
    2930 
    3031                // Pesquisa 
    31                 if(!Element("div_form_search")){ 
     32                if(!Element("div_form_search")) 
     33                { 
    3234                        var div_form_search = document.createElement("DIV"); 
    3335                        div_form_search.id = "div_form_search"; 
     
    99101                EsearchE.mount_folders(); 
    100102 
    101                 if(value){ 
     103                if(value) 
     104                { 
    102105                        Element("check_all_msg").checked = true; 
    103106                        EsearchE.all_mailboxes(); 
     
    108111         
    109112        //Form 
    110         searchE.prototype.mount_form = function(value){ 
     113        searchE.prototype.mount_form = function(value) 
     114        { 
    111115                var form_sch = document.createElement("FORM"); 
    112                 form_sch.id  = "form_sch"; 
    113  
    114                 form_sch.innerHTML =  '<fieldset style="width:400px; text-align:right; padding: 5px; position:absolute;">' 
    115                                                         + '     <legend>'+get_lang('Inform your search in the text fields')+'</legend>' 
    116                                                         + '     <label>'+get_lang("From")+':</label>' 
    117                                                         + '     <input style="margin-left: 6px;" type="text" id="txt_de" size="39">' 
    118                                                         + '     <br style="margin-bottom:15px"/>' 
    119                                                         + '     <label>'+get_lang('To')+':</label>' 
    120                                                         + '     <input style="margin-left: 6px;" type="text" id="txt_para" size="39">' 
    121                                                         + '     <br style="margin-bottom:15px"/>' 
    122                                                         + '     <label>'+get_lang('Cc')+':</label>' 
    123                                                         + '     <input style="margin-left: 6px;" type="text" id="txt_cc" size="39">' 
    124                                                         + '     <br style="margin-bottom:15px"/>' 
    125                                                         + '     <label>'+get_lang('Subject')+':</label>' 
    126                                                         + '     <input style="margin-left: 6px;" type="text" id="txt_ass" size="39">' 
    127                                                         + '     <br style="margin-bottom:15px"/>' 
    128                                                         + '     <label>'+get_lang('Message body')+':</label>' 
    129                                                         + '     <input style="margin-left: 6px;" type="text" id="txt_body" size="39">' 
    130  
    131                                                         + '     <br style="margin-bottom:30px"/>' 
    132                                                         + '     <label>'+get_lang("Since Date")+':</label>' 
    133                                                         + '     <input style="margin-left: 6px;" type="text" id="since_date" size="8" maxlength="10" onkeypress="return dateMask(this, event);">' 
    134                                                         + '     <img id="since_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 
    135                                                         + '     <label style="margin-left: 20px;">'+get_lang('Before Date')+':</label>' 
    136                                                         + '     <input style="margin-left: 6px;" type="text" id="before_date" size="8" maxlength="10" onkeypress="return dateMask(this, event);">' 
    137                                                         + '     <img id="before_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 
    138                                                         + '     <br style="margin-bottom:15px"/>' 
    139  
    140                                                         + '     <label>'+get_lang('On Date')+':</label>' 
    141                                                         + '     <input style="margin-left: 6px;" type="text" id="on_date" size="8" maxlength="10" onkeypress="return dateMask(this, event);">' 
    142                                                         + '     <img style="margin-right: -8px" id="on_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/><span>&nbsp;&nbsp;</span>' 
    143                                                         + '     <br style="margin-bottom:30px"/>' 
    144  
    145                                                         + '     <label>'+get_lang('Flags')+':</label>' 
    146                                                         + '     <select style="width:15em; margin-left: 6px" name="flagged" id="flagged">' 
    147                                                         + '     <option value=""/>' 
    148                                                         + '     <option value="FLAGGED">'+ get_lang("Flagged") +'</option>' 
    149                                                         + '     <option value="UNFLAGGED">'+ get_lang("Unflagged") +'</option>' 
    150                                                         + '     </select>' 
    151                                                         + '     <br style="margin-bottom:15px"/>' 
    152                                                         + '     <select style="width:15em;" name="seen" id="seen">' 
    153                                                         + '     <option value=""/>' 
    154                                                         + '     <option value="SEEN">'+ get_lang("Seen") +'</option>' 
    155                                                         + '     <option value="UNSEEN">'+ get_lang("Unseen") +'</option>' 
    156                                                         + '     </select>' 
    157                                                         + '     <br style="margin-bottom:15px"/>' 
    158                                                         + '     <select style="width:15em;" name="answered" id="answered">' 
    159                                                         + '     <option value=""/>' 
    160                                                         + '     <option value="ANSWERED">'+ get_lang('Answered/Forwarded') +'</option>' 
    161                                                         + '     <option value="UNANSWERED">'+ get_lang('Unanswered/Unforwarded') +'</option>' 
    162                                                         + '     </select>' 
    163                                                         + '     <br style="margin-bottom:15px"/>' 
    164                                                         + '     <select style="width:15em;" name="recent" id="recent">' 
    165                                                         + '     <option value=""/>' 
    166                                                         + '     <option value="RECENT">'+ get_lang('Recent') +'</option>' 
    167                                                         + '     <option value="OLD">'+ get_lang('Old') +'</option>' 
    168                                                         + '     </select>' 
    169  
    170                                                         + '     <br style="margin-bottom:60px"/>' 
    171                                                         + '</fieldset>' 
    172                                                         + '<fieldset style="width:350px; padding: 5px; position:absolute; margin-left: 414px">' 
    173                                                         + '     <legend>'+get_lang('Search the messages in these folders')+'</legend>' 
    174                                                         + '     <div id="folders" style="width:160px; height:150px;float:left;margin-bottom:10px;"></div>' 
    175                                                         + '     <div style="float:left;height:100px;padding-top:50px;margin: 0 3px;">' 
    176                                                         + '             <input type="button" id="incluir" name="incluir" value=">>" onclick="EsearchE.add_mailboxes()">' 
    177                                                         + '             <br style="margin-bottom:15px">' 
    178                                                         + '             <input type="button" id="excluir" name="excluir" value="<<" onclick="EsearchE.del_mailboxes()">' 
    179                                                         + '     </div>' 
    180                                                         + ' <div style="float:left;">' 
    181                                                         + '      <select multiple id="sel_search_nm_box1" name="sel_search_nm_box1" style="width:140px;height:150px;"></select>' 
    182                                                         + ' </div>' 
    183                                                         + '     <br clear="both">' 
    184                                                         + '     <input type="checkBox" id="check_all_msg" name="check_all_msg" onclick="EsearchE.all_mailboxes()">' 
    185                                                         + '     <b>'+get_lang('In all the folders')+'</b>' 
    186                                                         + '</fieldset>'; 
     116                        form_sch.id  = "form_sch"; 
     117 
     118            form_sch.innerHTML =  '<fieldset style="width:400px; text-align:right; padding: 5px; position:absolute;">' 
     119                                                + '     <legend>'+get_lang('Inform your search in the text fields')+'</legend>' 
     120                                                + '     <label>'+get_lang("From")+':</label>' 
     121                                                + '     <input style="margin-left: 6px;" type="text" id="txt_de" size="39">' 
     122                                                + '     <br style="margin-bottom:15px"/>' 
     123                                                + '     <label>'+get_lang('To')+':</label>' 
     124                                                + '     <input style="margin-left: 6px;" type="text" id="txt_para" size="39">' 
     125                                                + '     <br style="margin-bottom:15px"/>' 
     126                                                + '     <label>'+get_lang('Cc')+':</label>' 
     127                                                + '     <input style="margin-left: 6px;" type="text" id="txt_cc" size="39">' 
     128                                                + '     <br style="margin-bottom:15px"/>' 
     129                                                + '     <label>'+get_lang('Subject')+':</label>' 
     130                                                + '     <input style="margin-left: 6px;" type="text" id="txt_ass" size="39">' 
     131                                                + '     <br style="margin-bottom:15px"/>' 
     132                                                + '     <label>'+get_lang('Message body')+':</label>' 
     133                                                + '     <input style="margin-left: 6px;" type="text" id="txt_body" size="39">' 
     134 
     135                                                + '     <br style="margin-bottom:30px"/>' 
     136                        + '     <label>'+get_lang("Since Date")+':</label>' 
     137                        + '     <input style="margin-left: 6px;" type="text" id="since_date" size="8">' 
     138                        + '     <img id="since_date-trigger" src="../phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 
     139                        + '     <label style="margin-left: 20px;">'+get_lang('Before Date')+':</label>' 
     140                        + '     <input style="margin-left: 6px;" type="text" id="before_date" size="8">' 
     141                        + '     <img id="before_date-trigger" src="../phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 
     142                        + '     <br style="margin-bottom:15px"/>' 
     143 
     144                        + '     <label>'+get_lang('On Date')+':</label>' 
     145                        + '     <input style="margin-left: 6px;" type="text" id="on_date" size="8">' 
     146                        + '     <img style="margin-right: -8px" id="on_date-trigger" src="../phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>&nbsp;&nbsp;</spam>' 
     147                        + '     <br style="margin-bottom:30px"/>' 
     148 
     149                        + '     <label>'+get_lang('Flags')+':</label>' 
     150                        + '     <select style="width:15em; margin-left: 6px" name="flagged" id="flagged">' 
     151                        + '     <option value=""/>' 
     152                        + '     <option value="FLAGGED">'+ get_lang("Flagged") +'</option>' 
     153                        + '     <option value="UNFLAGGED">'+ get_lang("Unflagged") +'</option>' 
     154                        + '     </select>' 
     155                        + '     <br style="margin-bottom:15px"/>' 
     156                        + '     <select style="width:15em;" name="seen" id="seen">' 
     157                        + '     <option value=""/>' 
     158                        + '     <option value="SEEN">'+ get_lang("Seen") +'</option>' 
     159                        + '     <option value="UNSEEN">'+ get_lang("Unseen") +'</option>' 
     160                        + '     </select>' 
     161                        + '     <br style="margin-bottom:15px"/>' 
     162                        + '     <select style="width:15em;" name="answered" id="answered">' 
     163                        + '     <option value=""/>' 
     164                        + '     <option value="ANSWERED">'+ get_lang('Answered/Forwarded') +'</option>' 
     165                        + '     <option value="UNANSWERED">'+ get_lang('Unanswered/Unforwarded') +'</option>' 
     166                        + '     </select>' 
     167                        + '     <br style="margin-bottom:15px"/>' 
     168                        + '     <select style="width:15em;" name="recent" id="recent">' 
     169                        + '     <option value=""/>' 
     170                        + '     <option value="RECENT">'+ get_lang('Recent') +'</option>' 
     171                        + '     <option value="OLD">'+ get_lang('Old') +'</option>' 
     172                        + '     </select>' 
     173 
     174                        + '     <br style="margin-bottom:60px"/>' 
     175                                                + '</fieldset>' 
     176                                                + '<fieldset style="width:350px; padding: 5px; position:absolute; margin-left: 414px">' 
     177                                                + '     <legend>'+get_lang('Search the messages in these folders')+'</legend>' 
     178                                                + '     <div id="folders" style="width:160px; height:150px;float:left;margin-bottom:10px;"></div>' 
     179                                                + '     <div style="float:left;height:100px;padding-top:50px;margin: 0 3px;">' 
     180                                                + '             <input type="button" id="incluir" name="incluir" value=">>" onclick="EsearchE.add_mailboxes()">' 
     181                                                + '             <br style="margin-bottom:15px">' 
     182                                                + '             <input type="button" id="excluir" name="excluir" value="<<" onclick="EsearchE.del_mailboxes()">' 
     183                                                + '     </div>' 
     184                                                + ' <div style="float:left;">' 
     185                                                + '      <select multiple id="sel_search_nm_box1" name="sel_search_nm_box1" style="width:140px;height:150px;"></select>' 
     186                                                + ' </div>' 
     187                                                + '     <br clear="both">' 
     188                                                + '     <input type="checkBox" id="check_all_msg" name="check_all_msg" onclick="EsearchE.all_mailboxes()">' 
     189                                                + '     <b>'+get_lang('In all the folders')+'</b>' 
     190                                                + '</fieldset>'; 
    187191 
    188192                return form_sch; 
     
    190194 
    191195        // Pastas; 
    192         searchE.prototype.mount_folders = function(){ 
     196        searchE.prototype.mount_folders = function() 
     197        { 
    193198                connector.loadScript("TreeS"); 
    194199 
    195                 if( Element("div_folders_search") == null){ 
     200                if( Element("div_folders_search") == null) 
     201                { 
    196202                        var div_folders = document.createElement("DIV"); 
    197203                                div_folders.id = "div_folders_search"; 
     
    209215                ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","",""); 
    210216        } 
    211         function openpage(data){ 
    212                 delete_border(currentTab,false); 
    213                 EsearchE.mount_result(data); 
    214         } 
    215  
    216         searchE.prototype.show_paging = function(size){ 
    217                 if (size > preferences.max_email_per_page) 
    218                 { 
    219                         if (Element("span_paging"+currentTab)){ 
    220                                 Element("span_paging"+currentTab).style.display = ''; 
    221                                 Element("span_paging"+currentTab).innerHTML = ""; 
    222                         } 
    223                         else{ 
    224                                 var span_paging = document.createElement('SPAN'); 
    225                                 span_paging.id = "span_paging"+currentTab; 
    226                                 Element("div_menu_c3").appendChild(span_paging); 
    227                         } 
    228                         if(this.page > 1){ 
    229                                 var fLink = document.createElement('A'); 
    230                                 fLink.innerHTML = '&lt; &lt;'; 
    231                                 fLink.href = 'javascript:EsearchE.page=0;'+ 
    232                                         'cExecute("$this.imap_functions.search_msg",openpage,'+ 
    233                                         '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 
    234                                 Element("span_paging"+currentTab).appendChild(fLink); 
    235                         } 
    236                         if(this.page > 2){ 
    237                                 var prevLink = document.createElement('A'); 
    238                                 prevLink.innerHTML = '...'; 
    239                                 prevLink.href = 'javascript:EsearchE.page='+ 
    240                                         (this.page-1)+';'+ 
    241                                         'cExecute("$this.imap_functions.search_msg",openpage,'+ 
    242                                         '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+(this.page-1)+'");'; 
    243                                 Element("span_paging"+currentTab).appendChild(prevLink); 
    244                         } 
    245                         for (var i=(this.page > 2 ? this.page-2 : 0); i <= parseInt(this.page)+4; i+= 1){ 
    246                                 if (i*preferences.max_email_per_page > size) 
     217         
     218        function openpage(data) 
     219        { 
     220                var _data                       = [3]; 
     221                var _gears                      = []; 
     222        var local_folders       = []; 
     223 
     224        // Gears - local 
     225                if ( preferences.use_local_messages == 1 ) 
     226                { 
     227                        temp = expresso_local_messages.list_local_folders(); 
     228                        for (var x in temp) 
     229                        { 
     230                                local_folders.push(temp[x][0]); 
     231                        } 
     232                } 
     233                 
     234                if ( local_folders.length > 0 ) 
     235                        _gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() ); 
     236 
     237                _data['data']                   = data['data']; 
     238                _data['num_msgs']               = data['num_msgs']; 
     239                _data['gears_num_msgs'] = _gears.length; 
     240 
     241                delete_border( currentTab, false); 
     242                 
     243                EsearchE.mount_result(_data); 
     244        } 
     245 
     246        searchE.prototype.show_paging = function(size) 
     247        { 
     248                var span_pg = Element("span_paging"+currentTab); 
     249                 
     250                if( span_pg == null ) 
     251                { 
     252                        span_pg         = document.createElement('span'); 
     253                        span_pg.id      = "span_paging"+currentTab; 
     254                } 
     255                else 
     256                        span_pg.innerHTML = ""; 
     257                 
     258                if ( size > preferences.max_email_per_page ) 
     259                { 
     260                        for ( var i = (this.page > 2 ? this.page-2 : 0) ; i <= parseInt( this.page )+4 ; i+= 1 ) 
     261                        { 
     262                                if( ( i * preferences.max_email_per_page ) > size) 
     263                                { 
    247264                                        break; 
    248                                 if (this.page == i) 
    249                                         Element("span_paging"+currentTab).innerHTML += "<b> "+(this.page+1)+" </b>"; 
     265                                } 
     266 
     267                                if( this.page == i ) 
     268                                { 
     269                                        var _link = document.createElement('span'); 
     270                                                _link.setAttribute("style", "font-weight:bold; color:red") 
     271                                                _link.innerHTML = ( this.page + 1 ) + "&nbsp;&nbsp;"; 
     272                                } 
    250273                                else 
    251274                                { 
    252                                         var pageLink = document.createElement('A'); 
    253                                         pageLink.innerHTML = (i+1)+" "; 
    254                                         pageLink.href = 'javascript:EsearchE.page='+i+';'+ 
    255                                                 'cExecute("$this.imap_functions.search_msg",openpage,'+ 
    256                                                 '"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+this.page+'");'; 
    257                                         Element("span_paging"+currentTab).appendChild(pageLink); 
    258                                 } 
    259                         } 
    260                         if (size > preferences.max_email_per_page) 
    261                         { 
    262                                 var lLink = document.createElement('A'); 
    263                                 lLink.innerHTML = '&gt; &gt;'; 
    264                                 lLink.href = 'javascript:EsearchE.page='+parseInt(size/preferences.max_email_per_page)+';'+ 
    265                                         'cExecute("$this.imap_functions.search_msg",openpage,'+ 
    266                                         '"condition='+this.condition+'&sort_type='+this.sort_type+'&page=0");'; 
    267                                 Element("span_paging"+currentTab).appendChild(lLink); 
    268                         } 
    269                 } 
    270  
    271         } 
     275                                        var _page = i; 
     276                                        var _link = document.createElement('A');                                         
     277                                                _link.innerHTML = ( _page + 1 ) + "&nbsp;&nbsp;"; 
     278                                                _link.href  = 'javascript:EsearchE.page='+i+';'; 
     279                                                _link.href += 'cExecute("$this.imap_functions.search_msg",openpage,"condition='+this.condition+'&sort_type='+this.sort_type+'&page='+_page+'");'; 
     280                                } 
     281                                                 
     282                                span_pg.appendChild( _link ); 
     283                        } 
     284 
     285                        Element("div_menu_c3").appendChild(span_pg); 
     286                } 
     287        } 
     288 
     289        searchE.prototype.searchFor = function( borderID, sortType ) 
     290        { 
     291                var border_id   = borderID; 
     292                var sort_type   = sortType; 
     293 
     294                 
     295                var args   = "$this.imap_functions.search_msg"; 
     296                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type="+sort_type; 
     297 
     298                var handler = function( data ) 
     299                { 
     300                var allMsg                      = [3]; 
     301                var gears                       = []; 
     302                var local_folders       = []; 
     303 
     304                if ( preferences.use_local_messages == 1 ) 
     305                { 
     306                        temp = expresso_local_messages.list_local_folders(); 
     307                         
     308                        for (var x in temp) 
     309                        { 
     310                                local_folders.push( temp[x][0] ); 
     311                        } 
     312 
     313                 
     314                        if ( local_folders.length > 0 ) 
     315                                gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() ); 
     316                } 
     317                 
     318                if( data['num_msgs'] ) 
     319            { 
     320                allMsg['data']                          = data['data']; 
     321                allMsg['num_msgs']                      = data['num_msgs']; 
     322                allMsg['gears_num_msgs']        = gears.length; 
     323            } 
     324                 
     325                delete_border( border_id, false ); 
     326                         
     327                        EsearchE.mount_result( allMsg , sort_type );  
     328                }; 
     329                cExecute(args,handler,params); 
     330        } 
     331         
     332        searchE.prototype.viewLocalMessage = function() 
     333        { 
     334                var data                        = [2]; 
     335                var gears                       = []; 
     336                var local_folders       = []; 
     337                 
     338        // Gears - local 
     339                if ( preferences.use_local_messages == 1 ) 
     340                { 
     341                        temp = expresso_local_messages.list_local_folders(); 
     342                         
     343                        for (var x in temp) 
     344                        { 
     345                                local_folders.push( temp[x][0] ); 
     346                        } 
     347 
     348                        if ( local_folders.length > 0 ) 
     349                                gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() ); 
     350 
     351                         
     352                         
     353                         
     354                         
     355                        data['data_gears']      = gears; 
     356                        data['num_msgs']        = gears.length; 
     357         
     358                write_msg( data['num_msgs'] + " " + get_lang("results found") ); 
     359                         
     360                        EsearchE.mount_result( data ); 
     361                } 
     362        } 
     363         
    272364        // Form resultado 
    273         searchE.prototype.mount_result = function(Rdata,sort_type){ 
    274                 var data = Rdata['data']; 
    275                 if (data == undefined) 
     365        searchE.prototype.mount_result = function( Data, sort_type ) 
     366        { 
     367                var data = ( Data['data'] ) ? Data['data'] : Data['data_gears']; 
     368                 
     369                if ( data == undefined ) 
    276370                        return; 
    277                 if(this.page == 0) 
    278                         write_msg(Rdata['num_msgs']+" "+get_lang("results found")); 
     371                 
    279372                var cont = parseInt(0); 
    280373 
    281                 if (typeof(sort_type) != 'undefined') 
     374                if ( typeof(sort_type) != 'undefined') 
    282375                        this.sort_type = sort_type; 
    283376                else 
     
    285378 
    286379                numBox++; 
    287                  
    288                 var border_id = create_border(get_lang("Search Results"), "search_" + numBox); 
    289          
     380 
     381                if( Data['data'] ) 
     382                        var border_id = create_border(get_lang("Search Results"), "search_" + numBox); 
     383                 
     384                if( Data['data_gears']) 
     385                        var border_id = create_border(get_lang("Search Results"), "search_local_msg" + numBox); 
     386                         
    290387                if (!border_id) 
    291         { 
    292388            return; 
    293         } 
    294389 
    295390        currentTab = border_id; 
    296391        openTab.content_id[currentTab] = Element('content_id_search_' + numBox); 
    297392        openTab.type[currentTab] = 1; 
     393         
    298394                var table = document.createElement("TABLE"); 
    299                 table.id    = "table_resultsearch_" + numBox; 
    300                 table.frame = "void"; 
    301                 table.rules = "rows"; 
    302                 table.cellPadding = "0"; 
    303                 table.cellSpacing = "0"; 
    304                 table.className = "table_box"; 
     395                        table.id    = "table_resultsearch_" + numBox; 
     396                        table.frame = "void"; 
     397                        table.rules = "rows"; 
     398                        table.cellPadding       = "0"; 
     399                        table.cellSpacing       = "0"; 
     400                        table.className         = "table_box"; 
    305401 
    306402                var tbody               = document.createElement("TBODY"); 
    307403                        tbody.id        = "tbody_box_" + numBox; 
    308404 
    309                 for( var i=0; i < data.length; i++){ 
     405                for( var i=0; i < data.length; i++) 
     406                { 
    310407                        var tr = document.createElement("TR"); 
    311                         tr.style.height = preferences.line_height; 
     408                                tr.style.height = preferences.line_height; 
     409                         
    312410                        var aux = data[i]; 
    313411                        var mailbox = aux.boxname;  
    314412                        var uid_msg = aux.uid;  
    315413                        var subject = aux.subject;  
     414                         
    316415                        tr.id = uid_msg+"_s"+global_search; 
    317416 
     
    320419                        tr.name = mailbox; 
    321420 
    322                         if (aux.flag.match("U")) 
     421                        if ( aux.flag.match("U") ) 
    323422                                add_className(tr,'tr_msg_unread'); 
     423                         
    324424                        add_className(tr, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 
    325             var _onclick = function () { proxy_mensagens.get_msg(this.parentNode.id,url_encode(this.parentNode.getAttribute('name')),false,show_msg);}; 
     425                         
     426                        var _onclick = function() 
     427                        { 
     428                                proxy_mensagens.get_msg(this.parentNode.id,url_encode(this.parentNode.getAttribute('name')),false,show_msg); 
     429                        }; 
     430                         
    326431            for(var j=0 ; j <= 10 ; j++) 
    327432                        { 
     
    349454                                        td.id = "td_message_answered_"+uid_msg; 
    350455                                        if (aux.flag.match('X')) 
    351                                                 td1 = '<img src=templates/'+template+'/images/forwarded.gif title="Encaminhada">'; 
     456                                                td1 = '<img src=templates/'+template+'/images/forwarded.gif title=Forwarded>'; 
    352457                                        else 
    353458                                                if (aux.flag.match('A')) 
    354                                                         td1 = '<img src=templates/'+template+'/images/answered.gif title="Respondida">'; 
     459                                                        td1 = '<img src=templates/'+template+'/images/answered.gif>'; 
    355460                                                else 
    356461                                                        td1 = ''; 
     
    359464                                { 
    360465                                        td.style.width = "1%"; 
    361                                         td.id = "td_message_important_"+uid_msg;  
     466                                        td.id = "td_message_important_"+uid_msg; 
    362467                                        if (aux.flag.match("F")) 
    363468                                        { 
    364469                                                add_className(tr, 'flagged_msg'); 
    365470                                                td.style.background = "url(templates/"+template+"/images/important.gif) no-repeat center"; 
    366                                                 td.title = "Importante"; 
    367471                                        } 
    368472                                        else 
     
    375479                                        td1 = ''; 
    376480                                } 
    377                                 if (j == 5) 
     481                                 
     482                                if ( j == 5 ) 
    378483                                { 
    379484                                        td.style.width = "20%"; 
     
    387492                                         
    388493                                        var td1  = get_lang(td1).substr(get_lang(td1).length-1) == "*"?td1:get_lang(td1); 
    389                                         if ((tmp = translatedFolders.get(td1))) 
    390                                         { 
    391                                             td1 = tmp; 
    392                                         } 
     494                    if ((tmp = translatedFolders.get(td1))) 
     495                    { 
     496                        td1 = tmp; 
     497                    } 
    393498 
    394499                                        if( proxy_mensagens.is_local_folder(td1)) 
     
    397502                                        } 
    398503                                } 
    399                                 if( j == 6) 
     504                                 
     505                                if( j == 6 ) 
    400506                                { 
    401507                                        if (aux.from.length > 29) 
    402508                                                aux.from = aux.from.substr(0,29) + "..."; 
     509                                         
    403510                                        td.style.width = "20%"; 
    404511                                        td.onclick = _onclick; 
     
    407514                                        var td1  =  '<div style="width:100%;overflow:hidden">'+aux.from+"</div>"; 
    408515                                } 
    409                                 if( j == 7) 
     516                                 
     517                                if( j == 7 ) 
    410518                                { 
    411519                                        var subject_encode = url_encode(subject); 
     520                                         
    412521                                        if (! subject_encode) 
    413522                                                aux.subject = get_lang("no subject") + "..."; 
    414                                         if (aux.subject.length > 45) 
    415                                                 aux.subject = aux.subject.substr(0,45) + "..."; 
     523                                        if (aux.subject.length > 70) 
     524                                                aux.subject = aux.subject.substr(0,70) + "..."; 
     525                                         
    416526                                        td.style.width = "35%"; 
    417527                                        td.onclick = _onclick; 
    418                                         td.setAttribute("NoWrap","true"); 
    419                                         td.style.overflow = "hidden"; 
    420                                         var td1  = aux.subject; 
    421  
    422                                 } 
    423                                 if( j == 8) 
    424                                 { 
    425                                         td.style.width = "13%"; 
    426                                         td.align = "center"; 
    427                                         td.onclick = _onclick; 
    428                                         var _dat = new Date(aux.udate*1000);  
    429                                         var td1 = _dat.getDate()+"/"+(_dat.getMonth()+1)+"/"+_dat.getFullYear();  
    430                                 } 
    431                                 if( j == 9) 
     528                                        td.setAttribute("NoWrap","true"); 
     529                    td.style.overflow = "hidden"; 
     530 
     531                    var td1  = aux.subject; 
     532                                } 
     533                                 
     534                                if( j == 8 ) 
     535                                { 
     536                                        td.style.width  = "13%"; 
     537                                        td.align                = "center"; 
     538                                        td.onclick              = _onclick; 
     539 
     540                                        if( validate_date( aux.udate ) ) 
     541                                        { 
     542                                                var td1 = aux.udate; 
     543                                        } 
     544                                        else 
     545                                        { 
     546                                                var dt  = new Date( aux.udate * 1000 ); 
     547                            var td1      = dt.getDate() + "/"; 
     548                             
     549                            if( !( dt.getMonth() + 1 ).toString().match(/\d{2}/) ) 
     550                                td1 += "0"+( dt.getMonth() + 1 ) + "/"; 
     551                            else 
     552                                td1 += ( dt.getMonth() + 1 ) + "/"; 
     553                             
     554                            td1 += dt.getFullYear(); 
     555                                        } 
     556                                } 
     557 
     558                                if( j == 9 ) 
    432559                                { 
    433560                                        td.style.width = "10%"; 
     
    436563                                        var td1  = borkb(aux.size); 
    437564                                } 
    438                                 if (j == 10) 
     565                                 
     566                                if( j == 10 ) 
    439567                                { 
    440568                                        if (aux.flag.match("U")) 
     
    447575                                tr.appendChild(td); 
    448576                        } 
    449                         aux.splice(0,(aux.length)); 
    450  
    451                 _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox); 
    452                 tbody.appendChild(tr); 
    453                 } 
     577                 
     578            _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox); 
     579            tbody.appendChild(tr); 
     580                } 
     581                 
    454582                global_search++; //Tabs from search must not have the same id on its tr's 
    455583                 
    456584                table.appendChild(tbody); 
    457585 
    458         var content_search =  Element('content_id_search_' + numBox); 
    459         var div_scroll_result = document.createElement("DIV"); 
    460         div_scroll_result.id = "divScrollMain_"+numBox; 
    461         div_scroll_result.style.overflow = "auto"; 
    462  
     586                var content_search =  Element('content_id_search_' + numBox); 
     587                var div_scroll_result = document.createElement("DIV"); 
     588                        div_scroll_result.id = "divScrollMain_"+numBox; 
     589                        div_scroll_result.style.overflow = "auto"; 
     590         
    463591                if(is_ie) 
    464592                        Element("border_table").width = "99.5%"; 
     
    479607                chk_box_element.onclick = function(){select_all_search_messages(this.checked,content_search.id);}; 
    480608                chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages.')}; 
    481                 chk_box_element.onkeydown = function (e){ 
     609                chk_box_element.onkeydown = function (e) 
     610                { 
    482611                        if (is_ie) 
    483612                        { 
     
    496625                td_element1.setAttribute("width", "20%"); 
    497626                td_element1.align = "left"; 
    498                 if (sort_type == 'SORTBOX') 
    499                 { 
    500                         td_element1.onclick = function () { 
    501                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX_REVERSE'); }; 
    502                                 var args   = "$this.imap_functions.search_msg"; 
    503                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX_REVERSE"; 
    504                                 cExecute(args,handler,params); 
    505                         }; 
    506                         td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     627                 
     628                var arrow_ascendant = function(Text) 
     629                { 
     630                        return "<b>" + Text + "</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     631                } 
     632                 
     633                // Ordernar Pasta 
     634                if ( sort_type == 'SORTBOX') 
     635                { 
     636                        if( Data['data'] ) 
     637                        { 
     638                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX_REVERSE'); }; 
     639 
     640                        } 
     641                        else 
     642                        { 
     643                                //alert('Ordenando localMessage'); 
     644                        } 
     645                         
     646                        td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    507647                } 
    508648                else 
    509649                { 
    510                         td_element1.onclick = function () { 
    511                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTBOX'); }; 
    512                                 var args   = "$this.imap_functions.search_msg"; 
    513                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTBOX"; 
    514                                 cExecute(args,handler,params); 
    515                         }; 
    516                         if  (sort_type == 'SORTBOX_REVERSE') 
    517                                 td_element1.innerHTML ="<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     650                        if( Data['data'] ) 
     651                        { 
     652                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX'); }; 
     653                         
     654                        } 
    518655                        else 
    519                                 td_element1.innerHTML = get_lang("Folder"); 
    520                 } 
     656                        { 
     657                                //alert('Ordenando localMessage'); 
     658                        } 
     659                        td_element1.innerHTML   = ( sort_type == 'SORTBOX_REVERSE' ) ? arrow_ascendant(get_lang("Folder")) : get_lang("Folder"); 
     660                } 
     661                 
     662                // Ordernar Quem 
    521663                td_element2 = document.createElement("TD"); 
    522664                td_element2.setAttribute("width", "20%"); 
    523665                td_element2.align = "left"; 
     666 
    524667                if (sort_type == 'SORTWHO') 
    525668                { 
    526                         td_element2.onclick = function () { 
    527                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO_REVERSE'); }; 
    528                                 var args   = "$this.imap_functions.search_msg"; 
    529                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO_REVERSE"; 
    530                                 cExecute(args,handler,params); 
    531                         }; 
    532                         td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     669                        if(Data['data']) 
     670                        { 
     671                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO_REVERSE'); }; 
     672                        } 
     673                        else 
     674                        { 
     675                                //alert('Ordenando localMessage'); 
     676                        } 
     677                        td_element2.innerHTML   = "<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    533678                } 
    534679                else 
    535680                { 
    536                         td_element2.onclick = function () { 
    537                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTWHO'); }; 
    538                                 var args   = "$this.imap_functions.search_msg"; 
    539                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTWHO"; 
    540                                 cExecute(args,handler,params); 
    541                         }; 
    542                         if  (sort_type == 'SORTWHO_REVERSE') 
    543                                 td_element2.innerHTML ="<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     681                        if( Data['data'] ) 
     682                        { 
     683                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO'); }; 
     684                        } 
    544685                        else 
    545                                 td_element2.innerHTML = get_lang("who"); 
    546                 } 
     686                        { 
     687                                //alert('Ordenando localMessage'); 
     688                        } 
     689                        td_element2.innerHTML   = ( sort_type == 'SORTWHO_REVERSE' ) ? arrow_ascendant(get_lang("who")) : get_lang("who"); 
     690                } 
     691                 
     692                // Ordernar Subject 
    547693                td_element3 = document.createElement("TD"); 
    548694                td_element3.setAttribute("width", "35%"); 
    549695                td_element3.align = "left"; 
     696                 
    550697                if (sort_type == 'SORTSUBJECT') 
    551698                { 
    552                         td_element3.onclick = function () { 
    553                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT_REVERSE'); }; 
    554                                 var args   = "$this.imap_functions.search_msg"; 
    555                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT_REVERSE"; 
    556                                 cExecute(args,handler,params); 
    557                         }; 
    558                         td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     699                        if( Data['data']) 
     700                        { 
     701                                td_element3.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSUBJECT_REVERSE'); }; 
     702                        } 
     703                        else 
     704                        { 
     705                                //alert('Ordenando localMessage'); 
     706                        } 
     707                        td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    559708                } 
    560709                else 
    561710                { 
    562                         td_element3.onclick = function () { 
    563                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSUBJECT'); }; 
    564                                 var args   = "$this.imap_functions.search_msg"; 
    565                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSUBJECT"; 
    566                                 cExecute(args,handler,params); 
    567                         }; 
    568                         if  (sort_type == 'SORTSUBJECT_REVERSE') 
    569                                 td_element3.innerHTML ="<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     711                        if( Data['data'] ) 
     712                        { 
     713                                td_element3.onclick             = function(){ EsearchE.searchFor( border_id, 'SORTSUBJECT'); }; 
     714                        } 
    570715                        else 
    571                                 td_element3.innerHTML = get_lang("subject"); 
    572                 } 
     716                        { 
     717                                //alert('Ordenando localMessage'); 
     718                        } 
     719                        td_element3.innerHTML   = ( sort_type == 'SORTSUBJECT_REVERSE' ) ? arrow_ascendant(get_lang("subject")) : get_lang("subject"); 
     720                } 
     721                 
     722                // Ordernar Data 
    573723                td_element4 = document.createElement("TD"); 
    574724                td_element4.setAttribute("width", "12%"); 
    575725                td_element4.align = "center"; 
    576                 if (sort_type == 'SORTDATE') 
    577                 { 
    578                         td_element4.onclick = function () { 
    579                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE_REVERSE'); }; 
    580                                 var args   = "$this.imap_functions.search_msg"; 
    581                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE_REVERSE"; 
    582                                 cExecute(args,handler,params); 
    583                         }; 
    584                         td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     726                 
     727                if ( sort_type == 'SORTDATE' ) 
     728                { 
     729                        if( Data['data'] ) 
     730                        { 
     731                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE_REVERSE'); }; 
     732                        } 
     733                        else 
     734                        { 
     735                                //alert('Ordenando localMessage'); 
     736                        } 
     737                        td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    585738                } 
    586739                else 
    587740                { 
    588                         td_element4.onclick = function () { 
    589                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTDATE'); }; 
    590                                 var args   = "$this.imap_functions.search_msg"; 
    591                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTDATE"; 
    592                                 cExecute(args,handler,params); 
    593                         }; 
    594                         if  (sort_type == 'SORTDATE_REVERSE') 
    595                                 td_element4.innerHTML ="<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     741                        if( Data['data'] ) 
     742                        { 
     743                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE'); }; 
     744                        } 
    596745                        else 
    597                                 td_element4.innerHTML = get_lang("Date"); 
    598                 } 
     746                        { 
     747                                //alert('Ordenando localMessage'); 
     748                        } 
     749                        td_element4.innerHTML   = ( sort_type == 'SORTDATE_REVERSE' ) ? arrow_ascendant(get_lang("Date")) : get_lang("Date"); 
     750                }                        
     751 
     752                // Ordernar Tamanho 
    599753                td_element5 = document.createElement("TD"); 
    600754                td_element5.setAttribute("width", "8%"); 
    601755                td_element5.align = "center"; 
    602                 if (sort_type == 'SORTSIZE') 
    603                 { 
    604                         td_element5.onclick = function () { 
    605                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE_REVERSE'); }; 
    606                                 var args   = "$this.imap_functions.search_msg"; 
    607                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE_REVERSE"; 
    608                                 cExecute(args,handler,params); 
    609                         }; 
    610                         td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
     756                 
     757                if ( sort_type == 'SORTSIZE' ) 
     758                { 
     759                        if( Data['data'] ) 
     760                        { 
     761                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE_REVERSE'); }; 
     762                        } 
     763                        else 
     764                        { 
     765                                //alert('Ordenando localMessage'); 
     766                        } 
     767                        td_element5.innerHTML   = "<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>"; 
    611768                } 
    612769                else 
    613770                { 
    614                         td_element5.onclick = function () { 
    615                                 var handler = function(data){ delete_border(border_id,false); EsearchE.mount_result(data,'SORTSIZE'); }; 
    616                                 var args   = "$this.imap_functions.search_msg"; 
    617                                 var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type=SORTSIZE"; 
    618                                 cExecute(args,handler,params); 
    619                         }; 
    620                         if  (sort_type == 'SORTSIZE_REVERSE') 
    621                                 td_element5.innerHTML ="<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>"; 
     771                        if( Data['data'] ) 
     772                        {        
     773                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE'); }; 
     774                        } 
    622775                        else 
    623                                 td_element5.innerHTML = get_lang("Size"); 
    624                 } 
     776                        { 
     777                                //alert('Ordenando localMessage'); 
     778                        } 
     779                        td_element5.innerHTML   = ( sort_type == 'SORTSIZE_REVERSE' ) ? arrow_ascendant(get_lang("size")) : get_lang("size"); 
     780                } 
     781                 
    625782                tr_element.appendChild(td_element0); 
    626783                tr_element.appendChild(td_element1); 
     
    631788                tbody_element.appendChild(tr_element); 
    632789                table_element.appendChild(tbody_element); 
     790 
     791                if( parseInt( Data['gears_num_msgs'] ) > 0 ) 
     792                { 
     793                        var _div_gears = document.createElement("div"); 
     794                                _div_gears.onclick = function(){ EsearchE.viewLocalMessage(); }; 
     795                                _div_gears.setAttribute("style", "cursor: pointer; background: none repeat scroll 0% 0% rgb(255, 238, 187); color: red; line-height: 2em; font-size: 1.2em; text-align: center;"); 
     796                                _div_gears.innerHTML = get_lang("The search has% 1 messages stored locally. Want to see them ? Click here.", Data['gears_num_msgs']); 
     797 
     798                        content_search.appendChild(_div_gears);          
     799                }                
     800 
    633801                content_search.appendChild(table_element); 
     802 
    634803                /*end of "put header"*/ 
    635  
    636                 if (!expresso_offline) { 
    637 /*                      var span_options = document.createElement("SPAN"); 
    638                         if (span_options) 
    639                                 span_options.innerHTML = '<span title="' + get_lang("Delete") + '" style="margin-top:3px;margin-left:8px" class="message_options" onclick="javascript:move_search_msgs(\'' + content_search.id + '\');">' + get_lang("Delete") + '</span> | ' + 
    640                                 '<span title="' + 
    641                                 get_lang("Move") + 
    642                                 '" class="message_options" onclick=wfolders.makeWindowNew(\"' + 
    643                                 content_search.id + 
    644                                 '\",\"move_to\",true)>' + 
    645                                 get_lang("Move") + 
    646                                 '</span>';*/ 
     804                if ( !expresso_offline ) 
     805                { 
    647806                        div_scroll_result.appendChild(table); 
    648807                        content_search.appendChild(div_scroll_result); 
    649                         /*if (span_options) 
    650                                 content_search.appendChild(span_options);*/ 
    651                 } 
    652                 else { 
     808                } 
     809                else 
     810                { 
    653811                        div_scroll_result.appendChild(table); 
    654812                        content_search.appendChild(div_scroll_result); 
    655813                } 
     814                 
    656815                resizeWindow(); 
    657                 EsearchE.show_paging(Rdata['num_msgs']); 
    658  
    659         } 
    660  
    661         searchE.prototype.open_msg = function(mailbox, uid_msg, subject){ 
    662                 var handler_get_msg = function(data){ 
    663                         if(Element("border_id_" + uid_msg + "_r")){alert(get_lang("This message is already opened!"));} 
    664                         else{draw_message(data,create_border(url_decode(subject), uid_msg + "_r"));} 
    665                         //set_msg_as_read(msgs_to_set[i], false); 
    666                 } 
     816 
     817                EsearchE.show_paging( Data['num_msgs'] ); 
     818        } 
     819 
     820        searchE.prototype.open_msg = function(mailbox, uid_msg, subject) 
     821        { 
     822                var handler_get_msg = function(data) 
     823                { 
     824                        if( Element("border_id_" + uid_msg + "_r") ) 
     825                                alert(get_lang("This message is already opened!")); 
     826                        else 
     827                                draw_message( data, create_border(url_decode(subject), uid_msg + "_r") ); 
     828                } 
     829                 
    667830                proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg); 
    668                 /*var args   = "$this.imap_functions.get_info_msg"; 
    669                 var params = "msg_number=" + uid_msg + "&msg_folder=" + mailbox; 
    670                 cExecute(args,handler_get_msg,params);*/ 
    671  
    672831        } 
    673832 
    674833        // Adiciona caixas postais na busca; 
    675         searchE.prototype.add_mailboxes = function(){ 
     834        searchE.prototype.add_mailboxes = function() 
     835        { 
    676836                var sel = Element("sel_search_nm_box1"); 
    677837                if (!proxy_mensagens.is_local_folder(this.name_box_search)) { 
     
    709869                sel[sel.length] = opt; 
    710870        } 
    711         // Remove as caixas postais na busca; 
    712         searchE.prototype.del_mailboxes = function(){ 
     871 
     872        //      Remove as caixas postais na busca; 
     873        searchE.prototype.del_mailboxes = function() 
     874        { 
    713875                var sel = Element("sel_search_nm_box1"); 
    714                 if(sel.length > 0){ 
    715                         for(var i=0; i < sel.options.length; i++){ 
    716                                 if(sel.options[i].selected == true){ 
     876                if(sel.length > 0) 
     877                { 
     878                        for(var i=0; i < sel.options.length; i++) 
     879                        { 
     880                                if(sel.options[i].selected == true) 
     881                                { 
    717882                                        sel.options[i] = null; 
    718883                                        i--; 
     
    722887 
    723888        } 
     889 
    724890        // todas as caixas 
    725         searchE.prototype.all_mailboxes = function(){ 
     891        searchE.prototype.all_mailboxes = function() 
     892        { 
    726893                var value = Element("check_all_msg").checked; 
    727894                var cont = parseInt(0); 
    728                 if(value){ 
    729                         if(EsearchE.all_boxes.length > 0){ 
     895                if(value) 
     896                { 
     897                        if(EsearchE.all_boxes.length > 0) 
     898                        { 
    730899                                EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length)); 
    731900                        } 
    732                         for(var i=0; i < folders.length; i++){ 
    733                                 EsearchE.all_boxes[cont] = folders[i].folder_id; 
    734                                 cont++; 
    735                         } 
    736                 }else{ 
     901                        for(var i=0; i < folders.length; i++) 
     902                        { 
     903                                EsearchE.all_boxes[cont++] = folders[i].folder_id; 
     904                        } 
     905                } 
     906                else 
     907                { 
    737908                        EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length)); 
    738909                } 
     
    740911 
    741912        // Search; 
    742         searchE.prototype.func_search = function(value){ 
     913        searchE.prototype.func_search = function(value) 
     914        { 
    743915                var fields = "##"; 
    744916                        // Verifica se os campos estão preenchidos; 
     
    758930                                fields += "CC " + "<=>" + url_encode(Element("txt_cc").value) + "##"; 
    759931                        } 
    760                         if (trim(Element("since_date").value) != ""){ 
    761                             if (validate_date(Element("since_date").value)) 
    762                             { 
    763                                 fields += "SINCE " + "<=>" + url_encode(Element("since_date").value) + "##"; 
    764                             } 
    765                             else 
    766                                 { 
    767                                     alert(get_lang('Invalid date on field %1'), get_lang('Since Date')); 
    768                                     return false; 
    769                                 } 
    770                         } 
    771                         if (trim(Element("before_date").value) != ""){ 
    772                             if (validate_date(Element("before_date").value)) 
    773                             { 
    774                                 fields += "BEFORE " + "<=>" + url_encode(Element("before_date").value) + "##"; 
    775                             } 
    776                             else 
    777                                 { 
    778                                     alert(get_lang('Invalid date on field %1'), get_lang('Before Date')); 
    779                                     return false; 
    780                                 } 
    781                         } 
    782                         if(trim(Element("on_date").value) != ""){ 
    783                             if (validate_date(Element("on_date").value)) 
    784                             { 
    785                                 fields += "ON " + "<=>" + url_encode(Element("on_date").value) + "##"; 
    786                             } 
    787                             else 
    788                                 { 
    789                                     alert(get_lang('Invalid date on field %1'), get_lang('On Date')); 
    790                                     return false; 
    791                                 } 
    792  
    793                         } 
    794                         if(trim(Element("flagged").options[Element("flagged").selectedIndex].value) != ""){ 
    795                             if (Element("flagged").options[Element("flagged").selectedIndex].value == "FLAGGED"){ 
    796                                 fields += "FLAGGED##"; 
    797                             } 
    798                             else { 
    799                                 fields += "UNFLAGGED##"; 
    800                             } 
    801                         } 
    802                         if(trim(Element("seen").options[Element("seen").selectedIndex].value) != ""){ 
    803                             if (Element("seen").options[Element("seen").selectedIndex].value == "SEEN"){ 
    804                                 fields += "SEEN##"; 
    805                             } 
    806                             else { 
    807                                 fields += "UNSEEN##"; 
    808                             } 
    809                         } 
    810                         if(trim(Element("answered").options[Element("answered").selectedIndex].value) != ""){ 
    811                             //switch (Element("answered").options[Element("answered").selectedIndex].value){ 
    812                             //    case "FORWARDED": 
    813                             //        fields += "ANSWERED##DRAFT##"; 
    814                             //        break; 
    815                             //    case "ANSWERED": 
    816                             //        fields += "ANSWERED##UNDRAFT"; 
    817                             //        break; 
    818                             //    case "UNFORWARDED": 
    819                             //        fields += "UNDRAFT##"; 
    820                             //    case "UNANSWERED": 
    821                             //        fields += "UNANSWERED##"; 
    822                             //} 
    823                             if (Element("answered").options[Element("answered").selectedIndex].value == "ANSWERED"){ 
    824                                 fields += "ANSWERED##"; 
    825                             } 
    826                             else { 
    827                                 fields += "UNANSWERED##"; 
    828                             } 
    829                         } 
    830                         if(trim(Element("recent").options[Element("recent").selectedIndex].value) != ""){ 
    831                             if (Element("answered").options[Element("answered").selectedIndex].value == "RECENT"){ 
    832                                 fields += "RECENT##"; 
    833                             } 
    834                             else { 
    835                                 fields += "OLD##"; 
    836                             } 
    837                         } 
    838                         if(value) { 
     932            if (trim(Element("since_date").value) != "") 
     933            { 
     934                if (validate_date(Element("since_date").value)) 
     935                { 
     936                    fields += "SINCE " + "<=>" + url_encode(Element("since_date").value) + "##"; 
     937                } 
     938                else 
     939                { 
     940                        alert(get_lang('Invalid date on field %1'), get_lang('Since Date')); 
     941                        return false; 
     942                } 
     943            } 
     944 
     945            if (trim(Element("before_date").value) != "") 
     946            { 
     947                if (validate_date(Element("before_date").value)) 
     948                { 
     949                    fields += "BEFORE " + "<=>" + url_encode(Element("before_date").value) + "##"; 
     950                } 
     951                else 
     952                    { 
     953                        alert(get_lang('Invalid date on field %1'), get_lang('Before Date')); 
     954                        return false; 
     955                    } 
     956            } 
     957 
     958            if(trim(Element("on_date").value) != "") 
     959            { 
     960                if (validate_date(Element("on_date").value)) 
     961                { 
     962                    fields += "ON " + "<=>" + url_encode(Element("on_date").value) + "##"; 
     963                } 
     964                else 
     965                { 
     966                        alert(get_lang('Invalid date on field %1'), get_lang('On Date')); 
     967                    return false; 
     968                } 
     969 
     970            } 
     971 
     972            if(trim(Element("flagged").options[Element("flagged").selectedIndex].value) != "") 
     973            { 
     974                if (Element("flagged").options[Element("flagged").selectedIndex].value == "FLAGGED") 
     975                { 
     976                    fields += "FLAGGED##"; 
     977                } 
     978                else 
     979                { 
     980                    fields += "UNFLAGGED##"; 
     981                } 
     982            } 
     983 
     984            if(trim(Element("seen").options[Element("seen").selectedIndex].value) != "") 
     985            { 
     986                if (Element("seen").options[Element("seen").selectedIndex].value == "SEEN") 
     987                { 
     988                    fields += "SEEN##"; 
     989                } 
     990                else 
     991                { 
     992                    fields += "UNSEEN##"; 
     993                } 
     994            } 
     995             
     996            if(trim(Element("answered").options[Element("answered").selectedIndex].value) != "") 
     997            { 
     998                if (Element("answered").options[Element("answered").selectedIndex].value == "ANSWERED"){ 
     999                    fields += "ANSWERED##"; 
     1000                } 
     1001                else { 
     1002                    fields += "UNANSWERED##"; 
     1003                } 
     1004            } 
     1005             
     1006            if(trim(Element("recent").options[Element("recent").selectedIndex].value) != "") 
     1007            { 
     1008                if (Element("answered").options[Element("answered").selectedIndex].value == "RECENT") 
     1009                { 
     1010                    fields += "RECENT##"; 
     1011                } 
     1012                else 
     1013                { 
     1014                    fields += "OLD##"; 
     1015                } 
     1016            } 
     1017 
     1018            if ( value ) 
     1019            { 
    8391020                                fields = "##ALL " +  "<=>" +url_encode(value) + "##"; 
    8401021                        } 
    8411022 
    842                 if(fields == "##"){ 
     1023                if(fields == "##") 
     1024                { 
    8431025                        alert(get_lang("Define some search parameters!")); 
    8441026                        return false; 
    8451027                } 
     1028                 
    8461029                var local_folders = new Array(); 
    8471030                var temp; 
    8481031 
    849                 if(Element("check_all_msg").checked){ 
     1032                if( Element("check_all_msg").checked ) 
     1033                { 
    8501034                        this.all_mailboxes(); 
    8511035                        var nm_box = new Array; 
    852                         for(var i=0; i < EsearchE.all_boxes.length; i++){ 
     1036                        for(var i=0; i < EsearchE.all_boxes.length; i++) 
     1037                        { 
    8531038                                nm_box[i] = EsearchE.all_boxes[i] + fields; 
    8541039                        } 
    855                         if (preferences.use_local_messages == 1) { 
     1040                        if (preferences.use_local_messages == 1) 
     1041                        { 
    8561042                                temp = expresso_local_messages.list_local_folders(); 
    857                                 for (var x in temp) { 
     1043                                for (var x in temp) 
     1044                                { 
    8581045                                        local_folders.push(temp[x][0]); 
    8591046                                } 
    8601047                        } 
    861                 }else{ 
     1048                } 
     1049                else 
     1050                { 
    8621051                        var nm_box = new Array; 
    8631052                        var sel_combo = Element("sel_search_nm_box1"); 
    864                         if( sel_combo.options.length <= 0){ 
     1053                         
     1054                        if( sel_combo.options.length <= 0) 
     1055                        { 
    8651056                                alert(get_lang("Define the boxes to search!")); 
    8661057                                return false; 
    8671058                        } 
    8681059 
    869                         for(var i=0; i < sel_combo.options.length; i++){ 
     1060                        for(var i=0; i < sel_combo.options.length; i++) 
     1061                        { 
    8701062                                sel_combo.options[i].selected = true; 
    8711063                        } 
    872                         for(var i=0; i < sel_combo.options.length; i++){ 
    873                                 if(sel_combo.options[i].selected == true){ 
     1064                         
     1065                        for(var i=0; i < sel_combo.options.length; i++) 
     1066                        { 
     1067                                if( sel_combo.options[i].selected == true ) 
     1068                                { 
    8741069                                        if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value)) 
    8751070                                                nm_box[nm_box.length] = sel_combo.options[i].value + fields; 
     
    8791074                        } 
    8801075                } 
    881                 var handler = function(data){ 
    882                         if (data == "none") 
    883                                 alert(get_lang('no results found')); 
    884                         else 
    885                                 EsearchE.mount_result(data,'SORTDATE'); 
    886  
    887                 } 
    888                 var args   = "$this.imap_functions.search_msg"; 
    889                 this.condition = nm_box; 
    890                 var params = "condition=" + nm_box+ 
    891                         "&page=0"+ 
    892                         "&sort_type=SORTDATE"; 
    893                 this.page = 0; 
    894                 if(expresso_offline) 
     1076                 
     1077                var handler = function( data ) 
     1078                { 
     1079                var allMsg      = [3]; 
     1080                var count       = data['data'].length; 
     1081                        var tmp         = []; 
     1082 
     1083                        // Gears - local 
     1084                        if ( local_folders.length > 0 ) 
     1085                                tmp = expresso_local_messages.search( local_folders, fields ); 
     1086 
     1087            if( data['num_msgs'] ) 
     1088            { 
     1089                allMsg['data']          = data['data']; 
     1090                allMsg['num_msgs']      = data['num_msgs']; 
     1091            }  
     1092 
     1093                if( tmp.length > 0 )     
     1094            { 
     1095                        allMsg['gears_num_msgs'] = tmp.length ; 
     1096            } 
     1097             
     1098                if( ( data['num_msgs'] ) == 0 ) 
     1099                { 
     1100                alert( get_lang("None result was found.") ); 
     1101                } 
     1102            else 
     1103            { 
     1104                write_msg( data['num_msgs'] + " " + get_lang("results found") ); 
     1105                EsearchE.mount_result( allMsg, 'SORTDATE' ); 
     1106            } 
     1107                } 
     1108 
     1109                this.condition  = nm_box; 
     1110                this.page               = 0; 
     1111                var args                = "$this.imap_functions.search_msg"; 
     1112                var params              = "condition=" + nm_box+ "&page=0"+ "&sort_type=SORTDATE"; 
     1113                 
     1114                if( expresso_offline ) 
    8951115                        handler('none'); 
    8961116                else 
    897                         cExecute(args,handler,params); 
     1117                        cExecute( args, handler, params); 
    8981118        } 
    8991119        // clean; 
    900         searchE.prototype.func_clean = function(){ 
     1120        searchE.prototype.func_clean = function() 
     1121        { 
    9011122                // Limpa os campos; 
    902                 for(var i=0; i < this.txtfields.length; i++){ 
    903                         if(Element(this.txtfields[i]) != null){Element(this.txtfields[i]).value = "";} 
    904                 } 
    905  
    906                 for(i = 0; i < this.selectFields.length; i++) 
    907                 { 
    908                     if (Element(this.selectFields[i])) 
    909                     { 
    910                         Element(this.selectFields[i]).selectedIndex = 0; 
    911                     } 
    912                 } 
    913             if(Element("check_all_msg") != null){Element("check_all_msg").checked = false;} 
     1123                for( var i=0; i < this.txtfields.length; i++ ) 
     1124                { 
     1125                        if( Element(this.txtfields[i]) != null ) 
     1126                                Element(this.txtfields[i]).value = ""; 
     1127                } 
     1128 
     1129        for(i = 0; i < this.selectFields.length; i++) 
     1130        { 
     1131            if (Element(this.selectFields[i])) 
     1132                Element(this.selectFields[i]).selectedIndex = 0; 
     1133        } 
     1134         
     1135            if( Element("check_all_msg") != null ) 
     1136                Element("check_all_msg").checked = false; 
    9141137 
    9151138            EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length)); 
     
    9181141 
    9191142        // close 
    920         searchE.prototype.func_close = function(type){ 
     1143        searchE.prototype.func_close = function(type) 
     1144        { 
    9211145                var _this = this; 
    9221146                _this.name_box_search = ""; 
     
    9261150        } 
    9271151        // Monta a janela em tela; 
    928         searchE.prototype.showWindow = function(div){ 
    929                 if(!this.searchW[div.id]) { 
     1152        searchE.prototype.showWindow = function(div) 
     1153        { 
     1154                if(!this.searchW[div.id]) 
     1155                { 
    9301156                        div.style.width = "804px"; 
    9311157                        div.style.height = "440px"; 
     
    9511177                        this.searchW[div.id] = win; 
    9521178                        win.draw(); 
    953                 }else{ 
     1179                } 
     1180                else 
     1181                { 
    9541182                        var _this = this; 
    9551183                        win = this.searchW[div.id]; 
     
    9601188        } 
    9611189 
    962         searchE.prototype.aux_local_folder_display = function(folder) { 
     1190        searchE.prototype.aux_local_folder_display = function(folder) 
     1191        { 
    9631192                if(!expresso_offline) 
    9641193                        return "(Local) " + lang_folder(folder.substr(6)); 
Note: See TracChangeset for help on using the changeset viewer.