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

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