/** * Estrutura que guarda em cache as mensagens abertas, a exemplo da estrutura utilizada * na funcionalidade de anexar mensagens. * Isto reduz a necessidade de acessar estruturas da tela para obter informações sobre * as mensagens, como tem sido para encaminhar, responder, etc. * Manter os dados 'limpos' em uma estrutura 'somente-leitura' permite maior flexibilidade * para mudar a tela e menos processamento de limpeza de dados (por exemplo retirar tags de * formatação, etc.) */ onceOpenedHeadersMessages = {}; var openTab = { 'type' : [], // 8 types of tabs, further info. see expressolivre.org/dev/wiki/mail/Documentacao 'content_id' : [], 'imapUid' : [], // Stores the imap email number of current tab 'countFile' : [0,0,0,0,0,0,0,0,0,0], // Stores the number of files attached in current tab 'imapBox' : [], // Stores the folder name 'toPreserve' : [], // Check if the message should be removed from draft after send 'condition' : [] // Will store the search condition if the tab is the result of a search }; var autoSaveControl = { 'timer' : [], // The timeout timer for autosave function 'status' : [] // The status autosave }; var tabTypes = { 'new':4, 'forward':6, 'reply_with_history':7, 'reply_to_all_with_history':8, 'reply_without_history':9, 'reply_to_all_without_history':10, 'edit':5 }; var currentTab,numBox = 0; // Open Tab and num of mailboxes opened at context // Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo // aqui no expressoMail. function draw_tree_folders(folders){ // Check if the tree folders alredy exist. if (Element('dftree_tree_folders')){ if (!expresso_offline) { var update_tree_folders = function(data){ draw_quota(data); var unseen_in_mailbox = 0; var unseen_in_shared_folders = 0; for (var i=0; i 0 ) { unseen_in_mailbox = parseInt( unseen_in_mailbox + data[ i ].folder_unseen ); if ( data[i].folder_id.indexOf( 'INBOX' ) !== 0 ) unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); } var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); if ((folder_unseen) && (data[i].folder_unseen > 0)) { folder_unseen.innerHTML = data[i].folder_unseen; } else if (data[i].folder_unseen > 0) { tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name) + ' ('+data[i].folder_unseen+')'}); tree_folders.getNodeById(data[i].folder_id)._refresh(); } else if (data[i].folder_unseen <= 0) { if(tree_folders.getNodeById(data[i].folder_id)){ tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name)}); tree_folders.getNodeById(data[i].folder_id)._refresh(); } } if(data[i].folder_id == current_folder){ var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); Element('new_m').innerHTML = data[i].folder_unseen ? ''+data[i].folder_unseen+'' : 0; draw_paging(Element('tot_m').innerHTML); } } var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); display_unseen_in_mailbox._refresh(); var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); if ( display_unseen_in_shared_folders ) { if ( unseen_in_shared_folders ) display_unseen_in_shared_folders.alter({caption:'[' + unseen_in_shared_folders +'] ' + get_lang("Shared folders")}); else display_unseen_in_shared_folders.alter({caption:get_lang("Shared folders")}); display_unseen_in_shared_folders._refresh(); } } cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); } return; } else{ if (!expresso_offline) { tree_folders = new dFTree({name: 'tree_folders'}); var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. var unseen_in_mailbox = 0; var unseen_in_shared_folders = 0; for (var i=0; i 0) { unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + ' ('+folders[i].folder_unseen+')', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); if( folders[i].folder_name.toLowerCase() == 'inbox' ) Element('new_m').innerHTML = '' + folders[i].folder_unseen + ''; } else var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); if (folders[i].folder_parent == '') folders[i].folder_parent = 'root'; else if (folders[i].folder_parent == 'user'){ if (!tree_folders.getNodeById('user')){ tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); tree_folders.add(n_root_shared_folders,'root'); } } tree_folders.add(nn,folders[i].folder_parent); } } var handlerChannel = function(data){ if (data == null || typeof(data) == 'string') return; /* * RSS NEWS */ var root_rss = new dNode({ id: "news_root", caption: get_lang('News') }); tree_folders.add(root_rss, "root"); for(i=0; i < data.length; i++) { var nodeNews = new dNode({ id: "NEWS/"+data[i].name, caption: data[i].name, onClick: "open_rss('"+data[i].rss_url+"')", plusSign: 0 }); tree_folders.add(nodeNews,"news_root"); } var noden=document.getElementById('lnews_roottree_folders'); noden.style.backgroundImage="url(templates/"+template+"/images/menu/rss.png)"; } // cExecute('$this.rss.getChannels',handlerChannel); /** * Pastas locais */ if (preferences.use_local_messages==1 || expresso_offline) { //verifica se gears esta installado ou o offline if( (!window.google || !google.gears) && !expresso_local_messages.installGears() ){ preferences.use_local_messages = 0; } else if( !expresso_local_messages.is_offline_installed() ) preferences.use_local_messages = 0; else{ if (expresso_offline) tree_folders = new dFTree({ name: 'tree_folders' }); var root_local = new dNode({ id: "local_root", caption: get_lang('local folders') }); tree_folders.add(root_local, "root"); //coloca root local var local_folders = expresso_local_messages.list_local_folders(); for (var i in local_folders) { //Coloca as pastas locais. var node_root = "local_root"; var new_caption = local_folders[i][0]; if (local_folders[i][0].indexOf("/") != "-1") { final_pos = local_folders[i][0].lastIndexOf("/"); node_root = "local_" + local_folders[i][0].substr(0, final_pos); new_caption = local_folders[i][0].substr(final_pos + 1); } if (local_folders[i][1] > 0) var nodeLocal = new dNode({ id: "local_" + local_folders[i][0], caption: lang_folder(new_caption) + ' (' + local_folders[i][1] + ')', onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", plusSign: local_folders[i][2] }); else var nodeLocal = new dNode({ id: "local_" + local_folders[i][0], caption: lang_folder(new_caption), onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", plusSign: local_folders[i][2] }); tree_folders.add(nodeLocal, node_root); } } } /*tree_folders.draw(Element('content_folders')); if (!expresso_offline) { n_root.changeState(); tree_folders.getNodeById('INBOX')._select(); } else { root_local.changeState(); tree_folders.getNodeById('local_Inbox')._select(); }*/ var trash_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Trash"]]) + 'tree_folders'); var draft_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Drafts"]]) + 'tree_folders'); var sent_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Sent"]]) + 'tree_folders'); var spam_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Spam"]]) + 'tree_folders'); //local folders var sent_local_conf = this.preferences.save_in_folder.replace(mount_url_folder(["INBOX",""]),"local_"); var sent_local_conf_span=document.getElementById('l'+sent_local_conf+'tree_folders'); var trash_local_span=document.getElementById('llocal_'+special_folders['Trash']+'tree_folders'); var draft_local_span=document.getElementById('llocal_'+special_folders['Drafts']+'tree_folders'); var sent_span_default=document.getElementById('llocal_'+special_folders['Sent']+'tree_folders'); if (trash_span) trash_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; if (draft_span) draft_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_draft.png)" if (sent_span) sent_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; if (spam_span) spam_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_spam.png)"; if (sent_span_default) sent_span_default.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; //Local folders if (sent_local_conf_span) sent_local_conf_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; if (trash_local_span) trash_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; if (draft_local_span) draft_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_draft.png)" if (sent_span_default) sent_span_default.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; draw_paging(Element('tot_m').innerHTML); if(document.getElementById(mount_url_folder(["nINBOX",special_folders["Trash"]])+"tree_folders")) { var trash = document.createElement("SPAN"); trash.id = 'empty_trash'; trash.className = 'clean_folder'; trash.style.cursor = 'pointer'; trash.onclick = function () {empty_trash_imap();}; trash.innerHTML = "["+get_lang("Clean")+"]"; trash.title=get_lang("Empty trash"); trash.onmouseover = function() {trash.style.color="red";}; trash.onmouseout= function() {trash.style.color="#666666";}; document.getElementById(mount_url_folder(["nINBOX",special_folders["Trash"]])+"tree_folders").appendChild(trash); } if(document.getElementById(mount_url_folder(["nINBOX",special_folders["Spam"]])+"tree_folders")) { var spam = document.createElement("SPAN"); spam.id = 'empty_spam'; spam.className = 'clean_folder'; spam.style.cursor = 'pointer'; spam.style.padding = '0 0 0 6px'; spam.onclick = function () {empty_spam_imap();}; spam.innerHTML = "["+get_lang("Clean")+"]"; spam.title=get_lang("Empty Spam Folder"); spam.onmouseover = function() {spam.style.color="red";}; spam.onmouseout= function() {spam.style.color="#666666";}; document.getElementById(mount_url_folder(["nINBOX",special_folders["Spam"]])+"tree_folders").appendChild(spam); } if(!expresso_offline) var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); else var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); display_unseen_in_mailbox._refresh(); var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); if ( display_unseen_in_shared_folders ) { if ( unseen_in_shared_folders ) display_unseen_in_shared_folders.alter({caption:'[' + unseen_in_shared_folders +'] ' + get_lang("Shared folders")}); else display_unseen_in_shared_folders.alter({caption:get_lang("Shared folders")}); display_unseen_in_shared_folders._refresh(); } } if (!expresso_offline) { var folder_create = ""; var nm1 = ""; if(tree_folders._folderPr.length > 0){ var nm_folder = ""; for(var i=0; i < tree_folders._folderPr.length; i++){ nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter); if(nm_folder[0] == "INBOX"){ if(nm1 == ""){ nm1 = nm_folder[1]; folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; }else{ if( nm1 != nm_folder[1]){ folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; nm1 = nm_folder[1]; } } } } } } outOfficeVerify(); } function draw_tree_labels(){ labels = DataLayer.get('label',{criteria:{order: 'name'}}); if(!$("#MyMarckersList").length) var myLabels = $('#content_folders').append("
").find("#MyMarckersList"); else var myLabels = $("#MyMarckersList"); myLabels.html("
" + "" + "" + "" + "
" ) .append(DataLayer.render("../prototype/modules/mail/templates/label_list.ejs", {labels: labels} )) .find("li.label-item").css({"background-color":"#ffffff", "border-color":"#CCCCCC", "color":"#444444"}).click(function(event,ui){ if($(event.target).is('.square-color')){ $(this).each(function(){ configureLabels({selectedItem: $(this).attr('class').match(/label-item-([\d]+[()a-zA-Z]*)/)[1]}); var id_label_item = $(this).attr('class').match(/label-item-([\d]+[()a-zA-Z]*)/)[1]; $(".label-list-container .label-list").find(".label-item-"+id_label_item).trigger("click"); }); } else { var labelId = $(this).attr('class').match(/label-item-([\d]+[()a-zA-Z]*)/)[1]; search_emails("UNDELETED KEYWORD \"$Label"+labelId+"\""); } }).find(".square-color").css("display",""); $("#MyMarckersList a.title-my-labels").click(function() { if($("#MyMarckersList ul.label-list").css("display") == "none"){ $("#MyMarckersList ul.label-list").show(); }else{ $("#MyMarckersList ul.label-list").hide(); } $('#MyMarckersList .status-list-labels').toggleClass("ui-icon-triangle-1-s"); $('#MyMarckersList .status-list-labels').toggleClass("ui-icon-triangle-1-n"); }); if (!labels){ $(".my-labels").hide(); } } function draw_tree_local_folders() { /** * Pastas locais */ if(preferences.use_local_messages==1 || expresso_offline) { var local_folders = expresso_local_messages.list_local_folders(); var has_changes = false; for (var i in local_folders) { //Coloca as pastas locais. var new_caption = local_folders[i][0]; if(local_folders[i][0].indexOf("/")!="-1") { final_pos = local_folders[i][0].lastIndexOf("/"); new_caption = local_folders[i][0].substr(final_pos+1); } var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); if ((folder_unseen) && (local_folders[i][1] > 0)) { folder_unseen.innerHTML = local_folders[i][1]; has_changes = true; } else if (local_folders[i][1] > 0) { tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption) + ' ('+local_folders[i][1]+')'}); tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); has_changes = true; } else if (local_folders[i][1] <= 0) { tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption)}); tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); has_changes = true; } if("local_"+local_folders[i][0] == get_current_folder()){ var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); } Element('new_m').innerHTML = local_folders[i][1] ? ''+local_folders[i][1]+'' : 0; draw_paging(Element('tot_m').innerHTML); has_changes = true; } } if(has_changes) tree_folders.getNodeById("local_root").open(); } } function update_local_box(){ msg_range_end = (current_page*preferences.max_email_per_page); msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); folder=get_current_folder(); var msgs = expresso_local_messages.get_local_range_msgs(folder.substr(6),msg_range_begin,preferences.max_email_per_page,sort_box_type,sort_box_reverse,search_box_type,preferences.preview_msg_subject,preferences.preview_msg_tip); alternate_border(0); draw_box(msgs, folder, true); draw_paging(msgs.num_msgs); Element("tot_m").innerHTML = msgs.num_msgs; update_menu(); } function update_menu(data){ /* * @AUTHOR Rodrigo Souza dos Santos * @DATE 2008/09/15 * @BRIEF When occurs a error in imap server show the message that is in file "error.html". */ if ( data && data.imap_error ) { if(preferences.use_local_messages==1 && expresso_local_messages.is_offline_installed){ 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?")); if(conf) { window.onresize = function() { var target = document.getElementById('divAppbox'); target.style.height= document.body.clientHeight - 83; } var target = document.getElementById('divAppbox'); document.getElementById("divAppboxHeader").innerHTML=""; target.style.height= document.body.clientHeight - 83; expresso_local_messages.set_as_logged(account_id,0,true); target.innerHTML = ""; return false; } } connector.newRequest('error.html', 'templates/'+template+'/error.html', 'GET', function(data) { var target = document.getElementById('divAppbox'); if ( target ) target.innerHTML = data; } ); return false; } if(data) { draw_tree_folders(data); draw_quota(data); var f_unseen = Element('dftree_'+current_folder+'_unseen'); if(f_unseen && f_unseen.innerHTML) Element('new_m').innerHTML = ''+f_unseen.innerHTML+''; else { if( parseInt(Element('new_m').innerHTML) == 0 ) Element('new_m').innerHTML = 0; } folders = data; } draw_new_tree_folder(); draw_tree_labels(); if(Element("table_quota")) connector.loadScript("InfoQuota"); if(preferences.enable_quickadd_telephonenumber) connector.loadScript("QuickAddTelephone"); } var handler_draw_box = function(data){ draw_box(data, 'INBOX', true); //alternate_border(0); } // Action on change folders. function change_folder(folder, folder_name){ if (openTab.imapBox[0] != folder) { current_folder = folder; var handler_draw_box = function(data) { if(!verify_session(data)) return; alternate_border(0); var title = lang_folder(folder_name); if (title.length > 18) title = title.substring(0,18) + "..."; Element("border_id_0").innerHTML = " " + title + ' [  / ]'; draw_box(data, folder, true); draw_paging(data.num_msgs); Element("tot_m").innerHTML = data.num_msgs; $("#new_m").html(($(".selected").find(".folder_unseen").html() != "0" && $(".selected").find(".folder_unseen").html() != null)? $(".selected").find(".folder_unseen").html() : "0").css("color", "red"); //update_menu(); $(".folders-loading").removeClass("folders-loading"); return true; } 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); } else{ $(".folders-loading").removeClass("folders-loading"); alternate_border(0); } } function open_folder(folder, folder_name){ if (current_folder!= folder) { current_folder = folder; var handler_draw_box = function(data){ if(!verify_session(data)) return false; numBox++; create_border(folder_name,numBox.toString()); draw_box(data, current_folder, false); alternate_border(numBox); return true; } cExecute ("$this.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); } else alternate_border(numBox); return true; } var lastPage = 1; var numPages = 5; var last_folder = 'INBOX'; function draw_paging(num_msgs){ num_msgs = parseInt(num_msgs); total_pages = 1; if(last_folder != current_folder){ lastPage = 1; current_page = 1; last_folder = current_folder; } if(num_msgs > parseInt(preferences.max_email_per_page)) { total_pages = parseInt(num_msgs/preferences.max_email_per_page); if((num_msgs/preferences.max_email_per_page) > total_pages) total_pages++; } if(total_pages == 1) { if(span_paging = document.getElementById("span_paging")) { span_paging.parentNode.removeChild(span_paging); } return; } span_paging = document.getElementById("span_paging"); if(!span_paging){ span_paging = document.createElement("DIV"); span_paging.id = "span_paging"; span_paging.className = "boxHeaderText"; span_paging.align="right"; document.getElementById("div_menu_c3").appendChild(span_paging); } span_paging.style.width="100%"; span_paging.innerHTML=""; msg_range_begin = 1; msg_range_end = preferences.max_email_per_page; if(current_page != 1) { lnk_page = document.createElement("A"); //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){alternate_border(0); draw_box(data, get_current_folder());});"); lnk_page.setAttribute("href", "javascript:current_page=1; 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){alternate_border(0); draw_box(data, get_current_folder());});"); } else { lnk_page = document.createElement("SPAN"); } span_paging.appendChild(lnk_page); lnk_page.innerHTML = "<<"; lnk_page.title = get_lang("First"); span_paging.innerHTML += " "; if(current_page == lastPage + numPages) lastPage = current_page - 1; else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) lastPage = current_page - (numPages - 1); else if(current_page == 1) lastPage = 1; if(lastPage < 1) lastPage = 1; else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1)))) lastPage = total_pages -(numPages - 1); var hasMarked = false; for(i = lastPage; i <= total_pages; i++) { if(current_page == i || (i == total_pages && !hasMarked)) { lnk_page = document.createElement("SPAN"); span_paging.appendChild(lnk_page); lnk_page.style.color = "red"; lnk_page.innerHTML = " "+i+" "; hasMarked = true; continue; } else{ lnk_page = document.createElement("A"); span_paging.appendChild(lnk_page); msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); msg_range_end = (i*preferences.max_email_per_page); //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){alternate_border(0); draw_box(data, get_current_folder());});"); lnk_page.setAttribute("href", "javascript:current_page="+i+"; 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){alternate_border(0); draw_box(data, get_current_folder());});"); } lnk_page.innerHTML = " ... "; if(i == (lastPage + numPages)) break; else if(lastPage == 1 || i != lastPage) lnk_page.innerHTML = " "+i+" "; span_paging.innerHTML += " "; } if(current_page != total_pages) { lnk_page = document.createElement("A"); msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); msg_range_end = (total_pages*preferences.max_email_per_page); //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){alternate_border(0); draw_box(data, get_current_folder());});"); lnk_page.setAttribute("href", "javascript:current_page="+total_pages+"; 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){alternate_border(0); draw_box(data, get_current_folder());});"); } else { lnk_page = document.createElement("SPAN"); } span_paging.innerHTML += " "; span_paging.appendChild(lnk_page); lnk_page.title = get_lang("Last"); lnk_page.innerHTML = ">>"; } // stores the percentages of the cells //var colSizes = [ ["24","24","12","12","12","16","16","20%","58%","11%","11%"], ["16","16","12","12","12","20%","20%","*","10%","10%"] ]; //var colSizes = [ ["2%","2%","1%","1%","1%","1%","2%","2%","20%","46%","11%","11%"], ["16","16","12","12","12","20%","20%","*","10%","10%"] ]; var colSizes = [ ["3%","2%","1%","1%","1%","1%","2%","2%","2%","20%","45%","11%","11%"], ["2%","1%","1%","1%","1%","1%","1%","20%","20%","33%","10%","9%"] ]; // stores the alignments of the cells var colAligns = [ ['','','','','','','','left','left','center','center'], ['','','','','','left','left','left','center','center'] ]; var objCell = null; var adjCell = null; var cellClick = null; var cellResized = false; var maxWidth=0; var minWidth=0; var bodyWidth=0; var cssForResizing=false; function changeCursorState(ev) { if (cellResized) cellResized = false; var el = ev.target||ev.srcElement; if (el.tagName != "TD") el=getFirstParentOfType(el, "TD") el.style.cursor ="hand"; el.style.cursor ="pointer"; if (!cssForResizing) return; var cellMouseX = (ev.clientX-parseInt(getColumnPosition(el, ev))); var cellWidth = el.offsetWidth; var tbl = getFirstParentOfType(el,"TABLE"); if (tbl.emptyBody) return; if ((((cellWidth-cellMouseX)<15)||((el.style.cursor=="col-resize")&&(detectLeftButton())))&&((el.className=="th_resizable")&&(el.cellIndex+1 el.cellIndex + 1) ? 1 : -1 ); var msgTable = getMessagesTable(el); var bodyRows = msgTable.rows; objCell = el; adjCell = el.parentNode.cells[el.cellIndex+incIndex]; var tbl = getFirstParentOfType(el, "TABLE"); if (is_ie) { tbl.detachEvent("onmousemove",changeCursorState); document.attachEvent("onmousemove",resizeColumn); document.attachEvent("onmouseup",stopColResize); document.attachEvent("onselect",selectCancel); tbl.attachEvent("onselectstart",selectCancel); } else { tbl.removeEventListener("mousemove",changeCursorState,false); document.addEventListener("mousemove",resizeColumn,false); document.addEventListener("mouseup",stopColResize,false); document.addEventListener("select",selectCancel,false); tbl.addEventListener("selectstart",selectCancel,false); } cellClick = objCell.onclick; objCell.onclick = ""; maxWidth = objCell.offsetWidth+adjCell.offsetWidth; bodyWidth = msgTable.offsetWidth; minWidth = Math.round(bodyWidth/80); document.getElementById("table_message_ruler").style.display = "block"; document.getElementById("table_message_ruler").style.left = ev.clientX; if (document.getElementById("content_id_"+numBox)==null) document.getElementById("table_message_ruler").style.height = document.getElementById("content_id_"+currentTab).offsetHeight; else document.getElementById("table_message_ruler").style.height = document.getElementById("content_id_"+numBox).offsetHeight; } } function stopColResize(ev) { if (!objCell) return; if (is_ie) ev.cancelBubble = true; else ev.stopPropagation(); var tbl = getFirstParentOfType(objCell, "TABLE"); if (is_ie) { tbl.detachEvent("onselectstart",selectCancel); document.detachEvent("onselect",selectCancel); document.detachEvent("onmousemove",resizeColumn); document.detachEvent("onmouseup",stopColResize); tbl.attachEvent("onmousemove",changeCursorState); } else { tbl.removeEventListener("selectstart",selectCancel,false); document.removeEventListener("select",selectCancel,false); document.removeEventListener("mousemove",resizeColumn,false); document.removeEventListener("mouseup",stopColResize,false); tbl.addEventListener("mousemove",changeCursorState,false); } var trM = getMessagesTable(objCell).rows; var adjIndex = adjCell.cellIndex; document.getElementById("table_message_ruler").style.display = "none"; maxWidth = 0; objCell.onclick = cellClick; objCell = null; adjCell = null; cellResized = true; setColSizesCookie(); syncColumns(); } function getMessagesTable(el) { var hT; if (el.tagName == "TABLE") hT = el; else hT = getFirstParentOfType(el,"TABLE"); return (hT.parentNode.nextSibling.childNodes[0].className !== "local-messages-search-warning"? hT.parentNode.nextSibling.childNodes[0] : hT.parentNode.nextSibling.childNodes[1]); } function getColumnPosition(oNode, pNode){ if (!pNode && !is_webkit){ var pos = getOffset(oNode); return [pos.left, pos.top]; } pNode = pNode||document.body; var oCurrentNode = oNode; var iLeft = 0; var iTop = 0; while ((oCurrentNode)&&(oCurrentNode != pNode)){ iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft; iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop; oCurrentNode=oCurrentNode.offsetParent; } return [iLeft, iTop]; } function getFirstParentOfType(obj, tag){ while (obj&&obj.tagName != tag&&obj.tagName != "BODY"){ obj=obj.parentNode; } return obj; } function syncColumns() { var thisCell; var tbl = (document.getElementById("content_id_"+numBox)==null ? 1 : 0); if (objCell) thisCell = objCell; else thisCell = document.getElementById("table_message_header_box_"+numBox).rows[0].cells[0]; var emptyBody = document.getElementById("table_message_header_box_"+numBox).emptyBody; var tbH = getFirstParentOfType(thisCell,"TABLE"); var tbM = getMessagesTable(thisCell); var trM = tbM.rows; var _mouse_over; var _mouse_out; var _cell; for (var r=0;r1) { _mouse_over = _cell.childNodes[1].onmouseover; _mouse_out = _cell.childNodes[1].onmouseout; } _cell.innerHTML = trM[r].cells[c].innerHTML; if (_cell.childNodes && _cell.childNodes.length>1) { _cell.childNodes[1].onmouseover = _mouse_over; _cell.childNodes[1].onmouseout = _mouse_out; } tbH.rows[0].cells[c].innerHTML = tbH.rows[0].cells[c].innerHTML; } } else { tbH.rows[0].cells[c].setAttribute("width",_cell.offsetWidth); } } } //bug do firefox ao redefinir os tamanhos das colunas if (is_mozilla && !is_webkit){ if(trM[r]) for (var c=0;c 0){ if (is_mozilla && !is_webkit){ $('#table_message_header_box_'+numBox).attr('style','width:99.5%'); } else if (is_webkit){ $('#table_message_header_box_'+numBox).removeAttr('style'); $('#table_message_header_box_'+numBox).css('table-layout','auto'); } else{ $('#table_message_header_box_'+numBox).css('table-layout','auto'); } } $('#table_resultsearch_'+numBox).removeAttr('style'); } function selectCancel(ev) { return (false); } function buildColGroup(tbl) { var col_element; var colgr_element = document.createElement("COLGROUP"); if (tbl==null) tbl = 0; for (i=0;i 1) { name_folder = array_folder[1]; } else { name_folder = headers_msgs['folder']; } current_folder = headers_msgs['folder']; Element("border_id_0").innerHTML = " " + lang_folder(name_folder) + ' [  / ]'; Element('new_m').innerHTML = headers_msgs['tot_unseen'] ? ''+headers_msgs['tot_unseen']+'' : 0; Element("tot_m").innerHTML = headers_msgs['num_msgs']; tree_folders.getNodeById(headers_msgs['folder'])._select(); } } /** * Preenche a estrutura de cache de mensagens para posterior consulta de * informações sobre as mensagens no escopo global. */ for (var i=0; i 1) { $("#tbody_box .selected_shortcut_msg").find('.checkbox').attr('checked',true); } if($("#table_box").find("tr input:checked").length > 1 ) return $(""+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+""); if( $(this).find(".td_msg_subject").text().length > 18 ) return $(""+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+""); else return $(""+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+""); }, iframeFix: true, delay: 150, cursorAt: {top: 5, left: 56}, refreshPositions: true, containment: "#divAppbox" }).bind('contextmenu',function(event){ if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ if($(this).find("input:checkbox").attr("checked") != "checked"){ $(this).find("input:checkbox").trigger('click'); $(this).addClass("selected_msg"); } } }); } if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) select_msg(headers_msgs[0].msg_number, 'null', true); var tdFolders = Element("folderscol"); tdFolders.style.display = preferences.hide_folders == '1' ? "none" : ""; if ( !currentTab ) alternate_border(numBox); draw_footer_box(headers_msgs.num_msgs); Element('main_table').style.display = ''; if(is_ie6) // Stupid Fixing on IE6. setTimeout("resizeWindow()",1); else resizeWindow(); if(debug) { var _eTime = new Date(); _eTime = _eTime.getTime(); alert("Carregou em "+(_eTime - _bTime)+" ms"); } var msg_folder = Element('msg_folder').value; var msg_number = Element('msg_number').value; if(!msg_folder && msg_number) { new_message('new','null'); } else if(msg_folder && msg_number){ cExecute("$this.imap_functions.get_info_msg&msg_number="+ msg_number + "&msg_folder=" + url_encode(msg_folder), show_msg); Element('msg_folder').value = ''; Element('msg_number').value = ''; } var scripts = new Array("InfoContact", "TreeShow"); connector.loadAllScripts(scripts); // Loading Quota View Folder Component (if exists...) if(Element("table_quota")) connector.loadScript("InfoQuota"); // creates the dotted ruler which helps user to visualize resizing of columns var ruler_element = document.getElementById("table_message_ruler"); if (ruler_element == null) { ruler_element = document.createElement("DIV"); ruler_element.setAttribute("id", "table_message_ruler"); ruler_element.className = "table_message_ruler"; ruler_element.style.top = getColumnPosition(document.getElementById("content_id_0"),"BODY")[1]; document.getElementById("exmail_main_body").appendChild(ruler_element); } } function showEmptyBoxMsg(tbody_element) { document.getElementById("table_message_header_box_"+numBox).emptyBody = true; var div_pasta = document.getElementById("div_msg_info"); if (!div_pasta){ div_info = document.createElement("div"); div_info.setAttribute("id", "div_msg_info"); div_info.setAttribute("background", "#FFF"); h3_info = document.createElement("h3"); h3_info.style.padding = "10px"; h3_info.setAttribute("id", "msg_info"); h3_info.align = "center"; h3_info.innerHTML = get_lang("This mail box is empty"); div_info.appendChild(h3_info); tbody_element.parentNode.parentNode.appendChild(div_info); } } function html_entities(string) { return String(string).replace(//g, '>').replace(/"/g, '"'); } // Passar o parâmetro offset para esta função function make_tr_message(headers_msgs, msg_folder, offsetToGMT){ headers_msgs.subject = html_entities(headers_msgs.subject); if (typeof offsetToGMT == 'undefined') { // In older local messages headers_msgs.offsetToGMT is undefined. offsetToGMT = typeof headers_msgs.offsetToGMT != 'undefined'?headers_msgs.offsetToGMT:0; } var tr_element = document.createElement('tr'); if(typeof(preferences.line_height) != 'undefined') tr_element.style.height = preferences.line_height; tr_element.id = headers_msgs.msg_number; tr_element.msg_sample = ""; //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1" && headers_msgs.msg_sample.body !== "") { if (cssForResizing) //Colunas redimensionaveis - nao trunca tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,180) + "..."; //trecho do body que sera exibido com o assunto; else tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; } tr_element.tip = ""; if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1" && headers_msgs.msg_sample.body !== "") { tr_element.tip = Base64.decode(headers_msgs.msg_sample.body).substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; } if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ if ((headers_msgs.Flagged == 'F') || headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ) add_className(tr_element, 'flagged_msg'); add_className(tr_element, 'tr_msg_unread'); } else{ if ((headers_msgs.Flagged == 'F') || ( headers_msgs.Importance !== undefined && headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 ) ) add_className(tr_element,'flagged_msg'); } if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) add_className(tr_element, 'tr_msg_unread'); if (headers_msgs.Flagged == 'F') add_className(tr_element,'flagged_msg'); td_element1 = createTDElement(0,0,"td_msg"); chk_box_element = document.createElement("INPUT"); chk_box_element.setAttribute("type", "checkbox"); chk_box_element.className = "checkbox"; chk_box_element.setAttribute("id", "check_box_message_"+headers_msgs.msg_number); $(chk_box_element).click(function(e){ changeBgColor(e,headers_msgs.msg_number); }); td_element1.appendChild(chk_box_element); td_element2 = createTDElement(0,1,"td_msg"); if (headers_msgs.attachment == 1) td_element2.innerHTML = ""; td_element21 = createTDElement(0,2,"td_msg",null,"td_message_answered_"+headers_msgs.msg_number); if ((headers_msgs.Forwarded == 'F') || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ td_element21.onclick=function(){search_emails(headers_msgs.subject.replace(/^(re: ?|fw: ?|enc: ?|res: ?|fwd: ?)*/gi,''),true);}; td_element21.innerHTML = ""; headers_msgs.Draft = '' headers_msgs.Answered = ''; headers_msgs.Forwarded = 'F'; } else if (headers_msgs.Draft == 'X') td_element21.innerHTML = ""; else if (headers_msgs.Answered == 'A'){ td_element21.onclick=function(){search_emails(headers_msgs.subject.replace(/^(re: ?|fw: ?|enc: ?|res: ?|fwd: ?)*/gi,''),true);}; td_element21.innerHTML = ""; }else td_element21.innerHTML = "   "; td_element22 = createTDElement(0,1,"td_msg",null,"td_message_signed_"+headers_msgs.msg_number); switch(headers_msgs.ContentType) { case "signature": { td_element22.innerHTML = ""; break; } case "cipher": { td_element22.innerHTML = ""; break; } default: { break; } } td_element23 = createTDElement(0,4,"td_msg",null,"td_message_important_"+headers_msgs.msg_number); if ( (headers_msgs.Flagged == 'F') || ( headers_msgs.Importance !== undefined && headers_msgs.Importance.toLowerCase().indexOf("high") != -1 )) { td_element23.innerHTML = ""; } else td_element23.innerHTML = "   "; td_element24 = createTDElement(0,5,"td_msg",null,"td_message_sent_"+headers_msgs.msg_number); td_element24.innerHTML = "   "; // preload image var _img_sent = new Image(); _img_sent.src = "templates/"+template+"/images/sent.gif"; td_element25 = createTDElement(0,7,"td_msg",null,"td_message_unseen_"+headers_msgs.msg_number); if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) td_element25.innerHTML = ""; else td_element25.innerHTML = ""; td_element3 = createTDElement(0,8,"td_msg td_resizable","left","td_from_"+ headers_msgs.msg_number); var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; td_element3.onclick = _onclick; td_element3.innerHTML = ' '; test = true; if(msg_folder.indexOf(special_folders['Sent']) !=-1 ||msg_folder.indexOf(preferences.save_in_folder) !=-1 || msg_folder.replace("local_","INBOX"+cyrus_delimiter).indexOf(preferences.save_in_folder) !=-1) test = false; if( (msg_folder.indexOf(special_folders['Sent']) !=-1) && (headers_msgs.from != undefined) && headers_msgs.from.email.toLowerCase() == Element("user_email").value.toLowerCase() && (preferences.from_to_sent == "1") && !(msg_folder.substr(0,5) == "user/")) { td_element3.onmouseover = function () { var title_to = ''; $.each(headers_msgs.to, function(index, value) { if(index == (headers_msgs.to.length - 1)){ title_to = title_to + value.email; } else { title_to = title_to + value.email + ', '; } }); this.title = title_to; }; if (headers_msgs.Draft == 'X') td_element3.innerHTML += "("+get_lang("Draft")+") "; else{ if(headers_msgs.to[0].email != null && headers_msgs.to[0].email.toLowerCase() != Element("user_email").value) td_element24.innerHTML = ""; if (headers_msgs.to) { if (headers_msgs.to[0].name != null) td_element3.innerHTML += headers_msgs.to[0].name; else if(headers_msgs.to[0].email != null) { td_element3.innerHTML += headers_msgs.to[0].email; } else { td_element3.innerHTML += get_lang("without destination"); } } } } else{ if (headers_msgs.Draft == 'X'){ td_element3.innerHTML = "("+get_lang("Draft")+") "; } else{ var spanSender = document.createElement("SPAN"); spanSender.setAttribute('class','span-sender'); spanSender.onmouseover = function (event) {/*this.style.textDecoration = "underline";*/try {InfoContact.begin(this,headers_msgs.reply_toaddress)} catch(e){};}; spanSender.onmouseout = function (){try {/*this.style.textDecoration = "none";*/clearTimeout(InfoContact.timeout);} catch(e){}}; folder = special_folders['Sent']; current = get_current_folder(); if ((preferences.from_to_sent == "1") && (current.substr(current.length - folder.length, folder.length) == folder)){ spanSender.onmouseover = function () { var title_to = ''; $.each(headers_msgs.to, function(index, value) { if(index == (headers_msgs.to.length - 1)){ title_to = title_to + value.email; } else { title_to = title_to + value.email + ', '; } }); this.title = title_to; }; if (headers_msgs.to) { if (headers_msgs.to[0].name != null){ spanSender.innerHTML += headers_msgs.to[0].name; }else if(headers_msgs.to[0].email != null) { spanSender.innerHTML += headers_msgs.to[0].email; } } }else if(headers_msgs.from !== undefined){ spanSender.innerHTML = headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; } if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ spanSender.innerHTML = spanSender.innerHTML.substring(0,25) + "..."; } else if (spanSender.innerHTML.length > 40 ){ spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; } td_element3.appendChild(spanSender); } } td_element4 = createTDElement(0,9,"td_msg td_resizable","left"); td_element4.className += " td_msg_subject"; td_element4.onclick = _onclick; td_element4.innerHTML = !is_ie ? " " : " "; if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) { if (cssForResizing) //Colunas redimensionaveis - nao trunca td_element4.innerHTML += headers_msgs.subject + " " + tr_element.msg_sample +""; else { //Modificacao para evitar que o truncamento do assunto quebre uma NCR - #1189 pos = headers_msgs.subject.indexOf("&",45); if ((pos > 0) && (pos <= 50) && ((headers_msgs.subject.charAt(pos+5) == ";") || (headers_msgs.subject.charAt(pos+6) == ";"))) td_element4.innerHTML += headers_msgs.subject.substring(0,pos+6) + "..." + " " + tr_element.msg_sample +""; else td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + " " + tr_element.msg_sample +"";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; } } else { td_element4.innerHTML += headers_msgs.subject + " " + tr_element.msg_sample + "";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; } td_element4.title=tr_element.tip; if(!is_ie){ td_element4.innerHTML += ""; } td_element5 = createTDElement(0,10,"td_msg td_resizable","center"); td_element5.onclick = _onclick; td_element27 = createTDElement(0,7,"td_msg",null,"td_message_labels_"+headers_msgs.msg_number); $(td_element27).addClass("td-label"); if (headers_msgs.labels) { td_element27.innerHTML = ''; updateLabelsColumn(headers_msgs); } td_element26 = createTDElement(0,6,"td_msg","center","td_message_followup_"+headers_msgs.msg_number); $(td_element26).addClass("td-followup-flag"); td_element26.innerHTML = '
'; if (headers_msgs.followupflagged) { if(headers_msgs.followupflagged.followupflag.id < 7){ var nameFollowupflag = get_lang(headers_msgs.followupflagged.followupflag.name); }else{ var nameFollowupflag = headers_msgs.followupflagged.followupflag.name; } $(td_element26).attr('title', nameFollowupflag) .find(".flag-edited").css("background",headers_msgs.followupflagged.backgroundColor); if(headers_msgs.followupflagged.isDone == "1"){ $(td_element26).find(".flag-edited").find("img") .attr("src", "../prototype/modules/mail/img/flagChecked.png") .css("margin-left","-3px"); } } else { $(td_element26).find(".flag-edited").css("background","#cccccc"); } /** * Clique para aplicar sinalizador */ $(td_element26).click(function() { var messageClickedId = $(this).attr('id').match(/td_message_followup_([\d]+)/)[1]; var followupColor = $('#td_message_followup_' + messageClickedId).find(".flag-edited").css('backgroundColor'); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .html('Carregando'); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited").css("background", "transparent"); /** * Hack: * headers_msgs.followupflagged.id não vai funcionar porque já foi feito DataLayer.commit() * por isso o id deve ser obtido do banco * também para verificar se há ou não sinalizador nesta mensagem */ DataLayer.remove('followupflagged', false); var flagged = DataLayer.get('followupflagged', {filter: [ 'AND', ['=', 'messageNumber', messageClickedId], ['=', 'folderName', msg_folder] ]}); if (!flagged) { /** * Aplica followupflag de Acompanhamento */ headers_msgs.followupflagged = { uid : User.me.id, folderName : msg_folder, messageNumber : messageClickedId, alarmTime : false, backgroundColor : '#FF2016', followupflagId: '1' }; headers_msgs.followupflagged.id = DataLayer.put('followupflagged', headers_msgs.followupflagged); DataLayer.commit(false, false, function(data){ var fail = false; $.each(data, function(index, value) { if(typeof value != 'object' || !(value['id'])){ fail = true; } }); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .html(''); if (!fail) { $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).attr('title', get_lang('Follow up')).find(".flag-edited").css("background", headers_msgs.followupflagged.backgroundColor); updateCacheFollowupflag(messageClickedId, msg_folder, true); } else { $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited").css("background", "#CCCCCC"); alert("Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém o atributo message-id."); } }); } else if (onceOpenedHeadersMessages[msg_folder][messageClickedId]['followupflagged'].followupflag.name == 'Follow up') { /** * Remove followupflag de Acompanhamento */ $(this).find(".flag-edited").css("background", "#cccccc"); DataLayer.remove('followupflagged', flagged[0].id ); DataLayer.commit(false, false, function(){ updateCacheFollowupflag(messageClickedId, msg_folder, false); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .html(''); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).attr('title', '').find(".flag-edited").css("background", '#CCC'); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .find("img").attr("src", "../prototype/modules/mail/img/flagEditor.png").css("margin-left","0"); }); } else { $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .html(''); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited").css("background", followupColor); $(tr_element).addClass('selected_msg').find(':checkbox').trigger('click'); configureFollowupflag(); } }); var norm = function (arg) {return (arg < 10 ? '0'+arg : arg);}; var weekDays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; var today = new Date(); today.setHours(23); today.setMinutes(59); today.setSeconds(59); today.setMilliseconds(999) var udate_local = null; var date_msg = null; // old local messages can capture headers_msgs.udate as "hh:mm" or "dd/mm/yyyy" if ( (headers_msgs.udate !== undefined) && (headers_msgs.udate.toString().match(/\d{2}:\d{2}/) || headers_msgs.udate.toString().match(/\d{2}\/\d{2}\/\d{4}/)) ) { temp_msg_day = headers_msgs.msg_day.split('/'); temp_msg_hour = headers_msgs.msg_hour.split(':'); date_msg = new Date(temp_msg_day[2], temp_msg_day[1]-1, temp_msg_day[0], temp_msg_hour[0], temp_msg_hour[1]); } else { // The new date implementation // Using offset between user defined timezone and GMT // Date object converts time to local timezone, so we have to adjust it udate_local = headers_msgs.udate*1000 + offsetToGMT*1000 + today.getTimezoneOffset()*60*1000; date_msg = new Date(udate_local); } if (preferences.show_date_numerical == 0 || typeof(preferences.show_date_numerical) == 'undefined') { if (today.getTime() - date_msg.getTime() < 86400000) td_element5.innerHTML = norm(date_msg.getHours()) + ':' + norm(date_msg.getMinutes()); else if (today.getTime() - date_msg.getTime() < 172800000) td_element5.innerHTML = get_lang('Yesterday'); else if (today.getTime() - date_msg.getTime() < 259200000) td_element5.innerHTML = get_lang(weekDays[date_msg.getDay()]); else{ td_element5.innerHTML = norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear(); td_element5.title = norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear(); td_element5.alt = td_element5.title; } }else{ td_element5.innerHTML = norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear(); td_element5.title = norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear(); td_element5.alt = td_element5.title; } td_element6 = createTDElement(0,11,"td_msg td_resizable","center"); td_element6.onclick = _onclick; td_element6.setAttribute("noWrap","true"); td_element6.innerHTML = borkb(headers_msgs.Size); tr_element.appendChild(td_element1); tr_element.appendChild(td_element2); tr_element.appendChild(td_element21); tr_element.appendChild(td_element22); tr_element.appendChild(td_element23); tr_element.appendChild(td_element24); tr_element.appendChild(td_element26); tr_element.appendChild(td_element27); tr_element.appendChild(td_element25); tr_element.appendChild(td_element3); tr_element.appendChild(td_element4); tr_element.appendChild(td_element5); tr_element.appendChild(td_element6); return tr_element; } function sort_box(search, sort){ if (cellResized) return; var message_header = Element("message_header_"+search); var handler_draw_box = function(data){ draw_box(data, current_folder,true); //Mostrar as msgs nao lidas de acordo com o filtro de relevancia var msgs_unseen = 0; draw_paging(data.num_msgs); Element("new_m").innerHTML = '' + data.tot_unseen + ''; Element("tot_m").innerHTML = data.num_msgs; } if(sort_box_type == sort && search_box_type == search){ sort_box_reverse = sort_box_reverse ? 0 : 1; } else if(sort_box_type != sort){ if ( (sort == 'SORTFROM') || (sort == 'SORTSUBJECT') ) sort_box_reverse = 0; else sort_box_reverse = 1; } // Global variable. sort_box_type = sort; search_box_type = search; 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); current_page = 1; //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros //update_menu(); } function draw_header_box(){ switch(sort_box_type){ case 'SORTFROM': type_name = get_lang("From"); break; case 'SORTSUBJECT': type_name = get_lang("Subject"); break; case 'SORTARRIVAL': type_name = get_lang("Date"); break; case 'SORTSIZE': type_name = get_lang("Size"); break; default: type_name = get_lang("Date"); break; } folder = special_folders['Sent']; current = get_current_folder(); if ((preferences.from_to_sent == "1") && (current.substr(current.length - folder.length, folder.length) == folder)) { document.getElementById("message_header_SORTFROM_"+numBox).innerHTML = get_lang("To"); }else{ document.getElementById("message_header_SORTFROM_"+numBox).innerHTML = get_lang("From"); } document.getElementById("message_header_SORTSUBJECT_"+numBox).innerHTML = get_lang("Subject"); document.getElementById("message_header_SORTARRIVAL_"+numBox).innerHTML = get_lang("Date"); document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML = get_lang("Size"); document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = ""+type_name+""; } function verifyOption(name, id){ var str = name + '' + id; if(!Element(str).style.display == ""){ var option_reply_options = document.getElementById('msg_opt_reply_options_'+id); option_reply_options.value = 'show'; option_reply_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_options_'+id).style.display = 'none'; var option_more_options = document.getElementById('msg_opt_more_options_'+id); option_more_options.value = 'show'; option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_more_options_'+id).style.display = 'none'; var option_mark_as_options = document.getElementById('msg_opt_mark_options_'+id); option_mark_as_options.value = 'show'; option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_mark_options_'+id).style.display = 'none'; } } /*Busca a primeira mensagem na pagina*/ function firstRow(){ var thisCell; if (objCell) thisCell = objCell; else thisCell = document.getElementById("table_message_header_box_0").rows[0].cells[0]; var tbM = getMessagesTable(thisCell); proxy_mensagens.get_msg(tbM.rows[0].getAttribute('id'),get_current_folder(),true,show_msg); } /*Busca a ultima mensagem na pagina*/ function lastRow(){ var thisCell; if (objCell) thisCell = objCell; else thisCell = document.getElementById("table_message_header_box_0").rows[0].cells[0]; var tbM = getMessagesTable(thisCell); proxy_mensagens.get_msg(tbM.rows[tbM.rows.length - 1].getAttribute('id'),get_current_folder(),true,show_msg); } var msg_selected; function draw_message(info_msg, ID){ var content = document.getElementById('content_id_' + ID); var menuHidden = Element("folderscol").style.display == 'none' ? true : false; ////////////////////////////////////////////////////////////////////////////////////////////////////// //Make the next/previous buttom. ////////////////////////////////////////////////////////////////////////////////////////////////////// var next_previous_msg_td = document.createElement("TD"); next_previous_msg_td.setAttribute("noWrap","true"); next_previous_msg_td.align = "right"; next_previous_msg_td.style.fontSize = "10px"; next_previous_msg_td.width = "40px"; var img_next_msg = document.createElement("IMG"); img_next_msg.id = 'msg_opt_next_' + ID; img_next_msg.src = './templates/'+template+'/images/down.button.png'; if(preferences.use_shortcuts == '1') img_next_msg.title = get_lang('Next Shortcut:Control + Down'); else img_next_msg.title = get_lang('Next'); img_next_msg.style.cursor = 'pointer'; var folder_id = ID.match(/\d+/)[0]; var folder; //Correção para fazer funcionar e-mails assinados no formato encapsulado. // folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; //if ((folder = document.getElementById(info_msg.msg_number)) == null) if ((folder = Element(info_msg.original_ID)) == null) folder = Element(info_msg.msg_number); if (folder){ // mensagem local criptografada nao tem ID da pasta local if (folder.nextSibling){ var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; if (nextMsgBox == "INBOX" + cyrus_delimiter + "decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas nextMsgBox = get_current_folder(); img_next_msg.onclick = function() { currentTab = ID; openTab.type[ID] = 2; proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg); //select_msg('null', 'down', true); if (!msg_selected){ select_msg('null', 'down', true); msg_selected = true; } }; } /*Ultima mensagem de cada página, exceto a ultima*/ else if( (current_page < total_pages) ){ img_next_msg.onclick = function() { current_page++; var tot_msgs = parseInt(Element("tot_m").innerHTML); var range_begin = preferences.max_email_per_page*( current_page - 1 ) + 1; var range_end; if ( range_begin + parseInt(preferences.max_email_per_page - 1) > tot_msgs ) range_end = tot_msgs; else range_end = range_begin + parseInt(preferences.max_email_per_page - 1); var creatBoxProximo = function (data){ draw_box(data, get_current_folder()); firstRow(); }; proxy_mensagens.messages_list(get_current_folder(),range_begin,range_end,sort_box_type,search_box_type,sort_box_reverse,'','', creatBoxProximo); }; } else { img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; img_next_msg.style.cursor = 'default'; } } else { img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; img_next_msg.style.cursor = 'default'; // testa se a mensagem e local if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX" + cyrus_delimiter + "decifradas")) // testa se a mensagem e local { img_next_msg.onclick = function() { delete_border(ID); }; } } var img_space = document.createElement("SPAN"); img_space.innerHTML = " "; var img_previous_msg = document.createElement("IMG"); img_previous_msg.id = 'msg_opt_previous_' + ID; img_previous_msg.src = './templates/'+template+'/images/up.button.png'; if(preferences.use_shortcuts == '1') img_previous_msg.title = get_lang('Previous Shortcut:Control + Up'); else img_previous_msg.title = get_lang('Previous'); img_previous_msg.style.cursor = 'pointer'; if (folder){ // mensagem local criptografada nao tem ID da pasta local if (folder.previousSibling) { var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; if (previousMsgBox == "INBOX" + cyrus_delimiter + "decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas previousMsgBox = get_current_folder(); img_previous_msg.onclick = function() { currentTab = ID; openTab.type[ID] = 2; proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg); //select_msg('null', 'up', false); if (!msg_selected){ select_msg('null', 'up', true); msg_selected = true; } }; } //primeira mensagem de cada página, exceto a primeira else if(current_page > 1){ img_previous_msg.onclick = function() { current_page--; var range_begin = (current_page - 1)*preferences.max_email_per_page + 1; var range_end = current_page*preferences.max_email_per_page; var creatBoxAnterior = function (data){ draw_box(data, get_current_folder()); lastRow(); }; proxy_mensagens.messages_list(get_current_folder(),range_begin,range_end,sort_box_type,search_box_type,sort_box_reverse,'','', creatBoxAnterior); }; } else { img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; img_previous_msg.style.cursor = 'default'; } } else { img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; img_previous_msg.style.cursor = 'default'; // testa se a mensagem e local if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX" + cyrus_delimiter + "decifradas")) // testa se a mensagem e local { img_previous_msg.onclick = function() { delete_border(ID); }; } } next_previous_msg_td.appendChild(img_previous_msg); next_previous_msg_td.appendChild(img_space); next_previous_msg_td.appendChild(img_next_msg); ////////////////////////////////////////////////////////////////////////////////////////////////////// //Make the header message. ////////////////////////////////////////////////////////////////////////////////////////////////////// var table_message = document.createElement("TABLE"); var tbody_message = document.createElement("TBODY"); table_message.border = "0"; //table_message.width = "100%"; //k! table_message.setAttribute("class", "expressomail-message-body"); table_message.setAttribute("className", "expressomail-message-body"); ////////////////////////////////////////////////////////////////////////////////////////////////////// //Make the options message. ////////////////////////////////////////////////////////////////////////////////////////////////////// var tr0 = document.createElement("TR"); tr0.className = "tr_message_header"; var td0 = document.createElement("TD"); var table_message_options = document.createElement("TABLE"); table_message_options.width = "100%"; table_message_options.border = '0'; table_message_options.className = 'table_message'; var tbody_message_options = document.createElement("TBODY"); var tr = document.createElement("TR"); var td = document.createElement("TD"); td.setAttribute("noWrap","true"); td.style.fontSize = "10px"; var _name = ''; var _maxChar = menuHidden ? 40 : 15; if (info_msg.from.name) { var spanName = document.createElement("SPAN"); spanName.innerHTML = info_msg.from.name; _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; } else _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; //k! if (info_msg.attachments && info_msg.attachments.length > 0) td.innerHTML += " "; if (typeof(info_msg.signature) == 'string') { if (info_msg.signature != "void") td.innerHTML += ' '; else td.innerHTML += " "; } if (info_msg.DispositionNotificationTo) { td.innerHTML += ' '+ get_lang('Message with read notification') + ''; } if (info_msg.Flagged == 'F') { td.innerHTML += ' '+ get_lang('Important message') + ''; } // NORMAL MSG if(info_msg.Draft != 'X') { var options = document.createElement("TD"); options.width = "30%"; options.setAttribute("noWrap","true"); options.style.fontSize = "10px"; //BEGIN: DESENHA MOSTRA DETALHES, OCULTAR DETALHES var option_hide_more = document.createElement("SPAN"); option_hide_more.className = 'message_options'; option_hide_more.onmouseover=function () {this.className='message_options_active';}; option_hide_more.onmouseout=function () {this.className='message_options'}; options.align = 'right'; option_hide_more.value = 'more_options'; option_hide_more.id = 'option_hide_more_'+ID; option_hide_more.onclick = function(){ if (this.value == 'more_options'){ this.innerHTML = ""+get_lang('Hide details')+""; this.value = 'hide_options'; Element('table_message_others_options_'+ID).style.display = ''; } else{ this.innerHTML = get_lang('Show details'); this.value = 'more_options'; Element('table_message_others_options_'+ID).style.display = 'none'; } resizeWindow(); }; //END: DESENHA MOSTRA DETALHES, OCULTAR DETALHES //OPCAO PARA MARCAR COMO var option_mark_as = document.createElement("SPAN"); option_mark_as.innerHTML = ""+get_lang('Mark as')+""; option_mark_as.className = 'message_options'; option_mark_as.onmouseover=function () {this.className='message_options_active';}; option_mark_as.onmouseout=function () {this.className='message_options'}; option_mark_as.onclick = function(){ verifyOption('tr_other_mark_options_', ID); var thi = document.getElementById('msg_opt_mark_options_'+ID); if (thi.value != 'hide'){ thi.value = 'hide'; option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; Element('tr_other_mark_options_'+ID).style.display = ''; } else{ thi.value = 'show'; option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_mark_options_'+ID).style.display = 'none'; } }; //DESENHA OPCOES DO MARCAR COMO var option_mark_as_unseen = document.createElement("SPAN"); option_mark_as_unseen.className = "reply_options"; option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); proxy_mensagens.proxy_set_message_flag(folder_id,'unseen'); write_msg(get_lang('Message marked as ')+get_lang("Unseen")); }; option_mark_as_unseen.onmouseover=function () {this.className='reply_options_active'}; option_mark_as_unseen.onmouseout=function () {this.className='reply_options'}; option_mark_as_unseen.innerHTML = get_lang("Unseen"); var option_mark_important = document.createElement("SPAN"); option_mark_important.className = 'reply_options'; option_mark_important.onmouseover=function () {this.className='reply_options_active';}; option_mark_important.onmouseout=function () {this.className='reply_options'}; if (info_msg.Flagged == "F"){ option_mark_important.onclick = function() { var _this = this; proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged', function(success){ if (success) { changeLinkState(_this, 'important'); write_msg(get_lang('Message marked as ') + get_lang("Normal")); } } ); }; option_mark_important.innerHTML = get_lang("Normal"); } else{ option_mark_important.onclick = function() {changeLinkState(this,'normal'); proxy_mensagens.proxy_set_message_flag(folder_id,'flagged'); write_msg(get_lang('Message marked as ')+get_lang("Important")); }; option_mark_important.innerHTML = get_lang("Important"); } //option_mark.appendChild(option_mark_as_unseen); //option_mark.appendChild(option_mark_important); option_hide_more.innerHTML = get_lang('Show details'); option_hide_more.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'O') : get_lang('Show details'); var space3 = document.createElement("SPAN"); space3.innerHTML = ' | '; var option_mark_as_options = document.createElement('IMG'); option_mark_as_options.id = 'msg_opt_mark_options_'+ID; option_mark_as_options.src = '../expressoMail1_2/templates/default/images/down.png'; option_mark_as_options.value = 'show'; option_mark_as_options.onmouseover = function(){ option_mark_as_options.src= '../expressoMail1_2/templates/default/images/over.png'; option_mark_as.className = 'message_options_active'; }; option_mark_as_options.onmouseout = function(){ option_mark_as.className = 'message_options'; if (this.value == 'show') { option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; } else { option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; } }; option_mark_as_options.onclick = function(){ verifyOption('tr_other_mark_options_', ID); if (this.value != 'hide'){ this.value = 'hide'; option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; Element('tr_other_mark_options_'+ID).style.display = ''; } else{ this.value = 'show'; option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_mark_options_'+ID).style.display = 'none'; } }; options.appendChild(option_hide_more); options.appendChild(space3); options.appendChild(option_mark_as_options); options.appendChild(option_mark_as); //FIM OPCAO PARA MARCAR COMO var space0 = document.createElement("SPAN"); space0.innerHTML = ' | '; var space1 = document.createElement("SPAN"); space1.innerHTML = ' | '; var space2 = document.createElement("SPAN"); space2.innerHTML = ' | '; //OPCAO PARA MAIS ACOES var option_more = document.createElement("SPAN"); option_more.id = 'msg_opt_more_actions_'+ID; option_more.className = 'message_options'; //option_more.onclick = function(){new_message('forward', ID);}; option_more.onmouseover=function () {this.className='message_options_active';}; option_more.onmouseout=function () {this.className='message_options'}; option_more.onclick = function(){ verifyOption('tr_other_more_options_', ID); if (option_more_options.value != 'hide'){ option_more_options.value = 'hide'; option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; Element('tr_other_more_options_'+ID).style.display = ''; } else{ option_more_options.value = 'show'; option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_more_options_'+ID).style.display = 'none'; } }; option_more.innerHTML = get_lang('More Actions'); //CRIA IMG DE MAIS ACOES var option_more_options = document.createElement('IMG'); option_more_options.id = 'msg_opt_more_options_'+ID; option_more_options.src = '../expressoMail1_2/templates/default/images/down.png'; option_more_options.value = 'show'; option_more_options.onmouseover = function(){ option_more.className = 'message_options_active'; option_more_options.src= '../expressoMail1_2/templates/default/images/over.png'; }; option_more_options.onmouseout = function(){ option_more.className = 'message_options'; if (this.value == 'show') { option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; } else { option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; } }; option_more_options.onclick = function(){ verifyOption('tr_other_more_options_',ID); if (this.value != 'hide'){ this.value = 'hide'; option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; Element('tr_other_more_options_'+ID).style.display = ''; } else{ this.value = 'show'; option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_more_options_'+ID).style.display = 'none'; } }; options.appendChild(space1); options.appendChild(option_more_options); options.appendChild(option_more); //FIM OPCAO PARA MAIS ACOES //OPCAO PARA RESPONDER var option_reply = document.createElement("SPAN"); option_reply.id = 'msg_opt_reply_'+ID; option_reply.className = 'message_options'; option_reply.onclick = function(){new_message('reply_with_history', ID);}; option_reply.innerHTML = get_lang('Reply'); option_reply.onmouseover=function () {this.className='message_options_active';}; option_reply.onmouseout=function () {this.className='message_options'}; option_reply.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'R') : get_lang('Reply'); options.appendChild(space2); var option_reply_options = document.createElement('IMG'); option_reply_options.id = 'msg_opt_reply_options_'+ID; option_reply_options.src = '../expressoMail1_2/templates/default/images/down.png'; option_reply_options.value = 'show'; option_reply_options.onmouseover = function(){ option_reply_options.src= '../expressoMail1_2/templates/default/images/over.png'; }; option_reply_options.onmouseout = function(){ if (this.value == 'show') { option_reply_options.src= '../expressoMail1_2/templates/default/images/down.png'; } else { option_reply_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; } }; option_reply_options.onclick = function(){ verifyOption('tr_other_options_', ID); if (this.value != 'hide'){ this.value = 'hide'; option_reply_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; Element('tr_other_options_'+ID).style.display = ''; } else{ this.value = 'show'; option_reply_options.src= '../expressoMail1_2/templates/default/images/down.png'; Element('tr_other_options_'+ID).style.display = 'none'; } }; options.appendChild(option_reply_options); options.appendChild(option_reply); //FIM OPCAO PARA RESPONDER //OPCAO PARA ENCAMINHAR var option_forward = document.createElement("SPAN"); option_forward.id = 'msg_opt_forward_'+ID; option_forward.className = 'message_options'; option_forward.innerHTML = get_lang('Forward'); option_forward.onclick = function(){new_message('forward', ID);}; option_forward.onmouseover=function () {this.className='message_options_active';}; option_forward.onmouseout=function () {this.className='message_options'}; option_forward.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'E') : get_lang('Forward'); var space9 = document.createElement("SPAN"); space9.innerHTML = ' | '; options.appendChild(space9); options.appendChild(option_forward); //FIM DA OPCAO PARA ENCAMINHAR //OPCAO PARA DELETAR var option_delete = document.createElement("SPAN"); option_delete.id = 'msg_opt_delete_'+ID; option_delete.className = 'message_options'; option_delete.onclick = function(){proxy_mensagens.delete_msgs('null','selected','null');}; option_delete.innerHTML = get_lang('Delete'); option_delete.onmouseover=function () {this.className='message_options_active';}; option_delete.onmouseout=function () {this.className='message_options'}; option_delete.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'Delete') : get_lang('Delete'); var space6 = document.createElement("SPAN"); space6.innerHTML = ' | '; options.appendChild(space6); options.appendChild(option_delete); //FIM OPCAO PARA DELETAR tr.appendChild(td); //tr.appendChild(option_mark); tr.appendChild(options); tr.appendChild(next_previous_msg_td); tbody_message_options.appendChild(tr); ////////// OTHER OPTIONS //////////////////// var tr_other_options = document.createElement("TR"); var tr_other_mark_options = document.createElement("TR"); var tr_other_more_options = document.createElement("TR"); tr_other_mark_options.id = 'tr_other_mark_options_' + ID; tr_other_mark_options.style.display = 'none'; tr_other_mark_options.style.backgroundColor = '#205C8E'; tr_other_options.id = 'tr_other_options_' + ID; tr_other_options.style.display = 'none'; tr_other_options.style.backgroundColor = '#205C8E'; tr_other_more_options.id = 'tr_other_more_options_' + ID; tr_other_more_options.style.display = 'none'; tr_other_more_options.style.backgroundColor = '#205C8E'; var td_other_options = document.createElement("TD"); var td_other_mark_options = document.createElement("TD"); var td_other_more_options = document.createElement("TD"); td_other_options.colSpan = '3'; td_other_mark_options.colSpan = '3'; td_other_more_options.colSpan = '3'; var div_other_options = document.createElement("DIV"); var div_other_mark_options = document.createElement("DIV"); var div_other_more_options = document.createElement("DIV"); //var option_mark_as_unseen = ''+get_lang("Unseen")+', '; //var option_mark_as_important = ''+get_lang("Important")+', '; //var option_mark_as_normal = ''+get_lang("Normal")+' | '; var block_user = ''+get_lang("Block Sender")+' | '; //var option_forward = ''+get_lang("Forward")+' | '; var option_move = ''+get_lang("Move")+' | '; var option_print = ''+get_lang("Print")+' | '; var option_export = ''+get_lang("Export")+' | '; option_reply_to_all__title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'T') : ''; var option_reply_to_all = ''+get_lang("Reply to all")+' | '; var option_reply_without_history = ''+get_lang("Reply without history")+' | '; var option_reply_to_all_without_history = ''+get_lang("Reply to all without history")+' | '; var report_error = ''+get_lang("Report error")+' | '; div_other_more_options.innerHTML += option_move + option_print + option_export + block_user + report_error; div_other_options.innerHTML += option_reply_without_history + option_reply_to_all_without_history + option_reply_to_all; if (use_spam_filter) { if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam' || (info_msg.msg_folder.match(/^user/) && info_msg.msg_folder.match(/Spam$/))){ div_other_mark_options.innerHTML += ''+get_lang("Not Spam")+' | '; } else{ div_other_mark_options.innerHTML += ''+get_lang("Is Spam")+' | '; } } var space5 = document.createElement("SPAN"); space5.innerHTML = ' | '; div_other_mark_options.appendChild(option_mark_as_unseen); var space4 = document.createElement("SPAN"); space4.innerHTML = ' | '; div_other_mark_options.appendChild(space4); div_other_mark_options.appendChild(option_mark_important); var space7 = document.createElement("SPAN"); space7.innerHTML = ' | '; div_other_mark_options.appendChild(space7); td_other_options.align = 'right'; td_other_options.style.paddingTop = '3px'; td_other_options.appendChild(div_other_options); td_other_mark_options.align = 'right'; td_other_mark_options.style.paddingTop = '3px'; td_other_mark_options.appendChild(div_other_mark_options); td_other_more_options.align = 'right'; td_other_more_options.style.paddingTop = '3px'; td_other_more_options.appendChild(div_other_more_options); tr_other_options.appendChild(td_other_options); tbody_message_options.appendChild(tr_other_options); tr_other_more_options.appendChild(td_other_more_options); tbody_message_options.appendChild(tr_other_more_options); tr_other_mark_options.appendChild(td_other_mark_options); tbody_message_options.appendChild(tr_other_mark_options); ////////// END OTHER OPTIONS //////////////// ////////// BEGIN SIGNATURE ////////////////// if (info_msg.signature && info_msg.signature.length > 0) { var tr_signature = document.createElement("TR"); var td_signature = document.createElement("TD"); td_signature.className = 'tr_message_header'; tr_signature.id = 'tr_signature_'+ID; td_signature.colSpan = "5"; tr_signature.style.display = 'none'; for (i in info_msg.signature) { if(typeof(info_msg.signature[i]) == 'object') { var aux = ''; for (ii in info_msg.signature[i]) { if(info_msg.signature[i][ii].indexOf("###") > -1) { aux += get_lang(info_msg.signature[i][ii].substring(0,info_msg.signature[i][ii].indexOf("###"))) + info_msg.signature[i][ii].substring(info_msg.signature[i][ii].indexOf("###")+3); } else { aux += info_msg.signature[i][ii]; } } td_signature.innerHTML += "" + get_lang("More") + "..."; continue; } if(info_msg.signature[i].indexOf("#@#") > -1) { td_signature.innerHTML += ''+get_lang(info_msg.signature[i].substring(0,info_msg.signature[i].indexOf("#@#")))+' '+info_msg.signature[i].substring(info_msg.signature[i].indexOf("#@#")+3)+'
'; } if(info_msg.signature[i].indexOf("###") > -1) { td_signature.innerHTML += ''+get_lang(info_msg.signature[i].substring(0,info_msg.signature[i].indexOf("###")))+' '+info_msg.signature[i].substring(info_msg.signature[i].indexOf("###")+3)+'
'; } } var signature_status_pos = info_msg.signature[0].indexOf('Message untouched'); td_signature.id = "td_signature_"+ID; if(signature_status_pos < 0 ) { td.innerHTML += ' '; tr_signature.style.display = ''; } else { td.innerHTML += ' '; } td.onclick = function(){ var _height = Element("div_message_scroll_"+ID).style.height; _height = parseInt(_height.replace("px","")); var _offset = 130; if (this.value == 'more_cert'){ this.value = 'hide_cert'; Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; Element('tr_signature_'+ID).style.display = 'none'; Element('td_signature_'+ID).style.display = 'none'; } else{ this.value = 'more_cert'; Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; Element('tr_signature_'+ID).style.display = ''; Element('td_signature_'+ID).style.display = ''; } }; tr_signature.appendChild(td_signature); tbody_message_options.appendChild(tr_signature); } //////////// END SIGNATURE //////////////// table_message_options.appendChild(tbody_message_options); td0.appendChild(table_message_options); tr0.appendChild(td0); tbody_message.appendChild(tr0); } // IF DRAFT else { var options = document.createElement("TD"); //options.width = "1%"; options.setAttribute("noWrap","true"); var option_edit = ' | '+get_lang('Edit')+''; var option_print = ' | '+get_lang('Print')+''; var option_hide_more = document.createElement("SPAN"); option_hide_more.className = 'message_options'; options.align = 'right'; option_hide_more.value = 'more_options'; option_hide_more.id = 'option_hide_more_'+ID; option_hide_more.innerHTML = get_lang('Show details'); option_hide_more.onclick = function(){ var _height = Element("div_message_scroll_"+ID).style.height; _height = parseInt(_height.replace("px","")); var _offset = 35; if (this.value == 'more_options'){ this.innerHTML = ""+get_lang('Hide details')+""; this.value = 'hide_options'; Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; Element('table_message_others_options_'+ID).style.display = ''; } else{ this.innerHTML = get_lang('Show details'); this.value = 'more_options'; Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; Element('table_message_others_options_'+ID).style.display = 'none'; } }; options.appendChild(option_hide_more); options_actions = document.createElement('SPAN'); options_actions.innerHTML = option_edit + option_print; options.appendChild(options_actions); tr.appendChild(td); tr.appendChild(options); tr.appendChild(next_previous_msg_td); tbody_message_options.appendChild(tr); table_message_options.appendChild(tbody_message_options); td0.appendChild(table_message_options); tr0.appendChild(td0); tbody_message.appendChild(tr0); var important_message = document.createElement("INPUT"); important_message.id = "is_important_"+ID; important_message.name = "is_important"; important_message.type = "HIDDEN"; important_message.value = (info_msg.Importance == "" || info_msg.Importance == "Normal") ? "0": "1"; options.appendChild(important_message); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // END options message. ////////////////////////////////////////////////////////////////////////////////////////////////////// var table_message_others_options = document.createElement("TABLE"); table_message_others_options.id = 'table_message_others_options_' + ID; table_message_others_options.width = "100%"; table_message_others_options.style.display = 'none'; if(navigator.appName.indexOf('Internet Explorer')>0){ table_message_others_options.className = "table_message_options_ie"; }else{ table_message_others_options.className = "table_message_options"; } var tbody_message_others_options = document.createElement("TBODY"); var tr1 = document.createElement("TR"); tr1.className = "tr_message_header"; var td1 = document.createElement("TD"); td1.innerHTML = get_lang("From: "); td1.appendChild(deny_email(info_msg.from.email)); td1.width = "7%"; if (info_msg.sender){ var tr111 = document.createElement("TR"); tr111.className = "tr_message_header"; var td111 = document.createElement("TD"); td111.innerHTML = get_lang("Sent by")+": "; td111.appendChild(deny_email(info_msg.sender.email)); td111.setAttribute("noWrap","true"); var sender = document.createElement("TD"); sender.id = "sender_"+ID; var sender_values = document.createElement("INPUT"); sender_values.id = "sender_values_"+ID; sender_values.type = "HIDDEN"; sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links. sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full); sender.className = "header_message_field"; tr111.appendChild(td111); tr111.appendChild(sender); tr111.appendChild(sender_values); tbody_message_others_options.appendChild(tr111); } var from = document.createElement("TD"); from.id = "from_"+ID; from.innerHTML = info_msg.from.full; if (info_msg.Draft != "X"){ from.innerHTML += draw_plugin_cc(ID, info_msg.from); tbody_message_others_options.appendChild(tr1); } from.className = "header_message_field"; var from_values = document.createElement("INPUT"); from_values.id = "from_values_"+ID; from_values.type = "HIDDEN"; from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. var local_message = document.createElement("INPUT"); local_message.id = "is_local_"+ID; local_message.name = "is_local"; local_message.type = "HIDDEN"; local_message.value = (info_msg.local_message)?"1":"0"; tr1.appendChild(td1); tr1.appendChild(from); tr1.appendChild(from_values); tr1.appendChild(local_message); if (info_msg.reply_to){ var tr11 = document.createElement("TR"); tr11.className = "tr_message_header"; var td11 = document.createElement("TD"); td11.innerHTML = get_lang("Reply to")+": "; td11.setAttribute("noWrap","true"); var reply_to = document.createElement("TD"); reply_to.id = "reply_to_"+ID; var reply_to_values = document.createElement("INPUT"); reply_to_values.id = "reply_to_values_"+ID; reply_to_values.type = "HIDDEN"; reply_to_values.value = info_msg.reply_to; //Veio do IMAP, sem images nem links. reply_to.innerHTML = draw_plugin_cc(ID, info_msg.reply_to); reply_to.className = "header_message_field"; tr11.appendChild(td11); tr11.appendChild(reply_to); tr11.appendChild(reply_to_values); tbody_message_others_options.appendChild(tr11); } ////////////////////////////////////////////////////////////////////////////////////////////////////// var tr2 = document.createElement("TR"); tr2.className = "tr_message_header"; var td2 = document.createElement("TD"); td2.width = "7%"; td2.innerHTML = get_lang("To: "); var to = document.createElement("TD"); to.id = "to_"+ID; var to_values = document.createElement("INPUT"); to_values.id = "to_values_"+ID; to_values.type = "HIDDEN"; to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links. // Salva a pasta da mensagem var input_current_folder = document.createElement('input'); input_current_folder.id = "input_folder_"+ID; input_current_folder.name = "input_folder"; input_current_folder.type = "hidden"; input_current_folder.value = info_msg.msg_folder; td2.appendChild(input_current_folder); // fim // ALEXANDRE LUIZ CORREIA if(info_msg.toaddress2 != null ) { toaddress_array[ID] = info_msg.toaddress2.split(","); if (toaddress_array[ID].length > 1) { to.innerHTML += draw_plugin_cc(ID, toaddress_array[ID][0]); var div_toaddress = document.createElement("SPAN"); div_toaddress.id = "div_toaddress_"+ID; div_toaddress.style.display=""; div_toaddress.innerHTML += " ("+get_lang('more')+")"; to.appendChild(div_toaddress); } else { toAdd = toaddress_array[ID].toString() if( trim(toAdd) != "" ) { toAdd = toAdd.replace("<","<").replace(">",">"); } else { toAdd = get_lang("without destination"); } to.innerHTML += draw_plugin_cc(ID,toAdd); } to.className = "header_message_field"; tr2.appendChild(td2); tr2.appendChild(to); tr2.appendChild(to_values); } tbody_message_others_options.appendChild(tr2); if (info_msg.cc){ var tr3 = document.createElement("TR"); tr3.className = "tr_message_header"; var td3 = document.createElement("TD"); td3.innerHTML = "CC: "; var cc = document.createElement("TD"); cc.id = "cc_"+ID; var cc_values = document.createElement("INPUT"); cc_values.id = "cc_values_"+ID; cc_values.type = "HIDDEN"; cc_values.value = info_msg.cc; ccaddress_array[ID] = info_msg.cc.split(","); if (ccaddress_array[ID].length > 1){ var div_ccaddress = document.createElement("SPAN"); div_ccaddress.id = "div_ccaddress_"+ID; var div_ccaddress_full = document.createElement("SPAN"); div_ccaddress_full.id = "div_ccaddress_full_"+ID; div_ccaddress.style.display=""; cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]); div_ccaddress.innerHTML += " ("+get_lang('more')+")"; cc.appendChild(div_ccaddress); } else{ cc.innerHTML = draw_plugin_cc(ID, info_msg.cc); } cc.className = "header_message_field"; tr3.appendChild(td3); tr3.appendChild(cc); tr3.appendChild(cc_values); tbody_message_others_options.appendChild(tr3); } /* * @AUTHOR Rodrigo Souza dos Santos * @MODIFY-DATE 2008/09/11 * @BRIEF Adding routine to create bcc field if there is one. */ if (info_msg.bcc) { var tr3 = document.createElement("tr"); tr3.className = "tr_message_header"; var td3 = document.createElement("td"); td3.innerHTML = get_lang("BCC") + " : "; var cco = document.createElement("td"); cco.id = "cco_"+ID; var cco_values = document.createElement("input"); cco_values.id = "cco_values_"+ID; cco_values.type = "hidden"; cco_values.value = info_msg.bcc; ccoaddress_array[ID] = info_msg.bcc.split(","); if (ccoaddress_array[ID].length > 1){ var div_ccoaddress = document.createElement("SPAN"); div_ccoaddress.id = "div_ccoaddress_"+ID; var div_ccoaddress_full = document.createElement("SPAN"); div_ccoaddress_full.id = "div_ccoaddress_full_"+ID; div_ccoaddress.style.display=""; //cco.innerHTML = draw_plugin_cc(ID, ccoaddress_array[ID][0]); cco.innerHTML = ccoaddress_array[ID][0]; div_ccoaddress.innerHTML += " ("+get_lang('more')+")"; cco.appendChild(div_ccoaddress); } else{ //cco.innerHTML = draw_plugin_cc(ID, info_msg.cco); cco.innerHTML = info_msg.bcc; } cco.className = "header_message_field"; tr3.appendChild(td3); tr3.appendChild(cco); tr3.appendChild(cco_values); tbody_message_others_options.appendChild(tr3); } var tr4 = document.createElement("TR"); tr4.className = "tr_message_header"; var td4 = document.createElement("TD"); td4.innerHTML = get_lang("Date: "); var date = document.createElement("TD"); date.id = "date_"+ID; date.innerHTML = info_msg.fulldate; var date_day = document.createElement("INPUT"); date_day.id = "date_day_"+ID; date_day.type = "HIDDEN"; date_day.value = info_msg.msg_day; var date_hour = document.createElement("INPUT"); date_hour.id = "date_hour_"+ID; date_hour.type = "HIDDEN"; date_hour.value = info_msg.msg_hour date.className = "header_message_field"; tr4.appendChild(td4); tr4.appendChild(date); tr4.appendChild(date_day); tr4.appendChild(date_hour); tbody_message_others_options.appendChild(tr4); var tr5 = document.createElement("TR"); tr5.className = "tr_message_header"; var td5 = document.createElement("TD"); td5.innerHTML = get_lang("Subject"); var subject = document.createElement("TD"); subject.id = "subject_"+ID; subject.innerHTML = html_entities(info_msg.subject); subject.className = "header_message_field"; if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ var new_event_logo = document.createElement("IMG"); new_event_logo.title = "Criar evento a partir deste email"; new_event_logo.alt = "Criar evento a partir deste email"; new_event_logo.src = "./templates/default/images/calendar_add.png"; new_event_logo.style.cursor = "pointer"; new_event_logo.style.marginLeft = "5px"; new_event_logo.onclick = function(){ import_implements_calendar(); DataLayer.dispatchPath = "../prototype/"; var path = "../prototype/modules/calendar/"; var startEvent = new Date(); if(startEvent.toString('mm') < 30) startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))}); else startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')}); var endEvent = function(date){ if(!!User.preferences.defaultCalendar){ return new Date(parseInt(date.getTime()) + (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ? (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : (User.preferences.defaultDuration * 60000) )); }else return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000)); }; var emails = $("#to_values_"+ID).val().split(','); //Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar eventDetails({ acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, alarms: [], allDay: false, attachments: [], attendee: '',//TODOOOOOO, calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], calendars: Calendar.calendars, category: '', 'class': '1', delegatedFrom: {}, endDate: startEvent.toString(User.preferences.dateFormat), startDate: endEvent(startEvent).toString(User.preferences.dateFormat), startHour: startEvent.toString(User.preferences.hourFormat), endHour: endEvent(startEvent).toString(User.preferences.hourFormat), timezone: User.preferences.defaultCalendar ? Calendar.calendarOf[User.preferences.defaultCalendar].timezone : User.preferences.timezone, summary : $("#subject_"+ID).text(), description : $("#body_" + ID).text(), startTime: startEvent.getTime(), endTime: endEvent(startEvent), timezones: Timezone.timezones, me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, location: '', attendee: $.map(emails, function( mail ){ var decoded = Encoder.htmlDecode(mail); var newAttendeeName = ""; var user = DataLayer.get('user', ["=", "mail", decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded], true); if( $.type(user) == "array") user = user[0]; if(!user) user = {name : decoded.match(/"([^"]*)"/)[1] , mail : decoded.match(/[\w-]+(\.[\w-]+)*@(([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}\])/)[1]}; if(User.me.mail == user.mail) return(null); user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; return DataLayer.merge({ name: user.name, mail: user.mail, acl: 'r', delegatedFrom: '0', status: '4' }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})}); }) }, true, path, true); } subject.appendChild(new_event_logo); } tr5.appendChild(td5); tr5.appendChild(subject); tbody_message_others_options.appendChild(tr5); //k! var update_labeleds_msg = function(){ //TODO Mudar quando API abstrair atualizações no cache DataLayer.remove('labeled', false); //DataLayer.get('labeled'); var labels = DataLayer.get("labeled", {filter: [ 'AND', ['=', 'folderName', current_folder], ['=','messageNumber',folder_id]], criteria : {deepness: 2}} ); if(labels.length != 0){ var tr8 = document.createElement("TR"); tr8.className = "tr_message_header"; var td8 = document.createElement("TD"); td8.innerHTML = get_lang("Labels: "); var markers = document.createElement("TD"); markers.id = "markers_"+ID; for(var i=0; i"+nameLabel+"x"; } $(markers).find('span.removeLabeledMsg').click(function(event){ var id_labeled = $(event.target).attr("id"); //TODO Mudar quando API abstrair atualizações no cache //DataLayer.remove('labeled', false); //DataLayer.get('labeled'); DataLayer.remove('labeled', id_labeled); DataLayer.commit(false, false, function(){ var index_folder = id_labeled.lastIndexOf('/'); var folder_name = id_labeled.slice(0,index_folder); var index_number = id_labeled.lastIndexOf('#'); var msg_number = id_labeled.slice(index_folder + 1,index_number); updateLabelsColumn({msg_number:msg_number, boxname:folder_name, labels:false}); update_labeleds_msg(); tbody_message_others_options.removeChild(tr8); }); }); markers.className = "header_message_field"; tr8.appendChild(td8); tr8.appendChild(markers); tbody_message_others_options.appendChild(tr8); } } if ( info_msg.attachments && info_msg.attachments.length > 0 ) { //Código no padrão expresso 2.2 var tr6 = document.createElement("TR"); tr6.className = "tr_message_header"; var td6 = document.createElement("TD"); td6.innerHTML = get_lang("Attachments: "); var attachments = document.createElement("TD"); td6.valign = "top"; attachments.align = 'left'; if(info_msg.attachments.length >= 1){ if(info_msg.attachments.length > 1) { var link_attachment = document.createElement("A"); if(proxy_mensagens.is_local_folder(current_folder)) link_attachment.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); else link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); attachments.appendChild(link_attachment); } if(parseInt(preferences.remove_attachments_function)) { attachments.appendChild(document.createTextNode(' ')); var del_attachments = document.createElement("A"); del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); del_attachments.innerHTML = get_lang('remove all attachments'); attachments.appendChild(del_attachments); } attachments.appendChild(document.createElement('BR')); } attachments.id = "attachments_" + ID; for (var i=0; i]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi); var newBody = info_msg.body; if(!info_msg.showImg && imgTag) { var domains = ''; var blocked = false; var forbidden = true; if (preferences.notification_domains != null && typeof(preferences.notification_domains) != 'undefined') { domains = preferences.notification_domains.split(','); for(var j = 0; j < imgTag.length; j++) { for (var i = 0; i < domains.length; i++) { if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/get_archive\.php/g)) { forbidden = false; continue; } imgSource = imgTag[j].match(/=['"](http:\/\/)+[^'"\/]*/); if (imgSource && imgSource.toString().substr(5).match(domains[i])) forbidden = false; } if (forbidden) { newBody = newBody.replace(imgTag[j],""); blocked=true; } } if (blocked) { var showImgLink = document.createElement('DIV'); showImgLink.id="show_img_link_"+ID; showImgLink.onclick = function(){show_msg_img(info_msg.msg_number,info_msg.msg_folder)}; showImgLink.className="show_img_link"; showImgLink.innerHTML = get_lang("Show images from")+": "+info_msg.from.email; td.appendChild(showImgLink); } } } td.appendChild(div); tr.appendChild(td) tbody_message.appendChild(tr); ////////////////////////////////////////////////////////////////////////////////////////////////////// //Make the body message. /////////////////////////////////////////////////////////////////////////////////////////////////////// var tr = document.createElement("TR"); tr.className = "tr_message_body"; var td = document.createElement("TD"); //td.setAttribute("colSpan","2"); //Comentado pois estes replaces e a tentativa de remover as tags vazias faz com que seja //eliminado os estilos aplicados no corpo do texto quando utilizado o Firefox. //newBody = newBody.replace("]*>]*>/ig ).test( newBody ) ) // newBody = newBody.replace( /(]*>)]*>/ig, '$1' ); var _body = document.createElement( 'div' ); _body.id = 'body_' + ID; _body.innerHTML = newBody; _body.style.marginLeft = '5px'; var _elements = _body.getElementsByTagName( '*' ); for( var i = 0; i < _elements.length; i++ ) if ( _elements[ i ].attributes && _elements[ i ].attributes.getNamedItem( 'id' ) ) _elements[ i ].attributes.removeNamedItem( 'id' ); div.appendChild( _body ); //window.setTimeout(function() { $("#div_message_scroll_"+ID).focus() },250); function mailto( link ) { var mail = link.href.substr( 7 ); link.onclick = function( ) { new_message_to( mail ); return false; }; } var links = div.getElementsByTagName( 'a' ); for ( var i = 0; i < links.length; i++ ){ try{ if ( links.item( i ).href.indexOf( 'mailto:' ) === 0 ){ mailto( links.item( i ) ); } else{ var anchor_pattern = "http://"+location.host+location.pathname+"#"; if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) && (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se não for âncora links.item( i ).setAttribute( 'target', '_blank' ); } }catch(e){ } } ////////////////////////////////////////////////////////////////////////////////////////////////////// //Make the thumbs of the message. ////////////////////////////////////////////////////////////////////////////////////////////////////// //k if ((info_msg.thumbs)&&(info_msg.thumbs.length > 0)){ var thumbs = jQuery.parseJSON(info_msg.thumbs); var div_thumbs = document.createElement("div"); div_thumbs.setAttribute("class", "expressomail-thumbs"); div_thumbs.setAttribute("className", "expressomail-thumbs"); //for IE var div_thumbs_lbl = document.createElement("DIV"); div_thumbs_lbl.setAttribute("class", "expressomail-thumbs-label"); div_thumbs_lbl.setAttribute("className", "expressomail-thumbs-label"); //for IE var div_thumbs_lbl_sp = document.createElement("SPAN"); div_thumbs_lbl_sp.setAttribute("class", "message_options"); div_thumbs_lbl_sp.setAttribute("className", "message_options"); //for IE var div_thumbs_lbl_st = document.createElement("STRONG"); div_thumbs_lbl_st.innerHTML = info_msg.attachments.length+" "+get_lang("attachment")+(info_msg.attachments.length > 1 ? "s" : "")+" "+get_lang("in this message"); var div_thumbs_lbl_a = document.createElement("A"); if(info_msg.thumbs.length > 1){ if(proxy_mensagens.is_local_folder(current_folder)) div_thumbs_lbl_a.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); else div_thumbs_lbl_a.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); div_thumbs_lbl_a.innerHTML = get_lang('Download all atachments'); } else { div_thumbs_lbl_a.setAttribute("style", "display:none; visibility:hidden;"); } div_thumbs_lbl_sp.appendChild(div_thumbs_lbl_st); div_thumbs_lbl_sp.appendChild(document.createTextNode(' :: ')); div_thumbs_lbl_sp.appendChild(div_thumbs_lbl_a); div_thumbs_lbl.appendChild(div_thumbs_lbl_sp); var div_thumbs_lbl_sp2 = document.createElement("SPAN"); div_thumbs_lbl_sp2.setAttribute("class", "message_tips"); div_thumbs_lbl_sp2.setAttribute("className", "message_tips"); //for IE div_thumbs_lbl_sp2.innerHTML = get_lang("Tip: For faster save, click over the image with right button."); var ul_thumbs_list = document.createElement("UL"); ul_thumbs_list.setAttribute("class", "expressomail-thumbs-list"); ul_thumbs_list.setAttribute("className", "expressomail-thumbs-list"); //for IE var msg = info_msg.msg_number; var fdr = info_msg.msg_folder; var i = 0; //verifica se está no novo padrão de montagem das mensagens ou no antigo, necessário //para exibir as imagens no arquivamento local arquivamento local. if(thumbs){ jQuery.each(thumbs, function(i, thumb) { if(fdr.indexOf("local_") >= 0){ var href = info_msg.array_attach[i].url + '&image=true'; var src = info_msg.array_attach[i].url+ '&image=thumbnail'; i++; }else{ var href = './inc/get_archive.php?msgFolder=' + fdr + '&msgNumber=' + msg + '&indexPart=' + thumb.pid + '&image=true'; //var href = thumb.url; var src = 'inc/get_archive.php?msgFolder=' + fdr + '&msgNumber=' + msg + '&indexPart=' + thumb.pid + '&image=thumbnail'; } var msgid= fdr+";;"+msg+";;"+i+";;"+thumb.pid+";;"+thumb.encoding; var image_info = '{"folder":"'+fdr+'","message":"'+msg+'","thumbIndex":"'+i+'","pid":"'+thumb.pid+'","encoding":"'+thumb.encoding+'","type":"'+thumb.type+'"}'; var image= ''; var content = ''+image+''; content += ''; jQuery(ul_thumbs_list).append('
  • '+content+'
  • '); }); div_thumbs.appendChild(div_thumbs_lbl); div_thumbs.appendChild(div_thumbs_lbl_sp2); div_thumbs.appendChild(ul_thumbs_list); }else{ div_thumbs.appendChild(div_thumbs_lbl); div_thumbs.appendChild(div_thumbs_lbl_sp2); div_thumbs.innerHTML = div_thumbs.innerHTML + info_msg.thumbs; } div.appendChild(div_thumbs); } //k!! ////////////////////////////////////////////////////////////////////////////////////////////////////// table_message.appendChild(tbody_message); content.appendChild(table_message); resizeWindow(); var msg_number = document.createElement('INPUT'); msg_number.id = "msg_number_" + ID; msg_number.type = "hidden"; msg_number.value = info_msg.msg_number; content.appendChild(msg_number); ////////////////////////////////////////////////////////////////////////////////////////////////////// //Exibe o cabecalho da mensagem totalmente aberto caso esteja setado nas preferencias do usuario if (preferences.show_head_msg_full == 1) { option_hide_more.onclick(); if (Element('div_toaddress_'+ID) != null) show_div_address_full(ID,'to'); if (Element('div_ccaddress_'+ID) != null) show_div_address_full(ID,'cc'); } /* * TODO: implementar o controle como preferência do usuário * */ var jcarousel = false; if (jcarousel) { //carousel jQuery(document).ready(function() { jQuery('.expressomail-thumbs-list').attr('id', 'expressomail-thumbs-list'+ID) .addClass('jcarousel-skin-default').jcarousel(); jQuery('.expressomail-thumbs-link img').attr('style', ''); //fancybox jQuery(".expressomail-thumbs-list li a").attr('onclick', 'return true;'); jQuery(".expressomail-thumbs-list li a").fancybox({ 'hideOnContentClick': true, 'type': 'image', 'titlePosition': 'over', 'titleFormat' : function(name, currentArray, currentIndex, currentOpts) { var image_info = $('#thumb_'+ID+'_'+currentIndex).val(); return '
    ' + '
    ' + '' + '' + ''+ '' + '' + ''+ ''+ '' + ''+ ''+name+''+ '' + '' + '' + '
    ' + '
    '; } }); }); } if ( is_webkit ){ //Corrige o bug de foco no Chrome var ev = document.createEvent('MouseEvents'); ev.initEvent( 'click' ,false ,true ); var divScroll = Element('div_message_scroll_'+ID); if (divScroll) { divScroll.setAttribute('tabindex','-1'); divScroll.onclick = function() {setTimeout(function(){$("#div_message_scroll_"+ID).focus();},0);}; divScroll.dispatchEvent(ev); } } else $("#div_message_scroll_"+ID).focus(); update_labeleds_msg(); resizeWindow(); } function changeLinkState(el,state){ el.innerHTML = get_lang(state); switch (state){ case 'important': { el.onclick = function(){changeLinkState(el,'normal');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'flagged');write_msg(get_lang('Message marked as ')+get_lang("Important"))} break; } case 'normal': { el.onclick = function(){ var _this = this; proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unflagged', function(success){ if (success) { changeLinkState(_this, 'important'); write_msg(get_lang('Message marked as ') + get_lang("Normal")); } } ); } break; } case 'unseen': { el.onclick = function(){changeLinkState(el,'seen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unseen');write_msg(get_lang('Message marked as ')+get_lang("unseen"))} break; } case 'seen': { el.onclick = function(){changeLinkState(el,'unseen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'seen');write_msg(get_lang('Message marked as ')+get_lang("seen"))} break; } default: { break; } } } function mySplit( val ) { return val.split( /,\s*/ ); } function extractLast( term ) { return mySplit( term ).pop(); } function input_binds(input, ID){ var mySource = new Array(); var myArray = contacts.split(","); for(var i in myArray){ var teste = myArray[i].split(";"); if(teste.length > 1) mySource.push({name : teste[0], email: teste[1], value : (teste[0] +" - "+teste[1])}); else mySource.push({name : "", email: teste[0], value :teste[0]}); } input.bind( "keydown", function( event ) { if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { event.preventDefault(); } if((event.keyCode) == 120){ emQuickSearch($(this).val(), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true); }else if( (event.keyCode == 27) && $( this ).data( "autocomplete" ).menu.active ){ event.stopPropagation(); event.preventDefault(); } }).autocomplete({ minLength: 0, source: function( request, response ) { response( $.ui.autocomplete.filter( mySource, extractLast( request.term ) ) ); }, focus: function() { return false; }, select: function( event, ui ) { var terms = mySplit( this.value ); terms.pop(); terms.push( (ui.item.name != "" ? "\""+ui.item.name+"\" " : "") + (ui.item.email ? "<"+ui.item.email+">" : "")); terms.push( "" ); this.value = terms.join( ", " ); return false; }, autoFocus: true }).data( "autocomplete" )._renderItem = function( ul, item ) { ul.css({"max-height" : "115px", "overflow-y" : "auto"}); if( $(ul).find("li").length > 10 ){ return; } return $( "
  • " ) .data( "item.autocomplete", item ) .append( "" + item.name + " - " + item.email + "" ) .appendTo( ul ); }; input.parents("tr:first").find("button").button().click(function(){ emQuickSearch($(this).parents("tr:first").find("textarea").val(), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true); }); } function draw_new_message(border_ID){ connector.loadScript("color_palette"); connector.loadScript('wfolders'); if(typeof(RichTextEditor) == 'undefined' || typeof(ColorPalette) == 'undefined' || typeof(wfolders) == 'undefined') return false; if(typeof($.fn.elastic) == "undefined"){ $.lazy({ src: '../prototype/plugins/jquery-elastic/jquery.elastic.source.js', name: 'elastic' }); } var ID = create_border("",border_ID); if (ID == 0) return 0; else if(ID == 'maximo') return 'maximo'; hold_session = true; if ($("#footer_menu").length){ $("#footer_menu").css('display','none'); } var content = $("#content_id_"+ID).html(DataLayer.render("../prototype/modules/mail/templates/new_message.ejs", {id: ID})); RichTextEditor.loadEditor2(ID); //if(!expresso_offline) // draw_from_field(sel_from,tr1_1); //content.find('name="input_to"').elastic().elastic("destroy"); draw_from_field(content.find(".from-select")[0], content.find(".from-tr")[0]); var check_input = function(field){ var check = field.attr("checked"); field.attr("checked", (!check ? true : false)); return (!check ? true : false); } //AÇÃO GENERICA PARA ADICIONAR/REMOVER var change_text = function(field, text, to_text){ var text = (field.html() == text ? to_text : text); field.html(text); } //AÇÃO GENERICA PARA ADICIONAR/REMOVER CC & CCO var show_hide = function(field, button){ button.toggleClass("expressomail-button-icon-ative"); field.toggle(); field.find("textarea").val("").focus(); if(!field.find("textarea").hasClass("elastic")){ field.find("textarea").css({"max-height" : "115px", "overflow-y" : "auto"}).addClass("elastic").elastic().unbind('blur'); input_binds(field.find("textarea"), ID); } } input_binds(content.find('[name="input_to"]').css({"max-height" : "115px", "overflow-y" : "auto"}).addClass("elastic").elastic().unbind('blur').focus(), ID); //Botão TextoRico/TextoSimples content.find(".new-msg-head-right-buttons").find(".button").button().filter(".rich-button").click(function(){ //RichTextEditor.loadEditor2(ID); RichTextEditor.setPlain(check_input(content.find('[name="textplain_rt_checkbox"]')), ID); change_text($(this).find(".ui-button-text"), get_lang("Rich Text"), get_lang("Simple Text")); }) //Botão Adicionar/Remover CCO .end().filter(".cco-button").click(function(){ show_hide(content.find(".cco-tr"), $(this)); change_text($(this).find(".ui-button-text"), get_lang("Add BCC"), get_lang('Remove CCo')); }) //Botão Adicionar/Remover CC .end().filter(".cc-button").click(function(){ show_hide(content.find(".cc-tr"), $(this)); change_text($(this).find(".ui-button-text"), get_lang("Add CC"), get_lang('Remove CC')); }); //BOTAO ENVIAR content.find(".send").button({ icons : { primary : "expressomail-icon-send" } }).click(function(){ send_message(ID,preferences.save_in_folder,null); }) //BOTAO SALVAR E ENVIAR .end().find(".save-and-send").button({ icons : { primary : "expressomail-icon-send" } }).click(function(){ wfolders.makeWindow(ID,"send_and_file"); }) //BOTAO SALVAR .end().find(".save").button({ icons : { primary : "expressomail-icon-save" } }).click(function(){ save_msg(ID); }) //BOTAO CONF. LEITURA .end().find(".return-recept").button({ icons : { primary : "expressomail-icon-read-confirmation" } }).click(function(){ check_input(content.find('[name="input_return_receipt"]')); $(this).toggleClass("expressomail-button-icon-ative"); }) //BOTAO IMPORTANTE .end().find(".important").button({ icons : { primary : "expressomail-icon-important" } }).click(function(){ check_input(content.find('[name="input_important_message"]')); $(this).toggleClass("expressomail-button-icon-ative"); }) //BOTAO ASS. DIGITAL .end().find(".return_digital").button({ icons : { primary : "expressomail-icon-signature" } }).click(function(){ check_input(content.find('[name="input_return_digital"]')); $(this).toggleClass("expressomail-button-icon-ative"); }) //BOTAO EMAIL CRYPT .end().find(".return_cripto").button({ icons : { primary : "expressomail-icon-encryption" } }).click(function(){ check_input(content.find('[name="input_return_cripto"]')); $(this).toggleClass("expressomail-button-icon-ative"); }); content.find(".attachment td").filter(".value").prepend(DataLayer.render("../prototype/modules/mail/templates/attachment.ejs", {ID:ID})); var fileUploadMSG = $('#fileupload_msg'+ID); var maxAttachmentSize = (preferences.max_attachment_size !== "" && preferences.max_attachment_size != 0) ? (parseInt(preferences.max_attachment_size.replace('M', '')) * 1048576 ) : false; fileUploadMSG.find(".button").button().filter(".fileinput-button").find(".ui-button-text").css("margin-top", "2px").find("input:file").fileupload({ //singleFileUploads : true, sequentialUploads: true, type: 'post', dataType : 'json', url: "../prototype/post.php", forceIframeTransport: false, dropZone : fileUploadMSG, formData: function(form) { return [ { name : "mailAttachment[0][source]", value : "files0" }, { name : "mailAttachment[0][disposition]", value : $(form[0]['attDisposition'+$(form[0]['abaID']).val()]).val() }, { name: "MAX_FILE_SIZE", value : maxAttachmentSize } ]; }, add: function (e, data) { if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { setTimeout(function() { $('#attDisposition'+ID).val('attachment'); data.submit(); }, 3000); } $.each(data.files, function (index, file) { var attach = {}; attach.fullFileName = file.name; attach.fileName = file.name; if(file.name.length > 50) attach.fileName = file.name.substr(0, 32) + " ... " + file.name.substr(file.name.length-9, file.name.length); attach.fileSize = formatBytes(file.size); if(maxAttachmentSize && file.size > maxAttachmentSize) attach.error = 'Tamanho de arquivo nao permitido!!' var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); upload.find('.button.close').button({ icons: { primary: "ui-icon-close" }, text: false }).click(function(){ var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); delAttachment(ID, idAttach) $(this).parent().remove(); }); fileUploadMSG.find('.attachments-list').append(upload); if(!maxAttachmentSize || file.size < maxAttachmentSize){ if(data.fileInput){ fileUploadMSG.find('.fileinput-button.new').append(data.fileInput[0]).removeClass('new'); fileUploadMSG.find('.attachments-list').find('[type=file]').addClass('hidden'); } }else fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); }); }, done: function(e, data){ if(!!data.result && data.result != "[]" ){ var newAttach = data.result; if(!newAttach.mailAttachment.error){ if(newAttach.rollback !== false) { fileUploadMSG.find('.in-progress:first').parents('p').append('').find('.status-upload').addClass('ui-icon ui-icon-check'); addAttachment(ID,newAttach['mailAttachment'][0][0].id); } else fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); }else{ fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error'); } }else { fileUploadMSG.find(' .progress.on-complete:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); } fileUploadMSG.find(' .in-progress:first').remove(); } }).css({ "height" : "20px", "width": (is_webkit ? "205px" : "100px"), "border-width": "0 0 0px 0px", "-moz-transform" : "rotate(-180deg) translate(-147px, -0.5px) scale(1.1)", "-webkit-transform" : "rotate(-180deg) translate(-104px, 0px)" }).end().end().end().filter(".message-attach-link").click(function(){ jQuery('#message-attach-dialog').html(DataLayer.render("../prototype/modules/attach_message/attach_message.ejs", {})); $( "#mailpreview_container span.ui-icon-close" ).click(); jQuery('#message-attach-dialog').dialog({ width:920, height:550, resizable:false, modal: true, closeOnEscape:true, close:function(event, ui) {event.stopPropagation();}, autoOpen:false }); jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ jQuery('#message-attach-dialog').dialog('open'); jQuery('#message-attach-attach-btn').unbind('click'); jQuery('#message-attach-attach-btn').click(function(event){ jQuery.each(selectedMessages, function(folder_name, messages) { jQuery.each(selectedMessages[folder_name], function(message_number, message) { if (message) { var att = new Object(); att.folder = folder_name; att.uid = message_number; att.type = 'imapMSG'; att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); var idATT = JSON.stringify(att); addAttachment( ID , idATT); var attach = {}; attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; if(attach.fileName.length > 45) attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); upload.find('.status-upload').addClass('ui-icon ui-icon-check'); upload.find('.in-progress').remove(); upload.append(''); upload.find('.button.close').button({ icons: { primary: "ui-icon-close" }, text: false }).click(function(){ var idAttach = $(this).parents("li:first").find('input[name="fileId[]"]').val(); fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); delAttachment(ID,idAttach); $(this).parent().remove(); }); fileUploadMSG.find('.attachments-list').append(upload); } }); }); jQuery('#message-attach-dialog').dialog('close'); }); jQuery('#message-attach-cancel-btn').click(function(event){ jQuery('#message-attach-dialog').dialog('close'); }); }); }); return ID; } // Verify if any user is sharing his name/email address // for use in the new messages's "From " field. function draw_from_field(sel_from,tr1_1){ var el_shared_users = Element("el_shared_users"); // The element was loaded and populated...so return. if(el_shared_users){ // Nothing to work...so return. if(el_shared_users.options.length == 0) return; tr1_1.style.display = ''; for (var x = 0; x < el_shared_users.options.length; x++) { var _option = document.createElement("OPTION"); _option.text = el_shared_users.options[x].text; _option.value = el_shared_users.options[x].value; sel_from.options[sel_from.options.length] = _option ; } return; } // Get the shared folders..... var sharedFolders = new Array(); for(var i = 0; i < folders.length; i++) { var x = folders[i].folder_id; if (folders[i].folder_parent == 'user'){ sharedFolders[sharedFolders.length] = x; } } var matchUser = '#'; var sharedUsers = new Array(); // Filter the shared folders (only root folders) ..... for(var i = 0; i < sharedFolders.length; i++) { matchUser = sharedFolders[i]; sharedUsers[sharedUsers.length] = matchUser.substring(("user"+cyrus_delimiter).length,matchUser.length); } // Handler function for cExecute var h_user = function(data) { if(data.length > 0) { tr1_1.style.display = ''; var mycn = typeof(data.myname != 'undefined') ? data.myname : ''; var _option = document.createElement("OPTION"); _option.text = '"'+mycn+'" <'+Element("user_email").value+'>'; _option.value = mycn+";"+Element("user_email").value; sel_from.options[sel_from.options.length] = _option; var options = ''; var cn = ''; for (var x = 0; x < data.length; x++) { cn = typeof(data[x].cn[0] != 'undefined') ? data[x].cn[0] : ''; var _option = document.createElement("OPTION"); _option.text = '"'+cn+'" <'+data[x].mail[0]+'>'; _option.value = cn+';'+data[x].mail[0]+';'+data[x].save_shared[0]+';'+data[x].uid[0]; sel_from.options[sel_from.options.length] = _option ; } } var shared_users_from = Element("el_shared_users"); if(!shared_users_from) { shared_users_from = sel_from.cloneNode(true); shared_users_from.id = "el_shared_users"; shared_users_from.style.display = 'none'; document.body.appendChild(shared_users_from); } } // First time, so execute..... cExecute ("$this.ldap_functions.getSharedUsersFrom&uids="+sharedUsers.join(';'), h_user); } function changeBgColorToON(all_messages, begin, end){ var _tab_prefix = getTabPrefix(); var _msg_id; for (begin; begin<=end; begin++) { _msg_id = getMessageIdFromRowId(all_messages[begin].id); add_className(all_messages[begin], 'selected_msg'); Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; } } function updateBoxBgColor(box){ // Set first TR Class var _className = 'tr_msg_read2'; for(var i = 0; i < box.length;i++){ if(exist_className(box[i],_className)) remove_className(box[i], _className); _className = (_className == 'tr_msg_read2' ? 'tr_msg_read' : 'tr_msg_read2'); if(!exist_className(box[i],_className)) add_className( box[i], _className); } } function changeBgColor(event, msg_number) { var _element_id = msg_number.toString(); var first_order, last_order; if (typeof(currentTab)!='number') { _element_id = _element_id+'_s'+numBox; } actual_tr = Element(_element_id); if (event.shiftKey) { var last_tr = Element(last_message_selected); if(!last_tr) last_tr = actual_tr; var all_messages = actual_tr.parentNode.childNodes; for (var i=0; i < all_messages.length; i++) { if (actual_tr.id == all_messages[i].id) first_order = i; if (last_tr.id == all_messages[i].id) last_order = i; } if (parseInt(first_order) > parseInt(last_order)) changeBgColorToON(all_messages, last_order, first_order); else changeBgColorToON(all_messages, first_order, last_order); }else if(event.target != document.getElementById(getTabPrefix()+'check_box_message_' + msg_number)){ if($(event.target).attr("checked") == "checked"){ $(event.target).parents("tr:first").addClass("selected_msg"); }else{ $(event.target).parents("tr:first").removeClass("selected_msg"); } } else{ //if ( exist_className(actual_tr, 'selected_msg') ) if ( document.getElementById(getTabPrefix()+'check_box_message_' + msg_number).checked ){ if( document.getElementById("chk_box_select_all_messages").checked) { add_className(actual_tr, 'selected_msg selected_shortcut_msg'); }else add_className(actual_tr, 'selected_msg'); }else{ if( document.getElementById("chk_box_select_all_messages").checked){ remove_className(actual_tr, 'selected_msg selected_shortcut_msg'); remove_className(actual_tr, 'selected_msg'); remove_chk_box_select_all_messages(); if(actual_tr.className == 'selected_msg') remove_className(actual_tr, 'selected_msg'); }else remove_className(actual_tr, 'selected_msg'); } } last_message_selected = _element_id; } function build_quota(data){ id = "content_quota"; q_limit = data['quota_limit']; var div = document.getElementById(id); if(!q_limit){ div.innerHTML = ''+get_lang("Without Quota")+''; } else{ if(div) div.innerHTML = ''; value = data['quota_percent']; q_used = data['quota_used']; table = document.getElementById("table_quota"); if(table) table.parentNode.removeChild(table); table = document.createElement("TABLE"); tbody = document.createElement("TBODY"); table.appendChild(tbody); table.id = "table_quota"; table.width="102"; table.border="0"; table.cellSpacing = 0; table.cellPadding = 0; //tr1 = document.createElement("TR"); td11 = document.createElement("TD"); td11.align="center"; td11.setAttribute("noWrap","true"); td11.innerHTML += '
     ' + value+"% ("+borkb(q_used*1024)+"/"+borkb(q_limit*1024)+")"; //tr1.appendChild(td11); tr2 = document.createElement("TR"); td22 = document.createElement("TD"); //td21.appendChild(table221); //tr2.appendChild(td21); tr2.appendChild(td11); //tr2.appendChild(td1); tbody.appendChild(tr2); //Desenho //tbody.appendChild(tr1); //Letras div.appendChild(table); $("#quota_progressbar").progressbar({ value: value }); if(value > 90) { if(value >= 100) write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages.")); else write_msg(get_lang("Warning: Your Mailbox is almost full!")); $("#quota_progressbar").find(".ui-progressbar-value").css({"background-image": "url(templates/default/images/dsalert.gif)", "border-color" : "red"}); } else if(value > 80) $("#quota_progressbar").find(".ui-progressbar-value").css({"background-image": "url(templates/default/images/dswarn.gif)", "border-color" : "yellow"}); } } function draw_quota(data){ this.build_quota(data); } function update_quota(folder_id){ cExecute ("$this.imap_functions.get_quota&folder_id="+folder_id,this.build_quota); } function draw_search(headers_msgs){ Element("border_id_0").innerHTML = "  " + get_lang('Search Result') + "  "; var tbody = Element('tbody_box'); for (var i=0; i<(headers_msgs.length); i++){ // passa parâmetro offset var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); if (tr) tbody.appendChild(tr); } } function draw_search_header_box(){ var table_message_header_box = Element("table_message_header_box"); table_message_header_box.parentNode.removeChild(table_message_header_box); var content_id_0 = Element("content_id_0"); var table_element = document.createElement("TABLE"); var tbody_element = document.createElement("TBODY"); table_element.setAttribute("id", "table_message_header_box"); table_element.className = "table_message_header_box"; tr_element = document.createElement("TR"); tr_element.className = "message_header"; td_element1 = document.createElement("TD"); td_element1.setAttribute("width", "1%"); chk_box_element = document.createElement("INPUT"); chk_box_element.id = "chk_box_select_all_messages"; chk_box_element.setAttribute("type", "checkbox"); chk_box_element.className = "checkbox"; chk_box_element.onclick = function(){select_all_messages(this.checked);}; chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages.')}; chk_box_element.onkeydown = function (e){ if (is_ie) { if ((window.event.keyCode) == 46) { //delete_all_selected_msgs_imap(); proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); } } else { if ((e.keyCode) == 46) { //delete_all_selected_msgs_imap(); proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); } } }; td_element1.appendChild(chk_box_element); td_element2 = document.createElement("TD"); td_element2.setAttribute("width", "3%"); td_element3 = document.createElement("TD"); td_element3.setAttribute("width", "30%"); td_element3.id = "message_header_SORTFROM"; td_element3.align = "left"; td_element3.innerHTML = get_lang("From"); td_element4 = document.createElement("TD"); td_element4.setAttribute("width", "49%"); td_element4.id = "message_header_SORTSUBJECT"; td_element4.align = "left"; td_element4.innerHTML = get_lang("Subject"); td_element5 = document.createElement("TD"); td_element5.setAttribute("width", "10%"); td_element5.id = "message_header_SORTARRIVAL"; td_element5.align = "center"; td_element5.innerHTML = ""+get_lang("Date")+""; td_element5.innerHTML += ""; td_element6 = document.createElement("TD"); td_element6.setAttribute("width", "10%"); td_element6.id = "message_header_SORTSIZE"; td_element6.align = "right"; td_element6.innerHTML = get_lang("Size"); tr_element.appendChild(td_element1); tr_element.appendChild(td_element2); tr_element.appendChild(td_element3); tr_element.appendChild(td_element4); tr_element.appendChild(td_element5); tr_element.appendChild(td_element6); tbody_element.appendChild(tr_element); table_element.appendChild(tbody_element); content_id_0.appendChild(table_element); } function draw_search_division(msg){ var tbody = Element('tbody_box'); var tr = document.createElement("TR"); var td = document.createElement("TD"); td.colSpan = '7'; td.width = '100%'; var action_info_table = document.createElement("TABLE"); var action_info_tbody = document.createElement("TBODY"); action_info_table.className = "action_info_table"; action_info_table.width = "100%"; var action_info_tr = document.createElement("TR"); var action_info_th1 = document.createElement("TH"); action_info_th1.width = "40%"; action_info_th1.innerHTML = " "; var action_info_th2 = document.createElement("TH"); action_info_th2.innerHTML = msg; action_info_th2.className = "action_info_th"; action_info_th2.setAttribute("noWrap", "true"); var action_info_th3 = document.createElement("TH"); action_info_th3.width = "40%"; action_info_th3.innerHTML = " "; action_info_tr.appendChild(action_info_th1); action_info_tr.appendChild(action_info_th2); action_info_tr.appendChild(action_info_th3); action_info_tbody.appendChild(action_info_tr); action_info_table.appendChild(action_info_tbody); td.appendChild(action_info_table); tr.appendChild(td); tbody.appendChild(tr); } function draw_search_box(){ var content_id_0 = Element("content_id_0"); var table = document.createElement("TABLE"); table.id = "table_box"; table.width = 'auto'; var tbody = document.createElement("TBODY"); tbody.id = "tbody_box"; table.className = "table_box"; table.setAttribute("frame", "below"); table.setAttribute("rules", "none"); table.setAttribute("cellpadding", "0"); table.onkeydown = function (e){ if (is_ie) { if ((window.event.keyCode) == 46) { //delete_all_selected_msgs_imap(); proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); } } else { if ((e.keyCode) == 46) { //delete_all_selected_msgs_imap(); proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); } } }; if (is_ie) table.style.cursor = "hand"; table.appendChild(tbody); content_id_0.appendChild(table); } var idx_cc = 0; function draw_plugin_cc(ID, addrs){ connector.loadScript("ccQuickAdd"); var array_addrs = ''; var array_name = ''; var cc_data = new Array(); if(typeof(addrs.name) != 'undefined') { array_name = LTrim(addrs.name).split(" "); array_addrs = new Array(addrs.email); } else { array_addrs = (typeof addrs == 'object' ? addrs.toString().split("\" ") : addrs.split("\" ")); array_name = LTrim(array_addrs[0]).replace('"','').split(" "); } var _split = array_name[0].split('@'); cc_data[0] = _split[0]; cc_data[1] = _split[0]; cc_data[2] = ''; for (i=1; i < array_name.length; i++) cc_data[2] += array_name[i] + " "; if(array_addrs.length > 1) cc_data[3] = array_addrs[1] ? array_addrs[1].replace("<",'').replace(">",'') : ''; else cc_data[3] = array_addrs[0]; var sm_envelope_img1 = ''; var to_addybook_add = ""; to_addybook_add += addrs; to_addybook_add += sm_envelope_img1; idx_cc++; to_addybook_add += ""; return to_addybook_add; } function deny_email(email){ connector.loadScript("filter"); connector.loadScript("filters"); var dn_em = document.createElement("SPAN"); dn_em.id = "tt_d"; dn_em.onclick = function(){block_user_email(email); /*filter.new_rule(email);*/}; dn_em.setAttribute("title",get_lang("Block Sender")); dn_em.style.cursor = "pointer"; dn_em.innerHTML = ""; return dn_em; } function show_div_address_full(id, type) { var div_address_full = Element("div_"+type+"address_full_"+id); if(!div_address_full) { div_address_full = document.createElement("SPAN"); div_address_full.id = "div_"+type+"address_full_"+id; div_address_full.style.display="none"; var _address = eval(type+"address_array['"+id+"']"); var isOverLimit = (_address.length > 100); if(isOverLimit) { alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+ "Para evitar o travamento do navegador, o botão 'Adicionar Contato' foi desabilitado!"); } for(var idx = 1 ; idx < _address.length;idx++) { div_address_full.innerHTML += isOverLimit ? '
    '+_address[idx] : ','+draw_plugin_cc(id,_address[idx]); } div_address_full.innerHTML += " ("+get_lang('less')+")"; Element(type+"_"+id).appendChild(div_address_full); } Element('div_'+type+'address_'+id).style.display='none'; div_address_full.style.display=''; } function draw_footer_box(num_msgs){ folder = get_current_folder(); connector.loadScript('wfolders'); var span_R = Element("table_message"); var span_options = Element("span_options"); if(!span_options) { span_options = document.createElement("TD"); span_options.style.fontSize = "12"; span_options.id = "span_options"; span_R.appendChild(span_options); } var change_font_color = 'onmouseover="var last_class = this.className;'+ 'if (this.className != \'message_options_over\')'+ 'this.className=\'message_options_active\'; '+ 'this.onmouseout=function(){this.className=last_class;}"'; span_options.innerHTML = ''+get_lang("Delete")+''+ ''+get_lang("Move")+''+ ((expresso_offline)?" ":''+get_lang("Print")+'')+ // ''+get_lang("Print")+''+ ((expresso_offline)?" ":''+get_lang("Export")+'') + ((expresso_offline)?" ":''+get_lang("Import")+''); if(preferences.use_local_messages==1 && !expresso_offline) if(proxy_mensagens.is_local_folder(current_folder)) span_options.innerHTML += '  '+get_lang("Unarchive")+''; else span_options.innerHTML += '  '+get_lang("Archive")+''; if (use_spam_filter) { if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) { span_options.innerHTML += ' | '+get_lang("Not Spam")+''; } else { span_options.innerHTML += ' | '+get_lang("Mark as Spam")+''; } } var span_D = Element("span_D"); if(!span_D){ span_D = document.createElement("TD"); span_D.align = "right"; span_D.style.fontSize = "12"; span_D.id = "span_D"; span_R.appendChild(span_D); } span_D.innerHTML = get_lang("List")+': '+ ''+get_lang("All")+', '+ ''+get_lang("l_unseen")+', '+ ''+get_lang("l_seen")+', '+ ''+get_lang("l_answered")+', '+ ''+get_lang("l_important")+'  '; draw_paging(num_msgs); Element("tot_m").innerHTML = num_msgs; }