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

Revision 271, 83.8 KB checked in by niltonneto, 16 years ago (diff)

Fechamento de versão: 1.2211
Tickets:

#50 Criar uma funcionalidade para inserir imagens embutidas no corpo da mensagem.
#174 Implementar rascunho com anexos
#182 Criar funcionalidade de salvar automaticamente os emails em rascunhos
#183 Funcionalidade de drag and drop na busca
#185 Adicionar tabela na edição de email
#186 Correção do problema com nomes de anexos com caracteres especiais
#188 Definir aspectos de QA do ExpressoMail?
#190 Problema ao salvar informações de filtros no IE

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