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

Revision 3073, 26.6 KB checked in by amuller, 14 years ago (diff)

Ticket #1145 - Divide os js em dois módulos e faz carregamendo sob demanda

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