source: trunk/expressoMail1_2/js/search.js @ 4821

Revision 4821, 41.2 KB checked in by roberto.santosjunior, 13 years ago (diff)

Ticket #1820 - Tela não é atualizada após apagar mensagens.r4686

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1/**************************************************************************\
2 Início
3\**************************************************************************/
4        function searchE()
5        {
6                this.searchW            = [];
7                this.condition          = "";
8                this.sort_type          = "";
9                this.page                       = 0;
10                this.name_box_search = "";
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");
15        }
16
17        //Monta os forms dentro da janela;
18        searchE.prototype.showForms = function(value)
19        {
20                // Principal
21                if(!Element("window_search"))
22                {
23                        var form_search = document.createElement("DIV");
24                        form_search.style.visibility = 'hidden';
25                        form_search.style.top = '0px';
26                        form_search.style.left = '0px';
27                        form_search.id = "window_search";
28                        document.body.appendChild(form_search);
29                }
30
31                // Pesquisa
32                if(!Element("div_form_search"))
33                {
34                        var div_form_search = document.createElement("DIV");
35                        div_form_search.id = "div_form_search";
36                        div_form_search.style.position = "absolute";
37                        div_form_search.style.left = "10px";
38                        div_form_search.style.top  = "10px";
39                        div_form_search.style.borderStyle = "outset";
40                        div_form_search.style.borderColor = "black";
41                        div_form_search.style.borderWidth = "1px";
42                        div_form_search.style.width = "784px";
43                        div_form_search.style.height = "418px";
44                        div_form_search.style.overflow = "hidden";
45                        div_form_search.innerHTML = "";
46                        var call_form_search = EsearchE.mount_form();
47                        div_form_search.appendChild(call_form_search);
48                        form_search.appendChild(div_form_search);
49
50                        Calendar._TT['WEEKEND'] = '0,6'; // hack
51                        Calendar._TT['DAY_FIRST'] = 'Mostrar %s primeiro';
52                        Calendar.setup({
53                            inputField  : 'since_date',
54                            button      : 'since_date-trigger',
55                            ifFormat    : '%d/%m/%Y',
56                            daFormat    : '%d/%m/%Y'
57                        });
58
59                        Calendar.setup({
60                            inputField  : 'before_date',
61                            button      : 'before_date-trigger',
62                            ifFormat    : '%d/%m/%Y',
63                            daFormat    : '%d/%m/%Y'
64                        });
65
66                        Calendar.setup({
67                            inputField  : 'on_date',
68                            button      : 'on_date-trigger',
69                            ifFormat    : '%d/%m/%Y',
70                            daFormat    : '%d/%m/%Y'
71                        });
72
73                }
74
75                if(!Element("div_button_search")){
76                        var div_button_search    = document.createElement("DIV");
77                                div_button_search.id = "div_button_search";
78                                div_button_search.style.position = "absolute";
79                                div_button_search.style.marginLeft = "430px";
80                                div_button_search.style.top = "223px";
81                                div_button_search.style.width = "350px";
82                                div_button_search.style.height = "25px";
83                                div_button_search.innerHTML = "<table style='width: 100%;' border='0' cellpadding='0' cellspacing='0' align='center'>"+
84                                                                                          "<tr>"+
85                                                                                          "<td width='33%' align='center'><input type='button' value=" + get_lang('Search') + " onclick='EsearchE.func_search()'></td>"+
86                                                                                          "<td width='33%' align='center'><input type='button' value=" + get_lang('Clean') + " onclick='EsearchE.func_clean()'></td>"+
87                                                                                          "<td width='33%' align='center'><input type='button' value=" + get_lang('Close') + " onclick='EsearchE.func_close(\"hidden\")'></td>"+
88                                                                                          "</tr>"+
89                                                                                          "</table>";
90                                form_search.appendChild(div_button_search);
91                }
92
93                if(!Element("table_layer")){
94                        var table_layer    = "";
95                }
96
97                if(value == "")
98                        EsearchE.showWindow(Element("window_search"));
99
100                // Cria as caixas postais;
101                EsearchE.mount_folders();
102
103                if(value)
104                {
105                        Element("check_all_msg").checked = true;
106                        EsearchE.all_mailboxes();
107                        EsearchE.func_search(value);
108                }
109
110        }
111       
112        //Form
113        searchE.prototype.mount_form = function(value)
114        {
115                var form_sch = document.createElement("FORM");
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" maxlength="10" onkeypress="return dateMask(this, event);">'
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" maxlength="10" onkeypress="return dateMask(this, event);">'
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" maxlength="10" onkeypress="return dateMask(this, event);">'
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;"/><span>&nbsp;&nbsp;</span>'
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;visibility:hidden;" 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>';
191
192                return form_sch;
193        }
194
195        // Pastas;
196        searchE.prototype.mount_folders = function()
197        {
198                connector.loadScript("TreeS");
199
200                if( Element("div_folders_search") == null)
201                {
202                        var div_folders = document.createElement("DIV");
203                                div_folders.id = "div_folders_search";
204                                div_folders.style.width = "155px";
205                                div_folders.style.height = "152px";
206                                div_folders.style.borderStyle = "outset";
207                                div_folders.style.borderColor = "black";
208                                div_folders.style.borderWidth = "1px";
209                                div_folders.style.background  = "#F7F7F7";
210                                div_folders.style.overflow = "auto";
211                                div_folders.innerHTML = "";
212                                var dest_div = Element("folders");
213                                dest_div.appendChild(div_folders);
214                }
215                ttree.make_tree(folders,"div_folders_search","_folders_tree_search","","","","");
216        }
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( data['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                                {
264                                        break;
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                                }
273                                else
274                                {
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+'&current_tab='+currentTab+'");';
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                var is_local = border_id.match('.*_local_.*');
295
296                var args   = "$this.imap_functions.search_msg";
297                var params = "condition="+EsearchE.condition+"&page="+EsearchE.page+"&sort_type="+sort_type;
298
299                var handler = function( data )
300                {
301                var allMsg                      = [3];
302                var gears                       = [];
303                var local_folders       = [];
304
305                if ( preferences.use_local_messages == 1 && is_local)
306                {
307                        temp = expresso_local_messages.list_local_folders();
308                       
309                        for (var x in temp)
310                        {
311                                local_folders.push( temp[x][0] );
312                        }
313
314               
315                        if ( local_folders.length > 0 ){
316                            expresso_local_messages.setSortType(sortType);
317                            gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() );
318                        }
319                }
320               
321                if( data['num_msgs'])
322            {
323                allMsg['data']                          = data['data'];
324                allMsg['num_msgs']                      = data['num_msgs'];
325               
326            }
327
328            if (gears.length > 0)
329            {
330                allMsg['data_gears']                    = gears;
331            }
332               
333                delete_border( border_id, false );
334                       
335                        EsearchE.mount_result( allMsg , sort_type );
336                };
337
338                if (is_local)
339                {
340                    eval("handler('none')");
341                }
342                else
343                {
344                    cExecute(args,handler,params);
345                }
346        }
347       
348        searchE.prototype.viewLocalMessage = function()
349        {
350                var data                        = [2];
351                var gears                       = [];
352                var local_folders       = [];
353               
354        // Gears - local
355                if ( preferences.use_local_messages == 1 )
356                {
357                        temp = expresso_local_messages.list_local_folders();
358                       
359                        for (var x in temp)
360                        {
361                                local_folders.push( temp[x][0] );
362                        }
363
364                        if ( local_folders.length > 0 )
365                                gears = expresso_local_messages.search( local_folders, expresso_local_messages.getFilter() );
366
367                        data['data_gears']      = gears;
368                        data['num_msgs']        = gears.length;
369       
370                write_msg( data['num_msgs'] + " " + get_lang("results found") );
371                       
372                        EsearchE.mount_result( data, 'SORTDATE' );
373                }
374        }
375       
376        searchE.prototype.make_tr_message = function(aux,border_id,i) {
377                var tr = document.createElement("TR");
378                if(typeof(preferences.line_height) != 'undefined')
379                        tr.style.height = preferences.line_height;
380
381                var mailbox = aux.boxname;
382                var uid_msg = aux.uid;
383                var subject = aux.subject;
384
385                tr.id = uid_msg+"_s"+numBox;
386
387                // Keep the two lines together please
388                tr.setAttribute('name',mailbox);
389                tr.name = mailbox;
390
391                if ( aux.flag.match("U") )
392                        add_className(tr,'tr_msg_unread');
393
394                add_className(tr, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read');
395
396                var _onclick = function()
397                {
398                        proxy_mensagens.get_msg(this.parentNode.id,url_encode(this.parentNode.getAttribute('name')),false,show_msg);
399                };
400
401                for(var j=0 ; j <= 10 ; j++)
402                {
403                        var td = document.createElement("TD");
404                        if (j == 0)
405                        {
406                                td.setAttribute("width", colSizes[1][0]);
407                                var chk_onclick;
408                                if (is_ie)
409                                        chk_onclick = "changeBgColor(window.event,"+uid_msg+");";
410                                else
411                                        chk_onclick = "changeBgColor(event,"+uid_msg+");";
412                                var td1 = '<input type="checkbox" onclick="' + chk_onclick + '" id="' + border_id + '_check_box_message_'+uid_msg+'"></input>';
413
414                        }
415                        if (j == 1)
416                        {
417                                td.setAttribute("width", colSizes[1][1]);
418                                if (aux.flag.match('T'))
419                                {
420                                        attachNum = parseInt(aux.flag.substr(aux.flag.indexOf('T')+1));
421                                        td1 = "<img src='templates/"+template+"/images/clip.gif' title='"+attachNum +' '+ get_lang('attachment(s)')+"'>";
422                                }
423                                else
424                                        td1 = '';
425                        }
426                        if (j == 2)
427                        {
428                                td.setAttribute("width", colSizes[1][2]);
429                                td.id = "td_message_answered_"+uid_msg;
430                                if (aux.flag.match('X'))
431                                        td1 = '<img src=templates/'+template+'/images/forwarded.gif title="'+get_lang('Forwarded')+'">';
432                                else
433                                        if (aux.flag.match('A'))
434                                                td1 = '<img src=templates/'+template+'/images/answered.gif title="'+get_lang('Answered')+'">';
435                                        else
436                                                td1 = '';
437                        }
438                        if (j == 3)
439                        {
440                                td.setAttribute("width", colSizes[1][3]);
441                                td.id = "td_message_important_"+uid_msg;
442                                if (aux.flag.match("F"))
443                                {
444                                        add_className(tr, 'flagged_msg');
445                                        td1 = "<img src='templates/"+template+"/images/important.gif' title='"+get_lang('Flagged')+"'>";
446                                }
447                                else
448                                        td1 = '';
449                        }
450                        if (j == 4)
451                        {
452                                td.setAttribute("width", colSizes[1][4]);
453                                td.id = "td_message_sent_"+uid_msg;
454                                td1 = '';
455                        }
456
457                        if ( j == 5 )
458                        {
459                                td.setAttribute("width", colSizes[1][5]);
460                                td.className = "td_resizable";
461                                td.onclick = _onclick;
462                                var nm_box = aux.boxname.split(cyrus_delimiter);
463                                var td1 = nm_box.pop();
464                                td.setAttribute("NoWrap","true");
465                                td.style.overflow = "hidden";
466                                td.style.color = "#42795b";
467                                td.style.fontWeight = "bold";
468
469                                var td1  = get_lang(td1).substr(get_lang(td1).length-1) == "*"?td1:get_lang(td1);
470
471                                                                        td1 = translateFolder(td1);
472
473
474                                if( proxy_mensagens.is_local_folder(td1))
475                                {
476                                        var td1 = this.aux_local_folder_display(td1);
477                                }
478                        }
479
480                        if( j == 6 )
481                        {
482                                if (aux.from.length > 29)
483                                        aux.from = aux.from.substr(0,29) + "...";
484
485                                td.setAttribute("width", colSizes[1][6]);
486                                td.className = "td_resizable";
487                                td.onclick = _onclick;
488                                td.setAttribute("NoWrap","true");
489                                                                        td.style.overflow = "hidden";
490                                var td1  =  '<div style="width:100%;overflow:hidden">'+aux.from+"</div>";
491                        }
492
493                        if( j == 7 )
494                        {
495                                var subject_encode = url_encode(subject);
496
497                                if (! subject_encode)
498                                        aux.subject = get_lang("no subject") + "...";
499                                if (aux.subject.length > 70)
500                                        aux.subject = aux.subject.substr(0,70) + "...";
501
502                                td.setAttribute("width", colSizes[1][7]);
503                                td.className = "td_resizable";
504                                td.onclick = _onclick;
505                                td.setAttribute("NoWrap","true");
506                                td.style.overflow = "hidden";
507
508                                var td1  = aux.subject;
509                        }
510
511                        if( j == 8 )
512                        {
513                                td.setAttribute("width", colSizes[1][8]);
514                                td.className = "td_resizable";
515                                td.align                = "center";
516                                td.onclick              = _onclick;
517
518                                if( validate_date( aux.udate ) )
519                                {
520                                        var td1 = aux.udate;
521                                }
522                                else
523                                {
524                                        var dt  = new Date( aux.udate * 1000 );
525                                        var td1  = dt.getDate() + "/";
526
527                                        if( !( dt.getMonth() + 1 ).toString().match(/\d{2}/) )
528                                                td1 += "0"+( dt.getMonth() + 1 ) + "/";
529                                        else
530                                                td1 += ( dt.getMonth() + 1 ) + "/";
531
532                                        td1 += dt.getFullYear();
533                                }
534                        }
535
536                        if( j == 9 )
537                        {
538                                td.setAttribute("width", colSizes[1][9]);
539                                td.className = "td_resizable";
540                                td.align = "center";
541                                td.onclick = _onclick;
542                                var td1  = borkb(aux.size);
543                        }
544
545                        if( j == 10 )
546                        {
547                                if (aux.flag.match("U"))
548                                        add_className(tr, 'tr_msg_unread');
549                                if (aux.flag.match("F"))
550                                        add_className(tr, 'flagged_msg');
551                                var td1 = '';
552                        }
553                        if (j<10) {
554                                td.innerHTML = td1;
555                                tr.appendChild(td);
556                        }
557                }
558
559                _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox);
560
561                return tr;
562        }
563
564        // Form resultado
565        searchE.prototype.mount_result = function( Data, sort_type, keep_border )
566        {
567                var data = ( Data['data'] ) ? Data['data'] : Data['data_gears'];
568               
569                if ( data == undefined )
570                        return;
571               
572                var cont = parseInt(0);
573
574                if ( typeof(sort_type) != 'undefined')
575                        this.sort_type = sort_type;
576                else
577                        sort_type = this.sort_type;
578
579                if ( keep_border ) {
580                        var border_id = currentTab;
581                }
582                else {
583                        numBox++;
584
585                        if( Data['data'] )
586                                var border_id = create_border(get_lang("Server Results"), "search_" + numBox);
587
588                        if( Data['data_gears'])
589                                var border_id = create_border(get_lang("Local Results"), "search_local_msg" + numBox);
590                }
591
592                if (!border_id)
593            return;
594
595        currentTab = border_id;
596        openTab.content_id[currentTab] = Element('content_id_search_' + numBox);
597        openTab.type[currentTab] = 1;
598                openTab.condition[currentTab] = this.condition;
599
600                if ( keep_border ) {
601                        var content_search =  Element('content_id_' + border_id);
602                        var div_scroll_result = Element("divScrollMain_"+numBox);
603                        content_search.removeChild(div_scroll_result);
604                }
605
606                var table = document.createElement("TABLE");
607                        table.id    = "table_resultsearch_" + numBox;
608                        table.frame = "void";
609                        table.rules = "rows";
610                        table.cellPadding       = "0";
611                        table.cellSpacing       = "0";
612                        table.className         = "table_box";
613
614                var tbody               = document.createElement("TBODY");
615                        tbody.id        = "tbody_box_" + numBox;
616
617                for( var i=0; i < data.length; i++)
618                {
619                        var tr = EsearchE.make_tr_message(data[i],border_id,i);
620
621            tbody.appendChild(tr);
622                }
623               
624                //global_search++; //Tabs from search must not have the same id on its tr's // use numBox instead of this!
625               
626                table.appendChild(tbody);
627
628                var colgr_element = buildColGroup(1);
629                colgr_element.setAttribute("id","colgroup_main_"+numBox);
630                table.appendChild(colgr_element);
631
632                var content_search =  Element('content_id_' + border_id);
633                var div_scroll_result = document.createElement("DIV");
634                div_scroll_result.id = "divScrollMain_"+numBox;
635                div_scroll_result.style.overflowY = "scroll";
636                div_scroll_result.style.overflowX = "hidden";
637                div_scroll_result.style.width   ="100%";
638       
639                if (is_mozilla){
640                        div_scroll_result.style.overflow = "-moz-scrollbars-vertical";
641                        div_scroll_result.style.width   ="100%";
642                }
643
644                if(is_ie)
645                        Element("border_table").width = "99.5%";
646
647                // Put header
648                var table_element = document.createElement("TABLE");
649                var tbody_element = document.createElement("TBODY");
650                if (is_ie)
651                {
652                        table_element.attachEvent("onmousemove",changeCursorState);
653                        table_element.attachEvent("onmousedown",startColResize);
654                }
655                else {
656                        table_element.addEventListener("mousemove",changeCursorState,false);
657                        table_element.addEventListener("mousedown",startColResize,false);
658                }
659                table_element.setAttribute("id", "table_message_header_box_"+numBox);
660                table_element.className = "table_message_header_box";
661                if (!is_ie)
662                        table_element.style.width = "98.8%";
663                table_element.emptyBody = false;
664
665                tr_element = document.createElement("TR");
666                tr_element.className = "message_header";
667                td_element0 = createTDElement(1,0);
668                chk_box_element = document.createElement("INPUT");
669                chk_box_element.id  = "chk_box_select_all_messages";
670                chk_box_element.setAttribute("type", "checkbox");
671                chk_box_element.className = "checkbox";
672                chk_box_element.onclick = function(){select_all_search_messages(this.checked,content_search.id);};
673                chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages.')};
674                chk_box_element.onkeydown = function (e)
675                {
676                        if (is_ie)
677                        {
678                                if ((window.event.keyCode) == 46)
679                                        delete_msgs(current_folder,'selected','null');
680                        }
681                        else
682                        {
683                                if ((e.keyCode) == 46)
684                                        delete_msgs(current_folder,'selected','null');
685                        }
686                };
687
688                td_element0.appendChild(chk_box_element);
689                td_element01 = createTDElement(1,1);
690                td_element02 = createTDElement(1,2);
691                td_element03 = createTDElement(1,3);
692                td_element04 = createTDElement(1,4);
693                td_element1 = createTDElement(1,5,"th_resizable","left");
694               
695                var arrow_ascendant = function(Text)
696                {
697                        return "<b>" + Text + "</b><img src='templates/"+template+"/images/arrow_ascendant.gif'>";
698                }
699               
700                // Ordernar Pasta
701                if ( sort_type == 'SORTBOX')
702                {
703                        if( Data['data'] )
704                        {
705                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX_REVERSE'); };
706                                td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
707                        }
708                        else
709                        {
710                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX_REVERSE'); };
711                                td_element1.innerHTML   = "<b>"+get_lang("Folder")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
712                        }
713                }
714                else
715                {
716                        if( Data['data'] )
717                        {
718                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX'); };
719                        }
720                        else
721                        {
722                                td_element1.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTBOX'); };
723                        }
724                        td_element1.innerHTML   = ( sort_type == 'SORTBOX_REVERSE' ) ? arrow_ascendant(get_lang("Folder")) : get_lang("Folder");
725                }
726               
727                // Ordernar Quem
728                td_element2 = createTDElement(1,6,"th_resizable","left");
729
730                if (sort_type == 'SORTFROM')
731                {
732                        if(Data['data'])
733                        {
734                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTFROM_REVERSE'); };
735                                td_element2.innerHTML   = "<b>"+get_lang("From")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
736                        }
737                        else
738                        {
739                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO_REVERSE'); };
740                                td_element2.innerHTML   = "<b>"+get_lang("who")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
741                        }
742                }
743                else
744                {
745                        if( Data['data'] )
746                        {
747                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO'); };
748                        }
749                        else
750                        {
751                                td_element2.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTWHO'); };
752                        }
753                        td_element2.innerHTML   = ( sort_type == 'SORTWHO_REVERSE' ) ? arrow_ascendant(get_lang("who")) : get_lang("who");
754                }
755               
756                // Ordernar Subject
757                td_element3 = createTDElement(1,7,"th_resizable","left");
758               
759                if (sort_type == 'SORTSUBJECT')
760                {
761                        if( Data['data'])
762                        {
763                                td_element3.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSUBJECT_REVERSE'); };
764                                td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";                               
765                        }
766                        else
767                        {
768                                td_element3.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSUBJECT_REVERSE'); };
769                                td_element3.innerHTML   = "<b>"+get_lang("subject")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
770                        }
771                }
772                else
773                {
774                        if( Data['data'] )
775                        {
776                                td_element3.onclick             = function(){ EsearchE.searchFor( border_id, 'SORTSUBJECT'); };
777                        }
778                        else
779                        {
780                                td_element3.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSUBJECT'); };
781                        }
782                        td_element3.innerHTML   = ( sort_type == 'SORTSUBJECT_REVERSE' ) ? arrow_ascendant(get_lang("subject")) : get_lang("subject");
783                }
784               
785                // Ordernar Data
786                td_element4 = createTDElement(1,8,"th_resizable","center");
787               
788                if ( sort_type == 'SORTDATE' )
789                {
790                        if( Data['data'] )
791                        {
792                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE_REVERSE'); };
793                                td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
794                        }
795                        else
796                        {
797                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE_REVERSE'); };
798                                td_element4.innerHTML   = "<b>"+get_lang("Date")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
799                        }
800                }
801                else
802                {
803                        if( Data['data'] )
804                        {
805                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE'); };
806                        }
807                        else
808                        {
809                                td_element4.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTDATE'); };
810                        }
811                        td_element4.innerHTML   = ( sort_type == 'SORTDATE_REVERSE' ) ? arrow_ascendant(get_lang("Date")) : get_lang("Date");
812                }                       
813
814                // Ordernar Tamanho
815                td_element5 = createTDElement(1,9,"th_resizable","center");
816               
817                if ( sort_type == 'SORTSIZE' )
818                {
819                        if( Data['data'] )
820                        {
821                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE_REVERSE'); };
822                                td_element5.innerHTML   = "<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";                         
823                        }
824                        else
825                        {
826                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE_REVERSE'); };
827                                td_element5.innerHTML   = "<b>"+get_lang("size")+"</b><img src='templates/"+template+"/images/arrow_descendant.gif'>";
828                        }
829                }
830                else
831                {
832                        if( Data['data'] )
833                        {       
834                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE'); };
835                        }
836                        else
837                        {
838                                td_element5.onclick             = function(){ EsearchE.searchFor(border_id, 'SORTSIZE'); };
839                        }
840                        td_element5.innerHTML   = ( sort_type == 'SORTSIZE_REVERSE' ) ? arrow_ascendant(get_lang("size")) : get_lang("size");
841                }
842               
843                tr_element.appendChild(td_element0);
844                tr_element.appendChild(td_element01);
845                tr_element.appendChild(td_element02);
846                tr_element.appendChild(td_element03);
847                tr_element.appendChild(td_element04);
848                tr_element.appendChild(td_element1);
849                tr_element.appendChild(td_element2);
850                tr_element.appendChild(td_element3);
851                tr_element.appendChild(td_element4);
852                tr_element.appendChild(td_element5);
853                tbody_element.appendChild(tr_element);
854                table_element.appendChild(tbody_element);
855
856                var colgr_element = buildColGroup(1);
857                colgr_element.setAttribute("id","colgroup_head_"+numBox);
858                table_element.appendChild(colgr_element);
859
860                if( parseInt( Data['gears_num_msgs'] ) > 0 )
861                {
862                        var _div_gears = document.createElement("div");
863                                _div_gears.onclick = function(){ EsearchE.viewLocalMessage(); };
864                                _div_gears.className = 'local-messages-search-warning';
865                                _div_gears.innerHTML = get_lang("The search has% 1 messages stored locally. Want to see them ? Click here.", Data['gears_num_msgs']);
866
867                        content_search.appendChild(_div_gears);         
868                }               
869
870                var _divScroll = document.getElementById("divScrollHead_"+numBox);
871
872                if(!_divScroll){
873                        _divScroll = document.createElement("DIV");
874                        _divScroll.id = "divScrollHead_"+numBox;
875                        _divScroll.style.overflowY = "hidden";
876                        _divScroll.style.overflowX = "hidden";
877                        _divScroll.style.width  ="100%";
878
879                        if (is_mozilla){
880                                _divScroll.style.width  ="99.3%";
881                        }
882                        _divScroll.appendChild(table_element);
883                        content_search.appendChild(_divScroll);
884                }
885                /*end of "put header"*/
886                if ( !expresso_offline )
887                {
888                        div_scroll_result.appendChild(table);
889                        content_search.appendChild(div_scroll_result);
890                }
891                else
892                {
893                        div_scroll_result.appendChild(table);
894                        content_search.appendChild(div_scroll_result);
895                }
896               
897                resizeWindow();
898                if(typeof(Data.data_gears)=="undefined")
899                    EsearchE.show_paging( Data['num_msgs'] );
900        }
901
902        searchE.prototype.open_msg = function(mailbox, uid_msg, subject)
903        {
904                var handler_get_msg = function(data)
905                {
906                        if( Element("border_id_" + uid_msg + "_r") )
907                                alert(get_lang("This message is already opened!"));
908                        else
909                                draw_message( data, create_border(url_decode(subject), uid_msg + "_r") );
910                }
911               
912                proxy_mensagens.get_msg(uid_msg,mailbox,false,handler_get_msg);
913        }
914
915        // Adiciona caixas postais na busca;
916        searchE.prototype.add_mailboxes = function()
917        {
918                var sel = Element("sel_search_nm_box1");
919                if (!proxy_mensagens.is_local_folder(this.name_box_search)) {
920                        var name_box     = this.name_box_search.split(cyrus_delimiter);
921                        if(this.name_box_search == "")
922                                return false;
923                        var name_box_def = "";
924                        if(name_box.length != 1){
925                                name_box_def = name_box[(name_box.length-1)];
926                        }else{
927                                name_box_def = get_lang("Inbox");
928                        }
929                }
930                else {
931                        if(this.name_box_search=='local_root')
932                                return;
933                        if(this.name_box_search=='local_Inbox')
934                                name_box_def = get_lang("Inbox");
935                        else if(this.name_box_search.indexOf("/")!="-1") {
936                                final_pos = this.name_box_search.lastIndexOf("/");
937                                name_box_def = this.name_box_search.substr(final_pos+1);
938                        }
939                        else
940                                name_box_def = this.name_box_search.substr(6);//Retira o 'local_'
941                }
942                if( sel.length > 0){
943                        for(var i=0; i < sel.options.length; i++){
944                                if(sel.options[i].value == this.name_box_search){
945                                        alert(get_lang('This message is already selected!'));
946                                        return false;
947                                }
948                        }
949                }
950                name_box_def = translateFolder(name_box_def);
951                var opt = new Option(lang_folder(name_box_def),this.name_box_search,false,true);
952                sel[sel.length] = opt;
953        }
954
955        //      Remove as caixas postais na busca;
956        searchE.prototype.del_mailboxes = function()
957        {
958                var sel = Element("sel_search_nm_box1");
959                if(sel.length > 0)
960                {
961                        for(var i=0; i < sel.options.length; i++)
962                        {
963                                if(sel.options[i].selected == true)
964                                {
965                                        sel.options[i] = null;
966                                        i--;
967                                }
968                        }
969                }
970
971        }
972
973        // todas as caixas
974        searchE.prototype.all_mailboxes = function()
975        {
976                var value = Element("check_all_msg").checked;
977                var cont = parseInt(0);
978                if(value)
979                {
980                        if(EsearchE.all_boxes.length > 0)
981                        {
982                                EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length));
983                        }
984                        for(var i=0; i < folders.length; i++)
985                        {
986                                EsearchE.all_boxes[cont++] = folders[i].folder_id;
987                        }
988                }
989                else
990                {
991                        EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length));
992                }
993        }
994
995        // Search;
996        searchE.prototype.func_search = function(value)
997        {
998                var fields = "##";
999                        // Verifica se os campos estão preenchidos;
1000                        if(trim(Element("txt_ass").value) != ""){
1001                                fields += "SUBJECT " +  "<=>" +url_encode(Element("txt_ass").value) + "##";
1002                        }
1003                        if(trim(Element("txt_body").value) != ""){
1004                                fields += "BODY " + "<=>" + url_encode(Element("txt_body").value) + "##";
1005                        }
1006                        if(trim(Element("txt_de").value) != ""){
1007                                fields += "FROM " + "<=>" + url_encode(Element("txt_de").value) + "##";
1008                        }
1009                        if(trim(Element("txt_para").value) != ""){
1010                                fields += "TO " + "<=>" + url_encode(Element("txt_para").value) + "##";
1011                        }
1012                        if(trim(Element("txt_cc").value) != ""){
1013                                fields += "CC " + "<=>" + url_encode(Element("txt_cc").value) + "##";
1014                        }
1015            if (trim(Element("since_date").value) != "")
1016            {
1017                if (validate_date(Element("since_date").value))
1018                {
1019                    fields += "SINCE " + "<=>" + url_encode(Element("since_date").value) + "##";
1020                }
1021                else
1022                {
1023                        alert(get_lang('Invalid date on field %1', get_lang('Since Date')));
1024                        return false;
1025                }
1026            }
1027
1028            if (trim(Element("before_date").value) != "")
1029            {
1030                if (validate_date(Element("before_date").value))
1031                {
1032                    fields += "BEFORE " + "<=>" + url_encode(Element("before_date").value) + "##";
1033                }
1034                else
1035                    {
1036                        alert(get_lang('Invalid date on field %1', get_lang('Before Date')));
1037                        return false;
1038                    }
1039            }
1040
1041            if(trim(Element("on_date").value) != "")
1042            {
1043                if (validate_date(Element("on_date").value))
1044                {
1045                    fields += "ON " + "<=>" + url_encode(Element("on_date").value) + "##";
1046                }
1047                else
1048                {
1049                        alert(get_lang('Invalid date on field %1', get_lang('On Date')));
1050                    return false;
1051                }
1052
1053            }
1054
1055            if(trim(Element("flagged").options[Element("flagged").selectedIndex].value) != "")
1056            {
1057                if (Element("flagged").options[Element("flagged").selectedIndex].value == "FLAGGED")
1058                {
1059                    fields += "FLAGGED##";
1060                }
1061                else
1062                {
1063                    fields += "UNFLAGGED##";
1064                }
1065            }
1066
1067            if(trim(Element("seen").options[Element("seen").selectedIndex].value) != "")
1068            {
1069                if (Element("seen").options[Element("seen").selectedIndex].value == "SEEN")
1070                {
1071                    fields += "SEEN##";
1072                }
1073                else
1074                {
1075                    fields += "UNSEEN##";
1076                }
1077            }
1078           
1079            if(trim(Element("answered").options[Element("answered").selectedIndex].value) != "")
1080            {
1081                if (Element("answered").options[Element("answered").selectedIndex].value == "ANSWERED"){
1082                    fields += "ANSWERED##";
1083                }
1084                else {
1085                    fields += "UNANSWERED##";
1086                }
1087            }
1088           
1089            if(trim(Element("recent").options[Element("recent").selectedIndex].value) != "")
1090            {
1091                if (Element("answered").options[Element("answered").selectedIndex].value == "RECENT")
1092                {
1093                    fields += "RECENT##";
1094                }
1095                else
1096                {
1097                    fields += "OLD##";
1098                }
1099            }
1100
1101            if ( value )
1102            {
1103                                fields = "##ALL " +  "<=>" +url_encode(value) + "##";
1104                        }
1105
1106                if(fields == "##")
1107                {
1108                        alert(get_lang("Define some search parameters!"));
1109                        return false;
1110                }
1111               
1112                var local_folders = new Array();
1113                var temp;
1114
1115                if( Element("check_all_msg").checked )
1116                {
1117                        this.all_mailboxes();
1118                        var nm_box = new Array;
1119                        for(var i=0; i < EsearchE.all_boxes.length; i++)
1120                        {
1121                                nm_box[i] = EsearchE.all_boxes[i] + fields;
1122                        }
1123                        if (preferences.use_local_messages == 1)
1124                        {
1125                                temp = expresso_local_messages.list_local_folders();
1126                                for (var x in temp)
1127                                {
1128                                        local_folders.push(temp[x][0]);
1129                                }
1130                        }
1131                }
1132                else
1133                {
1134                        var nm_box = new Array;
1135                        var sel_combo = Element("sel_search_nm_box1");
1136                       
1137                        if( sel_combo.options.length <= 0)
1138                        {
1139                                alert(get_lang("Define the boxes to search!"));
1140                                return false;
1141                        }
1142
1143                        for(var i=0; i < sel_combo.options.length; i++)
1144                        {
1145                                sel_combo.options[i].selected = true;
1146                        }
1147                       
1148                        for(var i=0; i < sel_combo.options.length; i++)
1149                        {
1150                                if( sel_combo.options[i].selected == true )
1151                                {
1152                                        if(!proxy_mensagens.is_local_folder(sel_combo.options[i].value))
1153                                                nm_box[nm_box.length] = sel_combo.options[i].value + fields;
1154                                        else
1155                                                local_folders.push(sel_combo.options[i].value.substr(6));
1156                                }
1157                        }
1158                }
1159               
1160                var handler = function( data )
1161                {
1162                var allMsg      = [3];
1163                var count       = ( data['num_msgs'] ) ?  data['num_msgs'] : "0";
1164                        var tmp         = [];
1165
1166                        // Gears - local
1167                        if ( local_folders.length > 0 ){
1168                            expresso_local_messages.setSortType('SORTDATE');
1169                            tmp = expresso_local_messages.search( local_folders, fields );
1170                        }
1171
1172            if( data['num_msgs'] )
1173            {
1174                allMsg['data']          = data['data'];
1175                allMsg['num_msgs']      = data['num_msgs'];
1176            }
1177
1178                if( tmp.length > 0 )   
1179            {
1180                        allMsg['gears_num_msgs'] = tmp.length ;
1181            }
1182           
1183                if( ( data['num_msgs'] ) == 0 )
1184                {
1185                alert( get_lang("None result was found.") );
1186                }
1187            else
1188            {
1189                if( (tmp.length > 0) && (!data['num_msgs']) )
1190                {
1191                        EsearchE.viewLocalMessage();
1192                }
1193                else
1194                {
1195                        write_msg( count + " " + get_lang("results found") );
1196                        EsearchE.mount_result( allMsg, 'SORTDATE' );
1197                }
1198            }
1199                }
1200
1201                this.condition  = nm_box;
1202                this.page               = 0;
1203                var args                = "$this.imap_functions.search_msg";
1204                var params              = "condition=" + nm_box+ "&page=0"+ "&sort_type=SORTDATE";
1205               
1206                if( expresso_offline )
1207                        handler('none');
1208                else
1209                        cExecute( args, handler, params);
1210        }
1211        // clean;
1212        searchE.prototype.func_clean = function()
1213        {
1214                // Limpa os campos;
1215                for( var i=0; i < this.txtfields.length; i++ )
1216                {
1217                        if( Element(this.txtfields[i]) != null )
1218                                Element(this.txtfields[i]).value = "";
1219                }
1220
1221        for(i = 0; i < this.selectFields.length; i++)
1222        {
1223            if (Element(this.selectFields[i]))
1224                Element(this.selectFields[i]).selectedIndex = 0;
1225        }
1226       
1227            if( Element("check_all_msg") != null )
1228                Element("check_all_msg").checked = false;
1229
1230            EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length));
1231                EsearchE.del_mailboxes();
1232        }
1233
1234        // close
1235        searchE.prototype.func_close = function(type)
1236        {
1237                var _this = this;
1238                _this.name_box_search = "";
1239                EsearchE.all_boxes.splice(0,(EsearchE.all_boxes.length));
1240                _this.type = type;
1241                _this.searchW['window_search'].close();
1242        }
1243        // Monta a janela em tela;
1244        searchE.prototype.showWindow = function(div)
1245        {
1246                if(!this.searchW[div.id])
1247                {
1248                        div.style.width = "804px";
1249                        div.style.height = "440px";
1250                        div.style.visibility = "hidden";
1251                        div.style.position = "absolute";
1252                        div.style.zIndex = "10";
1253                        var title = ":: "+ get_lang("Search")+" ::";
1254                        var wHeight = div.offsetHeight + "px";
1255                        var wWidth =  div.offsetWidth   + "px";
1256
1257                        win = new dJSWin({
1258                                id: 'ccList'+div.id,
1259                                content_id: div.id,
1260                                width: wWidth,
1261                                height: wHeight,
1262                                title_color: '#3978d6',
1263                                bg_color: '#eee',
1264                                title: title,
1265                                title_text_color: 'white',
1266                                button_y_img: '../phpgwapi/images/win_min.gif',
1267                                button_x_img: '../phpgwapi/images/winclose.gif',
1268                                border: true});
1269                        this.searchW[div.id] = win;
1270                        win.draw();
1271                }
1272                else
1273                {
1274                        var _this = this;
1275                        win = this.searchW[div.id];
1276                        if((_this.type == "close" && win.state == 0) || win.state == 2){EsearchE.func_clean();}
1277                        win.draw();
1278                }
1279                win.open();     
1280        }
1281
1282        searchE.prototype.aux_local_folder_display = function(folder)
1283        {
1284                if(!expresso_offline)
1285                        return "(Local) " + lang_folder(folder.substr(6));
1286                else
1287                        return lang_folder(folder.substr(6));
1288        }
1289
1290        searchE.prototype.refresh = function(alert_new_msg){
1291                var handler_refresh = function(data){
1292                        var allMsg      = [3];
1293                        var count       = ( data['num_msgs'] ) ?  data['num_msgs'] : "0";
1294
1295                        if( data['num_msgs'] )
1296                        {
1297                                allMsg['data']          = data['data'];
1298                                allMsg['num_msgs']      = data['num_msgs'];
1299                        }
1300
1301                        if( ( data['num_msgs'] ) == 0 )
1302                        {
1303                                alert( get_lang("None result was found.") );
1304                        }
1305                        else
1306                        {
1307                                if( data['num_msgs'] )
1308                                {
1309                                        write_msg( count + " " + get_lang("results found") );
1310                                        EsearchE.mount_result( allMsg, 'SORTDATE', true );
1311                                }
1312                        }
1313                }
1314
1315                this.condition  = openTab.condition[currentTab];
1316
1317                var sort_type = (this.sort_type ? this.sort_type : 'SORTDATE');
1318
1319                if( expresso_offline )
1320                        handler('none');
1321                else
1322                        cExecute( "$this.imap_functions.search_msg", handler_refresh, "condition="+openTab.condition[currentTab]+"&page="+EsearchE.page+"&sort_type="+sort_type);
1323        }
1324
1325
1326// Cria o objeto
1327        var EsearchE;
1328        EsearchE = new searchE();
Note: See TracBrowser for help on using the repository browser.