source: trunk/expressoMail1_2/js/draw_api.js @ 470

Revision 470, 89.3 KB checked in by niltonneto, 16 years ago (diff)

Correção do índice de mensagens novas na pasta, que ficava em
vermelho mesmo tendo "0 mensagens novas", quando se usava o
filtro de relevância.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1var openBox = {
2        'content_id' : [],
3        'tab_folder' : []
4 };
5var numBox = 0; // Open Mailboxes at context
6
7function draw_tree_folders(folders){
8        // Check if the tree folders alredy exist.
9
10        if (Element('dftree_tree_folders')){
11                var update_tree_folders = function(data){
12                        build_quota(data);
13                        for (var i=0; i<data.length; i++){
14                                var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen');
15                               
16                                if ((folder_unseen) && (data[i].folder_unseen > 0))
17                                {
18                                        folder_unseen.innerHTML = data[i].folder_unseen;
19                                }
20                                else if (data[i].folder_unseen > 0)
21                                {
22                                        tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>'});
23                                        tree_folders.getNodeById(data[i].folder_id)._refresh();
24                                }
25                                else if (data[i].folder_unseen <= 0)
26                                {
27                                        tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name)});
28                                        tree_folders.getNodeById(data[i].folder_id)._refresh();
29                                }
30
31                                if(data[i].folder_id == get_current_folder()){                                 
32                                        var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML);
33//                                      if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){
34//                                              Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m);
35//                                      }
36                                        Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0;
37                                        draw_paging(Element('tot_m').innerHTML);
38                                }
39                        }
40                }
41                cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders);
42                return;
43        }
44        else{
45                tree_folders = new dFTree({name: 'tree_folders'});
46
47                var n_root = new dNode({id:'root', caption: get_lang("My Folders")});
48                tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything.
49       
50                for (var i=0; i<folders.length; i++){
51                        if (folders[i].folder_unseen > 0)
52                        {
53                                var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});
54                               
55                                if( folders[i].folder_name.toLowerCase() == 'inbox' )
56                                        Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>';
57                        }
58                        else
59                                var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});
60                       
61                        if (folders[i].folder_parent == '')
62                                folders[i].folder_parent = 'root';
63                        else if (folders[i].folder_parent == 'user'){
64                                if (!tree_folders.getNodeById('user')){
65                                        var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true});
66                                        tree_folders.add(n_root_shared_folders,'root');
67                                }
68                        }
69                        tree_folders.add(nn,folders[i].folder_parent);
70                }
71                tree_folders.draw(Element('content_folders'));
72                n_root.changeState();
73                tree_folders.getNodeById('INBOX')._select();           
74                draw_paging(Element('tot_m').innerHTML);
75                // Draw right menu folders.
76                /*
77                var treeroot = document.getElementById('chroottree_folders');
78                for (var linkBox = treeroot.firstChild; linkBox != null; linkBox = linkBox.nextSibling)
79                        _dragArea.makeMenuBox(linkBox);
80                */
81        }
82       
83        var folder_create = "";
84        var nm1 = "";
85        if(tree_folders._folderPr.length > 0){
86                var nm_folder = "";
87                for(var i=0; i < tree_folders._folderPr.length; i++){
88                        nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter);
89                        if(nm_folder[0] == "INBOX"){
90                                if(nm1 == ""){
91                                        nm1 = nm_folder[1];
92                                        folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";";
93                                }else{
94                                        if( nm1 != nm_folder[1]){
95                                                folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";";
96                                                nm1 = nm_folder[1];
97                                        }
98                                }
99                        }
100                }
101        }
102        if(folder_create != ""){
103                if(confirm(get_lang("There are folders with invalid format. Do you want to fix them?"))){
104                        var handler_correct_folders = function(data){
105                                //Timeout to release HTTPRequest , loadScript and update tree folders.
106                                if(data)
107                                        setTimeout("connector.loadScript('TreeShow');ttreeBox.update_folder();",500);
108                        }
109                        cExecute("$this.imap_functions.create_extra_mailbox",handler_correct_folders,"nw_folders="+folder_create);
110                }
111        }
112}
113
114function update_menu(data){
115                /*
116                 * @AUTHOR Rodrigo Souza dos Santos
117                 * @DATE 2008/09/15
118                 * @BRIEF When occurs a error in imap server show the message that is in file "error.html".
119                 */
120                if ( data && data.imap_error )
121                {
122                        connector.newRequest('error.html', 'templates/default/error.html', 'GET',
123                                function(data)
124                                {
125                                        var target = document.getElementById('divAppbox');
126                                        if ( target )
127                                                target.innerHTML = data;
128                                }
129                        );
130                        return false;
131                }
132
133                draw_tree_folders(data);
134                if(data) {
135                        build_quota(data);                     
136                        var f_unseen = Element('dftree_'+get_current_folder()+'_unseen');
137                        if(f_unseen && f_unseen.innerHTML)
138                                Element('new_m').innerHTML = '<font face="Verdana" size="1" color="RED">'+f_unseen.innerHTML+'</font>';
139                        else
140                        {
141                                if( parseInt(Element('new_m').innerHTML) == 0 )
142                                        Element('new_m').innerHTML = 0;                 
143                        }
144                        folders = data;
145                        cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&sort_box_reverse=1", handler_draw_box);
146                }
147}
148
149var handler_draw_box = function(data){
150        draw_box(data, 'INBOX', true);
151        //alternate_border(0);
152}
153
154// Action on change folders.
155function change_folder(folder, folder_name){
156        if (openBox.tab_folder[0] != folder)
157        {
158                current_folder = folder;
159                var handler_draw_box = function(data)
160                {
161                        if(!verify_session(data))
162                                return;
163                        alternate_border(0);
164                        Element("border_id_0").innerHTML = "&nbsp;" + lang_folder(folder_name) + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>';
165                        draw_box(data, folder, true);
166                        draw_paging(data.num_msgs);
167                        Element("tot_m").innerHTML = data.num_msgs;
168                        update_menu();
169                        return true;
170                }
171                cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box);
172        } else
173                alternate_border(0);
174}
175
176function open_folder(folder, folder_name){
177        if (get_current_folder()!= folder) {
178                current_folder = folder;
179                var handler_draw_box = function(data){
180                        if(!verify_session(data))
181                                return false;
182                        numBox++;
183                        create_border(folder_name,numBox.toString());
184                        draw_box(data, current_folder, false);
185                        alternate_border(numBox);
186                        return true;
187                }
188                cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box);
189        }
190        else
191                alternate_border(numBox);
192        return true;
193}
194
195var lastPage = 1;
196var numPages = 5;
197var last_folder = 'INBOX';
198function draw_paging(num_msgs){
199        num_msgs = parseInt(num_msgs);
200        total_pages = 1;
201
202        if(last_folder != get_current_folder()){
203                lastPage = 1;
204                current_page = 1;
205                last_folder = get_current_folder();
206        }
207
208        if(num_msgs > parseInt(preferences.max_email_per_page)) {       
209                total_pages = parseInt(num_msgs/preferences.max_email_per_page);
210                if((num_msgs/preferences.max_email_per_page) > total_pages)
211                        total_pages++;                 
212        }
213
214        if(total_pages == 1) {
215                if(span_paging = document.getElementById("span_paging")) {
216                        span_paging.parentNode.removeChild(span_paging);
217                }
218                return;
219        }
220       
221        span_paging = document.getElementById("span_paging");
222        if(!span_paging){
223                span_paging = document.createElement("DIV");
224                span_paging.id = "span_paging";
225                span_paging.align="right";
226                document.getElementById("div_menu_c3").appendChild(span_paging);       
227        }
228        span_paging.style.width="100%";                                 
229        span_paging.innerHTML="";
230        msg_range_begin = 1;
231        msg_range_end = preferences.max_email_per_page;
232        if(current_page != 1) {
233                lnk_page = document.createElement("A");
234                lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})");
235        }
236        else {
237                lnk_page = document.createElement("SPAN");
238        }
239        span_paging.appendChild(lnk_page);
240
241        lnk_page.innerHTML = "&lt;&lt;";
242        lnk_page.title = get_lang("First");
243        span_paging.innerHTML += "&nbsp;";
244               
245        if(current_page == lastPage + numPages)
246                lastPage = current_page - 1;           
247        else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages)             
248                lastPage = current_page - (numPages - 1);
249        else if(current_page == 1)
250                lastPage = 1;
251
252        if(lastPage < 1)
253                lastPage = 1;
254        else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1))))
255                lastPage = total_pages -(numPages - 1);
256
257        var     hasMarked = false;
258
259        for(i = lastPage; i <= total_pages; i++) {
260                       
261                if(current_page == i || (i == total_pages && !hasMarked)) {                     
262                        lnk_page = document.createElement("SPAN");
263                        span_paging.appendChild(lnk_page);
264                        lnk_page.innerHTML = "&nbsp;<b>"+i+"</b>&nbsp;";
265                        hasMarked = true;
266                        continue;
267                }
268                else{                   
269                        lnk_page = document.createElement("A");
270                        span_paging.appendChild(lnk_page);
271                        msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1));
272                        msg_range_end = (i*preferences.max_email_per_page);
273                        lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})");
274                }
275               
276                lnk_page.innerHTML = "&nbsp;...&nbsp;";
277               
278                if(i == (lastPage + numPages))
279                                break;                 
280                else if(lastPage == 1 || i != lastPage)                                                 
281                        lnk_page.innerHTML = "&nbsp;"+i+"&nbsp;";
282               
283                span_paging.innerHTML += "&nbsp;";                                                                                                                                                                     
284        }
285       
286        if(current_page != total_pages) {
287                lnk_page = document.createElement("A");
288                msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1));
289                msg_range_end = (total_pages*preferences.max_email_per_page);           
290                lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); cExecute ('$this.imap_functions.get_range_msgs2&folder='+get_current_folder()+'&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"', function handler(data){draw_box(data, get_current_folder());})");
291        }
292        else {
293                lnk_page = document.createElement("SPAN");
294        }
295        span_paging.innerHTML += "&nbsp;";
296        span_paging.appendChild(lnk_page);
297
298        lnk_page.title = get_lang("Last");
299        lnk_page.innerHTML = "&gt;&gt;";
300}
301
302
303// Draw the inbox and another folders
304function draw_box(headers_msgs, msg_folder, alternate){
305        if (alternate)
306                kill_current_box();
307       
308        if(is_ie)
309                document.getElementById("border_table").width = "99.5%";
310
311        openBox.content_id[numBox] = document.getElementById("content_id_"+numBox);     
312        openBox.tab_folder[numBox] = msg_folder;
313       
314        table_message_header_box = document.getElementById("table_message_header_box_"+numBox);
315        if (table_message_header_box == null){
316                var table_element = document.createElement("TABLE");
317                var tbody_element = document.createElement("TBODY");
318                table_element.setAttribute("id", "table_message_header_box_"+numBox);
319                table_element.className = "table_message_header_box";
320               
321                tr_element = document.createElement("TR");
322                tr_element.className = "message_header";
323                td_element1 = document.createElement("TD");
324                td_element1.setAttribute("width", "1%");
325                chk_box_element = document.createElement("INPUT");
326                chk_box_element.id  = "chk_box_select_all_messages";
327                chk_box_element.setAttribute("type", "checkbox");
328                chk_box_element.className = "checkbox";
329                chk_box_element.onclick = function(){select_all_messages(this.checked);};
330                chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages.')};
331                chk_box_element.onkeydown = function (e){
332                        if (is_ie)
333                        {
334                                if ((window.event.keyCode) == 46)
335                                        delete_msgs(get_current_folder(),'selected','null');
336                        }
337                        else
338                        {
339                                if ((e.keyCode) == 46)
340                                        delete_msgs(get_current_folder(),'selected','null');
341                        }
342                };
343               
344                td_element1.appendChild(chk_box_element);
345               
346                td_element2 = document.createElement("TD");
347                td_element2.setAttribute("width", "2%");
348       
349                td_element3 = document.createElement("TD");
350                td_element3.setAttribute("width", "31%");
351                td_element3.onclick = function () {sort_box(search_box_type,'SORTFROM');};
352                td_element3.id = "message_header_SORTFROM_"+numBox;
353                td_element3.align = "left";
354                td_element3.innerHTML = get_lang("Who");
355               
356                td_element4 = document.createElement("TD");
357                td_element4.setAttribute("width", "41%");
358                td_element4.onclick = function () {sort_box(search_box_type,'SORTSUBJECT');};
359                td_element4.id = "message_header_SORTSUBJECT_"+numBox;
360                td_element4.align = "left";
361                td_element4.innerHTML = get_lang("Subject");
362       
363                td_element5 = document.createElement("TD");
364                td_element5.setAttribute("width", "14%");
365                td_element5.onclick = function () {sort_box(search_box_type,'SORTARRIVAL');};
366                td_element5.id = "message_header_SORTARRIVAL_"+numBox;
367                td_element5.align = "center";
368                td_element5.innerHTML = get_lang("Date");
369                td_element6 = document.createElement("TD");
370                td_element6.setAttribute("width", "14%");
371                td_element6.onclick = function () {sort_box(search_box_type,'SORTSIZE');}
372                td_element6.id = "message_header_SORTSIZE_"+numBox;
373                td_element6.align = "left";
374                td_element6.innerHTML = get_lang("Size");
375
376                tr_element.appendChild(td_element1);
377                tr_element.appendChild(td_element2);
378                tr_element.appendChild(td_element3);
379                tr_element.appendChild(td_element4);
380                tr_element.appendChild(td_element5);
381                tr_element.appendChild(td_element6);
382                tbody_element.appendChild(tr_element);
383                table_element.appendChild(tbody_element);
384                openBox.content_id[numBox].appendChild(table_element);
385        }
386        draw_header_box();
387        var table_element = document.createElement("TABLE");
388        var tbody_element = document.createElement("TBODY");
389       
390        table_element.id = "table_box";
391        table_element.className = "table_box";
392        table_element.borderColorDark = "#bbbbbb";
393        table_element.frame = "void";
394        table_element.rules = "rows";
395        table_element.cellPadding = "0";
396        table_element.cellSpacing = "0";
397       
398        table_element.onkeydown = function (e){
399                if (is_ie)
400                {
401                        if ((window.event.keyCode) == 46)
402                        {
403                                //delete_all_selected_msgs_imap();
404                                delete_msgs(get_current_folder(),'selected','null');
405                        }
406                }
407                else
408                {
409                        if ((e.keyCode) == 46)
410                        {
411                                //delete_all_selected_msgs_imap();
412                                delete_msgs(get_current_folder(),'selected','null');
413                        }
414                }
415        };
416        if (is_ie)
417                table_element.style.cursor = "hand";
418       
419        tbody_element.setAttribute("id", "tbody_box");
420        table_element.appendChild(tbody_element);
421
422        var _divScroll = document.getElementById("divScrollMain_"+numBox);
423
424        var bar = document.getElementById("toolbar");
425        var offset = 0;
426
427        if(!_divScroll){               
428                _divScroll = document.createElement("DIV");
429                _divScroll.id = "divScrollMain_"+numBox;
430        }
431       
432        if(is_ie) {
433                _divScroll.style.overflowY = "auto";                                                           
434                _divScroll.style.overflowX = "hidden";
435                _divScroll.style.width  ="100%";
436        }                                                                                                       
437        else{
438                _divScroll.style.overflow = "-moz-scrollbars-vertical";
439                _divScroll.style.width  ="99.3%";
440        }
441        // Inicio: Redimensiona DIV SCROLL
442        var bar = Element("toolbar");
443        var offset = 0;
444        if(bar.style.visibility != 'hidden')
445                offset = (bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight);             
446        var screenHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight;
447        var defaultHeight = screenHeight - offset;             
448        _divScroll.style.height         = defaultHeight - 110;
449        Element('content_folders').style.height = defaultHeight - (is_ie ? 165 : 150);
450        // Fim: Redimensiona DIV SCROLL
451        _divScroll.appendChild(table_element);
452        openBox.content_id[numBox].appendChild(_divScroll);
453       
454        var f_unseen = 0;
455
456                if (headers_msgs.num_msgs == 0){
457                        td_info = document.createElement("H3");
458                        td_info.setAttribute("height", "25%");
459                        td_info.setAttribute("background", "#FFF");
460                        td_info.setAttribute("id", "msg_info");
461                        td_info.align = "center";
462                        td_info.innerHTML = get_lang("This mail box is empty");
463                        tbody_element.appendChild(td_info);
464                }
465       
466       
467        for (var i=0; i < headers_msgs.length; i++){
468                        if ((headers_msgs[i].Unseen == 'U') || (headers_msgs[i].Recent == 'N'))
469                                f_unseen++;
470                        tr_element = this.make_tr_message(headers_msgs[i], msg_folder);
471                        tbody_element.appendChild(tr_element);
472                        _dragArea.makeDragged(tr_element, headers_msgs[i].msg_number, headers_msgs[i].subject, true);
473        }
474
475        if ((preferences.use_shortcuts == '1') && (headers_msgs[0]))
476                select_msg(headers_msgs[0].msg_number, 'null', true);
477
478        var tdFolders  =  Element("folderscol");
479        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : "";
480        alternate_border(numBox);
481        draw_footer_box(headers_msgs.num_msgs);
482        Element('main_table').style.display = '';
483        if(debug) {
484                var _eTime = new Date();
485                _eTime = _eTime.getTime();
486                alert("Carregou em "+(_eTime - _bTime)+" ms");
487        }
488        var msg_folder = Element('msg_folder').value;
489        var msg_number = Element('msg_number').value;   
490        if(!msg_folder && msg_number) {
491                new_message('new','null');
492        }
493        else if(msg_folder && msg_number){
494                cExecute("$this.imap_functions.get_info_msg&msg_number="+ msg_number + "&msg_folder=" + msg_folder, show_msg);
495                Element('msg_folder').value = '';
496                Element('msg_number').value = '';
497        }
498
499        if(!is_ie) {
500                var scripts = new Array("ccQuickAdd",
501                                                        "color_palette",
502                                                        "filter",
503                                                        "filters",
504                                                        "html2xhtml",
505                                                        "preferences",
506                                                        "QuickCatalogSearch",
507                                                        "QuickSearchUser",
508                                                        "rich_text_editor",
509                                                        "sharemailbox",
510                                                        "search",
511                                                        "TreeS",
512                                                        "TreeShow");
513                                                       
514                connector.loadAllScripts(scripts);
515        }
516}
517
518function make_tr_message(headers_msgs, msg_folder){
519                var tr_element = document.createElement('tr');
520                tr_element.style.height = preferences.line_height;
521                var _fontSize = preferences.font_size ? preferences.font_size : "11";
522                tr_element.id = headers_msgs.msg_number;
523
524                if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N'))
525                        add_className(tr_element, 'tr_msg_unread');
526                else
527                        add_className(tr_element, 'tr_msg_read');
528               
529                if (headers_msgs.Flagged == 'F')
530                        add_className(tr_element,'flagged_msg');
531
532                td_element1 = document.createElement("TD");
533                td_element1.setAttribute("width", "1%");
534                chk_box_element = document.createElement("INPUT");
535                chk_box_element.setAttribute("type", "checkbox");
536                chk_box_element.className = "checkbox";
537                chk_box_element.setAttribute("id", "check_box_message_"+headers_msgs.msg_number);
538                chk_box_element.onclick = function(e){
539                        if (is_ie)
540                                changeBgColor(window.event,headers_msgs.msg_number);
541                        else
542                                changeBgColor(e,headers_msgs.msg_number);
543                };
544                td_element1.appendChild(chk_box_element);
545               
546                td_element2 = document.createElement("TD");
547                td_element2.setAttribute("width", "2%");
548                if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0)
549                        td_element2.innerHTML = "<img src ='templates/default/images/clip.gif' title='" + url_decode(headers_msgs.attachment.names) + "'>";
550                       
551                td_element21 = document.createElement("TD");
552                td_element21.setAttribute("width", "1%");
553                td_element21.id = "td_message_answered_"+headers_msgs.msg_number;
554
555                if ((headers_msgs.Forwarded == 'F')  || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){
556                        td_element21.innerHTML += "<img src ='templates/default/images/forwarded.gif' title='"+get_lang('Forwarded')+"'>";
557                        headers_msgs.Draft = ''
558                        headers_msgs.Answered = '';
559                        headers_msgs.Forwarded == 'F';
560                }
561                else if (headers_msgs.Draft == 'X')
562                        td_element2.innerHTML += "<img src ='templates/default/images/draft.gif' title='"+get_lang('Draft')+"'>";
563                else if (headers_msgs.Answered == 'A')
564                        td_element21.innerHTML += "<img src ='templates/default/images/answered.gif' title='"+get_lang('Answered')+"'>";
565
566                td_element22 = document.createElement("TD");
567                td_element22.setAttribute("width", "1%");
568                td_element22.id = "td_message_important_"+headers_msgs.msg_number;
569
570                // preload image
571                var _img_important = new Image();
572                _img_important.src = "templates/default/images/important.gif";
573
574                if (headers_msgs.Flagged == 'F')
575                        td_element22.innerHTML += "<img src ='templates/default/images/important.gif' title='"+get_lang('Important')+"'>";
576                else
577                        td_element22.innerHTML += "&nbsp;&nbsp;&nbsp;";
578                       
579                       
580                td_element23 = document.createElement("TD");
581                td_element23.setAttribute("width", "1%");
582                td_element23.id = "td_message_sent_"+headers_msgs.msg_number;
583                td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;";
584                // preload image
585                var _img_sent = new Image();
586                _img_sent.src    = "templates/default/images/sent.gif";
587
588                td_element3 = document.createElement("TD");
589                td_element3.id = "td_who_"+ headers_msgs.msg_number;
590                td_element3.setAttribute("width", "30%");
591                var _onclick = function(){InfoContact.hide();cExecute("$this.imap_functions.get_info_msg&msg_number="+ headers_msgs.msg_number + "&msg_folder=" + msg_folder, show_msg);};
592                td_element3.onclick = _onclick;
593                td_element3.innerHTML = '&nbsp;';
594               
595                if(headers_msgs.from.email.toLowerCase() == Element("user_email").value)
596                {
597                        td_element3.onmouseover = function () {this.title=headers_msgs.to.email;};
598                        if (headers_msgs.Draft == 'X')
599                                td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>";
600                        else{                           
601                                if(headers_msgs.to.email.toLowerCase() != Element("user_email").value)
602                                        td_element23.innerHTML = "<img valign='center' src ='templates/default/images/sent.gif' title='"+get_lang('Sent')+"'>";
603                       
604                                if ((headers_msgs.to)&&(headers_msgs.to.name != null))
605                                        td_element3.innerHTML += headers_msgs.to.name;
606                                else if (headers_msgs.to){
607                                        td_element3.innerHTML += headers_msgs.to.email;
608                                }
609                        }
610                }
611                else{
612                        td_element3.onmouseover = function (event) {try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};};
613                        td_element3.onmouseout = function (){ try {clearTimeout(InfoContact.timeout);} catch(e){}};
614                        if (headers_msgs.Draft == 'X'){
615                                td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>";
616                        }
617                        else{
618                                if (headers_msgs.from.name != null)
619                                        td_element3.innerHTML += headers_msgs.from.name;
620                                else
621                                        td_element3.innerHTML += headers_msgs.from.email;
622                        }
623                }       
624                if (td_element3.innerHTML.indexOf(" ") == '-1' && td_element3.innerHTML.length > 25){
625                        td_element3.innerHTML = td_element3.innerHTML.substring(0,25) + "...";
626                }
627                else if (td_element3.innerHTML.length > 40 ){
628                        td_element3.innerHTML = td_element3.innerHTML.substring(0,40) + "...";
629                }
630               
631                td_element4 = document.createElement("TD");
632                td_element4.setAttribute("width", "40%");
633                td_element4.onclick = _onclick;
634                td_element4.innerHTML = !is_ie ? "<a id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;";
635               
636                if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50))
637                        td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "...";
638                else
639                        td_element4.innerHTML += headers_msgs.subject;
640                                       
641                if(!is_ie){
642                        td_element4.innerHTML += "</a>";
643                        tr_element.onmouseover = function(){};
644                }
645               
646
647                td_element5 = document.createElement("TD");
648                td_element5.setAttribute("width", "14%");
649                td_element5.onclick = _onclick;
650                td_element5.setAttribute("align", "center");
651                td_element5.innerHTML = headers_msgs.udate;
652
653                td_element6 = document.createElement("TD");
654                td_element6.setAttribute("width", "14%");
655                td_element6.onclick = _onclick;
656                td_element6.setAttribute("noWrap","true");
657                td_element6.setAttribute("align", "center");
658               
659                td_element3.style.fontSize= _fontSize;
660                td_element4.style.fontSize= _fontSize;
661                td_element5.style.fontSize= _fontSize;
662                td_element6.style.fontSize= _fontSize;
663                msg_size = headers_msgs.Size;
664                if (msg_size < 1048576 && msg_size > 1024)
665                        td_element6.innerHTML = this.round(msg_size / 1024, 0) + ' Kb';
666                else if(msg_size > 1024)
667                        td_element6.innerHTML = this.round(msg_size / (1024*1024), 1) + ' Mb';
668                else
669                        td_element6.innerHTML = "1 Kb";
670
671                tr_element.appendChild(td_element1);
672                tr_element.appendChild(td_element2);
673                tr_element.appendChild(td_element21);
674                tr_element.appendChild(td_element22);
675                tr_element.appendChild(td_element23);
676                tr_element.appendChild(td_element3);
677                tr_element.appendChild(td_element4);
678                tr_element.appendChild(td_element5);
679                tr_element.appendChild(td_element6);
680                return tr_element;
681}
682
683function sort_box(search, sort){
684        var message_header = Element("message_header_"+search);
685        var handler_draw_box = function(data){
686                draw_box(data, get_current_folder(),true);
687                draw_paging(Element('tot_m').innerHTML);
688                //Mostrar as msgs nao lidas de acordo com o filtro de relevancia
689                var msgs_unseen = 0;
690                for(i in data){
691                        if(data[i].Unseen == 'U')
692                                msgs_unseen++;
693        }
694                Element("new_m").innerHTML = '<font style="color:'+(msgs_unseen == 0 ? '': 'red')+'">' + msgs_unseen + '</font>';
695        }
696
697        if(sort_box_type == sort && search_box_type == search){
698                sort_box_reverse = sort_box_reverse ? 0 : 1;
699        }
700        else if(sort_box_type != sort){
701                if ( (sort == 'SORTFROM') || (sort == 'SORTSUBJECT') )
702                        sort_box_reverse = 0;
703                else
704                        sort_box_reverse = 1;
705        }
706               
707        // Global variable.
708        sort_box_type = sort;
709        search_box_type = search;
710
711        cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&search_box_type="+search+"&sort_box_type="+sort+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box);
712        current_page = 1;
713        //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros
714        //update_menu();
715}
716function draw_header_box(){
717        switch(sort_box_type){
718                case 'SORTFROM':
719                        type_name = get_lang("Who");
720                        break;
721                case 'SORTSUBJECT':
722                        type_name = get_lang("Subject");
723                        break;
724                case 'SORTARRIVAL':
725                        type_name = get_lang("Date");
726                        break;
727                case 'SORTSIZE':
728                        type_name = get_lang("Size");
729                        break;
730                default:
731                        type_name = get_lang("Date");
732                        break;
733        }
734        document.getElementById("message_header_SORTFROM_"+numBox).innerHTML    = get_lang("Who");
735        document.getElementById("message_header_SORTSUBJECT_"+numBox).innerHTML = get_lang("Subject");
736        document.getElementById("message_header_SORTARRIVAL_"+numBox).innerHTML = get_lang("Date");
737        document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML    = get_lang("Size");     
738        document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>";
739}
740function draw_message(info_msg, ID){
741        var content = document.getElementById('content_id_' + ID);
742        var defaultWidth = document.body.offsetWidth - 37;
743       
744        var menuHidden = Element("folderscol").style.display == 'none' ? true : false;
745        if(!menuHidden)
746                defaultWidth -= Element("folderscol").offsetWidth;
747         //////////////////////////////////////////////////////////////////////////////////////////////////////
748        //Make the next/previous buttom.
749        //////////////////////////////////////////////////////////////////////////////////////////////////////
750        var next_previous_msg_td = document.createElement("TD");
751        next_previous_msg_td.setAttribute("noWrap","true");
752        next_previous_msg_td.align = "right";
753        next_previous_msg_td.width = "40px";
754        var img_next_msg = document.createElement("IMG");
755        img_next_msg.id = 'msg_opt_next_' + ID;
756        img_next_msg.src = './templates/default/images/down.button.png';
757        img_next_msg.title = get_lang('Next');
758        img_next_msg.style.cursor = 'pointer';
759        img_next_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type +  "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)};
760        var img_space = document.createElement("SPAN");
761        img_space.innerHTML = "&nbsp;";
762        var img_previous_msg = document.createElement("IMG");
763        img_previous_msg.id = 'msg_opt_previous_' + ID;
764        img_previous_msg.src = './templates/default/images/up.button.png';
765        img_previous_msg.title = get_lang('Previous');
766        img_previous_msg.style.cursor = 'pointer';
767        img_previous_msg.onclick = function () {cExecute ("$this.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}
768        next_previous_msg_td.appendChild(img_previous_msg);
769        next_previous_msg_td.appendChild(img_space);
770        next_previous_msg_td.appendChild(img_next_msg);
771        //////////////////////////////////////////////////////////////////////////////////////////////////////
772        //Make the header message.
773        //////////////////////////////////////////////////////////////////////////////////////////////////////
774        var table_message = document.createElement("TABLE");
775        var tbody_message = document.createElement("TBODY");
776        table_message.border = "0";
777        table_message.width = defaultWidth ;
778
779        //////////////////////////////////////////////////////////////////////////////////////////////////////
780        //Make the options message.
781        //////////////////////////////////////////////////////////////////////////////////////////////////////
782        var tr0 = document.createElement("TR");
783        tr0.className = "tr_message_header";
784        var td0 = document.createElement("TD");
785        var table_message_options = document.createElement("TABLE");
786        table_message_options.width = "100%";
787        table_message_options.border = '0';
788        table_message_options.className = 'table_message';
789        var tbody_message_options = document.createElement("TBODY");
790        var tr = document.createElement("TR");
791        var td = document.createElement("TD");
792        td.setAttribute("noWrap","true");
793        var _name = '';
794        var _maxChar = menuHidden ? 40 : 15;
795        if (info_msg.from.name)
796                _name = info_msg.from.name.length > _maxChar ? info_msg.from.name.substring(0,_maxChar) + "..." : info_msg.from.name;   
797        else           
798                _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email;
799
800        td.innerHTML = _name.bold() + ', ' + info_msg.smalldate;
801        if (info_msg.attachments.length > 0)
802                td.innerHTML += "&nbsp<img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='templates/default/images/clip.gif' title='"+info_msg.attachments.names+"'>";
803       
804        if (typeof(info_msg.signature) == 'string')
805        {       
806                if (info_msg.signature != "void")
807                        td.innerHTML += '&nbsp;<img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="templates/default/images/signed.gif">';
808                else
809                        td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='templates/default/images/invalid.gif'>";
810        }
811       
812        if (info_msg.DispositionNotificationTo)
813        {
814                td.innerHTML += '&nbsp;<img style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="templates/default/images/notification.gif">';
815        }
816       
817        // NORMAL MSG
818        if(info_msg.Draft != 'X')
819        {
820        var options = document.createElement("TD");
821        options.width = "100%";
822        options.setAttribute("noWrap","true");
823        var option_hide_more = document.createElement("SPAN");
824        option_hide_more.className = 'message_options';
825        options.align = 'right';
826        option_hide_more.value = 'more_options';
827        option_hide_more.id = 'option_hide_more_'+ID;
828        option_hide_more.onclick = function(){
829                var _height = Element("div_message_scroll_"+ID).style.height;
830                _height = parseInt(_height.replace("px",""));
831                var _offset = 35;
832                if (this.value == 'more_options'){
833                        this.innerHTML = "<b><u>"+get_lang('Options')+"</u></b>";
834                        this.value = 'hide_options';
835                        Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px";
836                        Element('table_message_others_options_'+ID).style.display = '';
837                        Element('tr_other_options_'+ID).style.display = '';
838                       
839                }
840                else{
841                        this.innerHTML = get_lang('Options');
842                        this.value = 'more_options';
843                        Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px";
844                        Element('table_message_others_options_'+ID).style.display = 'none';
845                        Element('tr_other_options_'+ID).style.display = 'none';                 
846                }
847        };
848
849        option_hide_more.innerHTML = get_lang('Options');
850        options.appendChild(option_hide_more);
851       
852        var space0 = document.createElement("SPAN");
853        space0.innerHTML = '&nbsp;';
854        var space1 = document.createElement("SPAN");
855        space1.innerHTML = '&nbsp;';
856        var space2 = document.createElement("SPAN");
857        space2.innerHTML = '&nbsp;';
858        var space3 = document.createElement("SPAN");
859        space3.innerHTML = '&nbsp;';
860        var space4 = document.createElement("SPAN");
861        space4.innerHTML = '&nbsp;';
862
863        var option_print = document.createElement("SPAN");
864        option_print.id = 'msg_opt_print_'+ID;
865        option_print.className = 'message_options';
866        option_print.onclick = function(){print_msg(info_msg.msg_folder,info_msg.msg_number,ID);};
867        option_print.innerHTML = get_lang('Print');
868        options.appendChild(space0);
869        options.appendChild(option_print);
870        var option_forward = document.createElement("SPAN");
871        option_forward.id = 'msg_opt_forward_'+ID;
872        option_forward.className = 'message_options';
873        option_forward.onclick = function(){new_message('forward', ID);};
874        option_forward.innerHTML = get_lang('Forward');
875        options.appendChild(space1);
876        options.appendChild(option_forward);
877        var option_reply = document.createElement("SPAN");
878        option_reply.id = 'msg_opt_reply_'+ID;
879        option_reply.className = 'message_options';
880        option_reply.onclick = function(){new_message('reply_with_history', ID);};
881        option_reply.innerHTML = get_lang('Reply');
882        options.appendChild(space2);
883        options.appendChild(option_reply);
884        var option_delete = document.createElement("SPAN");
885        option_delete.id = 'msg_opt_delete_'+ID;
886        option_delete.className = 'message_options';
887        option_delete.onclick = function(){delete_msgs(info_msg.msg_folder, info_msg.msg_number, ID);};
888        option_delete.innerHTML = get_lang('Delete');
889        options.appendChild(space3);
890        options.appendChild(option_delete);
891       
892        tr.appendChild(td);
893        tr.appendChild(options);
894        tr.appendChild(next_previous_msg_td);
895        tbody_message_options.appendChild(tr);
896       
897        ////////// OTHER OPTIONS ////////////////////
898        var tr_other_options = document.createElement("TR");
899        tr_other_options.id = 'tr_other_options_' + ID;
900        tr_other_options.style.display = 'none';
901       
902        var td_other_options = document.createElement("TD");
903        td_other_options.colSpan = '3';
904        //td_other_options.align = 'right';
905        //td_other_options.setAttribute("noWrap","true");
906        var div_other_options = document.createElement("DIV");
907
908        var option_mark_as                                              = '<span>'+get_lang("Mark as")+'</span>: ';
909        var option_mark_as_unseen                               = '<span class="message_options" onclick="set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, ';
910        var option_mark_as_important                    = '<span class="message_options" onclick="set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, ';
911        var option_mark_as_normal                               = '<span class="message_options" onclick="set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | ';
912       
913        var option_move                                                 = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | ';
914        var option_reply_to_all                                 = '<span class="message_options" onclick=new_message("reply_to_all_with_history","'+ID+'");>'+get_lang("Reply to all")+'</span> | ';
915        var option_reply_without_history                = '<span class="message_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | ';
916        var option_reply_to_all_without_history = '<span class="message_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | ';
917        var option_source_msg                                   = '<span class="message_options" onclick=source_msg("'+ID+'","'+url_encode(info_msg.msg_folder)+'");>'+get_lang("Message Font")+'</span>';     
918
919        div_other_options.innerHTML = option_mark_as + option_mark_as_unseen + option_mark_as_important + option_mark_as_normal + option_move + option_reply_to_all + option_reply_without_history + option_reply_to_all_without_history + option_source_msg;
920        if (use_spam_filter) {
921                if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam')
922                        div_other_options.innerHTML += ' | <span class="message_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\')";>'+get_lang("Not Spam")+'</span>';     
923                else
924                        div_other_options.innerHTML += ' | <span class="message_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>';   
925        }
926               
927        td_other_options.appendChild(div_other_options);
928        //td_other_options.innerHTML = option_print + option_reply_to_all + option_source_msg;
929       
930        tr_other_options.appendChild(td_other_options);
931        tbody_message_options.appendChild(tr_other_options);
932        ////////// END OTHER OPTIONS ////////////////
933        table_message_options.appendChild(tbody_message_options);
934        td0.appendChild(table_message_options);
935        tr0.appendChild(td0);
936        tbody_message.appendChild(tr0);
937        }
938        // IF DRAFT
939        else
940        {
941                var options = document.createElement("TD");
942                options.width = "1%";
943                options.setAttribute("noWrap","true");
944                var option_edit   = '<span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span> | ';
945                var option_print = '<span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span> | ';
946                var option_delete = '<span class="message_options" onclick="delete_msgs(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Delete')+'</span> | ';               
947                var option_hide_more = document.createElement("SPAN");
948                option_hide_more.className = 'message_options';
949                options.align = 'right';
950                option_hide_more.value = 'more_options';
951                option_hide_more.id = 'option_hide_more_'+ID;
952                option_hide_more.innerHTML = get_lang('Options');
953                option_hide_more.onclick = function(){
954                        var _height = Element("div_message_scroll_"+ID).style.height;
955                        _height = parseInt(_height.replace("px",""));
956                        var _offset = 35;
957                        if (this.value == 'more_options'){
958                                this.innerHTML = "<b><u>"+get_lang('Options')+"</u></b>";
959                                this.value = 'hide_options';
960                                Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px";
961                                Element('table_message_others_options_'+ID).style.display = '';
962                        }
963                        else{
964                                this.innerHTML = get_lang('Options');
965                                this.value = 'more_options';
966                                Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px";
967                                Element('table_message_others_options_'+ID).style.display = 'none';
968                        }
969                };
970                options.innerHTML = option_edit + option_print + option_delete;
971                options.appendChild(option_hide_more);
972                tr.appendChild(td);
973                tr.appendChild(options);
974                tr.appendChild(next_previous_msg_td);
975                tbody_message_options.appendChild(tr);
976                table_message_options.appendChild(tbody_message_options);
977                td0.appendChild(table_message_options);
978                tr0.appendChild(td0);
979                tbody_message.appendChild(tr0);
980        }
981        //////////////////////////////////////////////////////////////////////////////////////////////////////
982        // END options message.
983        //////////////////////////////////////////////////////////////////////////////////////////////////////
984
985        var table_message_others_options = document.createElement("TABLE");
986        table_message_others_options.id = 'table_message_others_options_' + ID;
987        table_message_others_options.width =  defaultWidth - 30;
988        table_message_others_options.style.display = 'none';
989        table_message_others_options.className = "table_message";
990        var tbody_message_others_options = document.createElement("TBODY");
991        var tr1 = document.createElement("TR");
992        tr1.className = "tr_message_header";
993        var td1 = document.createElement("TD");
994        td1.innerHTML = get_lang("From: ");
995        td1.appendChild(deny_email(info_msg.from.email));
996        td1.width = "7%";
997       
998        if (info_msg.sender){
999                var tr111 = document.createElement("TR");
1000                tr111.className = "tr_message_header";
1001                var td111 = document.createElement("TD");
1002                td111.innerHTML = get_lang("Sent by")+": ";
1003                td111.appendChild(deny_email(info_msg.sender.email));
1004                td111.setAttribute("noWrap","true");
1005                var sender = document.createElement("TD");
1006                sender.id = "sender_"+ID;
1007                var sender_values = document.createElement("INPUT");
1008                sender_values.id = "sender_values_"+ID;
1009                sender_values.type = "HIDDEN";
1010                sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links.
1011                sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full);
1012                sender.className = "header_message_field";
1013                tr111.appendChild(td111);
1014                tr111.appendChild(sender);
1015                tr111.appendChild(sender_values);
1016                tbody_message_others_options.appendChild(tr111);
1017        }
1018       
1019       
1020        var from = document.createElement("TD");
1021        from.id = "from_"+ID;
1022        from.innerHTML = info_msg.from.full;
1023        if (info_msg.Draft != "X"){
1024                from.innerHTML += draw_plugin_cc(ID, info_msg.from);
1025                tbody_message_others_options.appendChild(tr1);
1026        }
1027        from.className = "header_message_field";
1028        var from_values = document.createElement("INPUT");
1029        from_values.id = "from_values_"+ID;
1030        from_values.type = "HIDDEN";
1031        from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links.
1032        tr1.appendChild(td1);
1033        tr1.appendChild(from);
1034        tr1.appendChild(from_values);
1035        if (info_msg.reply_to){
1036                var tr11 = document.createElement("TR");
1037                tr11.className = "tr_message_header";
1038                var td11 = document.createElement("TD");
1039                td11.innerHTML = get_lang("Reply to")+": ";
1040                td11.setAttribute("noWrap","true");
1041                var reply_to = document.createElement("TD");
1042                reply_to.id = "reply_to_"+ID;
1043               
1044                var reply_to_values = document.createElement("INPUT");
1045                reply_to_values.id = "reply_to_values_"+ID;
1046                reply_to_values.type = "HIDDEN";
1047                reply_to_values.value = info_msg.reply_to; //Veio do IMAP, sem images nem links.
1048                reply_to.innerHTML = draw_plugin_cc(ID, info_msg.reply_to);
1049                reply_to.className = "header_message_field";
1050                tr11.appendChild(td11);
1051                tr11.appendChild(reply_to);
1052                tr11.appendChild(reply_to_values);
1053                tbody_message_others_options.appendChild(tr11);
1054        }
1055        //////////////////////////////////////////////////////////////////////////////////////////////////////
1056        var tr2 = document.createElement("TR");
1057        tr2.className = "tr_message_header";
1058        var td2 = document.createElement("TD");
1059        td2.innerHTML = get_lang("To: ");
1060        var to = document.createElement("TD");
1061        to.id = "to_"+ID;
1062
1063        var to_values = document.createElement("INPUT");
1064        to_values.id = "to_values_"+ID;
1065        to_values.type = "HIDDEN";
1066        to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links.   
1067
1068        // Salva a pasta da mensagem
1069        var input_current_folder = document.createElement('input');     
1070        input_current_folder.id = "input_folder_"+ID;
1071        input_current_folder.name = "input_folder";
1072        input_current_folder.type = "hidden";
1073        input_current_folder.value = info_msg.msg_folder;
1074        td2.appendChild(input_current_folder); 
1075        // fim
1076        toaddress_array[ID] = info_msg.toaddress2.split(",");
1077        if (toaddress_array[ID].length > 1){
1078                to.innerHTML += draw_plugin_cc(ID, toaddress_array[ID][0]);
1079                var div_toaddress = document.createElement("SPAN");
1080                div_toaddress.id = "div_toaddress_"+ID;
1081                div_toaddress.style.display="";
1082                div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)";
1083                to.appendChild(div_toaddress);         
1084        }
1085        else {
1086                to.innerHTML += draw_plugin_cc(ID,toaddress_array[ID]);
1087        }
1088        to.className = "header_message_field";
1089        tr2.appendChild(td2);
1090        tr2.appendChild(to);
1091        tr2.appendChild(to_values);
1092        tbody_message_others_options.appendChild(tr2);
1093
1094        if (info_msg.cc){
1095                var tr3 = document.createElement("TR");
1096                tr3.className = "tr_message_header";
1097                var td3 = document.createElement("TD");
1098                td3.innerHTML = "CC: ";
1099                var cc = document.createElement("TD");
1100                cc.id = "cc_"+ID;
1101
1102                var cc_values = document.createElement("INPUT");
1103                cc_values.id = "cc_values_"+ID;
1104                cc_values.type = "HIDDEN";
1105                cc_values.value = info_msg.cc;
1106               
1107                ccaddress_array[ID] = info_msg.cc.split(",");           
1108                if (ccaddress_array[ID].length > 1){
1109                        var div_ccaddress = document.createElement("SPAN");
1110                        div_ccaddress.id = "div_ccaddress_"+ID;
1111                        var div_ccaddress_full = document.createElement("SPAN");
1112                        div_ccaddress_full.id = "div_ccaddress_full_"+ID;               
1113                        div_ccaddress.style.display="";
1114                        cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]);
1115                        div_ccaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','cc');>"+get_lang('more')+"</a>)";
1116                        cc.appendChild(div_ccaddress);
1117                }
1118                else{
1119                        cc.innerHTML = draw_plugin_cc(ID, info_msg.cc);
1120                }
1121                cc.className = "header_message_field";
1122                tr3.appendChild(td3);
1123                tr3.appendChild(cc);
1124                tr3.appendChild(cc_values);
1125                tbody_message_others_options.appendChild(tr3);
1126        }
1127
1128        /*
1129         * @AUTHOR Rodrigo Souza dos Santos
1130         * @MODIFY-DATE 2008/09/11
1131         * @BRIEF Adding routine to create bcc field if there is one.
1132         */
1133        if (info_msg.bcc)
1134        {
1135                var tr3 = document.createElement("tr");
1136                tr3.className = "tr_message_header";
1137                var td3 = document.createElement("td");
1138                td3.innerHTML = get_lang("BCC") + " : ";
1139                var cco = document.createElement("td");
1140                cco.id = "cco_"+ID;
1141
1142                var cco_values = document.createElement("input");
1143                cco_values.id = "cco_values_"+ID;
1144                cco_values.type = "hidden";
1145                cco_values.value = info_msg.cco;
1146
1147                ccoaddress_array[ID] = info_msg.bcc.split(",");         
1148                if (ccoaddress_array[ID].length > 1){
1149                        var div_ccoaddress = document.createElement("SPAN");
1150                        div_ccoaddress.id = "div_ccoaddress_"+ID;
1151                        var div_ccoaddress_full = document.createElement("SPAN");
1152                        div_ccoaddress_full.id = "div_ccoaddress_full_"+ID;             
1153                        div_ccoaddress.style.display="";
1154
1155                        /*
1156                         * The function below is ugly, doesn't possible use its.
1157                         * The problem is that the code's function was written
1158                         * on a hardcode concept.
1159                         */
1160                        //cco.innerHTML = draw_plugin_cc(ID, ccoaddress_array[ID][0]);
1161                        cco.innerHTML = ccoaddress_array[ID][0];
1162                        div_ccoaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','cco');>"+get_lang('more')+"</a>)";
1163                        cco.appendChild(div_ccoaddress);
1164                }
1165                else{
1166                        /*
1167                         * The function below is ugly, it is not possible to use them.
1168                         * The problem is that the code's function was written
1169                         * on a hardcode concept.
1170                         */
1171                        //cco.innerHTML = draw_plugin_cc(ID, info_msg.cco);
1172                        cco.innerHTML = info_msg.bcc;
1173                }
1174                cco.className = "header_message_field";
1175                tr3.appendChild(td3);
1176                tr3.appendChild(cco);
1177                tr3.appendChild(cco_values);
1178                tbody_message_others_options.appendChild(tr3);
1179        }
1180
1181        var tr4 = document.createElement("TR");
1182        tr4.className = "tr_message_header";
1183        var td4 = document.createElement("TD");
1184        td4.innerHTML = get_lang("Date: ");
1185        var date = document.createElement("TD");
1186        date.id = "date_"+ID;
1187        date.innerHTML = info_msg.fulldate;
1188        var date_day = document.createElement("INPUT");
1189        date_day.id = "date_day_"+ID;
1190        date_day.type = "HIDDEN";
1191        date_day.value = info_msg.msg_day;
1192        var date_hour = document.createElement("INPUT");
1193        date_hour.id = "date_hour_"+ID;
1194        date_hour.type = "HIDDEN";
1195        date_hour.value = info_msg.msg_hour
1196       
1197        date.className = "header_message_field";
1198        tr4.appendChild(td4);
1199        tr4.appendChild(date);
1200        tr4.appendChild(date_day);
1201        tr4.appendChild(date_hour);
1202        tbody_message_others_options.appendChild(tr4);
1203       
1204        var tr5 = document.createElement("TR");
1205        tr5.className = "tr_message_header";
1206        var td5 = document.createElement("TD");
1207        td5.innerHTML = get_lang("Subject");
1208        var subject = document.createElement("TD");
1209        subject.id = "subject_"+ID;
1210        subject.innerHTML = info_msg.subject;
1211        subject.className = "header_message_field";
1212        tr5.appendChild(td5);
1213        tr5.appendChild(subject);
1214        tbody_message_others_options.appendChild(tr5);
1215
1216        if (info_msg.attachments.length > 0){
1217                var tr6 = document.createElement("TR");
1218                tr6.className = "tr_message_header";
1219                var td6 = document.createElement("TD");
1220                td6.innerHTML = get_lang("Attachments: ");
1221               
1222                var attachments = document.createElement("TD");
1223                td6.vAlign = "top";
1224                attachments.align='left';
1225                var zipped_attachments = '';
1226                if(info_msg.attachments.length > 1){
1227                        var zipped_attachments  = document.createElement("TABLE");
1228                        zipped_attachments.style.marginBottom = "4px";
1229                        zipped_attachments.cellPadding="0";
1230                        zipped_attachments.cellSpacing="0";
1231                        var tr = document.createElement("TR");
1232                        var td = document.createElement("TD");                 
1233                        var link_attachment     = document.createElement("A");
1234                        link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
1235                        link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments');
1236                        link_attachment.innerHTML += '<BR>';
1237                        td.appendChild(link_attachment);
1238                        tr.appendChild(td);
1239                        zipped_attachments.appendChild(tr);
1240                }
1241                if(zipped_attachments)
1242                        attachments.appendChild(zipped_attachments);
1243                attachments.id = "attachments_" + ID;
1244                for (var i=0; i<info_msg.attachments.length; i++){
1245                        var link_attachment = document.createElement("A");
1246                        link_attachment.setAttribute("href", "javascript:download_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"',"+i+",'"+info_msg.attachments[i].pid+"','"+info_msg.attachments[i].encoding+"')");
1247                        link_attachment.innerHTML = url_decode(info_msg.attachments[i].name);
1248                        msg_size = info_msg.attachments[i].fsize;
1249                        if (msg_size < 1048576 && msg_size > 1024)
1250                                link_attachment.innerHTML += ' (' + this.round(msg_size / 1024, 0) + ' Kb)';
1251                        else if(msg_size > 1024)
1252                                link_attachment.innerHTML += ' (' + this.round(msg_size / (1024*1024), 1) + ' Mb)';
1253                        else
1254                                link_attachment.innerHTML += ' (' + msg_size + ' bytes)';
1255                        link_attachment.innerHTML += '<BR>';
1256                        attachments.appendChild(link_attachment);
1257                }
1258                tr6.appendChild(td6);
1259                tr6.appendChild(attachments);
1260                tbody_message_others_options.appendChild(tr6);
1261        }
1262
1263
1264        // BEGIN MAKE THE SCROLL HEIGHT
1265        var bar = document.getElementById("toolbar");
1266        var offset = 0;
1267        if(bar.style.visibility != 'hidden')
1268                offset = bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight;               
1269        var div = document.createElement("DIV");
1270        div.id = "div_message_scroll_"+ID;
1271        div.style.background = 'WHITE';
1272        div.style.height = document.body.clientHeight - offset - 125;
1273        content.style.height = document.body.clientHeight - offset - 80;
1274        div.style.overflow = "auto";
1275        div.style.width = defaultWidth - (is_ie ? 5 : 0);
1276        // END MAKE THE SCROLL HEIGHT
1277        table_message_others_options.appendChild(tbody_message_others_options);
1278        var tr = document.createElement("TR");
1279        var td = document.createElement("TD");
1280        td.colSpan = '2';
1281        div.appendChild(table_message_others_options);
1282        td.appendChild(div);
1283        tr.appendChild(td)
1284        tbody_message.appendChild(tr);
1285
1286
1287        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
1288        //Make the body message.
1289        //////////////////////////////////////////////////////////////////////////////////////////////////////
1290        var tr = document.createElement("TR");
1291        tr.className = "tr_message_body";
1292        var td = document.createElement("TD");
1293        //td.setAttribute("colSpan","2");
1294        info_msg.body = info_msg.body.replace("<body","<span");
1295        info_msg.body = info_msg.body.replace("<BODY","<span");
1296        div.innerHTML+= "<span id='body_"+ID+"'>"+info_msg.body+"</span><br><br>";
1297        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
1298        //Make the thumbs of the message.
1299        //////////////////////////////////////////////////////////////////////////////////////////////////////
1300        if ((info_msg.thumbs)&&(info_msg.thumbs.length > 0)){
1301                var table_message_thumbs = document.createElement("TABLE");
1302                table_message_thumbs.width = "80%";
1303                table_message_thumbs.style.borderTop = "2px solid rgb(170, 170, 170)";
1304                var tbody_message_thumbs = document.createElement("TBODY");
1305                var tr = document.createElement("TR");
1306                tr.className = "tr_message_body";
1307                var td = document.createElement("TD");
1308                td.setAttribute("colSpan","2");
1309                td.id = "body_thumbs_"+ID;
1310                td.innerHTML += "&nbsp;<font color='DARKBLUE' size='2'><b>"+info_msg.attachments.length+" "+get_lang("attachment")+(info_msg.attachments.length > 1 ? "s" : "")+" "+get_lang("in this message")+"</font></b>";
1311                var _link_attachments = '';
1312                if(info_msg.thumbs.length > 1){
1313                        _link_attachments       = document.createElement("A");
1314                        _link_attachments.className = "message_options";
1315                        _link_attachments.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
1316                        _link_attachments.innerHTML = get_lang('Download all atachments');
1317                }
1318               
1319                if(_link_attachments){
1320                        td.innerHTML += " :: ";
1321                        td.appendChild(_link_attachments);
1322                }
1323               
1324                td.innerHTML += "<BR><img src='templates/default/images/menu/ktip.png'>"+get_lang("<b>Tip:</b> For faster save, click over the image with <u>right button</u>.");
1325                td.innerHTML += "<BR>";
1326
1327                for (var i=0; i<info_msg.thumbs.length; i++){
1328                        if ((i % 4) == 0)
1329                                td.innerHTML += "<BR>";
1330                        td.innerHTML += info_msg.thumbs[i];
1331                        td.innerHTML += "&nbsp;&nbsp;";
1332                }
1333                tr.appendChild(td);
1334                tbody_message_thumbs.appendChild(tr);
1335                table_message_thumbs.appendChild(tbody_message_thumbs);
1336                div.appendChild(table_message_thumbs);
1337        }
1338        //////////////////////////////////////////////////////////////////////////////////////////////////////
1339        table_message.appendChild(tbody_message);
1340        content.appendChild(table_message);
1341        var msg_number = document.createElement('INPUT');
1342        msg_number.id = "msg_number_" + ID;
1343        msg_number.type = "hidden";
1344        msg_number.value = info_msg.msg_number;
1345        content.appendChild(msg_number);
1346        //////////////////////////////////////////////////////////////////////////////////////////////////////
1347}
1348
1349function draw_new_message(border_ID){
1350        var ID = create_border("",border_ID);
1351        if (ID == false)
1352                return false;
1353        hold_session = true;
1354/////////////////////////////////////////////////////////////////////////////////////////////////////////
1355        var form = document.createElement("FORM");
1356        form.name = "form_message_"+ID;
1357        form.method = "POST";
1358        form.onsubmit = function(){return false;}
1359        if(!is_ie)
1360                form.enctype="multipart/form-data";
1361        else
1362                form.encoding="multipart/form-data";
1363/////////////////////////////////////////////////////////////////////////////////////////////////////////
1364        //ConstructMenuNewMessage(ID);
1365////////////////////////////////////////////////////////////////////////////////////////////////////////       
1366        var content = Element('content_id_' + ID);
1367        var table_message = document.createElement("TABLE");
1368        table_message.width = "100%";
1369        var tbody_message = document.createElement("TBODY");
1370        var tr0 = document.createElement("TR");
1371        tr0.className = "tr_message_header";
1372        var td0 = document.createElement("TD");
1373        td0.colSpan = '3';
1374       
1375        var table_menu_new_message = document.createElement("TABLE");
1376        table_menu_new_message.width = "100%";
1377        table_menu_new_message.border = '0';
1378        table_menu_new_message.className = 'table_message';
1379        var tbody_menu_new_message = document.createElement("TBODY");
1380        var tr_menu_new_message = document.createElement("TR");
1381        var td_menu_new_message = document.createElement("TD");
1382        td_menu_new_message.setAttribute("noWrap","true");
1383       
1384        if ((preferences.save_in_folder == '-1') || (preferences.save_in_folder == '')){
1385                //var option_send = '<span class="message_options" onclick=send_message("'+ID+'","null","null");>'+get_lang("Send")+'</span> | ';
1386                var option_send   = '<input type="button" id="send_button_'+ID+'" class="em_button_like_span" tabindex="1" value="'+get_lang("Send")+'" onclick=send_message("'+ID+'","null","null");>' + ' | ';
1387                var option_send_and_file= '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","send_and_file");>'+get_lang("Send and file")+'</span> | ';
1388        }
1389        else{
1390                //var option_send = '<span class="message_options" onclick="send_message(\''+ID+'\',\''+preferences.save_in_folder+'\',\'null\');">'+get_lang("Send")+'</span> | ';
1391                var option_send   = '<input type="button" id="send_button_'+ID+'" class="em_button_like_span" tabindex="1" value="'+get_lang("Send")+'" onclick="send_message(\''+ID+'\',\''+preferences.save_in_folder+'\',\'null\');">' + ' | ';
1392                var option_send_and_file='';
1393                wfolders.alert = true;
1394        }
1395//      var option_save_as              = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","save");>'+get_lang("Save as")+'</span> | ';
1396        var option_save                 = '<span id="save_message_options" class="message_options" onclick="newMessageTab.toPreserve['+ID+'] = true; save_msg('+ID+');">'+get_lang("Save")+'</span> | ';
1397        var option_search               = '<span class="message_options" onclick=openListUsers("'+ID+'");>'+get_lang("Search")+'</span>';
1398        td_menu_new_message.innerHTML = option_send + option_send_and_file + option_save + option_search;
1399       
1400        tr_menu_new_message.appendChild(td_menu_new_message);
1401        tbody_menu_new_message.appendChild(tr_menu_new_message);
1402        table_menu_new_message.appendChild(tbody_menu_new_message);
1403       
1404        content.appendChild(table_menu_new_message);
1405        tr0.appendChild(td0);
1406        tbody_message.appendChild(tr0);
1407////////////////////////////////////////////////////////////////////////////////////////////////////////
1408        var tr1_1 = document.createElement("TR");
1409        tr1_1.style.display = 'none';
1410        var td1_1 = document.createElement("TD");
1411        td1_1.innerHTML = get_lang("From")+":";
1412        td1_1.setAttribute("noWrap","true");
1413        td1_1.style.width = "1%";
1414       
1415        var td_from = document.createElement("TD");
1416        td_from.setAttribute("noWrap","true");
1417        td_from.style.width = "100%";
1418                       
1419        var sel_from = document.createElement('SELECT');       
1420        sel_from.id = "from_"+ID;
1421        sel_from.name = "input_from";
1422        sel_from.style.width = "70%";
1423        sel_from.setAttribute("wrap","soft");
1424        td_from.appendChild(sel_from); 
1425        tr1_1.appendChild(td1_1);
1426        tr1_1.appendChild(td_from);
1427        tbody_message.appendChild(tr1_1);       
1428////////////////////////////////////////////////////////////////////////////////////////////////////////
1429        var tr1 = document.createElement("TR");
1430        var td1 = document.createElement("TD");
1431        td1.innerHTML = get_lang("To")+":";
1432        td1.setAttribute("noWrap","true");
1433        td1.style.width = "1%";
1434       
1435        var td_to = document.createElement("TD");
1436        td_to.setAttribute("noWrap","true");
1437        td_to.style.width = "100%";
1438       
1439        var input_to = document.createElement('TEXTAREA');
1440        input_to.id = "to_"+ID;
1441        input_to.name = "input_to";
1442        input_to.setAttribute("tabIndex","1"); 
1443        input_to.style.width = "100%";
1444        input_to.setAttribute("wrap","soft");
1445        input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);};
1446        input_to.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
1447        if (!is_ie)
1448        {
1449                input_to.rows = 2;
1450                input_to.onkeypress = function (e)
1451        {
1452            if ((e.keyCode) == 120) //F9
1453            {
1454                emQuickSearch(input_to.value, 'to', ID);
1455            }
1456            else
1457            {
1458                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
1459                {
1460                    e.preventDefault();
1461                    search_contacts(e.keyCode,this.id);
1462                }
1463            }
1464        }
1465        input_to.onkeyup = function (e)
1466        {
1467            if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
1468            {
1469                search_contacts(e.keyCode,this.id);
1470            }
1471        }
1472        }
1473        else
1474        {
1475                input_to.rows = 3;
1476                input_to.onkeyup = function (e)
1477        {
1478            if ((window.event.keyCode) == 120) //F9
1479            {
1480                emQuickSearch(input_to.value, 'to', ID);
1481            }
1482            else
1483            {
1484                search_contacts(window.event.keyCode,this.id);
1485            }   
1486        }
1487        }
1488        td_to.appendChild(input_to);
1489       
1490        var img_search = document.createElement("IMG");
1491        img_search.src = "./templates/default/images/search.gif";
1492        img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
1493        img_search.onclick = function () {emQuickSearch(document.getElementById('to_'+ID).value, 'to', ID);};
1494        var span_search = document.createElement("SPAN");
1495        span_search.innerHTML = get_lang('Search');
1496       
1497        var td1_img_search = document.createElement("TD");
1498        td1_img_search.setAttribute("noWrap","true");
1499        var td1_span_search = document.createElement("TD");
1500        td1_span_search.setAttribute("noWrap","true"); 
1501       
1502        td1_img_search.appendChild(img_search);
1503        td1_span_search.appendChild(span_search);
1504       
1505        tr1.appendChild(td1);
1506        tr1.appendChild(td_to);
1507        tr1.appendChild(td1_img_search);
1508
1509        tbody_message.appendChild(tr1);
1510//////////////////////////////////////////////////////////////////////////////////////////////////////
1511        var tr2 = document.createElement("TR");
1512        tr2.id = "tr_cc_"+ID;
1513        tr2.style.display = 'none';
1514        var td2 = document.createElement("TD");
1515        td2.innerHTML = "Cc:";
1516        td2.setAttribute("noWrap","true");     
1517        td2.style.width = "1%";
1518       
1519        var td_cc = document.createElement("TD");
1520        td_cc.setAttribute("noWrap","true");
1521        td_cc.style.width = "100%";
1522       
1523        var input_cc = document.createElement('TEXTAREA');
1524        input_cc.id = "cc_"+ID;
1525        input_cc.name = "input_cc";
1526        input_cc.setAttribute("tabIndex","1");
1527        input_cc.style.width = "100%";
1528        input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
1529        input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
1530    if (!is_ie)
1531    {
1532        input_cc.rows = 2;
1533        input_cc.onkeypress = function (e)
1534        {
1535            if ((e.keyCode) == 120) //F9
1536            {
1537                emQuickSearch(input_cc.value, 'cc', ID);
1538            }
1539            else
1540            {
1541                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
1542                {
1543                    e.preventDefault();
1544                    search_contacts(e.keyCode,this.id);
1545                }
1546            }
1547        }
1548        input_cc.onkeyup = function (e)
1549        {
1550            if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
1551            {
1552                search_contacts(e.keyCode,this.id);
1553            }
1554        }
1555    }
1556    else if (is_ie)
1557    {
1558        input_cc.rows = 3;
1559        input_cc.onkeyup = function (e)
1560        {
1561            if ((window.event.keyCode) == 120) //F9
1562            {
1563                emQuickSearch(input_cc.value, 'cc', ID);
1564            }
1565            else
1566            {
1567                search_contacts(window.event.keyCode,this.id);
1568            }
1569        }
1570    }
1571       
1572        td_cc.appendChild(input_cc);
1573        var img_search = document.createElement("IMG");
1574        img_search.src = "./templates/default/images/search.gif";
1575        img_search.onclick = function () {emQuickSearch(document.getElementById('cc_'+ID).value, 'cc', ID)}
1576        img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
1577        var span_search = document.createElement("SPAN");
1578        span_search.innerHTML = get_lang('Search');
1579       
1580        var td2_img_search = document.createElement("TD");
1581        td2_img_search.setAttribute("noWrap","true");
1582        var td2_span_search = document.createElement("TD");
1583        td2_span_search.setAttribute("noWrap","true"); 
1584       
1585        td2_img_search.appendChild(img_search);
1586        td2_span_search.appendChild(span_search);
1587               
1588        tr2.appendChild(td2);
1589        tr2.appendChild(td_cc);
1590        tr2.appendChild(td2_img_search);
1591        tbody_message.appendChild(tr2);
1592//////////////////////////////////////////////////////////////////////////////////////////////////////
1593        var tr3 = document.createElement("TR");
1594        tr3.id = "tr_cco_"+ID;
1595        tr3.style.display = 'none';
1596        var td3 = document.createElement("TD");
1597        td3.setAttribute("noWrap","true");
1598        td3.innerHTML = get_lang("CCo")+":";
1599        td3.style.width = "1%";
1600       
1601        var td_cco = document.createElement("TD");
1602        td_cco.setAttribute("noWrap","true");
1603        td_cco.style.width = "100%";
1604       
1605        var input_cco = document.createElement('TEXTAREA');
1606        input_cco.id = "cco_"+ID;
1607        input_cco.name = "input_cco";
1608        input_cco.setAttribute("tabIndex","1");
1609        input_cco.style.width = "100%";
1610        input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
1611        input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
1612       
1613        if (!is_ie)
1614    {
1615        input_cco.rows = 2;
1616        input_cco.onkeypress = function (e)
1617        {
1618            if ((e.keyCode) == 120) //F9
1619            {
1620                emQuickSearch(input_cco.value, 'cco', ID);
1621            }
1622            else
1623            {
1624                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
1625                {
1626                    e.preventDefault();
1627                    search_contacts(e.keyCode,this.id);
1628                }
1629            }
1630        }
1631        input_cco.onkeyup = function (e)
1632        {
1633            if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
1634            {
1635                search_contacts(e.keyCode,this.id);
1636            }
1637        }
1638    }
1639    else if (is_ie)
1640    {
1641        input_cco.rows = 3;
1642        input_cco.onkeyup = function (e)
1643        {
1644            if ((window.event.keyCode) == 120) //F9
1645            {
1646                emQuickSearch(input_cco.value, 'cco', ID);
1647            }
1648            else
1649            {
1650                search_contacts(window.event.keyCode,this.id);
1651            }   
1652        }
1653    }
1654       
1655        td_cco.appendChild(input_cco);
1656        var img_search = document.createElement("IMG");
1657        img_search.src = "./templates/default/images/search.gif";
1658        img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');   
1659        img_search.onclick = function () {emQuickSearch(document.getElementById('cco_'+ID).value, 'cco', ID);};
1660        var span_search = document.createElement("SPAN");
1661        span_search.innerHTML = get_lang('Search');
1662
1663        var td3_img_search = document.createElement("TD");
1664        td3_img_search.setAttribute("noWrap","true");
1665        var td3_span_search = document.createElement("TD");
1666        td3_span_search.setAttribute("noWrap","true"); 
1667       
1668        td3_img_search.appendChild(img_search);
1669        td3_span_search.appendChild(span_search);
1670               
1671        tr3.appendChild(td3);
1672        tr3.appendChild(td_cco);
1673        tr3.appendChild(td3_img_search);       
1674        tbody_message.appendChild(tr3);
1675//////////////////////////////////////////////////////////////////////////////////////////////////////
1676        var tr_link = document.createElement("TR");
1677        tr_link.id = "tr_link_"+ID;             
1678        var td1_link = document.createElement("TD");
1679        var td2_link = document.createElement("TD");
1680        td1_link.innerHTML = "&nbsp;";
1681        var a_cc_link = document.createElement('A');
1682        a_cc_link.innerHTML = get_lang('Add CC');
1683        a_cc_link.id = "a_cc_link_"+ID;
1684        a_cc_link.setAttribute("href","javascript:void(0)");
1685        a_cc_link.setAttribute("tabIndex","-1");
1686        a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); return false;}
1687        td2_link.appendChild(a_cc_link);       
1688        var space = document.createElement("span");
1689        space.id ="space_link_"+ID;
1690        space.innerHTML="&nbsp;|&nbsp;";
1691        td2_link.appendChild(space);
1692        var a_cco_link = document.createElement('A');
1693        a_cco_link.innerHTML = get_lang('Add BCC');
1694        a_cco_link.id = "a_cco_link_"+ID;
1695        a_cco_link.setAttribute("href","javascript:void(0)");
1696        a_cco_link.setAttribute("tabIndex","-1");
1697        a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); return false;}
1698        td2_link.appendChild(a_cco_link);       
1699        tr_link.appendChild(td1_link);
1700        tr_link.appendChild(td2_link);
1701        tbody_message.appendChild(tr_link);
1702//////////////////////////////////////////////////////////////////////////////////////////////////////
1703        var tr4 = document.createElement("TR");
1704        var td4 = document.createElement("TD");
1705        //td4.setAttribute("noWrap","true");   
1706        td4.innerHTML = get_lang("Subject")+":";
1707        var td_subject = document.createElement("TD");
1708        var input_subject = document.createElement('input');
1709        input_subject.id = "subject_"+ID;
1710        input_subject.name = "input_subject";
1711        input_subject.setAttribute("tabIndex","1");
1712        input_subject.style.width = "90%";
1713        input_subject.setAttribute("autocomplete","off");
1714        td_subject.appendChild(input_subject);
1715        tr4.appendChild(td4);
1716        tr4.appendChild(td_subject);
1717        tbody_message.appendChild(tr4);
1718////////////////////////////////////////////////////////////////////////////////////////////////////// 
1719        var tr5 = document.createElement("TR");
1720        var td5 = document.createElement("TD");
1721        td5.innerHTML = "&nbsp;";
1722        var td_return_receipt = document.createElement("TD");
1723        td_return_receipt.setAttribute("noWrap","true");
1724        td_return_receipt.innerHTML = get_lang("Return receipt")+":";
1725        var input_return_receipt = document.createElement('input');
1726        input_return_receipt.type = "checkbox";
1727        input_return_receipt.className = "checkbox";
1728        input_return_receipt.id = "return_receipt_"+ID;
1729        input_return_receipt.name = "input_return_receipt";
1730        input_return_receipt.setAttribute("tabIndex","-1");
1731        td_return_receipt.appendChild(input_return_receipt);   
1732        tr5.appendChild(td5);
1733        tr5.appendChild(td_return_receipt);
1734        tbody_message.appendChild(tr5);
1735//////////////////////////////////////////////////////////////////////////////////////////////////////
1736        var add_files = document.createElement("A");
1737        add_files.setAttribute("href", "javascript:void(0)");
1738        add_files.onclick = function () { addFile(ID); return false;};
1739        add_files.innerHTML =  get_lang("Attachments: add+");
1740        add_files.setAttribute("tabIndex","-1");
1741        var divfiles = document.createElement("DIV");
1742        divfiles.id = "divFiles_"+ID;
1743        var tr5 = document.createElement("TR");
1744        var td5_link = document.createElement("TD");
1745        var td5_input = document.createElement("TD");   
1746        td5_input.innerHTML = "&nbsp;"
1747        td5_link.setAttribute("valign","top");
1748        td5_link.setAttribute("colSpan","2");
1749        td5_link.appendChild(add_files);
1750        tr5.appendChild(td5_input);
1751        tr5.appendChild(td5_link);
1752        tbody_message.appendChild(tr5);
1753        var tr6 = document.createElement("TR");
1754        var td6_link  = document.createElement("TD");
1755        var td6_input = document.createElement("TD");
1756        tr6.appendChild(td6_link);
1757        td6_input.appendChild(divfiles);
1758        tr6.appendChild(td6_input);     
1759        tbody_message.appendChild(tr6);
1760//////////////////////////////////////////////////////////////////////////////////////////////////////
1761        var tr5 = document.createElement("TR");
1762        var td5 = document.createElement("TD");
1763        td5.innerHTML = "&nbsp;";
1764        var td_body = document.createElement("TD");
1765        td_body.setAttribute("colSpan","2");
1766        var div_body_position = document.createElement("DIV");
1767        div_body_position.id = "body_position_" + ID;
1768        td_body.appendChild(div_body_position);
1769        tr5.appendChild(td5);
1770        tr5.appendChild(td_body);
1771        tbody_message.appendChild(tr5);
1772// BEGIN MAKE THE SCROLL HEIGHT
1773        var defaultWidth = document.body.clientWidth - (is_ie ? 200 : 195);
1774        var _bar = document.getElementById("toolbar");
1775        var _offset = 0;
1776        if(_bar.style.visibility != 'hidden')
1777                _offset = _bar.offsetHeight ? _bar.offsetHeight :  _bar.clientHeight;           
1778        var _div = document.createElement("DIV");
1779        _div.id = "div_message_scroll_"+ID;
1780//      _div.style.background = 'WHITE';
1781        _div.style.height = document.body.clientHeight - _offset - 105;
1782        content.style.height = document.body.clientHeight - _offset - 80;
1783       
1784        _div.style.overflow = "auto";
1785        _div.style.width = defaultWidth;
1786        // END MAKE THE SCROLL HEIGHT
1787
1788        // Hide the contac tips and re-position the pallete color.
1789        _div.onscroll = function() {
1790                var intElemScrollTop = Element("div_message_scroll_"+ID).scrollTop;
1791                if (!is_ie)
1792                        ColorPalette.repos(intElemScrollTop);
1793                Tooltip.scrollChanged();
1794        };
1795//////////////////////////////////////////////////////////////////////////////////////////////////////
1796        _div.appendChild(form);
1797        content.appendChild(_div);
1798        table_message.appendChild(tbody_message);
1799        form.appendChild(table_message);
1800        connector.loadScript("rich_text_editor");
1801        RichTextEditor.loadEditor(ID);
1802//////////////////////////////////////////////////////////////////////////////////////////////////////
1803        draw_from_field(sel_from,tr1_1);
1804        return ID;
1805}
1806
1807//      Verify if any user is sharing his name/email address
1808//      for use in the new messages's "From " field.
1809function draw_from_field(sel_from,tr1_1){
1810
1811        var el_shared_users = Element("el_shared_users");
1812        // The element was loaded and populated...so return.
1813        if(el_shared_users){   
1814                // Nothing to work...so return.
1815                if(el_shared_users.options.length == 0)
1816                        return;
1817                tr1_1.style.display = '';
1818                for (var x = 0; x < el_shared_users.options.length; x++) {
1819                        var _option = document.createElement("OPTION");
1820                        _option.text = el_shared_users.options[x].text;
1821                        _option.value = el_shared_users.options[x].value;
1822                        sel_from.options[sel_from.options.length] = _option     ;
1823                }
1824                return;
1825        }
1826        // Get the shared folders.....
1827        var RegExp_name = new RegExp("(user)"+cyrus_delimiter+"(.*)$", "i");
1828        var sharedFolders = new Array();
1829        for(var i = 0; i < folders.length; i++) {
1830                var x = folders[i].folder_id;
1831        if (RegExp_name.test(x)){
1832                sharedFolders[sharedFolders.length] = x;
1833        }
1834    }
1835
1836    var matchUser = '#';
1837    var sharedUsers = new Array();
1838        // Filter the shared folders (only root folders) .....
1839        for(var i = 0; i < sharedFolders.length; i++) {
1840      if(!sharedFolders[i].match(matchUser)) {
1841                matchUser = sharedFolders[i];
1842                sharedUsers[sharedUsers.length] = matchUser.substring(("user"+cyrus_delimiter).length,matchUser.length);
1843      }
1844    }
1845
1846        // Handler function for cExecute
1847        var h_user = function(data) {
1848                if(data.length > 0) {
1849                        tr1_1.style.display = '';
1850                        var _option = document.createElement("OPTION");
1851                        _option.text =  '"'+data.myname+'" <'+Element("user_email").value+'>';
1852                        _option.value  = data.myname+";"+Element("user_email").value;
1853                        sel_from.options[sel_from.options.length] = _option;
1854       
1855                        var options = '';
1856                        for (var x = 0; x < data.length; x++)   {
1857                                var _option = document.createElement("OPTION");
1858                                _option.text = '"'+data[x].cn[0] + '" <'+data[x].mail[0]+'>';
1859                                _option.value = data[x].cn[0] + ';'+data[x].mail[0];
1860                                sel_from.options[sel_from.options.length] = _option     ;
1861                        }
1862                }
1863                var shared_users_from = Element("el_shared_users");
1864                if(!shared_users_from) {
1865                        shared_users_from = sel_from.cloneNode(true);
1866                        shared_users_from.id = "el_shared_users";
1867                        shared_users_from.style.display = 'none';
1868                        document.body.appendChild(shared_users_from);
1869                }
1870        }
1871        // First time, so execute.....
1872        cExecute ("$this.ldap_functions.getSharedUsersFrom&uids="+sharedUsers.join(';'), h_user);
1873}
1874
1875function changeBgColorToON(all_messages, begin, end){
1876        for (begin; begin<=end; begin++)
1877        {
1878                add_className(all_messages[begin], 'selected_msg');
1879                Element("check_box_message_" + all_messages[begin].id).checked = true;
1880        }
1881}
1882
1883function changeBgColor(event, msg_number){
1884        actual_tr = Element(msg_number);
1885
1886        if (event.shiftKey)
1887        {
1888                last_tr = Element(last_message_selected);
1889                if(!last_tr)
1890                        last_tr = actual_tr;
1891
1892                all_messages = actual_tr.parentNode.childNodes;
1893               
1894                for (var i=0; i < all_messages.length; i++)
1895                {
1896                        if (actual_tr.id == all_messages[i].id)
1897                                first_order = i;
1898                        if (last_tr.id == all_messages[i].id)
1899                                last_order = i;
1900                }
1901               
1902                if (parseInt(first_order) > parseInt(last_order))
1903                        changeBgColorToON(all_messages, last_order, first_order);
1904                else
1905                        changeBgColorToON(all_messages, first_order, last_order);
1906        }
1907        else{
1908                //if ( exist_className(actual_tr, 'selected_msg') )
1909                if ( Element('check_box_message_' + msg_number).checked )
1910                        add_className(actual_tr, 'selected_msg');
1911                else
1912                        remove_className(actual_tr, 'selected_msg');
1913        }
1914        last_message_selected = msg_number;
1915}
1916
1917function build_quota(data){
1918        id = "content_quota";
1919        q_limit = data['quota_limit'];
1920        var div = document.getElementById(id);
1921        if(!q_limit){
1922            div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>';
1923        }
1924        else{
1925        if(div)
1926                div.innerHTML = '';
1927        value = data['quota_percent'];
1928        q_used = data['quota_used'];
1929        table = document.getElementById("table_quota");
1930        if(table)
1931                table.parentNode.removeChild(table);
1932        table = document.createElement("TABLE");       
1933        tbody = document.createElement("TBODY");       
1934        table.appendChild(tbody);
1935        table.id = "table_quota";
1936        table.width="102";
1937        table.border="0";
1938        table.cellSpacing = 0;
1939        table.cellPadding = 0;
1940       
1941        //tr1 = document.createElement("TR");
1942        td11 = document.createElement("TD");
1943        td11.align="center";
1944        td11.setAttribute("noWrap","true");
1945        td11.innerHTML += '&nbsp;' + value+"% ("+q_used+"M/"+q_limit+"M)";
1946        //tr1.appendChild(td11);
1947       
1948        tr2 = document.createElement("TR");
1949        td21 = document.createElement("TD");
1950        td21.setAttribute("noWrap","true");
1951        td21.height="15";
1952        td22 = document.createElement("TD");   
1953        td21.setAttribute("background","templates/default/images/dsunused.gif");
1954        table221 = document.createElement("TABLE");
1955        tbody221 = document.createElement("TBODY");
1956        table221.appendChild(tbody221);
1957        table221.style.width=value+"%";
1958        td21.width="102";
1959        table221.border="0";
1960        table221.cellSpacing = 0;
1961        table221.cellPadding = 0;
1962        tr221 = document.createElement("TR");
1963        td221 = document.createElement("TD");
1964        td221.height="15";
1965        if(value > 90) {
1966                if(value >= 100)
1967                        write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages."));
1968                else
1969                        write_msg(get_lang("Warning: Your Mailbox is almost full!"));
1970                td221.setAttribute("background","templates/default/images/dsalert.gif");
1971        }
1972        else if(value > 80)
1973                td221.setAttribute("background","templates/default/images/dswarn.gif");
1974        else
1975                td221.setAttribute("background","templates/default/images/dsused.gif");
1976       
1977        tr221.appendChild(td221);
1978        tbody221.appendChild(tr221);
1979        td21.appendChild(table221);     
1980        tr2.appendChild(td21);
1981        tr2.appendChild(td11);
1982
1983        //tr2.appendChild(td1);
1984
1985        tbody.appendChild(tr2); //Desenho
1986        //tbody.appendChild(tr1); //Letras
1987        div.appendChild(table);
1988        }
1989}
1990
1991function draw_quota(data){
1992        build_quota(data);
1993}
1994
1995function update_quota(folder_id){
1996        cExecute ("$this.imap_functions.get_quota&folder_id="+folder_id,build_quota);
1997}
1998
1999function draw_search(headers_msgs){
2000        Element("border_id_0").innerHTML = "&nbsp;&nbsp;" + get_lang('Search Result') + "&nbsp;&nbsp;";
2001
2002        var tbody = Element('tbody_box');
2003        for (var i=0; i<(headers_msgs.length); i++){
2004                var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder);
2005                tbody.appendChild(tr);
2006        }
2007}
2008
2009function draw_search_header_box(){
2010        var table_message_header_box = Element("table_message_header_box");
2011        table_message_header_box.parentNode.removeChild(table_message_header_box);
2012
2013        var content_id_0 = Element("content_id_0");
2014        var table_element = document.createElement("TABLE");
2015        var tbody_element = document.createElement("TBODY");
2016        table_element.setAttribute("id", "table_message_header_box");
2017        table_element.className = "table_message_header_box";
2018        tr_element = document.createElement("TR");
2019        tr_element.className = "message_header";
2020        td_element1 = document.createElement("TD");
2021        td_element1.setAttribute("width", "1%");
2022        chk_box_element = document.createElement("INPUT");
2023        chk_box_element.id  = "chk_box_select_all_messages";
2024        chk_box_element.setAttribute("type", "checkbox");
2025        chk_box_element.className = "checkbox";
2026        chk_box_element.onclick = function(){select_all_messages(this.checked);};
2027        chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages.')};
2028        chk_box_element.onkeydown = function (e){
2029                if (is_ie)
2030                {
2031                        if ((window.event.keyCode) == 46)
2032                        {
2033                                //delete_all_selected_msgs_imap();
2034                                delete_msgs(get_current_folder(),'selected','null');
2035                        }
2036                }
2037                else
2038                {
2039                        if ((e.keyCode) == 46)
2040                        {
2041                                //delete_all_selected_msgs_imap();
2042                                delete_msgs(get_current_folder(),'selected','null');
2043                        }
2044                }
2045        };
2046       
2047        td_element1.appendChild(chk_box_element);
2048        td_element2 = document.createElement("TD");
2049        td_element2.setAttribute("width", "3%");
2050        td_element3 = document.createElement("TD");
2051        td_element3.setAttribute("width", "30%");
2052        td_element3.id = "message_header_SORTFROM";
2053        td_element3.align = "left";
2054        td_element3.innerHTML = get_lang("From");
2055        td_element4 = document.createElement("TD");
2056        td_element4.setAttribute("width", "49%");
2057        td_element4.id = "message_header_SORTSUBJECT";
2058        td_element4.align = "left";
2059        td_element4.innerHTML = get_lang("Subject");   
2060        td_element5 = document.createElement("TD");
2061        td_element5.setAttribute("width", "10%");
2062        td_element5.id = "message_header_SORTARRIVAL";
2063        td_element5.align = "center";
2064        td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; 
2065        td_element5.innerHTML += "<img src ='templates/default/images/arrow_descendant.gif'>";
2066        td_element6 = document.createElement("TD");
2067        td_element6.setAttribute("width", "10%");
2068        td_element6.id = "message_header_SORTSIZE";
2069        td_element6.align = "right";
2070        td_element6.innerHTML = get_lang("Size");
2071        tr_element.appendChild(td_element1);
2072        tr_element.appendChild(td_element2);
2073        tr_element.appendChild(td_element3);
2074        tr_element.appendChild(td_element4);
2075        tr_element.appendChild(td_element5);
2076        tr_element.appendChild(td_element6);
2077       
2078        tbody_element.appendChild(tr_element);
2079        table_element.appendChild(tbody_element);
2080        content_id_0.appendChild(table_element);
2081}
2082
2083function draw_search_division(msg){
2084        var tbody = Element('tbody_box');
2085        var tr = document.createElement("TR");
2086        var td = document.createElement("TD");
2087        td.colSpan = '7';
2088        td.width = '100%';
2089
2090        var action_info_table = document.createElement("TABLE");
2091        var action_info_tbody = document.createElement("TBODY");
2092       
2093        action_info_table.className = "action_info_table";
2094        action_info_table.width = "100%";
2095       
2096        var action_info_tr = document.createElement("TR");
2097       
2098        var action_info_th1 = document.createElement("TH");
2099        action_info_th1.width = "40%";
2100        action_info_th1.innerHTML = "&nbsp;";
2101
2102        var action_info_th2 = document.createElement("TH");
2103       
2104        action_info_th2.innerHTML = msg;
2105        action_info_th2.className = "action_info_th";
2106        action_info_th2.setAttribute("noWrap", "true");
2107       
2108        var action_info_th3 = document.createElement("TH");
2109        action_info_th3.width = "40%";
2110        action_info_th3.innerHTML = "&nbsp;";
2111       
2112        action_info_tr.appendChild(action_info_th1);
2113        action_info_tr.appendChild(action_info_th2);
2114        action_info_tr.appendChild(action_info_th3);
2115        action_info_tbody.appendChild(action_info_tr);
2116        action_info_table.appendChild(action_info_tbody);
2117
2118        td.appendChild(action_info_table);
2119        tr.appendChild(td);
2120        tbody.appendChild(tr);
2121}
2122
2123function draw_search_box(){
2124        var content_id_0 = Element("content_id_0");
2125        var table = document.createElement("TABLE");
2126        table.id = "table_box";
2127        table.width = 'auto';
2128        var tbody = document.createElement("TBODY");
2129        tbody.id = "tbody_box";
2130
2131        table.className = "table_box";
2132        table.setAttribute("frame", "below");
2133        table.setAttribute("rules", "none");
2134        table.setAttribute("cellpadding", "0");
2135        table.onkeydown = function (e){
2136                if (is_ie)
2137                {
2138                        if ((window.event.keyCode) == 46)
2139                        {
2140                                //delete_all_selected_msgs_imap();
2141                                delete_msgs(get_current_folder(),'selected','null');
2142                        }
2143                }
2144                else
2145                {
2146                        if ((e.keyCode) == 46)
2147                        {
2148                                //delete_all_selected_msgs_imap();
2149                                delete_msgs(get_current_folder(),'selected','null');
2150                        }
2151                }
2152        };
2153        if (is_ie)
2154                table.style.cursor = "hand";
2155       
2156        table.appendChild(tbody);
2157        content_id_0.appendChild(table);
2158}
2159        var idx_cc = 0;
2160function draw_plugin_cc(ID, addrs)      {
2161        connector.loadScript("ccQuickAdd");
2162
2163        var array_addrs = '';
2164        var array_name  = '';   
2165        var cc_data = new Array();
2166        if(typeof(addrs.name) != 'undefined') {
2167                array_name      = LTrim(addrs.name).split(" ");
2168                array_addrs = new Array(addrs.email);           
2169        }
2170        else {
2171                array_addrs = (typeof addrs == 'object' ? addrs.toString().split("\" ") : addrs.split("\" "));
2172                array_name      = LTrim(array_addrs[0]).replace('"','').split(" ");     
2173        }
2174
2175        var _split = array_name[0].split('@');
2176        cc_data[0] = _split[0];
2177        cc_data[1] = _split[0];
2178        cc_data[2] = '';
2179
2180        for (i=1; i < array_name.length; i++)
2181                cc_data[2] += array_name[i] + " ";                     
2182       
2183
2184        if(array_addrs.length > 1)                     
2185                cc_data[3] = array_addrs[1] ? array_addrs[1].replace("&lt;",'').replace("&gt;",'') : '';               
2186        else
2187                cc_data[3] = array_addrs[0];
2188       
2189        var sm_envelope_img1 = '<img style="cursor:'+ (is_ie ? 'hand' : 'pointer') +'" title="' + get_lang("Add Contact") +
2190        '" onclick="ccQuickAddOne.showList(\''+cc_data+'\')" src="./templates/default/images/user_card.gif">';
2191        var to_addybook_add = "<SPAN id='insert_plugin_"+idx_cc+"_"+ID+"'>";
2192        to_addybook_add += addrs;
2193        to_addybook_add +=  sm_envelope_img1;
2194        idx_cc++;
2195        to_addybook_add += "</SPAN>";
2196        return to_addybook_add;
2197}
2198function deny_email(email){
2199        connector.loadScript("filter");
2200        connector.loadScript("filters");
2201        var dn_em       = document.createElement("SPAN");
2202                dn_em.id = "tt_d";
2203                dn_em.onclick = function(){filter_rules.new_rule(email);};
2204                dn_em.setAttribute("title",get_lang("Block Sender"));
2205                dn_em.style.cursor = "pointer";         
2206                dn_em.innerHTML = "<img align='top' onclick=filter.new_rule('"+email+"') src='./templates/default/images/deny.gif'>";
2207        return dn_em;
2208       
2209}
2210function show_div_address_full(id, type) {
2211        var div_address_full = Element("div_"+type+"address_full_"+id);
2212        if(!div_address_full) {
2213                div_address_full = document.createElement("SPAN");
2214                div_address_full.id = "div_"+type+"address_full_"+id;   
2215                div_address_full.style.display="none"; 
2216                var _address = eval(type+"address_array['"+id+"']");
2217                var isOverLimit = (_address.length > 100);
2218               
2219                if(isOverLimit) {
2220                        alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+
2221                        "Para evitar o travamento do navegador, o botão 'Adicionar Contato' foi desabilitado!");
2222                }
2223
2224                for(var idx = 1 ; idx  < _address.length;idx++) {
2225                        div_address_full.innerHTML += isOverLimit ?  '<br>'+_address[idx] : ','+draw_plugin_cc(id,_address[idx]);
2226                }               
2227                div_address_full.innerHTML += " (<a STYLE='color: RED;' onclick=document.getElementById('div_"+type+"address_full_"+id+"').style.display='none';document.getElementById('div_"+type+"address_"+id+"').style.display='';>"+get_lang('less')+"</a>)";
2228                Element(type+"_"+id).appendChild(div_address_full);
2229        }
2230        Element('div_'+type+'address_'+id).style.display='none';
2231        div_address_full.style.display='';
2232}
2233function draw_footer_box(num_msgs){
2234        var span_R = Element("table_message"); 
2235        var span_options = Element("span_options");     
2236        if(!span_options) {
2237                span_options = document.createElement("TD");   
2238                span_options.style.fontSize = "12";
2239                span_options.id = "span_options";
2240                span_R.appendChild(span_options);
2241        }
2242
2243        span_options.innerHTML =
2244                '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+
2245                '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+
2246                '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+
2247                '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span>';
2248       
2249        if (use_spam_filter) {
2250                if ( get_current_folder() == 'INBOX'+cyrus_delimiter+'Spam' )   {
2251                        span_options.innerHTML += ' | <span title="'+get_lang("Not Spam")+'" class="message_options" onclick="nospam(\'selected\',\'null\',\'null\')">'+get_lang("Not Spam")+'</span>';
2252                }
2253                else {
2254                        span_options.innerHTML += ' | <span title="'+get_lang("Mark as Spam")+'" class="message_options" onclick="spam(\'null\', \'selected\',\'null\')">'+get_lang("Mark as Spam")+'</span>';
2255                }
2256        }
2257        var span_D = Element("span_D");
2258        if(!span_D){
2259                span_D = document.createElement("TD"); 
2260                span_D.align = "right";
2261                span_D.style.fontSize = "12";
2262                span_D.id = "span_D";
2263                span_R.appendChild(span_D);
2264        }
2265        span_D.innerHTML =
2266                 get_lang("List")+': '+
2267        '<span id="span_flag_SORTARRIVAL" style="'+(search_box_type == 'ALL' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("All")+'" class="message_options" onclick="if(\'ALL\' == \''+search_box_type+'\') return false;sort_box(\'ALL\',\''+sort_box_type+'\')">'+get_lang("All")+'</span>, '+
2268        '<span id="span_flag_UNSEEN" style="'+(search_box_type == 'UNSEEN' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("l_unseen")+'" class="message_options" onclick="if(\'UNSEEN\' == \''+search_box_type+'\') return false;sort_box(\'UNSEEN\',\''+sort_box_type+'\')">'+get_lang("l_unseen")+'</span>, '+
2269        '<span id="span_flag_SEEN" style="'+(search_box_type == 'SEEN' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("l_seen")+'" class="message_options" onclick="if(\'SEEN\' == \''+search_box_type+'\') return false;sort_box(\'SEEN\',\''+sort_box_type+'\')">'+get_lang("l_seen")+'</span>, '+
2270        '<span id="span_flag_ANSWERED" style="'+(search_box_type == 'ANSWERED' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("l_answered")+'" class="message_options" onclick="if(\'ANSWERED\' == \''+search_box_type+'\') return false;sort_box(\'ANSWERED\',\''+sort_box_type+'\')">'+get_lang("l_answered")+'</span>, '+
2271        '<span id="span_flag_FLAGGED" style="'+(search_box_type == 'FLAGGED' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("l_important")+'" class="message_options" onclick="if(\'FLAGGED\' == \''+search_box_type+'\') return false;sort_box(\'FLAGGED\',\''+sort_box_type+'\')">'+get_lang("l_important")+'</span>&nbsp;&nbsp;';
2272        draw_paging(num_msgs);
2273        Element("tot_m").innerHTML = num_msgs; 
2274}
Note: See TracBrowser for help on using the repository browser.