// Tempo do auto refresh (em milisegundos) var time_refresh = 300000; function init(){ if (!is_ie) Element('tableDivAppbox').width = '100%'; var save_contacts = function(data){ contacts = data; } var save_preferences = function(data){ preferences = data; if(preferences.hide_folders == "1") Element('divAppboxHeader').innerHTML = title_app_menu; if (preferences.delete_trash_messages_after_n_days != 0) cExecute ("$this.imap_functions.automatic_trash_cleanness&before_date="+preferences.delete_trash_messages_after_n_days+"&cyrus_delimiter="+cyrus_delimiter, handler_automatic_trash_cleanness); ConstructMenuTools(); cExecute ("$this.imap_functions.get_folders_list", update_menu); } var handler_automatic_trash_cleanness = function(data){ if (data != false){ write_msg(data.length +' '+ Element('txt_clear_trash').value); } } // Versão Element('divAppboxHeader').innerHTML = title_app; // Get cyrus delimiter cyrus_delimiter = Element('cyrus_delimiter').value; alternate_border(0); cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); cExecute ("$this.functions.get_preferences", save_preferences); setTimeout('auto_refresh()', time_refresh); } function show_msg(msg_info){ if(!verify_session(msg_info)) return; var handler_sendNotification = function(data){ if (data) write_msg(get_lang("A read confirmation was sent.")); else write_msg(get_lang("Error in SMTP sending read confirmation.")); } if (msg_info.status == 'false'){ eval(msg_info.command_to_exec); } else{ // Call function to draw message var id_msg_read = msg_info.msg_number +"_r"; if(Element("border_id_" + id_msg_read)) alternate_border(id_msg_read); else { var border_id = create_border(msg_info.subject, id_msg_read); if(border_id) draw_message(msg_info,border_id); else return; } //Change the tr color to read. set_msg_class_to_read(msg_info['msg_number'], true); // If needed, delete old border if (msg_info.reuse_border) delete_border(msg_info.reuse_border,'false'); if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification); } } } function auto_refresh(){ refresh(preferences.alert_new_msg); setTimeout('auto_refresh()', time_refresh); } function refresh(alert_new_msg){ var handler_refresh = function(data){ if(!verify_session(data)) return; if (data.length > 0){ table_element = Element("table_box"); var box = Element("tbody_box"); table_element.appendChild(box); var len = data.length; for (var i=0; i 0) alert(get_lang("You have %1 new", data['new_msgs'])+" "+(data['new_msgs'] > 1 ? get_lang("messages") : get_lang("message")) +"!"); } update_menu(); } msg_range_end = (current_page*preferences.max_email_per_page); msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); //Get element tBody. main = Element("tbody_box"); if(!main) return; // Get all TR (messages) in tBody. main_list = main.childNodes; var tmp = ''; var string_msgs_in_main = ''; var len = main_list.length; for (var j=0; j < len; j++) tmp += main_list[j].id + ','; string_msgs_in_main = tmp.substring(0,(tmp.length-1)); cExecute ("$this.imap_functions.refresh&folder="+current_folder+"&msgs_existent="+string_msgs_in_main+"&msg_range_begin="+msg_range_begin+"&msg_range_end="+msg_range_end+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_refresh); } function delete_msgs(folder, msgs_number, border_ID) { if (folder == 'null') folder = get_current_folder(); if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+'Lixeira')){ move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+'Lixeira', 'Lixeira'); return; } var handler_delete_msgs = function(data){ Element('chk_box_select_all_messages').checked = false; mail_msg = Element("tbody_box"); var msg_to_delete; for (var i=0; i 0 || parseInt(msgs_number) > 0) cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&get_previous_msg="+preferences.delete_and_show_previous_message, handler_delete_msgs); else write_msg(get_lang('No selected message.')); } function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ if (folder == 'null') folder = get_current_folder(); var handler_move_msgs = function(data){ if(typeof(data) == 'string' && data.match(/^(.*)TRYCREATE(.*)$/)){ alert("Sua pasta Lixeira não está criada. É necessário criar para que funcione corretamente."); return false; } Element('chk_box_select_all_messages').checked = false; mail_msg = Element("tbody_box"); data.msgs_number = data.msgs_number.split(","); var msg_to_delete; for (var i=0; i 0 || msgs_number.length > 0) cExecute ("$this.imap_functions.move_messages&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+preferences.delete_and_show_previous_message, handler_move_msgs); else write_msg(get_lang('No selected message.')); } function get_selected_messages(){ main = Element("tbody_box"); // Get all TR (messages) in tBody. main_list = main.childNodes; var selected_messages = ''; var j = 0; for (j; j<(main_list.length); j++){ check_box = document.getElementById("check_box_message_"+main_list[j].id); if ((check_box)&&(check_box.checked)){ selected_messages += main_list[j].id + ','; } } selected_messages = selected_messages.substring(0,(selected_messages.length-1)); if (selected_messages == '') return false; else return selected_messages; } function new_message(type, border_ID){ var new_border_ID = draw_new_message(); var title = ''; data = []; if (Element("from_" + border_ID)){ if (document.getElementById("reply_to_" + border_ID)){ data.to = document.getElementById("reply_to_values_" + border_ID).value; data.to = data.to.replace(/</gi,"<"); data.to = data.to.replace(/>/gi,">"); } else { data.to = document.getElementById("from_values_" + border_ID).value; data.to = data.to.replace(/</gi,"<"); data.to = data.to.replace(/>/gi,">"); } data.to_all = document.getElementById("to_values_" + border_ID).value; data.to_all = data.to_all.replace(/\n/gi," "); data.to_all = data.to_all.replace(/</gi,"<"); data.to_all = data.to_all.replace(/>/gi,">"); // delete user email from to_all array. var _array_to_all = data.to_all.split(","); data.to_all = new Array(); var j = 0; for(i = 0; i < _array_to_all.length; i++) { if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ data.to_all[j++] = _array_to_all[i]; } } data.to_all = data.to_all.join(","); } if (document.getElementById("cc_" + border_ID)){ data.cc = document.getElementById("cc_values_" + border_ID).value; data.cc = data.cc.replace(/</gi,"<"); data.cc = data.cc.replace(/>/gi,">"); } if (document.getElementById("subject_" + border_ID)) data.subject = document.getElementById("subject_" + border_ID).innerHTML; if (document.getElementById("body_" + border_ID)) data.body = document.getElementById("body_" + border_ID).innerHTML; if (Element('date_' + border_ID)){ data.date = Element('date_' + border_ID).innerHTML; } if (Element('date_day_' + border_ID)){ data.date_day = Element('date_day_' + border_ID).value; } if (Element('date_hour_' + border_ID)){ data.date_hour = Element('date_hour_' + border_ID).value; } switch(type){ case "reply_without_history": Element("to_" + new_border_ID).value = data.to; title = "Re: " + data.subject; Element("subject_" + new_border_ID).value = "Re: " + data.subject; var body = Element("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""); body.contentWindow.document.close(); body.contentWindow.focus(); body.contentWindow.document.designMode = "on"; body.contentWindow.focus(); msg_reply_from = document.createElement('input'); msg_reply_from.id = "msg_reply_from_" + new_border_ID; msg_reply_from.type = "hidden"; msg_reply_from.value = Element("msg_number_" + border_ID).value; Element("content_id_" + new_border_ID).appendChild(msg_reply_from); break; case "reply_with_history": title = "Re: " + data.subject; Element("subject_" + new_border_ID).value = "Re: " + data.subject; Element("to_" + new_border_ID).value = data.to; block_quoted_body = make_body_reply(data.body, data.to, data.date_day, data.date_hour); var body = Element("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""+block_quoted_body+""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; body.contentWindow.focus(); msg_reply_from = document.createElement('input'); msg_reply_from.id = "msg_reply_from_" + new_border_ID; msg_reply_from.type = "hidden"; msg_reply_from.value = Element("msg_number_" + border_ID).value; Element("content_id_" + new_border_ID).appendChild(msg_reply_from); break; case "reply_to_all_without_history": title = "Re: " + data.subject; Element("subject_" + new_border_ID).value = "Re: " + data.subject; Element("to_" + new_border_ID).value = data.to; Element("to_" + new_border_ID).value += ', ' + data.to_all; if (data.cc){ Element("cc_" + new_border_ID).value = data.cc; Element("a_cc_link_" + new_border_ID).style.display='none'; Element("tr_cc_" + new_border_ID).style.display=''; Element('space_link_' + new_border_ID).style.display='none'; } var body = Element("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; body.contentWindow.focus(); msg_reply_from = document.createElement('input'); msg_reply_from.id = "msg_reply_from_" + new_border_ID; msg_reply_from.type = "hidden"; msg_reply_from.value = Element("msg_number_" + border_ID).value; Element("content_id_" + new_border_ID).appendChild(msg_reply_from); break; case "reply_to_all_with_history": title = "Re: " + data.subject; Element("to_" + new_border_ID).value = data.to; Element("to_" + new_border_ID).value += ', ' + data.to_all; if (data.cc){ document.getElementById("cc_" + new_border_ID).value = data.cc; document.getElementById("a_cc_link_" + new_border_ID).style.display='none'; document.getElementById("tr_cc_" + new_border_ID).style.display=''; document.getElementById('space_link_' + new_border_ID).style.display='none'; } document.getElementById("subject_" + new_border_ID).value = "Re: " + data.subject; block_quoted_body = make_body_reply(data.body, data.to, data.date_day, data.date_hour); var body = document.getElementById("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""+block_quoted_body+""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; body.contentWindow.focus(); msg_reply_from = document.createElement('input'); msg_reply_from.id = "msg_reply_from_" + new_border_ID; msg_reply_from.type = "hidden"; msg_reply_from.value = Element("msg_number_" + border_ID).value; Element("content_id_" + new_border_ID).appendChild(msg_reply_from); break; case "forward": msg_forward_from = document.createElement('input'); msg_forward_from.id = "msg_forward_from_" + new_border_ID; msg_forward_from.type = "hidden"; msg_forward_from.value = Element("msg_number_" + border_ID).value; Element("content_id_" + new_border_ID).appendChild(msg_forward_from); title = "Fw: " + data.subject; document.getElementById("subject_" + new_border_ID).value = "Fw: " + data.subject; var divFiles = Element("divFiles_"+new_border_ID); if (Element("attachments_" + border_ID)){ var attachments = document.getElementById("attachments_" + border_ID).childNodes; for (var i = (attachments.length > 1 ? 1 : 0); i < attachments.length; i++){ var link_attachment = document.createElement("A"); link_attachment.setAttribute("href", attachments[i].href); link_attachment.innerHTML = attachments[i].innerHTML; var tmp = link_attachment.href.replace("javascript:download_attachments(", "").replace(")", ""); var a_tmp = tmp.split(','); tmp = link_attachment.innerHTML.substring(0,link_attachment.innerHTML.lastIndexOf("(")); a_tmp[2] = "'"+tmp.substring(0,tmp.length-1)+"'"; divFiles.innerHTML += ""; divFiles.appendChild(link_attachment); } } var body = Element("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""+make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)+""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; Element("to_" + new_border_ID).focus(); break; case "new": title = get_lang("New Message"); if(Element('msg_number').value) { var _to = Element('msg_number').value; var reEmail = /^[A-Za-z\d_-]+(\.[A-Za-z\d_-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/; if(!reEmail.test(_to)){ var array_contacts = contacts.split(','); for(i = 0; i < array_contacts.length;i++) { if(array_contacts[i].lastIndexOf(_to) != "-1"){ var _group = array_contacts[i].split(";"); _to = '"'+_group[0]+'" <'+_group[1]+'>'; break; } } } Element("to_" + new_border_ID).value = _to +','; Element('msg_number').value = ''; } var body = document.getElementById("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; Element("to_" + new_border_ID).focus(); break; case "edit": data.to = Element("to_values_" + border_ID).value; data.to = data.to.replace(/</gi,"<"); data.to = data.to.replace(/>/gi,">"); title = "Edição: "+data.subject; Element("to_" + new_border_ID).value = data.to; if (data.cc){ Element("cc_" + new_border_ID).value = data.cc; Element("space_link_" + new_border_ID).style.display = 'none'; Element("a_cc_link_" + new_border_ID).style.display = 'none'; Element("tr_cc_"+ new_border_ID).style.display = ''; } Element("subject_" + new_border_ID).value = data.subject; var body = Element("body_" + new_border_ID); body.contentWindow.document.open(); body.contentWindow.document.write(""+data.body+""); body.contentWindow.document.close(); body.contentWindow.document.designMode = "on"; body.contentWindow.focus(); break; default: } var offWidth = Element('border_blank').offsetWidth ? Element('border_blank').offsetWidth : Element('border_blank').clientWidth; var resize = false; if (offWidth < 200) { resize = Element("border_id_" + new_border_ID).style.width; } if (title.length > 21){ title = title.substring(0,21) + "..."; } if(resize) title = title.substring(0, parseInt(resize)*0.08); Element("border_id_" + new_border_ID).innerHTML = "
" +title + "
"; } function send_message_return(data, ID){ if(data && data == true ){ // if send ok, set a flag as answered or forwarded var msg_number_replied = Element('msg_reply_from_'+ID); var msg_number_forwarded = Element('msg_forward_from_'+ID); if (msg_number_replied){ set_message_flag(msg_number_replied.value, 'answered'); } else if (msg_number_forwarded){ set_message_flag(msg_number_forwarded.value, 'forwarded'); } delete_border(ID,'true'); if(wfolders.alert){ write_msg(get_lang('Your message was sent and save.')); wfolders.alert = false; }else{ write_msg(get_lang('Your message was sent.')); } } else{ if(data == 'false') write_msg(get_lang('The size of this message exceeded the limit (%1B).',Element('upload_max_filesize').value)); else if(data == null) write_msg(get_lang("your session could not be verified.")); else write_msg(data); } } function send_message(ID, folder, folder_name){ ID_tmp = ID; var handler_send_message = function(data){ send_message_return(data, this.ID_tmp); } var textArea = document.createElement("TEXTAREA"); textArea.style.display='none'; textArea.name = "body"; body = document.getElementById("body_"+ID); textArea.value += '\r\n'; textArea.value += body.contentWindow.document.body.innerHTML; textArea.value += '\r\n'; var input_folder = document.createElement("INPUT"); input_folder.style.display='none'; input_folder.name = "folder"; input_folder.value = folder; if (is_ie){ var i = 0; while (document.forms(i).name != "form_message_"+ID){i++} form = document.forms(i); } else form = document.forms["form_message_"+ID]; form.appendChild(textArea); form.appendChild(input_folder); var _subject = trim(Element("subject_"+ID).value); if((_subject.length == 0) && !confirm(get_lang("Send this message without a subject?"))) { Element("subject_"+ID).focus(); return; } cExecuteForm ("$this.imap_functions.send_mail", form, handler_send_message); } function save_msg(border_id, folder_id, folder_name){ var handler_save_msg = function(data){ if(!verify_session(data)) return; if (data.append){ write_msg(get_lang('Your message was save as draft in folder %1.', data.folder_name)); delete_border(data.border_id,'true'); } else write_msg('ERRO saving your message.'); } var msg_data = new Array(); if (document.getElementById("to_" + border_id)) msg_data.to = Element("to_" + border_id).value; if (document.getElementById("cc_" + border_id)) msg_data.cc = Element("cc_" + border_id).value; if (document.getElementById("cco_" + border_id)) msg_data.cco = Element("cco_" + border_id).value; if (document.getElementById("subject_" + border_id)) msg_data.subject = Element("subject_" + border_id).value; if (document.getElementById("body_" + border_id)) msg_data.body = Element("body_" + border_id).contentWindow.document.body.innerHTML; var args = "$this.imap_functions.save_msg"; var body = msg_data.body.replace(/ l/g, "%nbsp;"); body = url_encode(msg_data.body); msg_data.subject = url_encode(msg_data.subject); var params = "folder_id="+folder_id+"&folder_name="+folder_name+"&border_id="+border_id+"&to="+msg_data.to+"&cc="+msg_data.cc+"&cco="+msg_data.cco+"&subject="+msg_data.subject+"&body="+body; cExecute( args, handler_save_msg, params); } // Get checked messages function set_messages_flag(flag, msgs_to_set){ var handler_set_messages_flag = function (data){ if(!verify_session(data)) return; var msgs_to_set = data.msgs_to_set.split(","); for (var i=0; i"; window_print.document.body.innerHTML = html + '
' + '
 '+get_lang("Who")+''+get_lang("Subject")+''+get_lang("Date")+''+get_lang("Size")+'
' + body + '
'; break; } catch(e){ //alert(e.message); } } window_print.document.close(); window_print.print(); } function print_msg(msg_folder, msg_number, border_ID){ var div_toaddress_full = Element("div_toaddress_full_"+border_ID); var div_ccaddress_full = Element("div_ccaddress_full_"+border_ID); var printListTO = (div_toaddress_full && div_toaddress_full.style.display != 'none') || toaddress_array[border_ID].length == 1 ? true : false; var printListCC = (div_ccaddress_full && div_ccaddress_full.style.display != 'none') || !div_ccaddress_full ? true : false; var sender = Element('sender_values_'+border_ID) ? Element('sender_values_'+border_ID).value : null; var from = Element('from_values_'+border_ID) ? Element('from_values_'+border_ID).value : null; var to = Element('to_values_'+border_ID) ? Element('to_values_'+border_ID).value :null; var cc = Element('cc_values_'+border_ID) ? Element('cc_values_'+border_ID).value : null; var date = Element('date_'+border_ID); var subject = Element('subject_'+border_ID); var attachments = Element('attachments_'+border_ID); var body = Element('body_'+border_ID); var print_width = screen.width - 200; var x = ((screen.width - print_width) / 2); var y = ((screen.height - 400) / 2) - 35; var window_print = window.open('','ExpressoMail','width='+print_width+',height=400,resizable=yes,scrollbars=yes,left='+x+',top='+y); while (1){ try{ var html = '

'; //html += ""; html += "

ExpressoLivre - ExpressoMail


"; html += ''; if(sender) html += ""; if(from) html += ""; if(to) { if(!printListTO) to = 'Os destinatários não estão sendo exibidos para esta impressão'; html += ""; } if (cc) { if(!printListCC) cc = 'Os destinatários não estão sendo exibidos para esta impressão'; html += ""; } if(date) html += ""; html += ""; html += "
Enviado por: "+sender+"
De: "+from+"
Para: "+to+"
Cc: "+cc+"
Data: "+date.innerHTML+"
Assunto: "+subject.innerHTML+"

"; window_print.document.body.innerHTML = html + '
' + body.innerHTML + '
'; if(!is_ie){ var tab_tags = window_print.document.getElementsByTagName("IMG"); for(var i = 0; i < tab_tags.length;i++){ var _img = document.createElement("IMG"); _img.src = tab_tags[i].src; tab_tags[i].parentNode.replaceChild(_img,tab_tags[i]); } } break; } catch(e){ //alert(e.message); } } window_print.document.close(); window_print.print(); } function empty_trash_imap(){ var handler_empty_trash = function(data){ Element('chk_box_select_all_messages').checked = false; if(!verify_session(data)) return; if (get_current_folder() == 'INBOX'+cyrus_delimiter+'Lixeira'){ draw_paging(0); kill_current_box(); } tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Lixeira').alter({caption: 'Lixeira'}); tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Lixeira')._refresh(); update_quota(); if (data) write_msg(get_lang('Your Trash folder was empty.')); else write_msg(get_lang('ERROR emptying your Trash folder.')); } var realyEmptyTrash=confirm(get_lang('Do you realy want to empty your trash folder?')); if (realyEmptyTrash) cExecute ("$this.imap_functions.empty_trash", handler_empty_trash); } function export_all_selected_msgs(){ var msgs_to_export = this.get_selected_messages(); var handler_export_all_selected_msgs = function(data){ if(!data){ write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')); } else download_attachments(null, null, data, null,null,'mensagens.zip'); } if (msgs_to_export) { cExecute ("$this.exporteml.makeAll", handler_export_all_selected_msgs, "folder="+get_current_folder()+"&msgs_to_export="+msgs_to_export); write_msg(get_lang('You must wait while the messages will be export...')); } else write_msg(get_lang('No selected message.')); } function select_all_messages(select){ var main = Element("tbody_box"); var main_list = main.childNodes; var len_main_list = main_list.length; var j = 0; if (select){ for (j; j