1 | |
---|
2 | |
---|
3 | var lastPage = 1; |
---|
4 | var numPages = 5; |
---|
5 | var last_folder = 'INBOX'; |
---|
6 | |
---|
7 | function draw_quota(data){ |
---|
8 | build_quota(data); |
---|
9 | } |
---|
10 | |
---|
11 | function update_quota(folder_id){ |
---|
12 | cExecute ("expressoMail1_2.imap_functions.get_quota&folder_id="+folder_id,build_quota); |
---|
13 | } |
---|
14 | |
---|
15 | function draw_search(headers_msgs){ |
---|
16 | Element("border_id_0").innerHTML = " " + get_lang('Search Result') + " "; |
---|
17 | |
---|
18 | var tbody = Element('tbody_box'); |
---|
19 | for (var i=0; i<(headers_msgs.length); i++){ |
---|
20 | var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); |
---|
21 | if (tr) |
---|
22 | tbody.appendChild(tr); |
---|
23 | } |
---|
24 | } |
---|
25 | |
---|
26 | function draw_header_box(){ |
---|
27 | switch(sort_box_type){ |
---|
28 | case 'SORTFROM': |
---|
29 | type_name = get_lang("Who"); |
---|
30 | break; |
---|
31 | case 'SORTSUBJECT': |
---|
32 | type_name = get_lang("Subject"); |
---|
33 | break; |
---|
34 | case 'SORTARRIVAL': |
---|
35 | type_name = get_lang("Date"); |
---|
36 | break; |
---|
37 | case 'SORTSIZE': |
---|
38 | type_name = get_lang("Size"); |
---|
39 | break; |
---|
40 | default: |
---|
41 | type_name = get_lang("Date"); |
---|
42 | break; |
---|
43 | } |
---|
44 | document.getElementById("_msgheadSORTFROM_"+numBox).innerHTML = get_lang("Who"); |
---|
45 | document.getElementById("_msgheadSORTSUBJECT_"+numBox).innerHTML = get_lang("Subject"); |
---|
46 | document.getElementById("_msgheadSORTARRIVAL_"+numBox).innerHTML = get_lang("Date"); |
---|
47 | document.getElementById("_msgheadSORTSIZE_"+numBox).innerHTML = get_lang("Size"); |
---|
48 | var elHead = document.getElementById("_msghead"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ); |
---|
49 | if(elHead != null) |
---|
50 | elHead.innerHTML = "<B>"+type_name+'</B><img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_'+(sort_box_reverse == 1 ? 'desc' : 'asc')+'endant.gif">'; |
---|
51 | } |
---|
52 | |
---|
53 | function draw_search_header_box(){ |
---|
54 | var _tbl_msghead_bx = Element("_tbl_msghead_bx"); |
---|
55 | _tbl_msghead_bx.parentNode.removeChild(_tbl_msghead_bx); |
---|
56 | |
---|
57 | var content_id_0 = Element("content_id_0"); |
---|
58 | var table_element = document.createElement("TABLE"); |
---|
59 | var tbody_element = document.createElement("TBODY"); |
---|
60 | table_element.setAttribute("id", "_tbl_msghead_bx"); |
---|
61 | table_element.className = "table_message_header_box"; |
---|
62 | tr_element = document.createElement("TR"); |
---|
63 | tr_element.className = "message_header"; |
---|
64 | td_element1 = document.createElement("TD"); |
---|
65 | td_element1.setAttribute("width", "1%"); |
---|
66 | chk_box_element = document.createElement("INPUT"); |
---|
67 | chk_box_element.id = "chkbox_sel_allmsg"; |
---|
68 | chk_box_element.setAttribute("type", "checkbox"); |
---|
69 | chk_box_element.className = "checkbox"; |
---|
70 | chk_box_element.onclick = function(){ |
---|
71 | select_all_messages(this.checked); |
---|
72 | }; |
---|
73 | chk_box_element.onmouseover = function () { |
---|
74 | this.title=get_lang('Select all messages.') |
---|
75 | }; |
---|
76 | chk_box_element.onkeydown = function (e){ |
---|
77 | if (is_ie) |
---|
78 | { |
---|
79 | if ((window.event.keyCode) == 46) |
---|
80 | { |
---|
81 | //delete_all_selected_msgs_imap(); |
---|
82 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
83 | } |
---|
84 | } |
---|
85 | else |
---|
86 | { |
---|
87 | if ((e.keyCode) == 46) |
---|
88 | { |
---|
89 | //delete_all_selected_msgs_imap(); |
---|
90 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
91 | } |
---|
92 | } |
---|
93 | }; |
---|
94 | |
---|
95 | td_element1.appendChild(chk_box_element); |
---|
96 | td_element2 = document.createElement("TD"); |
---|
97 | td_element2.setAttribute("width", "3%"); |
---|
98 | td_element3 = document.createElement("TD"); |
---|
99 | td_element3.setAttribute("width", "30%"); |
---|
100 | td_element3.id = "_msgheadSORTFROM"; |
---|
101 | td_element3.align = "left"; |
---|
102 | td_element3.innerHTML = get_lang("From"); |
---|
103 | td_element4 = document.createElement("TD"); |
---|
104 | td_element4.setAttribute("width", "49%"); |
---|
105 | td_element4.id = "_msgheadSORTSUBJECT"; |
---|
106 | td_element4.align = "left"; |
---|
107 | td_element4.innerHTML = get_lang("Subject"); |
---|
108 | td_element5 = document.createElement("TD"); |
---|
109 | td_element5.setAttribute("width", "10%"); |
---|
110 | td_element5.id = "_msgheadSORTARRIVAL"; |
---|
111 | td_element5.align = "center"; |
---|
112 | td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; |
---|
113 | td_element5.innerHTML += '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_descendant.gif">'; |
---|
114 | td_element6 = document.createElement("TD"); |
---|
115 | td_element6.setAttribute("width", "10%"); |
---|
116 | td_element6.id = "_msgheadSORTSIZE"; |
---|
117 | td_element6.align = "right"; |
---|
118 | td_element6.innerHTML = get_lang("Size"); |
---|
119 | tr_element.appendChild(td_element1); |
---|
120 | tr_element.appendChild(td_element2); |
---|
121 | tr_element.appendChild(td_element3); |
---|
122 | tr_element.appendChild(td_element4); |
---|
123 | tr_element.appendChild(td_element5); |
---|
124 | tr_element.appendChild(td_element6); |
---|
125 | |
---|
126 | tbody_element.appendChild(tr_element); |
---|
127 | table_element.appendChild(tbody_element); |
---|
128 | content_id_0.appendChild(table_element); |
---|
129 | } |
---|
130 | |
---|
131 | function draw_search_division(msg){ |
---|
132 | var tbody = Element('tbody_box'); |
---|
133 | var tr = document.createElement("TR"); |
---|
134 | var td = document.createElement("TD"); |
---|
135 | td.colSpan = '7'; |
---|
136 | td.width = '100%'; |
---|
137 | |
---|
138 | var action_info_table = document.createElement("TABLE"); |
---|
139 | var action_info_tbody = document.createElement("TBODY"); |
---|
140 | |
---|
141 | action_info_table.className = "action_info_table"; |
---|
142 | action_info_table.width = "100%"; |
---|
143 | |
---|
144 | var action_info_tr = document.createElement("TR"); |
---|
145 | |
---|
146 | var action_info_th1 = document.createElement("TH"); |
---|
147 | action_info_th1.width = "40%"; |
---|
148 | action_info_th1.innerHTML = " "; |
---|
149 | |
---|
150 | var action_info_th2 = document.createElement("TH"); |
---|
151 | |
---|
152 | action_info_th2.innerHTML = msg; |
---|
153 | action_info_th2.className = "action_info_th"; |
---|
154 | action_info_th2.setAttribute("noWrap", "true"); |
---|
155 | |
---|
156 | var action_info_th3 = document.createElement("TH"); |
---|
157 | action_info_th3.width = "40%"; |
---|
158 | action_info_th3.innerHTML = " "; |
---|
159 | |
---|
160 | action_info_tr.appendChild(action_info_th1); |
---|
161 | action_info_tr.appendChild(action_info_th2); |
---|
162 | action_info_tr.appendChild(action_info_th3); |
---|
163 | action_info_tbody.appendChild(action_info_tr); |
---|
164 | action_info_table.appendChild(action_info_tbody); |
---|
165 | |
---|
166 | td.appendChild(action_info_table); |
---|
167 | tr.appendChild(td); |
---|
168 | tbody.appendChild(tr); |
---|
169 | } |
---|
170 | |
---|
171 | function draw_search_box(){ |
---|
172 | var content_id_0 = Element("content_id_0"); |
---|
173 | var table = document.createElement("TABLE"); |
---|
174 | table.id = "table_box"; |
---|
175 | table.width = 'auto'; |
---|
176 | var tbody = document.createElement("TBODY"); |
---|
177 | tbody.id = "tbody_box"; |
---|
178 | |
---|
179 | table.className = "table_box"; |
---|
180 | table.setAttribute("frame", "below"); |
---|
181 | table.setAttribute("rules", "none"); |
---|
182 | table.setAttribute("cellpadding", "0"); |
---|
183 | table.onkeydown = function (e){ |
---|
184 | if (is_ie) |
---|
185 | { |
---|
186 | if ((window.event.keyCode) == 46) |
---|
187 | { |
---|
188 | //delete_all_selected_msgs_imap(); |
---|
189 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
190 | } |
---|
191 | } |
---|
192 | else |
---|
193 | { |
---|
194 | if ((e.keyCode) == 46) |
---|
195 | { |
---|
196 | //delete_all_selected_msgs_imap(); |
---|
197 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
198 | } |
---|
199 | } |
---|
200 | }; |
---|
201 | if (is_ie) |
---|
202 | table.style.cursor = "hand"; |
---|
203 | |
---|
204 | table.appendChild(tbody); |
---|
205 | content_id_0.appendChild(table); |
---|
206 | } |
---|
207 | |
---|
208 | function build_quota(data){ |
---|
209 | id = "content_quota"; |
---|
210 | q_limit = data['quota_limit']*1024; |
---|
211 | var div = document.getElementById(id); |
---|
212 | if(!q_limit){ |
---|
213 | div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>'; |
---|
214 | } |
---|
215 | else{ |
---|
216 | if(div) |
---|
217 | { |
---|
218 | div.innerHTML = ''; |
---|
219 | value = data['quota_percent']; |
---|
220 | q_used = data['quota_used']*1024; |
---|
221 | table = document.getElementById("table_quota"); |
---|
222 | if(table) |
---|
223 | table.parentNode.removeChild(table); |
---|
224 | table = document.createElement("TABLE"); |
---|
225 | tbody = document.createElement("TBODY"); |
---|
226 | table.appendChild(tbody); |
---|
227 | table.id = "table_quota"; |
---|
228 | table.width="102"; |
---|
229 | table.border="0"; |
---|
230 | table.cellSpacing = 0; |
---|
231 | table.cellPadding = 0; |
---|
232 | |
---|
233 | //tr1 = document.createElement("TR"); |
---|
234 | td11 = document.createElement("TD"); |
---|
235 | td11.align="center"; |
---|
236 | td11.setAttribute("noWrap","true"); |
---|
237 | |
---|
238 | td11.innerHTML += ' <span class="boxHeaderText">' + value+"% ("+borkb(q_used)+"/"+borkb(q_limit)+")</span>"; |
---|
239 | //tr1.appendChild(td11); |
---|
240 | |
---|
241 | tr2 = document.createElement("TR"); |
---|
242 | td21 = document.createElement("TD"); |
---|
243 | td21.setAttribute("noWrap","true"); |
---|
244 | td21.height="15"; |
---|
245 | td22 = document.createElement("TD"); |
---|
246 | td21.setAttribute("background", URL_SERVER + 'phpgwapi/templates/' + template + '/images/dsunused.gif'); |
---|
247 | table221 = document.createElement("TABLE"); |
---|
248 | tbody221 = document.createElement("TBODY"); |
---|
249 | table221.appendChild(tbody221); |
---|
250 | table221.style.width=value+"%"; |
---|
251 | td21.width="102"; |
---|
252 | table221.border="0"; |
---|
253 | table221.cellSpacing = 0; |
---|
254 | table221.cellPadding = 0; |
---|
255 | tr221 = document.createElement("TR"); |
---|
256 | td221 = document.createElement("TD"); |
---|
257 | td221.height="15"; |
---|
258 | if(value > 90) { |
---|
259 | if(value >= 100) |
---|
260 | write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages.")); |
---|
261 | else |
---|
262 | write_msg(get_lang("Warning: Your Mailbox is almost full!")); |
---|
263 | td221.setAttribute("background","templates/"+template+"/images/dsalert.gif"); |
---|
264 | } |
---|
265 | else if(value > 80) |
---|
266 | td221.setAttribute("background", URL_SERVER + 'expressoMail1_2/templates/' + template + '/images/dswarn.gif'); |
---|
267 | else |
---|
268 | td221.className = 'dsused'; |
---|
269 | |
---|
270 | tr221.appendChild(td221); |
---|
271 | tbody221.appendChild(tr221); |
---|
272 | td21.appendChild(table221); |
---|
273 | tr2.appendChild(td21); |
---|
274 | tr2.appendChild(td11); |
---|
275 | |
---|
276 | //tr2.appendChild(td1); |
---|
277 | |
---|
278 | tbody.appendChild(tr2); //Desenho |
---|
279 | //tbody.appendChild(tr1); //Letras |
---|
280 | div.appendChild(table); |
---|
281 | } |
---|
282 | } |
---|
283 | } |
---|
284 | |
---|
285 | function draw_paging(num_msgs){ |
---|
286 | num_msgs = parseInt(num_msgs); |
---|
287 | total_pages = 1; |
---|
288 | |
---|
289 | if(last_folder != current_folder){ |
---|
290 | lastPage = 1; |
---|
291 | current_page = 1; |
---|
292 | last_folder = current_folder; |
---|
293 | } |
---|
294 | |
---|
295 | if(num_msgs > parseInt(preferences.max_email_per_page)) { |
---|
296 | total_pages = parseInt(num_msgs/preferences.max_email_per_page); |
---|
297 | if((num_msgs/preferences.max_email_per_page) > total_pages) |
---|
298 | total_pages++; |
---|
299 | } |
---|
300 | |
---|
301 | if(total_pages == 1) { |
---|
302 | if(span_paging = document.getElementById("span_paging")) { |
---|
303 | span_paging.parentNode.removeChild(span_paging); |
---|
304 | } |
---|
305 | return; |
---|
306 | } |
---|
307 | |
---|
308 | span_paging = document.getElementById("span_paging"); |
---|
309 | if(!span_paging){ |
---|
310 | span_paging = document.createElement("DIV"); |
---|
311 | span_paging.id = "span_paging"; |
---|
312 | span_paging.className = "boxHeaderText"; |
---|
313 | span_paging.align="right"; |
---|
314 | var div_menu_c3 = document.getElementById("div_menu_c3"); |
---|
315 | if ( div_menu_c3 ) |
---|
316 | div_menu_c3.appendChild(span_paging); |
---|
317 | } |
---|
318 | span_paging.style.width="100%"; |
---|
319 | span_paging.innerHTML=""; |
---|
320 | msg_range_begin = 1; |
---|
321 | msg_range_end = preferences.max_email_per_page; |
---|
322 | if(current_page != 1) { |
---|
323 | lnk_page = document.createElement("A"); |
---|
324 | lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
325 | } |
---|
326 | else { |
---|
327 | lnk_page = document.createElement("SPAN"); |
---|
328 | } |
---|
329 | span_paging.appendChild(lnk_page); |
---|
330 | |
---|
331 | lnk_page.innerHTML = "<<"; |
---|
332 | lnk_page.title = get_lang("First"); |
---|
333 | span_paging.innerHTML += " "; |
---|
334 | |
---|
335 | if(current_page == lastPage + numPages) |
---|
336 | lastPage = current_page - 1; |
---|
337 | else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) |
---|
338 | lastPage = current_page - (numPages - 1); |
---|
339 | else if(current_page == 1) |
---|
340 | lastPage = 1; |
---|
341 | |
---|
342 | if(lastPage < 1) |
---|
343 | lastPage = 1; |
---|
344 | else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1)))) |
---|
345 | lastPage = total_pages -(numPages - 1); |
---|
346 | |
---|
347 | var hasMarked = false; |
---|
348 | |
---|
349 | for(i = lastPage; i <= total_pages; i++) { |
---|
350 | |
---|
351 | if(current_page == i || (i == total_pages && !hasMarked)) { |
---|
352 | lnk_page = document.createElement("SPAN"); |
---|
353 | span_paging.appendChild(lnk_page); |
---|
354 | lnk_page.innerHTML = " <b>"+i+"</b> "; |
---|
355 | hasMarked = true; |
---|
356 | continue; |
---|
357 | } |
---|
358 | else{ |
---|
359 | lnk_page = document.createElement("A"); |
---|
360 | span_paging.appendChild(lnk_page); |
---|
361 | msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); |
---|
362 | msg_range_end = (i*preferences.max_email_per_page); |
---|
363 | lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
364 | } |
---|
365 | |
---|
366 | lnk_page.innerHTML = " ... "; |
---|
367 | |
---|
368 | if(i == (lastPage + numPages)) |
---|
369 | break; |
---|
370 | else if(lastPage == 1 || i != lastPage) |
---|
371 | lnk_page.innerHTML = " "+i+" "; |
---|
372 | |
---|
373 | span_paging.innerHTML += " "; |
---|
374 | } |
---|
375 | |
---|
376 | if(current_page != total_pages) { |
---|
377 | lnk_page = document.createElement("A"); |
---|
378 | msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); |
---|
379 | msg_range_end = (total_pages*preferences.max_email_per_page); |
---|
380 | lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
381 | } |
---|
382 | else { |
---|
383 | lnk_page = document.createElement("SPAN"); |
---|
384 | } |
---|
385 | span_paging.innerHTML += " "; |
---|
386 | span_paging.appendChild(lnk_page); |
---|
387 | |
---|
388 | lnk_page.title = get_lang("Last"); |
---|
389 | lnk_page.innerHTML = ">>"; |
---|
390 | } |
---|
391 | |
---|
392 | |
---|
393 | function draw_tree_local_folders() { |
---|
394 | /** |
---|
395 | * Pastas locais |
---|
396 | */ |
---|
397 | if(preferences.use_local_messages==1 || expresso_offline) { |
---|
398 | var local_folders = expresso_local_messages.list_local_folders(); |
---|
399 | var has_changes = false; |
---|
400 | for (var i in local_folders) { //Coloca as pastas locais. |
---|
401 | if(!isNaN(i)){ |
---|
402 | var new_caption = local_folders[i][0]; |
---|
403 | if(local_folders[i][0].indexOf("/")!="-1") { |
---|
404 | final_pos = local_folders[i][0].lastIndexOf("/"); |
---|
405 | new_caption = local_folders[i][0].substr(final_pos+1); |
---|
406 | } |
---|
407 | |
---|
408 | var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); |
---|
409 | |
---|
410 | if ((folder_unseen) && (local_folders[i][1] > 0)) |
---|
411 | { |
---|
412 | folder_unseen.innerHTML = local_folders[i][1]; |
---|
413 | has_changes = true; |
---|
414 | } |
---|
415 | else if (local_folders[i][1] > 0) |
---|
416 | { |
---|
417 | tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ |
---|
418 | caption:lang_folder(new_caption) + '<font style=color:red> (</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>' |
---|
419 | }); |
---|
420 | tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); |
---|
421 | has_changes = true; |
---|
422 | } |
---|
423 | else if (local_folders[i][1] <= 0) |
---|
424 | { |
---|
425 | tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ |
---|
426 | caption:lang_folder(new_caption) |
---|
427 | }); |
---|
428 | tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); |
---|
429 | has_changes = true; |
---|
430 | } |
---|
431 | |
---|
432 | if("local_"+local_folders[i][0] == get_current_folder()){ |
---|
433 | var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); |
---|
434 | if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ |
---|
435 | Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); |
---|
436 | } |
---|
437 | Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; |
---|
438 | draw_paging(Element('tot_m').innerHTML); |
---|
439 | has_changes = true; |
---|
440 | } |
---|
441 | } |
---|
442 | } |
---|
443 | if(has_changes) |
---|
444 | tree_folders.getNodeById("local_root").open(); |
---|
445 | |
---|
446 | } |
---|
447 | } |
---|
448 | |
---|
449 | function draw_tree_folders( folders ) |
---|
450 | { |
---|
451 | // Check if the tree folders alredy exist. |
---|
452 | if ( ! Element( 'dftree_tree_folders' ) ) |
---|
453 | { |
---|
454 | translatedFolders = new Map( ); |
---|
455 | if ( ! expresso_offline ) |
---|
456 | { |
---|
457 | tree_folders = new dFTree( { |
---|
458 | "name" : 'tree_folders' |
---|
459 | } ); |
---|
460 | |
---|
461 | var n_root = new dNode( { |
---|
462 | "id" : 'root', |
---|
463 | "caption" : get_lang( "My Folders" ) |
---|
464 | } ); |
---|
465 | |
---|
466 | tree_folders.add( n_root, 'anything' ); //Places the root; second argument can be anything. |
---|
467 | |
---|
468 | var unseen_in_mailbox = 0; |
---|
469 | var unseen_in_shared_folders = 0; |
---|
470 | |
---|
471 | for ( var i = 0; i < folders.length; i++ ) |
---|
472 | { |
---|
473 | if ( folders[ i ].folder_unseen > 0 ) |
---|
474 | { |
---|
475 | unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); |
---|
476 | if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) |
---|
477 | unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); |
---|
478 | |
---|
479 | var nn = new dNode( { |
---|
480 | "id" : folders[i].folder_id, |
---|
481 | "caption" : lang_folder( folders[ i ].folder_name ) |
---|
482 | + '<font style=color:red> (</font><span id="dftree_' |
---|
483 | + folders[ i ].folder_id |
---|
484 | + '_unseen" style=color:red>' |
---|
485 | + folders[ i ].folder_unseen |
---|
486 | + '</span><font style=color:red>)</font>', |
---|
487 | "onClick" : "change_folder('" + folders[ i ].folder_id+"','" + folders[ i ].folder_name + "')", |
---|
488 | "plusSign" : folders[ i ].folder_hasChildren |
---|
489 | } ); |
---|
490 | |
---|
491 | if ( folders[ i ].folder_name.toLowerCase( ) == 'inbox' ) |
---|
492 | Element( 'new_m' ).innerHTML = '<font style="color:red">' + folders[ i ].folder_unseen + '</font>'; |
---|
493 | } |
---|
494 | else |
---|
495 | var nn = new dNode( { |
---|
496 | "id" : folders[ i ].folder_id, |
---|
497 | "caption" : lang_folder( folders[ i ].folder_name ), |
---|
498 | "onClick" : "change_folder('" + folders[ i ].folder_id + "','" + folders[ i ].folder_name + "')", |
---|
499 | "plusSign" : folders[ i ].folder_hasChildren |
---|
500 | }); |
---|
501 | |
---|
502 | if ( folders[ i ].folder_parent == '' ) |
---|
503 | folders[ i ].folder_parent = 'root'; |
---|
504 | else |
---|
505 | { |
---|
506 | if ( folders[ i ].folder_parent == 'user' && ( ! tree_folders.getNodeById( 'user' ) ) ) |
---|
507 | { |
---|
508 | tmpFolderId = folders[ i ].folder_id.split( cyrus_delimiter ).pop( ); |
---|
509 | if ( tmpFolderId != folders[ i ].folder_name ) |
---|
510 | translatedFolders.add( tmpFolderId, folders[ i ].folder_name ); |
---|
511 | |
---|
512 | var n_root_shared_folders = new dNode( { |
---|
513 | "id" : 'user', |
---|
514 | "caption" : get_lang( "Shared folders" ), |
---|
515 | "plusSign" : true |
---|
516 | } ); |
---|
517 | tree_folders.add( n_root_shared_folders, 'root' ); |
---|
518 | } |
---|
519 | } |
---|
520 | tree_folders.add( nn, folders[ i ].folder_parent ); |
---|
521 | } |
---|
522 | } |
---|
523 | |
---|
524 | /** |
---|
525 | * Pastas locais |
---|
526 | */ |
---|
527 | if (preferences.use_local_messages==1 || expresso_offline) |
---|
528 | { |
---|
529 | if (!window.google || !google.gears) { |
---|
530 | if (!expresso_local_messages.installGears()) |
---|
531 | preferences.use_local_messages=0; |
---|
532 | } |
---|
533 | else{ |
---|
534 | if (!window.google || !google.gears) { |
---|
535 | temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); |
---|
536 | if (temp) { |
---|
537 | location.href = "http://gears.google.com/?action=install&message="+ |
---|
538 | "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + |
---|
539 | document.location.href; |
---|
540 | } |
---|
541 | else { |
---|
542 | preferences.use_local_messages=0; |
---|
543 | } |
---|
544 | } |
---|
545 | else{ |
---|
546 | if (expresso_offline) |
---|
547 | tree_folders = new dFTree({ |
---|
548 | "name" : 'tree_folders' |
---|
549 | }); |
---|
550 | var root_local = new dNode({ |
---|
551 | "id" : "local_root", |
---|
552 | "caption" : get_lang('local folders') |
---|
553 | }); |
---|
554 | tree_folders.add(root_local, "root"); //coloca root local |
---|
555 | var local_folders = expresso_local_messages.list_local_folders(); |
---|
556 | for (var i in local_folders) { //Coloca as pastas locais. |
---|
557 | if(!isNaN(i)){ |
---|
558 | var node_root = "local_root"; |
---|
559 | var new_caption = local_folders[i][0]; |
---|
560 | if (local_folders[i][0].indexOf("/") != "-1") { |
---|
561 | final_pos = local_folders[i][0].lastIndexOf("/"); |
---|
562 | node_root = "local_" + local_folders[i][0].substr(0, final_pos); |
---|
563 | new_caption = local_folders[i][0].substr(final_pos + 1); |
---|
564 | } |
---|
565 | if (local_folders[i][1] > 0) |
---|
566 | var nodeLocal = new dNode({ |
---|
567 | "id": "local_" + local_folders[i][0], |
---|
568 | "caption": lang_folder(new_caption) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', |
---|
569 | "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", |
---|
570 | "plusSign": local_folders[i][2] |
---|
571 | }); |
---|
572 | else |
---|
573 | var nodeLocal = new dNode({ |
---|
574 | "id": "local_" + local_folders[i][0], |
---|
575 | "caption": lang_folder(new_caption), |
---|
576 | "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", |
---|
577 | "plusSign": local_folders[i][2] |
---|
578 | }); |
---|
579 | tree_folders.add(nodeLocal, node_root); |
---|
580 | } |
---|
581 | } |
---|
582 | } |
---|
583 | } |
---|
584 | } |
---|
585 | |
---|
586 | tree_folders.draw( Element( 'content_folders' ) ); |
---|
587 | if ( ! expresso_offline ) |
---|
588 | { |
---|
589 | n_root.changeState( ); |
---|
590 | folder_select = ( current_folder ? current_folder : "INBOX" ); |
---|
591 | |
---|
592 | if ( typeof( tree_folders.getNodeById( folder_select ) ) != 'function' ) |
---|
593 | return false; |
---|
594 | |
---|
595 | tree_folders.getNodeById( folder_select )._select( ); |
---|
596 | } |
---|
597 | else |
---|
598 | { |
---|
599 | root_local.changeState( ); |
---|
600 | tree_folders.getNodeById( 'local_Inbox' )._select( ); |
---|
601 | } |
---|
602 | |
---|
603 | var trash_span = document.getElementById( 'lINBOX/' + trashfolder + 'tree_folders' ); |
---|
604 | var draft_span = document.getElementById( 'lINBOX/' + draftsfolder + 'tree_folders' ); |
---|
605 | var sent_span = document.getElementById( 'lINBOX/' + sentfolder + 'tree_folders' ); |
---|
606 | var spam_span = document.getElementById( 'lINBOX/' + spamfolder + 'tree_folders' ); |
---|
607 | |
---|
608 | var folder_img = URL_SERVER + "phpgwapi/templates/" +template + "/images/foldertree_"; |
---|
609 | |
---|
610 | if ( trash_span ) |
---|
611 | trash_span.style.backgroundImage = "url(" + folder_img + "trash.png)"; |
---|
612 | |
---|
613 | if ( draft_span ) |
---|
614 | draft_span.style.backgroundImage = "url(" + folder_img + "draft.png)"; |
---|
615 | |
---|
616 | if ( sent_span ) |
---|
617 | sent_span.style.backgroundImage = "url(" + folder_img + "sent.png)"; |
---|
618 | |
---|
619 | if ( spam_span ) |
---|
620 | spam_span.style.backgroundImage = "url(" + folder_img + "spam.png)"; |
---|
621 | |
---|
622 | |
---|
623 | draw_paging( Element( 'tot_m' ).innerHTML ); |
---|
624 | |
---|
625 | if ( document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ) ) |
---|
626 | { |
---|
627 | var trash = document.createElement( "SPAN" ); |
---|
628 | trash.id = 'empty_trash'; |
---|
629 | trash.className = 'clean_folder'; |
---|
630 | trash.style.cursor = 'pointer'; |
---|
631 | trash.onclick = function( ) |
---|
632 | { |
---|
633 | empty_trash_imap( ); |
---|
634 | }; |
---|
635 | trash.innerHTML = "[" + get_lang( "Clean" ) + "]"; |
---|
636 | trash.title = get_lang( "Empty trash" ); |
---|
637 | trash.onmouseover = function( ) |
---|
638 | { |
---|
639 | trash.style.color = "red"; |
---|
640 | }; |
---|
641 | trash.onmouseout= function( ) |
---|
642 | { |
---|
643 | trash.style.color="#666666"; |
---|
644 | }; |
---|
645 | document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ).appendChild( trash ); |
---|
646 | } |
---|
647 | if ( document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ) ) |
---|
648 | { |
---|
649 | var spam = document.createElement( "SPAN" ); |
---|
650 | spam.id = 'empty_spam'; |
---|
651 | spam.className = 'clean_folder'; |
---|
652 | spam.style.cursor = 'pointer'; |
---|
653 | spam.style.padding = '0 0 0 6px'; |
---|
654 | spam.onclick = function( ) |
---|
655 | { |
---|
656 | empty_spam_imap( ); |
---|
657 | }; |
---|
658 | spam.innerHTML = "[" + get_lang( "Clean" ) + "]"; |
---|
659 | spam.title = get_lang( "Empty Spam Folder" ); |
---|
660 | spam.onmouseover = function( ) |
---|
661 | { |
---|
662 | spam.style.color = "red"; |
---|
663 | }; |
---|
664 | spam.onmouseout = function( ) |
---|
665 | { |
---|
666 | spam.style.color = "#666666"; |
---|
667 | }; |
---|
668 | document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ).appendChild( spam ); |
---|
669 | } |
---|
670 | |
---|
671 | if ( ! expresso_offline ) |
---|
672 | var _disp_unseen_mb = tree_folders.getNodeById( 'root' ); |
---|
673 | else |
---|
674 | var _disp_unseen_mb = tree_folders.getNodeById( 'local_root' ); |
---|
675 | |
---|
676 | _disp_unseen_mb.alter( { |
---|
677 | "caption" : get_lang( "My Folders" ) |
---|
678 | } ); |
---|
679 | |
---|
680 | _disp_unseen_mb._refresh( ); |
---|
681 | |
---|
682 | var _dip_unseen_shardfolder = tree_folders.getNodeById( 'user' ); |
---|
683 | |
---|
684 | if ( _dip_unseen_shardfolder ) |
---|
685 | { |
---|
686 | if ( unseen_in_shared_folders ) |
---|
687 | _dip_unseen_shardfolder.alter( { |
---|
688 | "caption" : '<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' |
---|
689 | + unseen_in_shared_folders |
---|
690 | + '</span><font style=color:red>]</font> ' |
---|
691 | + get_lang( "Shared folders" ) |
---|
692 | } ); |
---|
693 | else |
---|
694 | _dip_unseen_shardfolder.alter( { |
---|
695 | "caption" : get_lang( "Shared folders" ) |
---|
696 | } ); |
---|
697 | |
---|
698 | _dip_unseen_shardfolder._refresh( ); |
---|
699 | } |
---|
700 | } |
---|
701 | |
---|
702 | if ( ! expresso_offline ) |
---|
703 | { |
---|
704 | var folder_create = ""; |
---|
705 | var nm1 = ""; |
---|
706 | if ( tree_folders._folderPr.length > 0 ) |
---|
707 | { |
---|
708 | var nm_folder = ""; |
---|
709 | for ( var i = 0; i < tree_folders._folderPr.length; i++ ) |
---|
710 | { |
---|
711 | nm_folder = tree_folders._folderPr[ i ].split( cyrus_delimiter ); |
---|
712 | if( nm_folder[ 0 ] == "INBOX" ) |
---|
713 | { |
---|
714 | if ( nm1 == "" ) |
---|
715 | { |
---|
716 | nm1 = nm_folder[ 1 ]; |
---|
717 | folder_create = "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; |
---|
718 | } |
---|
719 | else |
---|
720 | { |
---|
721 | if ( nm1 != nm_folder[ 1 ] ) |
---|
722 | { |
---|
723 | folder_create += "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; |
---|
724 | nm1 = nm_folder[ 1 ]; |
---|
725 | } |
---|
726 | } |
---|
727 | } |
---|
728 | } |
---|
729 | } |
---|
730 | |
---|
731 | if ( folder_create != "" ) |
---|
732 | { |
---|
733 | if ( confirm( get_lang( "There are folders with invalid format. Do you want to fix them?" ) ) ) |
---|
734 | { |
---|
735 | var handler_correct_folders = function( data ) |
---|
736 | { |
---|
737 | //Timeout to release HTTPRequest , loadScript and update tree folders. |
---|
738 | if ( data ) |
---|
739 | setTimeout( "expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();", 500 ); |
---|
740 | }; |
---|
741 | cExecute( "expressoMail1_2.imap_functions.create_extra_mailbox", handler_correct_folders, "nw_folders=" + folder_create ); |
---|
742 | } |
---|
743 | } |
---|
744 | } |
---|
745 | |
---|
746 | Element( 'main_table' ).style.display = ''; |
---|
747 | draw_box.prepare_box( false ); |
---|
748 | resizeWindow( ); |
---|
749 | } |
---|
750 | |
---|
751 | |
---|
752 | function update_menu(data){ |
---|
753 | /* |
---|
754 | * @AUTHOR Rodrigo Souza dos Santos |
---|
755 | * @DATE 2008/09/15 |
---|
756 | * @BRIEF When occurs a error in imap server show the message that is in file "error.html". |
---|
757 | */ |
---|
758 | if ( data && data.imap_error ) |
---|
759 | { |
---|
760 | if(preferences.use_local_messages==1 && expresso_local_messages.is_offline_installed){ |
---|
761 | conf = confirm(get_lang("The expresso imap server is currently down, expresso noticed you have offline mail module installed, would you like to use it?")); |
---|
762 | if(conf) { |
---|
763 | window.onresize = function() { |
---|
764 | var target = document.getElementById('divAppbox'); |
---|
765 | target.style.height= document.body.clientHeight - 83; |
---|
766 | }; |
---|
767 | var target = document.getElementById('divAppbox'); |
---|
768 | document.getElementById("divAppboxHeader").innerHTML=""; |
---|
769 | target.style.height= document.body.clientHeight - 83; |
---|
770 | expresso_local_messages.set_as_logged(account_id,0,true); |
---|
771 | target.innerHTML = "<iframe src='offline.php?inside=1' width='100%' height='100%' frameBorder='0'></iframe>"; |
---|
772 | return false; |
---|
773 | } |
---|
774 | } |
---|
775 | expresso.connector.newRequest('error.html', URL_SERVER + 'expressoMail1_2/templates/'+template+'/error.html', 'GET', |
---|
776 | function(data) |
---|
777 | { |
---|
778 | var target = document.getElementById('divAppbox'); |
---|
779 | if ( target ) |
---|
780 | target.innerHTML = data; |
---|
781 | } |
---|
782 | ); |
---|
783 | return false; |
---|
784 | } |
---|
785 | |
---|
786 | draw_tree_folders(data); |
---|
787 | if(data) { |
---|
788 | build_quota(data); |
---|
789 | var f_unseen = Element('dftree_'+current_folder+'_unseen'); |
---|
790 | if(f_unseen && f_unseen.innerHTML) |
---|
791 | Element('new_m').innerHTML = '<font face="Verdana" size="1" color="RED">'+f_unseen.innerHTML+'</font>'; |
---|
792 | else |
---|
793 | { |
---|
794 | if( parseInt(Element('new_m').innerHTML) == 0 ) |
---|
795 | Element('new_m').innerHTML = 0; |
---|
796 | } |
---|
797 | folders = data; |
---|
798 | } |
---|
799 | } |
---|
800 | |
---|
801 | var handler_draw_box = function(data){ |
---|
802 | draw_box.draw_newBox( expresso.connector.unserialize( data ), 'INBOX', true); |
---|
803 | //alternate_border(0); |
---|
804 | }; |
---|
805 | |
---|
806 | // Action on change folders. |
---|
807 | function change_folder(folder, folder_name){ |
---|
808 | alternate_border(numBox); |
---|
809 | if (openTab.imapBox[numBox] != folder) |
---|
810 | { |
---|
811 | current_folder = folder; |
---|
812 | draw_box.prepare_box(true); |
---|
813 | Element("border_id_0").innerHTML = " " + lang_folder(folder_name) + ' <font face="Verdana" size="1" color="#505050">[<span id="new_m">0</span> / <span id="tot_m">0</span>]</font>'; |
---|
814 | var handler_draw_box = function(data) |
---|
815 | { |
---|
816 | draw_box.headers_msgs = data; |
---|
817 | draw_box.draw_box_messages(data, folder, true); |
---|
818 | draw_paging(data.num_msgs); |
---|
819 | Element("tot_m").innerHTML = data.num_msgs; |
---|
820 | Element("new_m").innerHTML = '<font style="color:'+(data.num_unseen > 0 ? 'red': '')+'">' + data.num_unseen + '</font>'; |
---|
821 | folder_unseen = Element('dftree_'+current_folder+'_unseen'); |
---|
822 | var num_unseen = data.num_unseen; |
---|
823 | if (folder_unseen) |
---|
824 | num_unseen -= folder_unseen.innerHTML; |
---|
825 | increment_folder_unseen(num_unseen); |
---|
826 | update_menu(); |
---|
827 | return true; |
---|
828 | }; |
---|
829 | proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); |
---|
830 | } |
---|
831 | } |
---|
832 | |
---|
833 | function open_folder(folder, folder_name){ |
---|
834 | if (current_folder!= folder) { |
---|
835 | current_folder = folder; |
---|
836 | var handler_draw_box = function(data){ |
---|
837 | numBox++; |
---|
838 | create_border(folder_name,numBox.toString()); |
---|
839 | draw_box.draw_newBox(data, current_folder); |
---|
840 | alternate_border(numBox); |
---|
841 | return true; |
---|
842 | }; |
---|
843 | cExecute ("expressoMail1_2.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); |
---|
844 | } |
---|
845 | else |
---|
846 | alternate_border(numBox); |
---|
847 | return true; |
---|
848 | } |
---|
849 | |
---|
850 | function sort_box(search, sort){ |
---|
851 | var message_header = Element("message_header_"+search); |
---|
852 | var handler_draw_box = function(data){ |
---|
853 | draw_box.headers_msgs = data; |
---|
854 | draw_box.draw_box_messages(current_folder); |
---|
855 | |
---|
856 | draw_paging(Element('tot_m').innerHTML); |
---|
857 | //Mostrar as msgs nao lidas de acordo com o filtro de relevancia |
---|
858 | var msgs_unseen = 0; |
---|
859 | for(i in data){ |
---|
860 | if(data[i].Unseen == 'U') |
---|
861 | msgs_unseen++; |
---|
862 | } |
---|
863 | Element("new_m").innerHTML = '<font style="color:'+(msgs_unseen == 0 ? '': 'red')+'">' + msgs_unseen + '</font>'; |
---|
864 | }; |
---|
865 | |
---|
866 | if(sort_box_type == sort && search_box_type == search){ |
---|
867 | sort_box_reverse = sort_box_reverse ? 0 : 1; |
---|
868 | } |
---|
869 | else if(sort_box_type != sort){ |
---|
870 | if ( (sort == 'SORTFROM') || (sort == 'SORTSUBJECT') ) |
---|
871 | sort_box_reverse = 0; |
---|
872 | else |
---|
873 | sort_box_reverse = 1; |
---|
874 | } |
---|
875 | |
---|
876 | // Global variable. |
---|
877 | sort_box_type = sort; |
---|
878 | search_box_type = search; |
---|
879 | |
---|
880 | draw_box.prepare_box(true); |
---|
881 | proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); |
---|
882 | current_page = 1; |
---|
883 | //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros |
---|
884 | //update_menu(); |
---|
885 | } |
---|
886 | |
---|
887 | function make_tr_message(headers_msgs, msg_folder) |
---|
888 | { |
---|
889 | if ( InfoContact == null ) |
---|
890 | InfoContact = new emInfoContact(); |
---|
891 | |
---|
892 | var tr_element = document.createElement('tr'); |
---|
893 | tr_element.style.height = preferences.line_height; |
---|
894 | tr_element.id = headers_msgs.msg_number; |
---|
895 | |
---|
896 | tr_element.msg_sample = ""; |
---|
897 | //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") |
---|
898 | if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1") |
---|
899 | { |
---|
900 | tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; |
---|
901 | } |
---|
902 | tr_element.tip = ""; |
---|
903 | if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1") |
---|
904 | { |
---|
905 | tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; |
---|
906 | } |
---|
907 | |
---|
908 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ |
---|
909 | if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) |
---|
910 | add_className(tr_element, 'flagged_msg'); |
---|
911 | add_className(tr_element, 'tr_msg_unread'); |
---|
912 | } |
---|
913 | else{ |
---|
914 | if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) |
---|
915 | add_className(tr_element,'flagged_msg'); |
---|
916 | } |
---|
917 | |
---|
918 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) |
---|
919 | add_className(tr_element, 'tr_msg_unread'); |
---|
920 | |
---|
921 | if (headers_msgs.Flagged == 'F') |
---|
922 | add_className(tr_element,'flagged_msg'); |
---|
923 | |
---|
924 | td_element1 = createAndSet("TD",['class','width'],['td_msg','1%']); |
---|
925 | _chkbox = createAndSet("INPUT", ['type','class','id'], ['checkbox','checkbox',"check_box_message_"+headers_msgs.msg_number]); |
---|
926 | _chkbox.onclick = function(e){ |
---|
927 | if (is_ie) |
---|
928 | changeBgColor(window.event,headers_msgs.msg_number); |
---|
929 | else |
---|
930 | changeBgColor(e,headers_msgs.msg_number); |
---|
931 | }; |
---|
932 | td_element1.appendChild(_chkbox); |
---|
933 | |
---|
934 | td_element2 = document.createElement("TD"); |
---|
935 | td_element2.className = "td_msg"; |
---|
936 | td_element2.setAttribute("width", "2%"); |
---|
937 | if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) |
---|
938 | td_element2.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(headers_msgs.attachment.names) + '">'; |
---|
939 | |
---|
940 | td_element21 = document.createElement("TD"); |
---|
941 | td_element21.className = "td_msg"; |
---|
942 | td_element21.setAttribute("width", "1%"); |
---|
943 | td_element21.id = "td_message_answered_"+headers_msgs.msg_number; |
---|
944 | |
---|
945 | if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { |
---|
946 | attach_name = headers_msgs.attachment.names.split(", "); |
---|
947 | for(var item=0; item < attach_name.length; item++) |
---|
948 | { |
---|
949 | if (url_decode(attach_name[item]) != 'smime.p7s' && url_decode(attach_name[item]) != 'smime.p7m'){ |
---|
950 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(attach_name[item]) + '">'; |
---|
951 | break; |
---|
952 | } |
---|
953 | } |
---|
954 | } |
---|
955 | |
---|
956 | if ((headers_msgs.Forwarded == 'F') || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ |
---|
957 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/forwarded.gif" title="'+get_lang('Forwarded')+'">'; |
---|
958 | headers_msgs.Draft = ''; |
---|
959 | headers_msgs.Answered = ''; |
---|
960 | } |
---|
961 | else if (headers_msgs.Draft == 'X') |
---|
962 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/draft.gif" title="'+get_lang('Draft')+'">'; |
---|
963 | else if (headers_msgs.Answered == 'A') |
---|
964 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/answered.gif" title="'+get_lang('Answered')+'">'; |
---|
965 | else |
---|
966 | td_element21.innerHTML = " "; |
---|
967 | |
---|
968 | td_element22 = document.createElement("TD"); |
---|
969 | td_element22.className = "td_msg"; |
---|
970 | td_element22.setAttribute("width", "1%"); |
---|
971 | td_element22.id = "td_message_signed_"+headers_msgs.msg_number; |
---|
972 | |
---|
973 | switch(headers_msgs.ContentType) |
---|
974 | { |
---|
975 | case "signature": |
---|
976 | { |
---|
977 | td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed_msg.gif" title="' + get_lang('Signed message') + '">'; |
---|
978 | break; |
---|
979 | } |
---|
980 | case "cipher": |
---|
981 | { |
---|
982 | td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/lock.gif" title="' + get_lang('Crypted message') + '">'; |
---|
983 | break; |
---|
984 | } |
---|
985 | default: |
---|
986 | { |
---|
987 | break; |
---|
988 | } |
---|
989 | }; |
---|
990 | |
---|
991 | td_element23 = document.createElement("TD"); |
---|
992 | td_element23.className = "td_msg"; |
---|
993 | td_element23.setAttribute("width", "1%"); |
---|
994 | td_element23.id = "td_message_important_"+headers_msgs.msg_number; |
---|
995 | |
---|
996 | if (headers_msgs.Flagged == 'F' || (parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high") != -1)) |
---|
997 | { |
---|
998 | td_element23.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/important.gif" title="'+get_lang('Important')+'">'; |
---|
999 | } |
---|
1000 | else |
---|
1001 | td_element23.innerHTML = " "; |
---|
1002 | |
---|
1003 | td_element24 = document.createElement("TD"); |
---|
1004 | td_element24.className = "td_msg"; |
---|
1005 | td_element24.setAttribute("width", "1%"); |
---|
1006 | td_element24.id = "td_message_sent_"+headers_msgs.msg_number; |
---|
1007 | td_element24.innerHTML = " "; |
---|
1008 | // preload images |
---|
1009 | var _img_sent = new Image(); |
---|
1010 | _img_sent.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif'; |
---|
1011 | var _img_unseen = new Image(); |
---|
1012 | _img_unseen.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/unseen.gif'; |
---|
1013 | |
---|
1014 | var td_element25 = document.createElement("TD"); |
---|
1015 | td_element25.className = "td_msg"; |
---|
1016 | td_element25.setAttribute("width", "1%"); |
---|
1017 | td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; |
---|
1018 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) |
---|
1019 | td_element25.innerHTML = "<img src ='"+_img_unseen.src+"' title='"+get_lang('Unseen')+"'>"; |
---|
1020 | else |
---|
1021 | td_element25.innerHTML = "<img src ='"+URL_SERVER +"expressoMail1_2/templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; |
---|
1022 | |
---|
1023 | td_element3 = document.createElement("TD"); |
---|
1024 | td_element3.className = "td_msg"; |
---|
1025 | td_element3.id = "td_who_"+ headers_msgs.msg_number; |
---|
1026 | td_element3.setAttribute("width", "20%"); |
---|
1027 | var _onclick = function(){ |
---|
1028 | InfoContact.hide();proxy_mensagens.get_msg(headers_msgs, msg_folder,true, show_msg); |
---|
1029 | }; |
---|
1030 | td_element3.onclick = _onclick; |
---|
1031 | td_element3.innerHTML = ' '; |
---|
1032 | |
---|
1033 | if (typeof(headers_msgs.from) == 'undefined') |
---|
1034 | return false; |
---|
1035 | if( headers_msgs.from.email && headers_msgs.from.email.toLowerCase() == Element("user_email").value ) |
---|
1036 | { |
---|
1037 | td_element3.onmouseover = function () { |
---|
1038 | this.title=headers_msgs.to.email; |
---|
1039 | }; |
---|
1040 | if (headers_msgs.Draft == 'X') |
---|
1041 | td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; |
---|
1042 | else{ |
---|
1043 | if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) |
---|
1044 | td_element24.innerHTML = '<img valign="center" src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif" title="'+get_lang('Sent')+'">'; |
---|
1045 | |
---|
1046 | if ((headers_msgs.to)&&(headers_msgs.to.name != null)) |
---|
1047 | td_element3.innerHTML += headers_msgs.to.name; |
---|
1048 | else if (headers_msgs.to){ |
---|
1049 | td_element3.innerHTML += headers_msgs.to.email; |
---|
1050 | } |
---|
1051 | } |
---|
1052 | } |
---|
1053 | else{ |
---|
1054 | if (headers_msgs.Draft == 'X'){ |
---|
1055 | td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; |
---|
1056 | } |
---|
1057 | else{ |
---|
1058 | var spanSender = document.createElement("SPAN"); |
---|
1059 | spanSender.onmouseover = function (event) { |
---|
1060 | this.style.textDecoration = "underline";try { |
---|
1061 | InfoContact.begin(this,headers_msgs.from.email) |
---|
1062 | } catch(e){}; |
---|
1063 | }; |
---|
1064 | spanSender.onmouseout = function (){ |
---|
1065 | try { |
---|
1066 | this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout); |
---|
1067 | } catch(e){} |
---|
1068 | }; |
---|
1069 | spanSender.innerHTML = headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; |
---|
1070 | if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ |
---|
1071 | spanSender.innerHTML = spanSender.innerHTML.substring(0,25) + "..."; |
---|
1072 | } |
---|
1073 | else if (spanSender.innerHTML.length > 40 ){ |
---|
1074 | spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; |
---|
1075 | } |
---|
1076 | td_element3.appendChild(spanSender); |
---|
1077 | } |
---|
1078 | } |
---|
1079 | td_element4 = document.createElement("TD"); |
---|
1080 | td_element4.className = "td_msg"; |
---|
1081 | td_element4.setAttribute("width", "50%"); |
---|
1082 | td_element4.onclick = _onclick; |
---|
1083 | // td_element4.setAttribute("style","white-space:nowrap;"); |
---|
1084 | td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'> " : " "; |
---|
1085 | |
---|
1086 | if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) |
---|
1087 | { |
---|
1088 | // if( (headers_msgs.subject.length+tr_element.msg_sample.length)> |
---|
1089 | td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; |
---|
1090 | } |
---|
1091 | else |
---|
1092 | { |
---|
1093 | td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; |
---|
1094 | } |
---|
1095 | |
---|
1096 | td_element4.title=tr_element.tip; |
---|
1097 | if(!is_ie){ |
---|
1098 | td_element4.innerHTML += "</a>"; |
---|
1099 | } |
---|
1100 | |
---|
1101 | |
---|
1102 | td_element5 = document.createElement("TD"); |
---|
1103 | td_element5.className = "td_msg"; |
---|
1104 | td_element5.setAttribute("width", "14%"); |
---|
1105 | td_element5.onclick = _onclick; |
---|
1106 | td_element5.setAttribute("align", "center"); |
---|
1107 | td_element5.innerHTML = headers_msgs.udate; |
---|
1108 | |
---|
1109 | td_element6 = document.createElement("TD"); |
---|
1110 | td_element6.className = "td_msg"; |
---|
1111 | td_element6.setAttribute("width", "14%"); |
---|
1112 | td_element6.setAttribute("noWrap","true"); |
---|
1113 | td_element6.setAttribute("align", "center"); |
---|
1114 | td_element6.onclick = _onclick; |
---|
1115 | |
---|
1116 | td_element6.innerHTML = borkb(headers_msgs.Size); |
---|
1117 | |
---|
1118 | return appendChilds(tr_element,td_element1,td_element2,td_element21,td_element22,td_element23,td_element24,td_element25,td_element3,td_element4,td_element5,td_element6); |
---|
1119 | } |
---|
1120 | function draw_folder(){ |
---|
1121 | } |
---|
1122 | |
---|
1123 | draw_folder.prototype.draw_newBox = function(headers_msgs,msg_folder,alternate){ |
---|
1124 | this.headers_msgs = headers_msgs; |
---|
1125 | this.prepare_box( alternate ); |
---|
1126 | this.draw_box_messages(headers_msgs,msg_folder); |
---|
1127 | }; |
---|
1128 | |
---|
1129 | draw_folder.prototype.prepare_box = function(alternate){ |
---|
1130 | if (alternate) |
---|
1131 | kill_current_box(); |
---|
1132 | |
---|
1133 | if(is_ie) |
---|
1134 | document.getElementById("border_table").width = "99.5%"; |
---|
1135 | |
---|
1136 | openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); |
---|
1137 | openTab.type[numBox] = 0; |
---|
1138 | _tbl_msghead_bx = Element("_tbl_msghead_bx_"+numBox); |
---|
1139 | if (_tbl_msghead_bx == null){ |
---|
1140 | var table_element = document.createElement("TABLE"); |
---|
1141 | table_element.setAttribute("id", "_tbl_msghead_bx_"+numBox); |
---|
1142 | table_element.setAttribute('class', "table_message_header_box"); |
---|
1143 | |
---|
1144 | var tbody_element = document.createElement("TBODY"); |
---|
1145 | |
---|
1146 | tr_element = createAndSet("TR",['class'],['message_header']); |
---|
1147 | td_element1 = createAndSet("TD",['width'],['1%']); |
---|
1148 | _chkbox_element = createAndSet("INPUT",['id','type','class'],["chkbox_sel_allmsg","checkbox","checkbox"]); |
---|
1149 | _chkbox_element.onclick = function(){ |
---|
1150 | select_all_messages(this.checked); |
---|
1151 | }; |
---|
1152 | _chkbox_element.onmouseover = function () { |
---|
1153 | this.title=get_lang('Select all messages.'); |
---|
1154 | }; |
---|
1155 | _chkbox_element.onkeydown = function (e){ |
---|
1156 | if (is_ie) |
---|
1157 | { |
---|
1158 | if ((window.event.keyCode) == 46) |
---|
1159 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
1160 | } |
---|
1161 | else |
---|
1162 | { |
---|
1163 | if ((e.keyCode) == 46) |
---|
1164 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
1165 | } |
---|
1166 | }; |
---|
1167 | |
---|
1168 | td_element1.appendChild(_chkbox_element); |
---|
1169 | |
---|
1170 | td_element2 = document.createElement("TD"); |
---|
1171 | td_element2.setAttribute("width", "7%"); |
---|
1172 | td_element3 = createAndSet("TD",['width','id','align'],['29%',"_msgheadSORTFROM_"+numBox,'left'],get_lang("Who")); |
---|
1173 | td_element3.onclick = function () { |
---|
1174 | sort_box(search_box_type,'SORTFROM'); |
---|
1175 | }; |
---|
1176 | td_element4 = createAndSet("TD",['width','id','align'],['38%',"_msgheadSORTSUBJECT_"+numBox,"left"],get_lang("Subject")); |
---|
1177 | td_element4.onclick = function () { |
---|
1178 | sort_box(search_box_type,'SORTSUBJECT'); |
---|
1179 | }; |
---|
1180 | td_element5 = createAndSet("TD",['width','id','align'],["14%","_msgheadSORTARRIVAL_"+numBox,"center"],get_lang("Date")); |
---|
1181 | td_element5.onclick = function () { |
---|
1182 | sort_box(search_box_type,'SORTARRIVAL'); |
---|
1183 | }; |
---|
1184 | td_element6 = createAndSet("TD",['width','id','align'],["14%","_msgheadSORTSIZE_"+numBox,"left"],get_lang("Size")); |
---|
1185 | td_element6.onclick = function () { |
---|
1186 | sort_box(search_box_type,'SORTSIZE'); |
---|
1187 | }; |
---|
1188 | appendChilds(tr_element,td_element1,td_element2); |
---|
1189 | var td_element21 = document.createElement("TD"); |
---|
1190 | td_element21.innerHTML = " "; |
---|
1191 | var td_element22 = document.createElement("TD"); |
---|
1192 | td_element22.innerHTML = " "; |
---|
1193 | var td_element23 = document.createElement("TD"); |
---|
1194 | td_element23.innerHTML = " "; |
---|
1195 | |
---|
1196 | tbody_element.appendChild(appendChilds(tr_element,td_element21,td_element22,td_element23,td_element3,td_element4,td_element5,td_element6)); |
---|
1197 | table_element.appendChild(tbody_element); |
---|
1198 | openTab.content_id[numBox].appendChild(table_element); |
---|
1199 | } |
---|
1200 | draw_header_box(); |
---|
1201 | var _divScroll = document.getElementById("divScrollMain_"+numBox); |
---|
1202 | if(!_divScroll){ |
---|
1203 | _divScroll = document.createElement("DIV"); |
---|
1204 | _divScroll.id = "divScrollMain_"+numBox; |
---|
1205 | } |
---|
1206 | |
---|
1207 | _divScroll.style.overflowY = "auto"; |
---|
1208 | _divScroll.style.overflowX = "hidden"; |
---|
1209 | _divScroll.style.width ="100%"; |
---|
1210 | |
---|
1211 | var _t_element = createAndSet("TABLE",['id','class','borderColorDark','frame','rules','cellPadding','cellSpacing'],["table_box","table_box","#bbbbbb","void","rows","0","0"]); |
---|
1212 | _t_element.onkeydown = function (e){ |
---|
1213 | if (is_ie) |
---|
1214 | { |
---|
1215 | if ((window.event.keyCode) == 46) |
---|
1216 | { |
---|
1217 | //delete_all_selected_msgs_imap(); |
---|
1218 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
1219 | } |
---|
1220 | } |
---|
1221 | else |
---|
1222 | { |
---|
1223 | if ((e.keyCode) == 46) |
---|
1224 | { |
---|
1225 | //delete_all_selected_msgs_imap(); |
---|
1226 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
1227 | } |
---|
1228 | } |
---|
1229 | }; |
---|
1230 | if (is_ie) |
---|
1231 | _t_element.style.cursor = "hand"; |
---|
1232 | |
---|
1233 | var _tbody_element = document.createElement("TBODY"); |
---|
1234 | _tbody_element.setAttribute("id", "tbody_box"); |
---|
1235 | _t_element.appendChild(_tbody_element); |
---|
1236 | |
---|
1237 | _divScroll.appendChild(_t_element); |
---|
1238 | |
---|
1239 | openTab.content_id[numBox].appendChild(_divScroll); |
---|
1240 | if (alternate) |
---|
1241 | _divScroll.appendChild(loading_img); |
---|
1242 | }; |
---|
1243 | |
---|
1244 | draw_folder.prototype.draw_box_messages = function(msg_folder){ |
---|
1245 | openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); |
---|
1246 | var _divScroll = document.getElementById("divScrollMain_"+numBox); |
---|
1247 | try{ |
---|
1248 | loading_img = _divScroll.removeChild( loading_img ); |
---|
1249 | } |
---|
1250 | catch(e){ } |
---|
1251 | var tbody_element = _divScroll.firstChild.firstChild; |
---|
1252 | |
---|
1253 | var f_unseen = 0; |
---|
1254 | openTab.imapBox[numBox] = msg_folder; |
---|
1255 | if (this.headers_msgs.num_msgs == 0){ |
---|
1256 | var tr_info = document.createElement("TR"); |
---|
1257 | var td_info = createAndSet("TD",['colspan','background','align','style'], |
---|
1258 | ['10','#FFF','center','padding-top: 25px;font-weight:bold;font-size:11pt;'],get_lang("This mail box is empty")); |
---|
1259 | tr_info.setAttribute("id", "msg_info"); |
---|
1260 | tr_info.appendChild(td_info); |
---|
1261 | tbody_element.appendChild(tr_info); |
---|
1262 | } |
---|
1263 | |
---|
1264 | |
---|
1265 | for (var i=0; i < this.headers_msgs.length; i++){ |
---|
1266 | if ((this.headers_msgs[i].Unseen == 'U') || (this.headers_msgs[i].Recent == 'N')) |
---|
1267 | f_unseen++; |
---|
1268 | tr_element = make_tr_message(this.headers_msgs[i], msg_folder); |
---|
1269 | if (tr_element){ |
---|
1270 | tbody_element.appendChild(tr_element); |
---|
1271 | add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); |
---|
1272 | } |
---|
1273 | if ( _dragArea == null ) |
---|
1274 | _dragArea = new DragArea( ); |
---|
1275 | _dragArea.makeDragged(tr_element, this.headers_msgs[i].msg_number, this.headers_msgs[i].subject, true); |
---|
1276 | } |
---|
1277 | |
---|
1278 | if ((preferences.use_shortcuts == '1') && (this.headers_msgs[0])) |
---|
1279 | select_msg(this.headers_msgs[0].msg_number, 'null', true); |
---|
1280 | |
---|
1281 | var tdFolders = Element("folderscol"); |
---|
1282 | tdFolders.style.display = preferences.hide_folders == '1' ? "none" : ""; |
---|
1283 | draw_footer_box(this.headers_msgs.num_msgs); |
---|
1284 | Element('main_table').style.display = ''; |
---|
1285 | if(is_ie6) // Stupid Fixing on IE6. |
---|
1286 | setTimeout("resizeWindow()",1); |
---|
1287 | else |
---|
1288 | resizeWindow(); |
---|
1289 | if(debug) { |
---|
1290 | var _eTime = new Date(); |
---|
1291 | _eTime = _eTime.getTime(); |
---|
1292 | alert("Carregou em "+(_eTime - _bTime)+" ms"); |
---|
1293 | } |
---|
1294 | var msg_folder = Element('msg_folder').value; |
---|
1295 | var msg_number = Element('msg_number').value; |
---|
1296 | if(!msg_folder && msg_number) { |
---|
1297 | new_message('new','null'); |
---|
1298 | } |
---|
1299 | else if(msg_folder && msg_number){ |
---|
1300 | proxy_mensagens.get_msg(this.headers_msgs, url_encode(msg_folder),true, show_msg); |
---|
1301 | Element('msg_folder').value = ''; |
---|
1302 | Element('msg_number').value = ''; |
---|
1303 | } |
---|
1304 | |
---|
1305 | if(!is_ie) { |
---|
1306 | var scripts = new Array("jscode/ccQuickAdd", |
---|
1307 | "jscode/color_palette", |
---|
1308 | "jscode/filter", |
---|
1309 | "jscode/filters", |
---|
1310 | "jscode/html2xhtml", |
---|
1311 | "jscode/preferences", |
---|
1312 | "jscode/QuickCatalogSearch", |
---|
1313 | "jscode/QuickSearchUser", |
---|
1314 | "jscode/rich_text_editor", |
---|
1315 | "jscode/sharemailbox", |
---|
1316 | "jscode/search", |
---|
1317 | "jscode/TreeS", |
---|
1318 | "jscode/TreeShow"); |
---|
1319 | |
---|
1320 | expresso.connector.loadAllScripts(scripts); |
---|
1321 | } |
---|
1322 | // Loading Quota View Folder Component (if exists...) |
---|
1323 | if(Element("table_quota")) |
---|
1324 | expresso.connector.loadScript("jscode/InfoQuota"); |
---|
1325 | alternate_border(numBox); |
---|
1326 | }; |
---|
1327 | |
---|
1328 | draw_box = new draw_folder(); |
---|