source: trunk/expressoMail1_2/js/jscode/draw_api_messages.js @ 2800

Revision 2800, 31.9 KB checked in by niltonneto, 14 years ago (diff)

Ticket #1040 - Corrige problemas ao redimensionar largura das divs principais.

Line 
1// Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo
2// aqui no expressoMail.
3function Map()
4{
5        this.keys = new Array();
6        this.values = new Array();
7}
8
9Map.prototype.add = function(key, value)
10{
11        this.keys.push(key);
12        this.values.push(value);
13};
14
15Map.prototype.get = function(key)
16{
17        result = new Array();
18        for (i = 0; i < this.keys.length; i++)
19        {
20                if (this.keys[i] == key)
21                {
22                        result.push(this.values[i]);
23                }
24        }
25
26        if (result.length == 0)
27        {
28                return null;
29        }
30
31        return result;
32};
33
34var translatedFolders = new Map();
35
36function changeLinkState(el,state){
37        el.innerHTML = get_lang(state);
38        switch (state){
39                case 'important':
40                        {
41                                el.onclick = function(){changeLinkState(el,'normal');set_messages_flag('unflagged',currentTab.substr(0,currentTab.indexOf("_r"))); write_msg(get_lang('Message marked as ')+get_lang("Normal"))};
42                                break;
43                        }
44                case 'normal':
45                        {
46                                el.onclick = function(){  changeLinkState(el,'important');set_messages_flag('flagged',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("Important"))};
47                                break;
48                        }
49                case 'unseen':
50                        {
51                                el.onclick = function(){  changeLinkState(el,'seen');set_messages_flag('unseen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("unseen"))};
52                                break;
53
54                        }
55                case 'seen':
56                        {
57                                el.onclick = function(){  changeLinkState(el,'unseen');set_messages_flag('seen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("seen"))};
58                                break;
59
60                        }
61                default:
62                        {
63                                break;
64                        }
65        }
66}
67function constructMenuNewMessage(ID,tbody_message,table_message,content)
68{
69        table_message.width = "100%";
70
71        var tr0 = document.createElement("TR");
72        tr0.className = "tr_message_header";
73        var td0 = document.createElement("TD");
74        td0.colSpan = '3';
75
76        var table_menu_new_message = document.createElement("TABLE");
77        table_menu_new_message.width = "100%";
78        table_menu_new_message.border = '0';
79        table_menu_new_message.className = 'table_message';
80        var tbody_menu_new_message = document.createElement("TBODY");
81        var tr_menu_new_message = document.createElement("TR");
82        var td_menu_new_message = document.createElement("TD");
83        td_menu_new_message.setAttribute("noWrap","true");
84
85        if ((preferences.save_in_folder == '-1') || (preferences.save_in_folder == '')){
86                //var option_send = '<span class="message_options" onclick=send_message("'+ID+'","null","null");>'+get_lang("Send")+'</span> | ';
87                var option_send   = '<input type="button" id="send_button_'+ID+'" class="em_button_like_span" tabindex="1" value="'+get_lang("Send")+'" onclick=send_message("'+ID+'","null","null");>' + ' | ';
88                if(!expresso_offline)
89                        var option_send_and_file= '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","send_and_file");>'+get_lang("Send and file")+'</span> | ';
90                else
91                        var option_send_and_file='';
92        }
93        else{
94                //var option_send = '<span class="message_options" onclick="send_message(\''+ID+'\',\''+preferences.save_in_folder+'\',\'null\');">'+get_lang("Send")+'</span> | ';
95                var option_send   = '<input type="button" id="send_button_'+ID+'" class="em_button_like_span" tabindex="1" value="'+get_lang("Send")+'" onclick="send_message(\''+ID+'\',\''+preferences.save_in_folder+'\',\'null\');">' + ' | ';
96                var option_send_and_file='';
97                wfolders.alert = true;
98        }
99        //      var option_save_as              = '<span class="message_options" onclick=wfolders.makeWindow("'+ID+'","save");>'+get_lang("Save as")+'</span> | ';
100        if (!expresso_offline) {
101                var option_save = '<span id="save_message_options_'+ID+'" class="message_options" onclick="openTab.toPreserve['+ID+'] = true; save_msg('+ID+');">'+get_lang("Save")+'</span> | ';
102                var option_search = '<span class="message_options" onclick=openListUsers("'+ID+'");>'+get_lang("Search")+'</span>';
103        }
104        else {
105                var option_save = '<input type="hidden" id="save_message_options_'+ID+'">';
106                var option_search = '';
107        }
108        td_menu_new_message.innerHTML = option_send + option_send_and_file + option_save + option_search;
109
110        tr_menu_new_message.appendChild(td_menu_new_message);
111        tbody_menu_new_message.appendChild(tr_menu_new_message);
112        table_menu_new_message.appendChild(tbody_menu_new_message);
113
114        content.appendChild(table_menu_new_message);
115        tr0.appendChild(td0);
116        tbody_message.appendChild(tr0);
117        ////////////////////////////////////////////////////////////////////////////////////////////////////////
118}
119function constructFromField(tbody_message,ID)
120{
121        var tr1_1 = document.createElement("TR");
122        tr1_1.style.display = 'none';
123        var td1_1 = document.createElement("TD");
124        td1_1.innerHTML = get_lang("From")+":";
125        td1_1.setAttribute("noWrap","true");
126        td1_1.style.width = "1%";
127
128        var td_from = document.createElement("TD");
129        td_from.setAttribute("noWrap","true");
130        td_from.style.width = "100%";
131
132        var sel_from = document.createElement('SELECT');       
133        sel_from.id = "from_"+ID;
134        sel_from.name = "input_from";
135        sel_from.style.width = "70%";
136        sel_from.setAttribute("wrap","soft");
137        td_from.appendChild(sel_from); 
138        tr1_1.appendChild(td1_1);
139        tr1_1.appendChild(td_from);
140        tbody_message.appendChild(tr1_1);       
141        if(!expresso_offline)
142                draw_from_field(sel_from,tr1_1);
143        var tr1 = document.createElement("TR");
144        var td1 = document.createElement("TD");
145        td1.innerHTML = get_lang("To")+":";
146        td1.setAttribute("noWrap","true");
147        td1.style.width = "1%";
148
149        var td_to = document.createElement("TD");
150        td_to.setAttribute("noWrap","true");
151        td_to.style.width = "100%";
152
153        var input_to = document.createElement('TEXTAREA');
154        input_to.id = "to_"+ID;
155        input_to.name = "input_to";
156        input_to.setAttribute("tabIndex","1"); 
157        input_to.style.width = "100%";
158        input_to.setAttribute("wrap","soft");
159        input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);};
160        input_to.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
161        if (!is_ie)
162        {
163                input_to.rows = 2;
164                input_to.onkeypress = function (e)
165                {
166                        if ((e.keyCode) == 120) //F9
167                        {
168                                emQuickSearch(input_to.value, 'to', ID);
169                        }
170                        else
171                        {
172                                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
173                                {
174                                        e.preventDefault();
175                                        search_contacts(e.keyCode,this.id);
176                                }
177                        }
178                };
179                input_to.onkeyup = function (e)
180                {
181                        if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
182                        {
183                                search_contacts(e.keyCode,this.id);
184                        }
185                };
186        }
187        else
188        {
189                input_to.rows = 3;
190                input_to.onkeyup = function (e)
191                {
192                        if ((window.event.keyCode) == 120) //F9
193                        {
194                                emQuickSearch(input_to.value, 'to', ID);
195                        }
196                        else
197                        {
198                                search_contacts(window.event.keyCode,this.id);
199                        }   
200                };
201        }
202        td_to.appendChild(input_to);
203
204        var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local
205        forwarded_local_message.id = "is_local_forward"+ID;
206        forwarded_local_message.name = "is_local_forward";
207        forwarded_local_message.type = "HIDDEN";
208        forwarded_local_message.value = "0";
209        td_to.appendChild(forwarded_local_message);
210        ////////////////////////////////////////////////////////////////////////////////////////////////////////
211
212
213        if (!expresso_offline) {
214                var img_search = document.createElement("IMG");
215                img_search.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/search.gif';
216                img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
217                img_search.onclick = function () {emQuickSearch(document.getElementById('to_'+ID).value, 'to', ID);};
218        }
219        else {
220                var img_search = document.createElement("SPAN");
221        }
222
223        var span_search = document.createElement("SPAN");
224        span_search.innerHTML = get_lang('Search');
225
226        var td1_img_search = document.createElement("TD");
227        td1_img_search.setAttribute("noWrap","true");
228        var td1_span_search = document.createElement("TD");
229        td1_span_search.setAttribute("noWrap","true"); 
230
231        td1_img_search.appendChild(img_search);
232        td1_span_search.appendChild(span_search);
233
234        tr1.appendChild(td1);
235        tr1.appendChild(td_to);
236        tr1.appendChild(td1_img_search);
237
238        tbody_message.appendChild(tr1);
239}
240
241function draw_new_message(border_ID)
242{
243        Tooltip.init();
244
245        var ID = create_border("",border_ID);
246        if (ID === false){
247                return false;
248        }
249        expresso.connector.hold_session = true;
250
251        var footer_menu = Element("footer_menu");       
252        if (footer_menu) {
253                footer_menu.style.display = 'none';
254        }
255
256        /////////////////////////////////////////////////////////////////////////////////////////////////////////
257        var form = document.createElement("FORM");
258        form.name = "form_message_"+ID;
259        form.method = "POST";
260        form.onsubmit = function(){return false;};
261        if(!is_ie)
262                form.enctype="multipart/form-data";
263        else
264                form.encoding="multipart/form-data";
265
266        var content = Element('content_id_' + ID);
267        var table_message = document.createElement("TABLE");
268        var tbody_message = document.createElement("TBODY");
269       
270        constructMenuNewMessage(ID,tbody_message,table_message,content);
271       
272        constructFromField(tbody_message,ID);
273
274
275        //////////////////////////////////////////////////////////////////////////////////////////////////////
276        var tr2 = document.createElement("TR");
277        tr2.id = "tr_cc_"+ID;
278        tr2.style.display = 'none';
279        var td2 = document.createElement("TD");
280        td2.innerHTML = "Cc:";
281        td2.setAttribute("noWrap","true");     
282        td2.style.width = "1%";
283
284        var td_cc = document.createElement("TD");
285        td_cc.setAttribute("noWrap","true");
286        td_cc.style.width = "100%";
287
288        var input_cc = document.createElement('TEXTAREA');
289        input_cc.id = "cc_"+ID;
290        input_cc.name = "input_cc";
291        input_cc.setAttribute("tabIndex","1");
292        input_cc.style.width = "100%";
293        input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
294        input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
295        if (!is_ie)
296        {
297                input_cc.rows = 2;
298                input_cc.onkeypress = function (e)
299                {
300                        if ((e.keyCode) == 120) //F9
301                        {
302                                emQuickSearch(input_cc.value, 'cc', ID);
303                        }
304                        else
305                        {
306                                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
307                                {
308                                        e.preventDefault();
309                                        search_contacts(e.keyCode,this.id);
310                                }
311                        }
312                };
313                input_cc.onkeyup = function (e)
314                {
315                        if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
316                        {
317                                search_contacts(e.keyCode,this.id);
318                        }
319                };
320        }
321        else if (is_ie)
322        {
323                input_cc.rows = 3;
324                input_cc.onkeyup = function (e)
325                {
326                        if ((window.event.keyCode) == 120) //F9
327                        {
328                                emQuickSearch(input_cc.value, 'cc', ID);
329                        }
330                        else
331                        {
332                                search_contacts(window.event.keyCode,this.id);
333                        }
334                };
335        }
336
337        td_cc.appendChild(input_cc);
338        var img_search = document.createElement("IMG");
339        img_search.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/search.gif';
340        img_search.onclick = function () {emQuickSearch(document.getElementById('cc_'+ID).value, 'cc', ID)};
341        img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
342        var span_search = document.createElement("SPAN");
343        span_search.innerHTML = get_lang('Search');
344
345        var td2_img_search = document.createElement("TD");
346        td2_img_search.setAttribute("noWrap","true");
347        var td2_span_search = document.createElement("TD");
348        td2_span_search.setAttribute("noWrap","true"); 
349
350        td2_img_search.appendChild(img_search);
351        td2_span_search.appendChild(span_search);
352
353        tr2.appendChild(td2);
354        tr2.appendChild(td_cc);
355        tr2.appendChild(td2_img_search);
356        tbody_message.appendChild(tr2);
357        //////////////////////////////////////////////////////////////////////////////////////////////////////
358        var tr3 = document.createElement("TR");
359        tr3.id = "tr_cco_"+ID;
360        tr3.style.display = 'none';
361        var td3 = document.createElement("TD");
362        td3.setAttribute("noWrap","true");
363        td3.innerHTML = get_lang("CCo")+":";
364        td3.style.width = "1%";
365
366        var td_cco = document.createElement("TD");
367        td_cco.setAttribute("noWrap","true");
368        td_cco.style.width = "100%";
369
370        var input_cco = document.createElement('TEXTAREA');
371        input_cco.id = "cco_"+ID;
372        input_cco.name = "input_cco";
373        input_cco.setAttribute("tabIndex","1");
374        input_cco.style.width = "100%";
375        input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
376        input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
377
378        if (!is_ie)
379        {
380                input_cco.rows = 2;
381                input_cco.onkeypress = function (e)
382                {
383                        if ((e.keyCode) == 120) //F9
384                        {
385                                emQuickSearch(input_cco.value, 'cco', ID);
386                        }
387                        else
388                        {
389                                if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
390                                {
391                                        e.preventDefault();
392                                        search_contacts(e.keyCode,this.id);
393                                }
394                        }
395                };
396                input_cco.onkeyup = function (e)
397                {
398                        if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
399                        {
400                                search_contacts(e.keyCode,this.id);
401                        }
402                };
403        }
404        else if (is_ie)
405        {
406                input_cco.rows = 3;
407                input_cco.onkeyup = function (e)
408                {
409                        if ((window.event.keyCode) == 120) //F9
410                        {
411                                emQuickSearch(input_cco.value, 'cco', ID);
412                        }
413                        else
414                        {
415                                search_contacts(window.event.keyCode,this.id);
416                        }   
417                };
418        }
419
420        td_cco.appendChild(input_cco);
421        var img_search = document.createElement("IMG");
422        img_search.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/search.gif';
423        img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');   
424        img_search.onclick = function () {emQuickSearch(document.getElementById('cco_'+ID).value, 'cco', ID);};
425        var span_search = document.createElement("SPAN");
426        span_search.innerHTML = get_lang('Search');
427
428        var td3_img_search = document.createElement("TD");
429        td3_img_search.setAttribute("noWrap","true");
430        var td3_span_search = document.createElement("TD");
431        td3_span_search.setAttribute("noWrap","true"); 
432
433        td3_img_search.appendChild(img_search);
434        td3_span_search.appendChild(span_search);
435
436        tr3.appendChild(td3);
437        tr3.appendChild(td_cco);
438        tr3.appendChild(td3_img_search);       
439        tbody_message.appendChild(tr3);
440        //////////////////////////////////////////////////////////////////////////////////////////////////////
441        var tr_link = document.createElement("TR");
442        tr_link.id = "tr_link_"+ID;             
443        var td1_link = document.createElement("TD");
444        var td2_link = document.createElement("TD");
445        td1_link.innerHTML = "&nbsp;";
446        var a_cc_link = document.createElement('A');
447        a_cc_link.innerHTML = get_lang('Add CC');
448        a_cc_link.id = "a_cc_link_"+ID;
449        a_cc_link.setAttribute("href","javascript:void(0)");
450        a_cc_link.setAttribute("tabIndex","-1");
451        a_cc_link.onclick = function () {
452                                        this.style.display='none';
453                                        document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';
454                                        input_cc.focus();
455                                        return false;
456                                };
457        td2_link.appendChild(a_cc_link);       
458        var space = document.createElement("span");
459        space.id ="space_link_"+ID;
460        space.innerHTML="&nbsp;|&nbsp;";
461        td2_link.appendChild(space);
462        var a_cco_link = document.createElement('A');
463        a_cco_link.innerHTML = get_lang('Add BCC');
464        a_cco_link.id = "a_cco_link_"+ID;
465        a_cco_link.setAttribute("href","javascript:void(0)");
466        a_cco_link.setAttribute("tabIndex","-1");
467        a_cco_link.onclick = function () {
468                                        this.style.display='none';
469                                        document.getElementById('tr_cco_'+ID).style.display='';
470                                        document.getElementById('space_link_'+ID).style.display='none';
471                                        input_cco.focus();
472                                        return false;
473                                };
474        td2_link.appendChild(a_cco_link);       
475        tr_link.appendChild(td1_link);
476        tr_link.appendChild(td2_link);
477        tbody_message.appendChild(tr_link);
478        //////////////////////////////////////////////////////////////////////////////////////////////////////
479        var tr4 = document.createElement("TR");
480        var td4 = document.createElement("TD");
481        //td4.setAttribute("noWrap","true");   
482        td4.innerHTML = get_lang("Subject")+":";
483        var td_subject = document.createElement("TD");
484        var input_subject = document.createElement('input');
485        input_subject.id = "subject_"+ID;
486        input_subject.name = "input_subject";
487        input_subject.setAttribute("tabIndex","1");
488        input_subject.style.width = "90%";
489        input_subject.setAttribute("autocomplete","off");
490        td_subject.appendChild(input_subject);
491        tr4.appendChild(td4);
492        tr4.appendChild(td_subject);
493        tbody_message.appendChild(tr4);
494        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
495        var tr5 = document.createElement("TR");
496        var td5 = document.createElement("TD");
497        td5.innerHTML = "&nbsp;";
498        var td_return_receipt = document.createElement("TD");
499        td_return_receipt.setAttribute("noWrap","true");
500        td_return_receipt.innerHTML = get_lang("Return receipt")+":";
501        if (is_ie)
502        {
503                var input_return_receipt = document.createElement('input name=input_return_receipt');
504        }
505        else
506        {
507                var input_return_receipt = document.createElement('input');
508                input_return_receipt.name = "input_return_receipt";
509        }
510        input_return_receipt.type = "checkbox";
511        input_return_receipt.className = "checkbox";
512        input_return_receipt.id = "return_receipt_"+ID;
513        input_return_receipt.setAttribute("tabIndex","-1");
514        td_return_receipt.appendChild(input_return_receipt);
515
516        // Workaround para resolver problema ao enviar e-mails
517        if((preferences.use_assinar_criptografar != '0'))
518        {
519                if(parseInt(preferences.use_signature_digital_cripto)==1)
520                {
521                        td_return_receipt.innerHTML +=  "&nbsp;&nbsp;" + get_lang("Digitally sign message?")+"";
522
523                        if (is_ie)
524                        {
525                                var input_return_digital = document.createElement('input name=input_return_digital');
526                        }
527                        else
528                        {
529                                var input_return_digital = document.createElement('input');
530                                input_return_digital.name = "input_return_digital";
531                        }
532
533                        input_return_digital.type = "checkbox";
534                        input_return_digital.className = "checkbox";
535                        input_return_digital.id = "return_digital_"+ID;
536                        input_return_digital.setAttribute("tabIndex","-1");
537                        if(parseInt(preferences.use_signature_digital)==1)
538                        {
539                                input_return_digital.defaultChecked=true;
540                        }
541                        td_return_receipt.appendChild(input_return_digital);
542                        td_return_receipt.innerHTML +=  "&nbsp;&nbsp;" + get_lang("Digitally crypt message?")+"";
543
544                        if (is_ie)
545                        {
546                                var input_return_cripto = document.createElement('input name=input_return_cripto');
547                        }
548                        else
549                        {
550                                var input_return_cripto = document.createElement('input');
551                                input_return_cripto.name = "input_return_cripto";
552                        }
553
554                        input_return_cripto.type = "checkbox";
555                        input_return_cripto.className = "checkbox";
556                        input_return_cripto.id = "return_cripto_"+ID;
557                        input_return_cripto.setAttribute("tabIndex","-1");
558                        input_return_cripto.defaultChecked=false;
559
560                        if(parseInt(preferences.use_signature_cripto)==1)
561                        {
562                                input_return_cripto.defaultChecked=true;
563                        }
564
565                        td_return_receipt.appendChild(input_return_cripto);
566                }
567               
568        }
569        td_return_receipt.innerHTML += "";
570       
571        tr5.appendChild(td5);
572        tr5.appendChild(td_return_receipt);
573        tbody_message.appendChild(tr5);
574        if (parseInt(preferences.use_important_flag))
575        {
576                var trn = document.createElement("TR");
577                var tdn = document.createElement("TD");
578                tdn.innerHTML = "&nbsp;";
579                var td_important_msg = document.createElement("TD");
580                td_important_msg.setAttribute("noWrap","true");
581                td_important_msg.innerHTML = get_lang("Important message")+":";
582                var input_important_message = document.createElement('input');
583                input_important_message.type = "checkbox";
584                input_important_message.className = "checkbox";
585                input_important_message.id = "important_message_"+ID;
586                input_important_message.name = "input_important_message";
587                input_important_message.setAttribute("tabIndex","-1");
588                td_important_msg.appendChild(input_important_message); 
589                trn.appendChild(tdn);
590                trn.appendChild(td_important_msg);
591                tbody_message.appendChild(trn);
592        }
593
594        var add_files = document.createElement("A");
595        add_files.setAttribute("href", "javascript:void(0)");
596        add_files.onclick = function () { addFile(ID); return false;};
597        add_files.innerHTML =  get_lang("Attachments: add+");
598        add_files.setAttribute("tabIndex","-1");
599        var divfiles = document.createElement("DIV");
600        divfiles.id = "divFiles_"+ID;
601        var tr5 = document.createElement("TR");
602        var td5_link = document.createElement("TD");
603        var td5_input = document.createElement("TD");   
604        td5_input.innerHTML = "&nbsp;";
605        td5_link.setAttribute("valign","top");
606        td5_link.setAttribute("colSpan","2");
607        td5_link.appendChild(add_files);
608        tr5.appendChild(td5_input);
609        tr5.appendChild(td5_link);
610        tbody_message.appendChild(tr5);
611        var tr6 = document.createElement("TR");
612        var td6_link  = document.createElement("TD");
613        var td6_input = document.createElement("TD");
614        tr6.appendChild(td6_link);
615        td6_input.appendChild(divfiles);
616        tr6.appendChild(td6_input);     
617        tbody_message.appendChild(tr6);
618        //////////////////////////////////////////////////////////////////////////////////////////////////////
619        var tr5 = document.createElement("TR");
620        var td5 = document.createElement("TD");
621        td5.innerHTML = "&nbsp;";
622        var td_body = document.createElement("TD");
623        td_body.setAttribute("colSpan","2");
624        var div_body_position = document.createElement("DIV");
625        div_body_position.id = "body_position_" + ID;
626        td_body.appendChild(div_body_position);
627        tr5.appendChild(td5);
628        tr5.appendChild(td_body);
629        tbody_message.appendChild(tr5);
630        var _div = document.createElement("DIV");
631        _div.id = "div_message_scroll_"+ID;
632        _div.style.overflow = "auto";
633        _div.style.width = "100%";
634
635        // Hide the contac tips and re-position the pallete color.
636        _div.onscroll = function() {
637                var intElemScrollTop = Element("div_message_scroll_"+ID).scrollTop;
638                if (!is_ie)
639                        ColorPalette.repos(intElemScrollTop);
640                Tooltip.scrollChanged();
641        };
642        //////////////////////////////////////////////////////////////////////////////////////////////////////
643        _div.appendChild(form);
644        content.appendChild(_div);
645        table_message.appendChild(tbody_message);       
646        form.appendChild(table_message);
647        expresso.connector.loadScript("jscode/rich_text_editor");
648        RichTextEditor.loadEditor(ID); 
649        resizeWindow();
650        //////////////////////////////////////////////////////////////////////////////////////////////////////
651       
652        return ID;
653}
654
655//      Verify if any user is sharing his name/email address
656//      for use in the new messages's "From " field.
657function draw_from_field(sel_from,tr1_1){
658
659        var el_shared_users = Element("el_shared_users");
660        // The element was loaded and populated...so return.
661        if(el_shared_users){   
662                // Nothing to work...so return.
663                if(el_shared_users.options.length == 0)
664                        return;
665                tr1_1.style.display = '';
666                for (var x = 0; x < el_shared_users.options.length; x++) {
667                        var _option = document.createElement("OPTION");
668                        _option.text = el_shared_users.options[x].text;
669                        _option.value = el_shared_users.options[x].value;
670                        sel_from.options[sel_from.options.length] = _option;
671                }
672                return;
673        }
674        // Get the shared folders.....
675        var sharedFolders = new Array();
676        for(var i = 0; i < folders.length; i++) {
677                var x = folders[i].folder_id;
678                if (folders[i].folder_parent == 'user'){
679                        sharedFolders[sharedFolders.length] = x;
680                }
681        }
682
683        var matchUser = '#';
684        var sharedUsers = new Array();
685        // Filter the shared folders (only root folders) .....
686        for(var i = 0; i < sharedFolders.length; i++) {
687                if(!sharedFolders[i].match(matchUser)) {
688                        matchUser = sharedFolders[i];
689                        sharedUsers[sharedUsers.length] = matchUser.substring(("user"+cyrus_delimiter).length,matchUser.length);
690                }
691        }
692
693        // Handler function for cExecute
694        var h_user = function(data) {
695                if(data.length > 0) {
696                        tr1_1.style.display = '';
697                        var _option = document.createElement("OPTION");
698                        _option.text =  '"'+data.myname+'" <'+Element("user_email").value+'>';
699                        _option.value  = data.myname+";"+Element("user_email").value;
700                        sel_from.options[sel_from.options.length] = _option;
701
702                        var options = '';
703                        for (var x = 0; x < data.length; x++)   {
704                                var _option = document.createElement("OPTION");
705                                _option.text = '"'+data[x].cn[0] + '" <'+data[x].mail[0]+'>';
706                                _option.value = data[x].cn[0] + ';'+data[x].mail[0]+';'+data[x].save_shared[0]+';'+data[x].uid[0];
707                                sel_from.options[sel_from.options.length] = _option;
708                        }
709                }
710                var shared_users_from = Element("el_shared_users");
711                if(!shared_users_from) {
712                        shared_users_from = sel_from.cloneNode(true);
713                        shared_users_from.id = "el_shared_users";
714                        shared_users_from.style.display = 'none';
715                        document.body.appendChild(shared_users_from);
716                }
717        };
718        // First time, so execute.....
719        cExecute ("expressoMail1_2.ldap_functions.getSharedUsersFrom&uids="+sharedUsers.join(';'), h_user);
720}
721
722function changeBgColorToON(all_messages, begin, end){
723        for (begin; begin<=end; begin++)
724        {
725                add_className(all_messages[begin], 'selected_msg');
726                Element("check_box_message_" + all_messages[begin].id).checked = true;
727        }
728}
729function updateBoxBgColor(box){
730        // Set first TR Class
731        var _className = 'tr_msg_read2';
732        for(var i = 0; i < box.length;i++){     
733                if(exist_className(box[i],_className))
734                        remove_className(box[i], _className);
735                _className = (_className == 'tr_msg_read2' ? 'tr_msg_read' : 'tr_msg_read2');
736                if(!exist_className(box[i],_className))
737                        add_className( box[i], _className);
738        }
739}
740
741function changeBgColor(event, msg_number){
742        actual_tr = Element(msg_number);
743
744        if (event.shiftKey)
745        {
746                last_tr = Element(last_message_selected);
747                if(!last_tr)
748                        last_tr = actual_tr;
749
750                all_messages = actual_tr.parentNode.childNodes;
751
752                for (var i=0; i < all_messages.length; i++)
753                {
754                        if (actual_tr.id == all_messages[i].id)
755                                first_order = i;
756                        if (last_tr.id == all_messages[i].id)
757                                last_order = i;
758                }
759
760                if (parseInt(first_order) > parseInt(last_order))
761                        changeBgColorToON(all_messages, last_order, first_order);
762                else
763                        changeBgColorToON(all_messages, first_order, last_order);
764        }
765        else{
766                //if ( exist_className(actual_tr, 'selected_msg') )
767                if ( Element('check_box_message_' + msg_number).checked )
768                        add_className(actual_tr, 'selected_msg');
769                else
770                        remove_className(actual_tr, 'selected_msg');
771        }
772        last_message_selected = msg_number;
773}
774
775function deny_email(email){
776        expresso.connector.loadScript("jscode/filter");
777        expresso.connector.loadScript("jscode/filters");
778        var dn_em       = document.createElement("SPAN");
779        dn_em.id = "tt_d";
780        dn_em.onclick = function(){filter_rules.new_rule(url_encode(email));};
781        dn_em.setAttribute("title",get_lang("Block Sender"));
782        dn_em.style.cursor = "pointer";         
783        dn_em.innerHTML = "<img align='top' onclick=filter.new_rule('"+url_encode(email)+"') src='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/deny.gif'>";
784        return dn_em;
785
786}
787
788
789function show_div_address_full(id, type) {
790        var div_address_full = Element("div_"+type+"address_full_"+id);
791        if(!div_address_full) {
792                div_address_full = document.createElement("SPAN");
793                div_address_full.id = "div_"+type+"address_full_"+id;   
794                div_address_full.style.display="none"; 
795                var _address = eval(type+"address_array['"+id+"']");
796                var isOverLimit = (_address.length > 100);
797
798                if(isOverLimit) {
799                        alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+
800                                        "Para evitar o travamento do navegador, o botão 'Adicionar Contato' foi desabilitado!");
801                }
802
803                for(var idx = 1 ; idx  < _address.length;idx++) {
804                        div_address_full.innerHTML += isOverLimit ?  '<br>'+_address[idx] : ','+this.draw_plugin_cc(_address[idx]);
805                }               
806                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>)";
807                Element(type+"_"+id).appendChild(div_address_full);
808        }
809        Element('div_'+type+'address_'+id).style.display='none';
810        div_address_full.style.display='';
811}
812function draw_footer_box(num_msgs){
813        folder = get_current_folder();
814        var span_R = Element("table_message"); 
815        var span_options = Element("span_options");     
816        if(!span_options) {
817                span_options = document.createElement("TD");   
818                span_options.style.fontSize = "12";
819                span_options.id = "span_options";
820                span_R.appendChild(span_options);
821        }
822
823        var change_font_color = 'onmouseover="var last_class = this.className;'+
824                'if (this.className != \'message_options_over\')'+
825                                'this.className=\'message_options_active\'; '+
826                                'this.onmouseout=function(){this.className=last_class;}"';
827
828                                span_options.innerHTML =
829                                '<span class="message_options_trash"><span ' + change_font_color + ' title="'+get_lang("Delete")+'" class="message_options" onclick=proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span></span>'+
830                                '<span class="message_options_move"><span ' + change_font_color + ' title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span></span>'+
831                                ((expresso_offline)?" ":'<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>')+
832                                //              '<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>'+
833                                ((expresso_offline)?" ":'<span class="message_options_export"><span ' + change_font_color + ' title="'+get_lang("Export")+'" class="message_options" onclick="proxy_mensagens.export_all_messages()">'+get_lang("Export")+'</span></span>') +
834                                ((expresso_offline)?" ":'<span class="message_options_import"><span ' + change_font_color + ' title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span></span>');
835                                if(preferences.use_local_messages==1 && !expresso_offline)
836                                if(proxy_mensagens.is_local_folder(current_folder))
837                                span_options.innerHTML += '&nbsp; <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>';
838                                else
839                                span_options.innerHTML += '&nbsp; <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>';
840                                if (use_spam_filter) {
841                                if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) {
842                                span_options.innerHTML += ' | <span ' + change_font_color + ' title="'+get_lang("Not Spam")+'" class="message_options" onclick="nospam(\'selected\',\'null\',\'null\')">'+get_lang("Not Spam")+'</span>';
843                                }
844                                else {
845                                        span_options.innerHTML += ' | <span ' + change_font_color + ' title="'+get_lang("Mark as Spam")+'" class="message_options" onclick="spam(\'null\', \'selected\',\'null\')">'+get_lang("Mark as Spam")+'</span>';
846                                }
847                                }
848                                var span_D = Element("span_D");
849                                if(!span_D){
850                                        span_D = document.createElement("TD"); 
851                                        span_D.align = "right";
852                                        span_D.style.fontSize = "12";
853                                        span_D.id = "span_D";
854                                        span_R.appendChild(span_D);
855                                }
856                                span_D.innerHTML =
857                                        get_lang("List")+': '+
858                                        '<span ' + change_font_color + ' id="span_flag_SORTARRIVAL" class="'+(search_box_type == 'ALL' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("All")+'" onclick="if(\'ALL\' == \''+search_box_type+'\') return false;sort_box(\'ALL\',\''+sort_box_type+'\')">'+get_lang("All")+'</span>, '+
859                                        '<span ' + change_font_color + ' id="span_flag_UNSEEN" class="'+(search_box_type == 'UNSEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_unseen")+'" onclick="if(\'UNSEEN\' == \''+search_box_type+'\') return false;sort_box(\'UNSEEN\',\''+sort_box_type+'\')">'+get_lang("l_unseen")+'</span>, '+
860                                        '<span ' + change_font_color + ' id="span_flag_SEEN" class="'+(search_box_type == 'SEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_seen")+'" onclick="if(\'SEEN\' == \''+search_box_type+'\') return false;sort_box(\'SEEN\',\''+sort_box_type+'\')">'+get_lang("l_seen")+'</span>, '+
861                                        '<span ' + change_font_color + ' id="span_flag_ANSWERED" class="'+(search_box_type == 'ANSWERED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_answered")+'" onclick="if(\'ANSWERED\' == \''+search_box_type+'\') return false;sort_box(\'ANSWERED\',\''+sort_box_type+'\')">'+get_lang("l_answered")+'</span>, '+
862                                        '<span ' + change_font_color + ' id="span_flag_FLAGGED" class="'+(search_box_type == 'FLAGGED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_important")+'" onclick="if(\'FLAGGED\' == \''+search_box_type+'\') return false;sort_box(\'FLAGGED\',\''+sort_box_type+'\')">'+get_lang("l_important")+'</span>&nbsp;&nbsp;';
863                                draw_paging(num_msgs);
864                                Element("tot_m").innerHTML = num_msgs; 
865};
Note: See TracBrowser for help on using the repository browser.