/** * 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.) */ focusIn = ""; canMakeBox = true; fastSearch = false; selectedPagingMsgs = {}; allMsgsSelected = false; totalFolderMsgs = 0; var jqXHR = new Array(); var idattachbycontent = 0; onceOpenedHeadersMessages = {}; var cache = new Array(); 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); } //MAILARCHIVER-01 //Create local folders main structure tree if(preferences.use_local_messages=="1"){ var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here if(!expresso_mail_archive.enabled){ //window.alert('tem o nodo disabled? ' + tree_folders.getNodeById("local_disabled") + '[' + typeof(tree_folders.getNodeById('local_disabled')) + ']'); if(typeof(tree_folders.getNodeById("local_disabled")) == 'undefined'){ var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); tree_folders.add(n_LocalDisabled, 'local_root'); } tree_folders.getNodeById("local_disabled").alter({caption:get_lang('Offline'), onClick: "retry_local_folders()"}); tree_folders.getNodeById("local_disabled")._refresh(); if((disabled_local_span) && (!document.getElementById('services_retry'))){ disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; var service_retry = document.createElement("SPAN"); service_retry.id = 'services_retry'; service_retry.className = 'clean_trash'; service_retry.style.cursor = 'pointer'; service_retry.onclick = function () {services_retry();}; service_retry.innerHTML = "["+get_lang("Retry")+"]"; service_retry.title="Reconectar ao Mail Archiver"; service_retry.onmouseover = function() {service_retry.style.color="red";}; service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 disabled_local_span.parentNode.appendChild(service_retry); } else{ //Creates the tree node and MA console linkage if((!disabled_local_span) && (!document.getElementById('services_retry'))){ var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); tree_folders.add(n_LocalDisabled, 'local_root'); var disabled_local_span = document.getElementById('llocal_disabledtree_folders'); disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; var service_retry = document.createElement("SPAN"); service_retry.id = 'services_retry'; service_retry.className = 'clean_trash'; service_retry.style.cursor = 'pointer'; service_retry.onclick = function () {services_retry();}; service_retry.innerHTML = "["+get_lang("Retry")+"]"; service_retry.title= get_lang("Reconect to MailArchiver services"); service_retry.onmouseover = function() {service_retry.style.color="red";}; service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 disabled_local_span.parentNode.appendChild(service_retry); var div_ma_host = document.createElement('div'); div_ma_host.id = 'div_login_ma_host'; div_ma_host.style.position = 'absolute'; div_ma_host.style.padding = '0px'; div_ma_host.style.margin = '0px'; div_ma_host.style.top = '25px'; div_ma_host.style.left = '0px'; div_ma_host.style.width = '145px'; div_ma_host.style.height = '80px'; div_ma_host.style.border = '1px solid #CCCCCC'; div_ma_host.style.backgroundColor = '#F0F0F0'; div_ma_host.style.fontWeight = 'normal'; disabled_local_span.appendChild(div_ma_host); div_ma_host.innerHTML = '

'+get_lang('In trouble?')+'

→ ' + get_lang('Try to access') + '
'+get_lang('MailArchiver admin console')+'.

'; } //Only creates the MA login linkage else{ var div_ma_host = document.createElement('div'); div_ma_host.id = 'div_login_ma_host'; div_ma_host.style.position = 'absolute'; div_ma_host.style.padding = '0px'; div_ma_host.style.margin = '0px'; div_ma_host.style.top = '25px'; div_ma_host.style.left = '0px'; div_ma_host.style.width = '145px'; div_ma_host.style.height = '80px'; div_ma_host.style.border = '1px solid #CCCCCC'; div_ma_host.style.backgroundColor = '#F0F0F0'; div_ma_host.style.fontWeight = 'normal'; disabled_local_span.appendChild(div_ma_host); div_ma_host.innerHTML = '

'+get_lang('In trouble?')+'

→ ' + get_lang('Try to access') + '
'+get_lang('MailArchiver admin console')+'.

'; } } } //Services enabled: list folders service must be invoqued else{ var services_retry_span = document.getElementById('services_retry'); if(services_retry_span){ //window.alert('Tem services_retry -> vai remover o disabled_local_span'); var node_disabled_to_remove = document.getElementById('nlocal_disabledtree_folders'); //document.getElementById('chlocal_roottree_folders').removeChild('nlocal_disabledtree_folders'); //services_retry_span.parentNode.removeChild(services_retry_span); node_disabled_to_remove.parentNode.removeChild(node_disabled_to_remove); } //else // window.alert('Sem services retry'); //tree_folders.getNodeById("local_disabled").alter({caption:get_lang('List_Folders')}); var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; expresso_mail_archive.drawdata = drawinginfo; //expresso_mail_archive.getFoldersList(""); //tree_folders.getNodeById("local_root")._refresh(); if(disabled_local_span) disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_folder.png)"; } } 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); } } //MAILARCHIVER-02 //Create local folders main structure tree if(preferences.use_local_messages=="1"){ //Add the local_root node var root_local = new dNode({id: "local_root", caption: get_lang('local folders'), plusSign: true}); tree_folders.add(root_local, "root"); //Services are disabled: because Mail Archiver is not running/installed or have just crashed. Link activation is created here if(!expresso_mail_archive.enabled){ var n_LocalDisabled = new dNode({id: "local_disabled", caption: get_lang('Offline'), onClick: "services_retry()", plusSign:false}); tree_folders.add(n_LocalDisabled, 'local_root'); } //Services enabled: list folders service must be invoqued else{ var drawinginfo = {treeObject: tree_folders, treeName: 'tree_folders'}; expresso_mail_archive.drawdata = drawinginfo; //expresso_mail_archive.getFoldersList(""); } //Opens the local folders tree view //tree_folders.getNodeById("local_root").open(); } 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 */ /*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)"; //MAILARCHIVER-04 if ((disabled_local_span) && (!expresso_mail_archive.enabled)){ disabled_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_services.png)"; //div to login at MA Admin console var div_ma_host = document.createElement('div'); div_ma_host.id = 'div_login_ma_host'; div_ma_host.style.position = 'absolute'; div_ma_host.style.padding = '0px'; div_ma_host.style.margin = '0px'; div_ma_host.style.top = '25px'; div_ma_host.style.width = '145px'; div_ma_host.style.height = '80px'; div_ma_host.style.border = '1px solid #CCCCCC'; div_ma_host.style.backgroundColor = '#F0F0F0'; div_ma_host.style.fontWeight = 'normal'; disabled_local_span.appendChild(div_ma_host); div_ma_host.innerHTML = '

'+get_lang('In trouble?')+'

→ ' + get_lang('Try to access') + '
'+get_lang('MailArchiver admin console')+'.

'; } 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); } //MAILARCHIVER-05 if(document.getElementById("nlocal_disabledtree_folders") && (!expresso_mail_archive.enabled) && (!document.getElementById('services_retry'))) { var service_retry = document.createElement("SPAN"); service_retry.id = 'services_retry'; service_retry.className = 'clean_trash'; service_retry.style.cursor = 'pointer'; service_retry.onclick = function () {services_retry();}; service_retry.innerHTML = "["+get_lang("Retry")+"]"; service_retry.title="Reconectar ao Mail Archiver"; service_retry.onmouseover = function() {service_retry.style.color="red";}; service_retry.onmouseout= function() {service_retry.style.color="#666666";}; //#114FA4 document.getElementById("nlocal_disabledtree_folders").appendChild(service_retry); } //MAILARCHIVER-00 //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 */ //MAILARCHIVER-04 if ( preferences.use_local_messages=="1" ) { var local_folders_list = expresso_mail_archive.getFoldersList(""); } } // 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) { selectAllFolderMsgs(false); 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(data.tot_unseen > 0 ? data.tot_unseen : "0").css("color","red"); //$("#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; } //MAILARCHIVE //se for pasta local if (/^local_messages/.test(current_folder)) { $(".folders-loading").removeClass("folders-loading"); //remove o icone de loading ao clicar nas pastas locais } else { //se não, processamento normal da pasta $.ajax({ async: false, url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds", folder: folder, msg_range_begin: "0", msg_range_end: "0", sort_box_type: "SORTARRIVAL", search_box_type: search_box_type, sort_box_reverse: "1" }), success: function(data){ data = connector.unserialize(data); if(data){ var _data = {}; $.each(data,function(index,value){ if (data[index] && data[index]){ _data[data[index]] = data[index]; } }); populateSelectedMsgs(_data); _data = {}; } }, beforeSend: function( jqXHR, settings ){ connector.showProgressBar(); }, complete: function( jqXHR, settings ){ connector.hideProgressBar(); } }); } 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%'); $('#colgroup_head_'+numBox).find('col').each(function(index,value){ $(this).attr('width',colSizes[1][index]); }); $('#colgroup_main_'+numBox).find('col').each(function(index,value){ $(this).attr('width',colSizes[1][index]); }); } 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_message_header_box_'+numBox).find('td').each(function(index,value){ $(this).width(colSizes[1][index]); }); $('#divScrollMain_'+numBox).find('tr:first').find('td').each(function(index,value){ $(this).width(colSizes[1][index]); }); } $('#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'); div.html('Nenhuma mensagem foi selecionada.'); div.attr('class','select-all-messages'); $('#content_id_0').first().prepend(div); //div.css('display','none'); } function totalSelected(){ var total = 0; for(var obj in selectedPagingMsgs) if (selectedPagingMsgs[obj] == true) total++; return total; }; /*Atualiza o array de mensagens selecionadas*/ function updateSelectedMsgs(selected,msg_number){ var folder = $('#content_folders .folder.selected').attr('title'); folder = folder ? folder : get_lang('INBOX'); folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; var div = $('.select-all-messages'); var filterFlag = search_box_type != "ALL" ? '"' + get_lang(search_box_type) + "s" + '"': ""; /*Seleciona as mensagens ao navegar pelas páginas*/ if (allMsgsSelected && msg_number == undefined){ $('.checkbox').each(function(){ $(this).attr('checked', true); $(this).parent().parent().addClass('selected_msg'); }); } else if (msg_number == undefined){ for(var obj in selectedPagingMsgs){ if (selectedPagingMsgs[obj] == true){ $('#check_box_message_'+obj).attr('checked', true); $('#check_box_message_'+obj).parent().parent().addClass('selected_msg'); } } } if (selected && msg_number != undefined){ selectedPagingMsgs[msg_number] = true; $(this).parent().parent().addClass('selected_msg'); } else if(!selected && msg_number != undefined){ selectedPagingMsgs[msg_number] = false; $(this).parent().parent().removeClass('selected_msg'); allMsgsSelected = false; $('#chk_box_select_all_messages').attr('checked',false); } var tSelected = totalSelected(); /*Todas as mensagens selecionadas uma a uma*/ if (tSelected > 0 && tSelected == totalFolderMsgs){ allMsgsSelected = true; $('#chk_box_select_all_messages').attr('checked',true); if (total_pages > 1){ var link = "Limpar seleção?"; var info = "Todas as "+totalFolderMsgs+" mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; div.html(""+info+""); div.show(); $('.select-link').bind('click',function(){selectAllFolderMsgs();$('.select-link').unbind('click');}); } } /*Se foram selecionadas algumas mensagens*/ else if (tSelected > 0 && !allMsgsSelected && total_pages > 1){ $('#chk_box_select_all_messages').attr('checked',false); var link = "Limpar seleção?"; if (tSelected == 1){ var info = "Foi selecionada "+tSelected+" mensagem "+filterFlag+" em "+folder+". "+link; } else{ var info = "Foram selecionadas "+tSelected+" mensagens "+filterFlag+" em "+folder+". "+link; } div.html(""+info+""); div.show(); $('.select-link').bind('click',function(){ selectAllFolderMsgs(); $('.select-link').unbind('click'); }); } else if (allMsgsSelected && total_pages > 1){ var link = "Limpar seleção?"; var info = "Todas as "+totalFolderMsgs+" mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; div.html(""+info+""); div.show(); $('.select-link').bind('click',function(){ selectAllFolderMsgs(); $('.select-link').unbind('click'); }); } else if (totalFolderMsgs > parseInt(preferences.max_email_per_page)){ div.html('Nenhuma mensagem foi selecionada.'); } else{ div.hide(); } resizeWindow(); } /*Seleciona ou desseleciona todas as mensagens da pasta*/ function selectAllFolderMsgs(select){ var folder = $('#content_folders .folder.selected').attr('title'); folder = folder ? folder : get_lang('INBOX'); folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; var filterFlag = search_box_type != "ALL" ? get_lang(search_box_type) + "s": ""; var div = $('.select-all-messages'); if (select){ allMsgsSelected = true; var link = "Limpar seleção?"; var info = "Todas as "+totalFolderMsgs+" mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; div.html(""+info+""); //div.show(); $('.select-link').bind('click',function(){ selectAllFolderMsgs(); $('.select-link').unbind('click'); }); for(var obj in selectedPagingMsgs){ selectedPagingMsgs[obj] = true; } }else{ allMsgsSelected = false; var checkbox = $("#content_id_0").find("input:checkbox"); $.each(checkbox, function(i, v){ $(v).removeAttr("checked"); $(v).parents("tr:first").removeClass("selected_msg selected_shortcut_msg"); }); for(var obj in selectedPagingMsgs){ selectedPagingMsgs[obj] = false; } div.html('Nenhuma mensagem foi selecionada.'); } resizeWindow(); } /*Carrega o array de mensagens da pasta*/ function populateSelectedMsgs(data){ this.selectedPagingMsgs = {}; this.totalFolderMsgs = 0; var total = 0; $.each(data, function(index, value){ if(value != undefined){ selectedPagingMsgs[value] = false; total++; } }); delete selectedPagingMsgs[undefined]; allMsgsSelected = false; this.totalFolderMsgs = total; } // Draw the inbox and another folders function draw_box(headers_msgs, msg_folder, alternate){ /* * When the paging response is not in the correct folder you need to change folder * This occurs when the Ajax response is not fast enough and the user click in outher * folder before finishing the Ajax request */ if (msg_folder != headers_msgs['folder']) { if (headers_msgs['folder']) { array_folder = headers_msgs['folder'].split('/'); if (array_folder.length > 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").addClass("selected_msg").find('.checkbox').attr('checked',true); $.each( $(".selected_shortcut_msg"), function(index, value){ updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); }); } if(totalSelected() > 1 ) return $(""+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" 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"); } updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); } }); } 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){ $.ajax({ url: 'controller.php?' + $.param( {action: '$this.imap_functions.get_info_msg', msg_number: msg_number, msg_folder: msg_folder, decoded: true } ), success: function( data ){ data = connector.unserialize( data ); if( data ) show_msg( data ); }, beforeSend: function( jqXHR, settings ){ connector.showProgressBar(); }, complete: function( jqXHR, settings ){ connector.hideProgressBar(); } }); Element('msg_folder').value = ''; Element('msg_number').value = ''; } connector.loadScript("InfoContact"); // 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); } drawSelectMsgsTable(); updateSelectedMsgs(); resizeWindow(); } 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 = ""; tr_element.tip = ""; //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 = html_entities(Base64.decode(headers_msgs.msg_sample.body).substr(0,180) + "..."); //trecho do body que sera exibido com o assunto; else tr_element.msg_sample = html_entities(Base64.decode(headers_msgs.msg_sample.body).substr(0,120) + "..."); //trecho do body que sera exibido com o assunto; //if(preferences.use_local_messages==1 && !expresso_offline) { //MailArchive if(proxy_mensagens.is_local_folder(current_folder)) { // preferencia da pre-visualizacao if (cssForResizing) {//Colunas redimensionaveis - nao trunca tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,180) + "..."; //trecho do body que sera exibido com o assunto; //blabla } else { tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; } // preferencia dos tooltips if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1" && headers_msgs.msg_sample.body !== "") { tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; } } /*}*/ else { //IMAP // preferencia da pre-visualizacao if (cssForResizing) { //Colunas redimensionaveis - nao trunca /*problema no decode, se ele for utilizado, nao lista as mensagens -> CORRIGIDO em mail_archiver.js*/ //if (headers_msgs.msg_sample.body.length > 0) tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,180) + "..."; //trecho do body que sera exibido com o assunto; //blabla } else { //if (headers_msgs.msg_sample.body.length > 0) tr_element.msg_sample = Base64.decode(headers_msgs.msg_sample.body).substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; } // preferencia dos tooltips 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 !== undefined && 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){ updateSelectedMsgs($(this).is(':checked'),headers_msgs.msg_number); $(".selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); $(".current_selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); if(preferences.use_shortcuts == '1') $(this).parents("tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); changeBgColor(e,headers_msgs.msg_number); $(this).blur(); }); td_element1.appendChild(chk_box_element); td_element2 = createTDElement(0,1,"td_msg"); if (headers_msgs.attachment && (headers_msgs.attachment == 1 || headers_msgs.attachment.number_attachments> 0)) 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 && 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 += ($.trim(headers_msgs.subject) == "" ? "("+get_lang("No Subject")+")" : 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"); if(get_current_folder().split("_")[0] != "local"){ td_element26.innerHTML = '
'; } else { 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 = 'success'; $.each(data, function(index, value) { if(typeof value === 'string'){ fail = value; } }); $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") .html(''); if(fail != 'success'){ $('#td_message_followup_' + messageClickedId + ', ' + 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited").css("background", "#CCCCCC"); MsgsCallbackFollowupflag[fail](); }else{ $('#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 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,clean_selected){ if (typeof(clean_selected) == "undefined") selectAllFolderMsgs(false); 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; if (typeof(clean_selected) == "undefined"){ $.ajax({ url: "controller.php?" + $.param( {action: "$this.imap_functions.getMessagesIds", folder: get_current_folder(), sort_box_type: "SORTARRIVAL", search_box_type: search_box_type, sort_box_reverse: "1" }), success: function(data){ data = connector.unserialize(data); if(data){ var _data = {}; $.each(data,function(index,value){ if (value){ _data[index] = value; } }); populateSelectedMsgs(_data); } }, beforeSend: function( jqXHR, settings ){ connector.showProgressBar(); }, complete: function( jqXHR, settings ){ connector.hideProgressBar(); } }); } 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"); if (sort_box_type == "SORTFROM") type_name = 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){ // remove a flag $FilteredMessage da mensagem ao ser lida if(info_msg.Unseen == "U"){ $.each(fromRules, function(index, value) { if(value == info_msg.msg_folder){ cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+info_msg.msg_folder+"&msg_number="+info_msg.msg_number, function(){}); return false; } }); } 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){ 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',null,ID.split("_r_")[0]); 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; changeLinkState(_this, 'important'); proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged',null,ID.split("_r_")[0]); 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',null,ID.substr(0, ID.length-2)); proxy_mensagens.proxy_set_message_flag(folder_id,'flagged',null,ID.split("_r_")[0]); 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"; if(info_msg.from){ 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; if(info_msg.from){ 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"; if(info_msg.from){ 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"; if(info_msg.from){ 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. $.each(break_comma(info_msg.reply_to), function(index, value){ reply_to.innerHTML += draw_plugin_cc(ID, value); }) 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] = break_comma(info_msg.toaddress2); var notValidUser = false; 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"); notValidUser = true; } to.innerHTML += draw_plugin_cc(ID,toAdd, notValidUser, notValidUser); } 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] = break_comma(info_msg.cc); 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_task_logo = document.createElement("IMG"); new_task_logo.title = "Criar uma nova tarefa a partir deste email."; new_task_logo.alt = "Criar uma nova tarefa a partir deste email."; new_task_logo.src = "./templates/default/images/big-task.png"; new_task_logo.style.cursor = "pointer"; new_task_logo.style.marginLeft = "5px"; new_task_logo.onclick = function(){ import_implements_calendar(); DataLayer.dispatchPath = "../prototype/"; var path = "../prototype/modules/calendar/"; taskDetails(decodeCreateSchedulable('task', ID), true, path, true); } 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.src = "./templates/default/images/big-event.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/"; eventDetails(decodeCreateSchedulable('event', ID), true, path, true); } subject.appendChild(new_event_logo); subject.appendChild(new_task_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; var parserImport = false; for (var i=0; i'); $.ajax({ url: "controller.php?action="+import_url+'&from_ajax=true&selected=true', success: function(msg){ $('.type_images').append('').parent().find('.loader').remove(); write_msg( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento foi Atualizado com sucesso" : "Ocorreu um erro ao atualizar evento" ); } }); return; break; case 4: $('.type_images').append(''); write_msg("Seu evento encontra-se atualizado."); return; break; case 12: write_msg('Este evento não existe mais.'); return; break; } } }); } //k!! var div = document.createElement("DIV"); div.id = "div_message_scroll_"+ID; div.style.background = 'WHITE'; div.style.overflow = "auto"; table_message_others_options.appendChild(tbody_message_others_options); var tr = document.createElement("TR"); tr.className = "tr_message_header"; var td = document.createElement("TD"); td.colspan = '2'; td.style.fontSize = '10pt'; td.style.fontFamily = 'Arial,Verdana'; td.style.verticalAlign = 'top'; td.style.height = '100%'; div.appendChild(table_message_others_options); var imgTag = info_msg.body.match(/(]*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=' + utf8_decoder(fdr) + '&msgNumber=' + msg + '&indexPart=' + thumb.pid + '&image=true'; //var href = thumb.url; var src = 'inc/get_archive.php?msgFolder=' + utf8_decoder(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(); $("#div_message_scroll_"+ID).scrollTo( 0, 400, {queue:true} ); } 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(); } //DESENHO DAS CAIXA DE EMAIL function draw_email_box(input_data, location, personal, shared){ if($.trim(input_data) != ""){ var box_data = valid_emails(input_data); var html = DataLayer.render("../prototype/modules/mail/templates/emailBox.ejs", box_data); var newBox = location.before(html).prev(); box_actions(newBox); if((preferences.expressoMail_ldap_identifier_recipient || personal)&& $(newBox).hasClass("invalid-email-box")){ //$(newBox).find(".loading").css("background-image", "../prototype/modules/mail/img/ajax-loader.gif"); show_detais(newBox, input_data, personal, shared); }else{ $(newBox).find(".box-loading").remove(); } } } function valid_emails(email){ var ContactBox = {name:"", email:"", valid : false}; var reSimpleEmail = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[_a-z0-9-]+(\.[_a-z0-9-]+)+$/; var reComplexEmail = /<([^<]*)>[\s]*$/; var validation = email.split('"'); //FUNÇÃO QUE VALIDA OS DADOS QUANDO O EMAIL É DIGITADO COM ("NOME SOBRENOME" ) var complexValidation = function(complexMail){ var Objct = {}; if($.trim(complexMail[1]).match(reComplexEmail)){ if($.trim(complexMail[1]).match(reComplexEmail).length){ Objct['email'] = $.trim(complexMail[1]).match(reComplexEmail)[1]; } }else{ Objct['email'] = $.trim(complexMail[1]); } Objct['name'] = complexMail[0]; Objct['valid'] = reSimpleEmail.test(Objct['email'].toLowerCase()); return Objct; } switch (validation.length) { //PEGA TODO O CONTEUDO E SETA COMO SE FOSSE O EMAIL case 1: validation.unshift(""); ContactBox = complexValidation(validation); break; //CORRIGI ERRO DE DIGITAÇÃO COMO ( huahua") ou (hahahaha"huahua@email.com) ou ainda (hahahaha"huahua@ema il.com) case 2: ContactBox = complexValidation(validation); break; //RECEBE O EMAIL CORRETAMENTE SÓ VALIDA POSSIVEIS ERROS COMO O DE CIMA E OS CORRIGI CASO ACONTEÇAM case 3: //RETIRA O PRIMEIRO INDICE QUE FICOU "INUTIL" validation.shift(); ContactBox = complexValidation(validation); break; //SE EXISTIREM MAIS DO QUE 2 (") default: if($.trim(validation[validation.length-1]).match(reComplexEmail)){ if($.trim(validation[validation.length-1]).match(reComplexEmail).length){ ContactBox.mail = $.trim(validation[validation.length-1]).match(reComplexEmail)[1]; } }else{ ContactBox.mail = $.trim(complexMail[1]); } ContactBox.valid = reSimpleEmail.test(ContactBox.mail.toLowerCase()); } return ContactBox; } //EVENTO DOS INPUTS PARA - CC - CCO function input_keydowns(input, ID){ var f9 = false; input.keydown(function(e){ f9 = false; focusIn = input; var focusing = input.parent().find(".email-text"); //SE OS CONTATOS DINAMICOS ESTAO ATIVOS if(parseInt(preferences.use_dynamic_contacts) && !input.hasClass("box-input")){ //SELECIONA O CONTATO E EVITA OUTROS COMANDOS if ( e.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { e.preventDefault(); return false; } //FECHA OS CONTATOS DINÂMICOS if( (e.keyCode == 27) && $( this ).data( "autocomplete" ).menu.active ){ e.stopPropagation(); e.preventDefault(); } //SELECIONA O CONTATO E EVITA OUTROS COMANDOS if(e.keyCode == $.ui.keyCode.ENTER && $( this ).data( "autocomplete" ).menu.active){ e.preventDefault(); return false; } if(e.keyCode == $.ui.keyCode.DELETE && $( this ).data( "autocomplete" ).menu.active){ if($($( this ).data( "autocomplete" ).menu.element).find(".ui-state-hover").parents("li:first").hasClass("dynamic-recent")) $($( this ).data( "autocomplete" ).menu.element).find(".ui-state-hover").next().trigger("click"); return false; } } //BUSCA COM A TECLA F9 if((e.keyCode) == 120){ f9 = true; emQuickSearch($(this).val(), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true); e.preventDefault(); return false; } //AO DIGITAR ENTER, ";", "," " " if(e.keyCode == 13 || e.keyCode == 9 || (e.keyCode == 191 && !e.shiftKey) ){ if(e.keyCode == 13){ e.preventDefault(); } if(input.val() != ""){ if(e.keyCode == 188 && !e.shiftKey && input.val().split("\"").length > 1){ return; } if(e.keyCode != 9) e.preventDefault(); draw_email_box(input.val(), input); if(input.hasClass("box-input")){ input.remove(); focusing.focus(); return; } } if(input.length) input.val(""); } if((e.keyCode == 8 || e.keyCode == 37) && input.val() == "" && input.prev().hasClass("box")){ e.preventDefault(); input.prev().focus(); return; } //AO DIGITAR ">" if(e.keyCode == 190 && e.shiftKey && input.val().length == getPosition(input[0])){ input.val(input.val()+">"); draw_email_box(input.val(), input); e.preventDefault(); input.val(""); if(input.hasClass("box-input")){ input.remove(); focusing.focus(); return; } } setTimeout(function(){ // CASO FOR PRESSIONADO "," OU ";", É CRIADA UMA CAIXINHA. if(input.val()[input.val().length-1] == ";"){ draw_email_box(input.val().substring(0, input.val().length-1), input); input.val(""); } else if(input.val()[input.val().length-1] == ","){ draw_email_box(input.val().substring(0, input.val().length-1), input); input.val(""); } }, 100); //INPUT AUTO RESIZE setTimeout(function(){ input_search = $(input).val(); var char = input.val().charAt(input.val().length-1); var maiusculas = RegExp("[A-Z]"); /*Se o ultimo caracter for ">" é porque o campo está sendo editado (a partir de duplo clique)*/ var tamanho = 0; if(char == ">"){ /*Faz um calculo prévio do tamanho do campo de acordo com o tamanho de cada caracter da string*/ for(i=0; i 1){ var str = break_comma(pthis.val());//.replace(/[,;\t]/gi, ","); }else{ var str = pthis.val().replace(/[,;\t\n]/gi, ","); str = str.split(","); } if(str.length != 1){ $.each(str, function(index, value){ draw_email_box(value, pthis); }); }else if(str[0].split(" ").length == 1){ draw_email_box(str[0], pthis); }else{ $(pthis).val(str[0]); return false; } $(pthis).val(""); }, 50); }); //SE FOR EDIÇÃO DE EMAILS RECALCULA O INPUT E SETA O FOCO if(input.hasClass("box-input")){ input.css("max-width",parseInt(input.parents(".email-area:first").css("width"))-15); input.trigger("keydown"); input.focus(); } } var input_search = ""; var click = false; //EVENTOS DA CAIXA function box_actions(box){ //AO PRESSIONAR UMA TECLA COM A CAIXA SELECIONADA box.keydown(function(e){ switch (e.keyCode) { case $.ui.keyCode.LEFT: //VERIFICA SE EXISTE ALGUMA CAIXA A ESQUERDA if($(this).prev().hasClass("box")) $(this).removeClass("box-selected").prev().focus(); break; case $.ui.keyCode.RIGHT: //VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA if($(this).next().hasClass("box")) $(this).removeClass("box-selected").next().focus(); //SENAO FOCO O INPUT DO EMAIL else $(this).removeClass("box-selected").next().focus(); break; case $.ui.keyCode.HOME: //SELECIONO A PRIMEIRA CAIXA e.preventDefault(); $(this).parents(".email-area").find("div:first").focus(); break; case $.ui.keyCode.END: //SELECIONO A ULTIMA CAIXA e.preventDefault(); $(this).parents(".email-area").find("div:last").focus(); break; case $.ui.keyCode.DELETE: //VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA if($(this).next().hasClass("box")) $(this).next().focus(); //SENAO FOCO O INPUT DO EMAIL else $(this).next().focus(); //REMOVO ESTA CAIXA $(this).remove(); break; case $.ui.keyCode.BACKSPACE: //VERIFICA SE EXISTE ALGUMA CAIXA A ESQUERDA if($(this).prev().hasClass("box")) $(this).removeClass("box-selected").prev().focus(); //SENAO HOUVER VERIFICA SE EXISTE ALGUMA CAIXA A DIREITA else if($(this).next().hasClass("box")) $(this).next().focus(); //SENAO HOUVER NEM A DIREITA NEM A ESQUERDA SETO O FOCO NO INPUT DO EMAIL else $(this).next().focus(); //REMOVO ESTA CAIXA $(this).remove(); e.preventDefault(); break; case $.ui.keyCode.ENTER: e.preventDefault(); $(this).trigger("dblclick"); break; } }) //AO FAZER UM DUPLO CLICK NA CAIXA .dblclick(function(e){ var input = $(this).find("input").clone(); input.css("display" , "inline-block"); $(this).before(input); $(this).remove(); $(input).focus(); input_keydowns(input, currentTab); //CLICK SIMPLES NA CAIXA }).click(function(){ $(this).focus(); //AO DAR O FOCO NA CAIXA }).focus(function(){ $(this).parent().find("div").removeClass("box-selected"); $(this).addClass("box-selected"); }).focusout(function(){ $(this).removeClass("box-selected"); }).draggable({ revert: 'invalid', helper : 'clone', stack: "body", containment : ".new-msg-head-data", start: function(e, ui){ $(this).parent().droppable( "disable" ); }, stop : function(e, ui){ $(this).parent().droppable( "enable" ); } }); } //MOSTRA OS DETALHES DAS CAIXA DE EMAIL NOS CAMPOS PARA - CC - CCO function show_detais(box, value, personal, shared){ var ldap_id = preferences.expressoMail_ldap_identifier_recipient; var group = (personal != undefined ? (personal == "G" ? true : false) : false); shared = shared ? shared : false; if(group){ REST.get("/"+ (shared ? "shared" : "") +"group/"+value, {}, function(data){ if(!data.error){ if(data.collection.error) box.find(".box-loading").remove(); else{ box.find(".box-loading").removeClass("box-loading").addClass("box-info"); box.addClass("box-"+value).removeClass("invalid-email-box"); loadGroupBox(data.collection, ".box-"+value); box.unbind("dblclick").bind("dblclick", function(e){ new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { 'buttons': false, 'modal': false, 'position': ['right - 20', 'top + 20'], 'auto_close': 3000 }); }).find(".box-input").val("\""+data.collection.data[1].value+"\" <"+$.trim(data.collection.data[2].value)+">"); box.find(".email-box-value").html( (data.collection.data[1].value.length > 18 ? data.collection.data[1].value.substring(0, 15)+"...": data.collection.data[1].value)) } }else{ box.find(".box-loading").remove(); } }); return; } if(personal){ REST.get("/"+ (shared ? "shared" : "") +"personalContact/"+value, {}, function(data){ if(!data.error){ if(data.collection.error) box.find(".box-loading").remove(); else{ var item = normalizeContact(data.collection.itens[0].data); box.find(".box-loading").removeClass("box-loading").addClass("box-info"); box.addClass("box-"+value).removeClass("invalid-email-box"); loadExtraLDAPBox(item, ".box-"+value); box.unbind("dblclick").bind("dblclick", function(e){ new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { 'buttons': false, 'modal': false, 'position': ['right - 20', 'top + 20'], 'auto_close': 3000 }); }).find(".box-input").val("\""+item.name+"\" <"+$.trim(item.email)+">"); box.find(".email-box-value").html(normalizeBoxName(item.name, item.value)); } }else{ box.find(".box-loading").remove(); } }); return; } REST.get("/usersldap", {field : ldap_id,value: value}, function(data){ if(!data.error){ if(data.collection.error) box.find(".box-loading").remove(); else{ var item = normalizeContact(data.collection.itens[0].data); box.find(".box-loading").removeClass("box-loading").addClass("box-info"); box.addClass("box-"+value).removeClass("invalid-email-box"); loadExtraLDAPBox(item, ".box-"+value); box.unbind("dblclick").bind("dblclick", function(e){ new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { 'buttons': false, 'modal': false, 'position': ['right - 20', 'top + 20'], 'auto_close': 3000 }); }).find(".box-input").val("\""+item.name+"\" <"+$.trim(item.email)+">"); box.find(".email-box-value").html(normalizeBoxName(item.name, item.value)); if(item.vacationActive == "TRUE"){ box.addClass("out-office-box"); } } }else{ box.find(".box-loading").remove(); } }); } function normalizeBoxName(name, mail){ var emailBoxValue = name.length > 18 ? name.substring(0, 15)+"...": name; emailBoxValue = emailBoxValue.length > 2 ? emailBoxValue : email.substr(0,email.indexOf('@')); emailBoxValue = emailBoxValue > 18 ? emailBoxValue.substr(0,15) + "..." : emailBoxValue; return emailBoxValue; } function normalizeContact(data){ var item = {}; $.each(data, function(j, e){ item[e.name] = e.value; }); return item; } function normalizeContacts(data){ var decoded = []; if(!$.isArray(data)){data = [data];} for(var i = 0; i < data.length; i++){ var item = {}; $.each(data[i].data, function(j, e){ item[e.name] = e.value; }); decoded.push(item); } return decoded; } dynamicData = false; currentTypeContact = ''; //FUNÇÃO QUE "SETA" OS BINDS DOS CAMPOS PARA - CC - CCO function input_binds(div, ID){ //AO CLICAR NA DIV SETA O FOCO NO INPUT div.click(function(e){ if(e.target == $(this)[0]){ $(this).find("textarea:first").focus(); $(this).find("div").removeClass("box-selected"); } }) //AO SAIR DO FOCO DA DIV ELE RETIRA TODAS AS CLASSES DE CAIXAS SELECIONADAS .focusout(function(e){ if(!$(e.target).parents(".email-area:first").length) $(this).find("div").removeClass("box-selected"); }).droppable({ hoverClass: "box-draggable-hover", accept : ".box", drop : function(e, ui){ ui.draggable.parent().droppable( "enable" ); var box = ui.draggable.clone().removeClass("box-selected"); box_actions(box); if(box.find(".box-info").length){ box.unbind("dblclick").bind("dblclick", function(e){ new $.Zebra_Dialog('Impossivel editar um contato do ldap\n' + 'Porémé possivel remove-lo', { 'buttons': false, 'modal': false, 'position': ['right - 20', 'top + 20'], 'auto_close': 3000 }); }); } $(this).prepend(box); ui.draggable.remove(); } }); //MAKE KEYDOWN input_keydowns(div.find("textarea:first"), ID); //VERIFICA PREFERENCIA DE CONTATOS DINÂMICOS ESTA ATIVA if(parseInt(preferences.use_dynamic_contacts)){ REST.get("/usercontacts", false, updateDynamicContact); //PREPARAÇÃO DA ARRAY DOS CONTATOS DINÂMICOS var decodeType = { '/dynamiccontacts': { css: 'recent', img: 'recent', text: 'Contato Recente' }, '/personalContact':{ css: 'personal', img: 'personal', text: 'Contato pessoal' }, '/sharedcontact':{ css: 'personal', img: 'sharedcontact', text: 'Contato compartilhado' }, '/groups':{ css: 'group', img: 'group', text: 'Grupo pessoal' }, '/sharedgroup':{ css: 'group', img: 'sharedgroup', text: 'Grupo compartilhado' } } div.find("textarea").autocomplete({ source: function(request, response){ if ( request.term in cache ) { response( cache[ request.term ] ); return; } if(dynamicData === false){ updateDynamicContact(); } var data = $.ui.autocomplete.filter(dynamicData, request.term ).slice(0, 50); cache[ request.term ] = data; response( data ); }, focus: function() { return false; }, //EVENTO AO SELECIONAR UM CONTATO DINÂMICO select: function( event, ui ) { canMakeBox = false; event.preventDefault(); $(this).val(""); var isShared = (ui.item.type.substring(0,7) == "/shared"); switch (ui.item.typel){ case '/personalContact': draw_email_box(""+ui.item.id, $(this), true, isShared); break; case '/groups': draw_email_box(""+ui.item.id, $(this), "G", isShared); break; default: draw_email_box(ui.item.name ? ("\""+ui.item.name+"\" <"+ui.item.mail+">") : ui.item.mail, $(this)); } return false; }, autoFocus: true, position : { my: "left top", at: "left bottom", collision: "fit" }, delay : 120, minLength: 0 }).bind('catcompleteopen', function(event, ui) { $(this).data('is_open',true); }).bind('catcompleteclose', function(event, ui) { canMakeBox = true; $(this).data('is_open',false); }).data( "autocomplete" )._renderItem = function( ul, item ) { var autocomplete = $(this)[0].element; //cálculo dinâmico da largura da lista var minwidth = 450; var width = (item.label ? item.label.length : (item.value ? item.value.length : (item.mail ? item.mail.length : 30 ))); width = (is_ie ? width*2 : (is_webkit && !is_mozilla ? width*4 : width*5)) + 30; if (width < minwidth) width = minwidth; ul.css({"min-width":width, "max-height" : "180px", "overflow-y" : "auto", "min-height": "30px"}); item.raty = ((item.number_of_messages*10)/topContact) > 1 ? ((item.number_of_messages*10)/topContact) : 1; if ( item.typel != currentTypeContact) { if((item.typel == "/groups" && $(ul).find(".dynamic-recent").length) || (item.typel == "/personalContact" && ($(ul).find(".dynamic-group").length || $(ul).find(".dynamic-recent").length))){ currentTypeContact = item.typel; item.asDiv = true; }else{ currentTypeContact = item.typel; } } var li = ''; if(item.asDiv){ li = '
  •  
  • '; } li += '
  • '; li += ''; li += ''; li += ($.trim(item.name) != "" ? ((item.name.length > 20 ? item.name.substring(0,17)+"..." : item.name) + " - " ) : '') + item.mail; li += item.type == '/dynamiccontacts' ? '
    ' : '' li += ''; li += 'Excluir contato recente'; li += '
  • '; li = $( li ) .data( "item.autocomplete", item ) //.append( li ) .appendTo( ul ); li.find("span").button({ icons : { primary : "ui-icon-close" }, text: false }).click(function(event){ if(!event.keyCode) autocomplete.autocomplete( "close" ); canMakeBox = false; $.Zebra_Dialog('Deseja remover '+(item.name ? (item.name.length <= 30 ? item.name: item.name.substr(0,27)+"...")+" - " : "")+ item.mail+'?', { 'type': 'question', 'custom_class': (is_ie ? 'configure-zebra-dialog' : ''), 'buttons': ['Sim','Não'], 'overlay_opacity': '0.5', 'onClose': function(caption) { if(caption == 'Sim'){ REST['delete']("/dynamiccontact/"+item.id); updateDynamicContact(); cache = new Array(); }else if(caption == 'Não'){ $(focusIn).focus(); } } }); }); li.find(".dynamic-stars").jRating({ step:true, length : 5, // nb of stars decimalLength: 2, // number of decimal in the rate rateMax: 10, isDisabled:true, bigStarsPath : '../prototype/plugins/jquery.jrating/icons/stars.png', // path of the icon stars.png smallStarsPath : '../prototype/plugins/jquery.jrating/icons/small.png' // path of the icon small.png }); if($(ul).find("li:last").hasClass("dynamic-separator")){ $(ul).find("li:last").remove(); } $(ul).scroll(function(){ canMakeBox = false; }); return li; }; } //FUNÇÃO DOS BOTÕES PARA - CC - CCO div.parents("tr:first").find("button").button().click(function(){ click = true; fastSearch = true; canMakeBox = false; if(!$(":focus").hasClass("new-message-input")) emQuickSearch(($(this).parents("tr:first").find("textarea").val() ? $(this).parents("tr:first").find("textarea").val() : input_search), "."+$(this).parents("tr:first").attr('class').split("-")[0], ID, undefined, true); }); } function draw_new_message(border_ID){ connector.loadScript("color_palette"); connector.loadScript('wfolders'); connector.loadScript("ccQuickAdd"); 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("").parent().find("input").focus(); field.find(".email-area div").remove(); if(!field.find("textarea").hasClass("track")){ field.find("textarea").css({"max-height" : "115px", "overflow-y" : "hidden", "max-width" : parseInt(content.find(".email-area").css("width"))-28}).addClass("track").focus(); input_binds(field.find(".email-area"), ID); } } input_binds(content.find('[name="input_aux_to"]').css("max-width" , parseInt(content.find(".email-area").css("width"))-28).focus().parent().css({"max-height" : "115px", "overflow-y" : "auto"}), ID); //Botão TextoRico/TextoSimples content.find(".new-msg-head-right-buttons").find(".button").button().filter(".rich-button").click(function(){ /*Se o texto do botão for "Texto simples" exibirá a mensagem antes de alterar para texto simples*/ if($(".rich-button").find("span").text() == get_lang("Simple Text")){ $.Zebra_Dialog(get_lang("Convert this message into plain text can make parts of it are removed. Continue?"), { 'type': 'warning', 'overlay_opacity': '0.5', 'buttons': ['OK','Cancelar'], 'width' : 380, 'onClose': function(clicked) { if(clicked == 'OK'){ RichTextEditor.setPlain(check_input(content.find('[name="textplain_rt_checkbox"]')), ID); $(".rich-button").find("span").text(get_lang("Rich Text")); } } }) } /*Se o texto do botão for "Texto rico" simplesmente altera para texto rico*/ else{ RichTextEditor.setPlain(check_input(content.find('[name="textplain_rt_checkbox"]')), ID); $(".rich-button").find("span").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')); }) //Botão Responder a .end().filter(".reply-to-button").click(function(){ show_hide(content.find(".reply-to-tr"), $(this)); }); //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); refresh(); }) //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 ) : 41943040; content.find(".new-msg-head-data").scroll(function(){ $.each(fileUploadMSG.find(".attachments-list .att-box"), function(index, value){ $(this).qtip("api").updatePosition(); $(this).qtip("api").updateWidth(); }); }); $("#fileupload_msg"+ID+"_droopzone").click(function(){ $(this).removeClass('in hover'); $(this).hide(); $(this).prev().show(); }); fileUploadMSG.find(".button").button().filter(".fileinput-button").find(".ui-button-text").css("margin-top", "2px").find("input:file").fileupload({ //singleFileUploads : true,fileUploadMSG sequentialUploads: true, type: 'post', dataType : 'json', url: "../prototype/post.php", forceIframeTransport: false, dropZone : $("#fileupload_msg"+ID+"_droopzone"), 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) { var iterator = idattachbycontent; if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { setTimeout(function() { $('#attDisposition'+ID).val('attachment'); jqXHR[iterator] = data.submit(); }, 100); } fileUploadMSG.find(' .attachments-list').show(); $.each(data.files, function (index, file) { var attach = {}; attach.fullFileName = file.name; attach.fileName = file.name; if(file.name.length > 20) attach.fileName = file.name.substr(0, 17) + " ... " + file.name.substr(file.name.length-6, file.name.length); attach.fileSize = formatBytes(file.size); if(maxAttachmentSize && file.size > maxAttachmentSize) attach.error = 'Tamanho de arquivo nao permitido' else attach.error = true; var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); upload.find('.att-box-delete').click(function(){ $("#content_id_"+currentTab+" .save").button("enable"); var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); delAttachment(ID, idAttach); $(this).parent().qtip("destroy"); $(this).parent().remove(); if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ fileUploadMSG.find(' .attachments-list').hide(); } if(jqXHR){ jqXHR[iterator].abort(); } }); fileUploadMSG.find('.attachments-list').append(upload); fileUploadMSG.find('.attachments-list .att-box:last').qtip({ content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), position: { corner: { tooltip: 'bottomMiddle', target: 'topMiddle' }, adjust: { resize: true, scroll: true, screen: true } }, show: { when: 'mouseover', // Don't specify a show event ready: false // Show the tooltip when ready }, hide: 'mouseout', // Don't specify a hide event style: { border: { width: 1, radius: 5 }, width: { min: 75, max : 1000 }, padding: 3, textAlign: 'left', tip: true, // Give it a speech bubble tip with automatic corner detection name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style } })/*.progressbar({ value : 1 })*/; fileUploadMSG.find('.attachments-list .att-box:last').css('width', fileUploadMSG.find('.attachments-list .att-box:last div:first').css('width')); 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'); idattachbycontent++ }); }, done: function(e, data){ $("#content_id_"+currentTab+" .save").button("enable"); var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); var attach = { fullFileName : attach_box.find(".att-box-fullfilename").text(), fileSize : attach_box.find(".att-box-filesize").text(), error : false }; if(!!data.result && data.result != "[]" ){ var newAttach = data.result; if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ attach_box.append(''); addAttachment(ID,newAttach['mailAttachment'][0][0].id); }else { attach_box.addClass('invalid-email-box'); attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...';//.append(newAttach.mailAttachment.error).addClass('message-attach-error'); } }else { attach_box.addClass('invalid-email-box');//.qtip("api").updateContent("oi", true); attach.error = 'Erro ao anexar...'; } attach_box.qtip("destroy").qtip({ content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), position: { corner: { tooltip: 'bottomMiddle', target: 'topMiddle' }, adjust: { resize: true, scroll: true, screen: true } }, show: { when: 'mouseover', // Don't specify a show event ready: false // Show the tooltip when ready }, hide: 'mouseout', // Don't specify a hide event style: { border: { width: 1, radius: 5 }, width: { min: 75, max : 1000 }, padding: 3, textAlign: 'left', tip: true, // Give it a speech bubble tip with automatic corner detection name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style } });/* fileUploadMSG.find(".att-box-loading:first").parents(".att-box").removeAttr("style").progressbar("destroy").find("div:first").removeAttr("style"); */ fileUploadMSG.find('.att-box-loading:first').remove(); }/*, progress : function(e, data){ var progress = parseInt(data.loaded / data.total * 100, 10); fileUploadMSG.find('.att-box-loading:first').parents(".att-box:first").progressbar({ value : progress }); }*/ }).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", {})); var lastFolderSelected = $('#content_folders .folder.selected'); $( "#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(); if(typeof(shortcut) != 'undefined') shortcut.disabled = false; lastFolderSelected.toggleClass('selected'); }, open: function(event, ui) { if(typeof(shortcut) != 'undefined') shortcut.disabled = true; }, 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) { fileUploadMSG.find(' .attachments-list').show(); 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'; attach.fullFileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; if(attach.fileName.length > 20) attach.fileName = attach.fileName.substr(0, 17) + "... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); attach.error = false; attach.OK = true; attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); $("#content_id_"+currentTab+" .save").button("enable"); upload.find('.att-box-loading').remove(); upload.append(''); upload.find('.att-box-delete').click(function(){ $("#content_id_"+currentTab+" .save").button("enable"); var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); delAttachment(ID,idAttach); $(this).parent().qtip("destroy"); $(this).parent().remove(); if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ fileUploadMSG.find(' .attachments-list').hide(); } }); fileUploadMSG.find('.attachments-list').append(upload); upload.find('.att-box-loading').remove(); fileUploadMSG.find('.attachments-list .att-box:last').qtip({ content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), position: { corner: { tooltip: 'bottomMiddle', target: 'topMiddle' }, adjust: { resize: true, scroll: true } }, show: { when: 'mouseover', // Don't specify a show event ready: false // Show the tooltip when ready }, hide: 'mouseout', // Don't specify a hide event style: { border: { width: 1, radius: 5 }, width: { min: 75, max : 1000 }, padding: 5, textAlign: 'center', tip: true, // Give it a speech bubble tip with automatic corner detection name: 'blue' // Style it according to the preset 'cream' style } }); } }); }); jQuery('#message-attach-dialog').dialog('close'); }); jQuery('#message-attach-cancel-btn').click(function(event){ jQuery('#message-attach-dialog').dialog('close'); }); }); }); $(document).bind('drop dragover', function (e) { e.preventDefault(); }); //DRAG and DROP DE ARQUIVOS NÃO FUNCIONA NO IE if(!is_ie){ $("body").bind('dragenter', function (e) { var dropZone = $("#fileupload_msg"+ID+"_droopzone"); var timeout = window.dropZoneTimeout; dropZone.show(); dropZone.prev().hide(); if (!timeout) { dropZone.addClass('in'); } else { clearTimeout(timeout); } if (e.target === dropZone[0]) { dropZone.addClass('hover'); } else { dropZone.removeClass('hover'); } $(window).unbind('dragleave'); window.dropZoneTimeout = setTimeout(function () { $(window).bind('dragleave', function (e) { window.dropZoneTimeout = null; dropZone.removeClass('in hover'); dropZone.hide(); dropZone.prev().show(); }); }, 1); }).bind('dragleave', function (e) { var dropZone = $("#fileupload_msg"+ID+"_droopzone"); window.dropZoneTimeout = setTimeout(function () { $(window).bind('dragleave', function (e) { window.dropZoneTimeout = null; dropZone.removeClass('in hover'); dropZone.hide(); dropZone.prev().show(); }); }, 1); }).bind('drop', function(e){ var dropZone = $("#fileupload_msg"+ID+"_droopzone"); window.dropZoneTimeout = null; dropZone.removeClass('in hover'); dropZone.hide(); dropZone.prev().show(); }); } 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"); /* Recupera a pasta atual do usuário (selecionada) */ var user_shared = folder.split(cyrus_delimiter); /* Verifica se está nas próprias pastas */ if(user_shared[0] == "INBOX"){ user_shared = User.me.uid; }else{ user_shared = user_shared[1]; } // 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; /* Faz o tratamento do nome da pasta para fazer a verificação e selecionar o valor no select */ var str_begin_name = _option.text.indexOf('<') + 1; var str_end_name = _option.text.indexOf('@'); var user_selected_name = _option.text.substring(str_begin_name, str_end_name); /* Verifica se é o usuário da pasta selecionada */ if(user_selected_name == user_shared){ _option.selected = 'selected'; } 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; /* Verifica se é o usuário logado */ if(user_shared == User.me.uid) _option.selected = 'selected'; 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]; /* Faz o tratamento do nome da pasta para fazer a verificação e selecionar o valor no select */ var str_begin_name = _option.text.indexOf('<') + 1; var str_end_name = _option.text.indexOf('@'); var user_selected_name = _option.text.substring(str_begin_name, str_end_name); /* Verifica se é o usuário da pasta selecionada */ if(user_selected_name == user_shared){ _option.selected = 'selected'; } 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; updateSelectedMsgs(true,_msg_id); } } 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){ //MAILARCHIVE // se for a pasta de mensagens locais if(proxy_mensagens.is_local_folder(current_folder)) { return; } 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, notValidUser){ 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 onclick = ''; $.each(cc_data, function(index, value){ onclick += "'"+value+"',"; }); onclick = onclick.substr(0, onclick.length-1); var to_addybook_add = ""; to_addybook_add += addrs; if(!!!notValidUser) { var sm_envelope_img1 = ''; 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")+''); //Link arquivar e desarquivar com ação //MAILARCHIVER if(preferences.use_local_messages==1){ if(expresso_mail_archive.enabled){ if(proxy_mensagens.is_local_folder(current_folder))//Unarchive link span_options.innerHTML += '  '+get_lang("Unarchive")+''; else//Archive link 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); } var answer = ''+get_lang("l_answered")+', '; span_D.innerHTML = get_lang("List")+': '+ ''+get_lang("All")+', '+ ''+get_lang("l_unseen")+', '+ ''+get_lang("l_seen")+', '+ answer+ ''+get_lang("l_important")+'  '; if(!proxy_mensagens.is_local_folder(current_folder)){ draw_paging(num_msgs); Element("tot_m").innerHTML = num_msgs; } }