1 | // Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo |
---|
2 | // aqui no expressoMail. |
---|
3 | function Map() |
---|
4 | { |
---|
5 | this.keys = new Array(); |
---|
6 | this.values = new Array(); |
---|
7 | } |
---|
8 | |
---|
9 | Map.prototype.add = function(key, value) |
---|
10 | { |
---|
11 | this.keys.push(key); |
---|
12 | this.values.push(value); |
---|
13 | }; |
---|
14 | |
---|
15 | Map.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 | |
---|
34 | var translatedFolders = new Map(); |
---|
35 | |
---|
36 | function 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 | } |
---|
67 | function 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 | } |
---|
119 | function 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 | |
---|
241 | function 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 = " "; |
---|
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=" | "; |
---|
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 = " "; |
---|
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 += " " + 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 += " " + 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 = " "; |
---|
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 = " "; |
---|
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 = " "; |
---|
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. |
---|
657 | function 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 | |
---|
722 | function 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 | } |
---|
729 | function 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 | |
---|
741 | function 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 | |
---|
775 | function 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 | |
---|
789 | function 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 | } |
---|
812 | function 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 += ' <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 += ' <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> '; |
---|
863 | draw_paging(num_msgs); |
---|
864 | Element("tot_m").innerHTML = num_msgs; |
---|
865 | }; |
---|