Changeset 7167


Ignore:
Timestamp:
09/04/12 18:07:11 (7 years ago)
Author:
gustavo
Message:

Ticket #2939 - Melhorias na exibicao das abas e da listagem de email

Location:
sandbox/newExpressoMail
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • sandbox/newExpressoMail/expressoMail1_2/index.php

    r7064 r7167  
    4848                <script src="../library/ckeditor/adapters/jquery.js" language="javascript"></script>  
    4949                <script src="../prototype/plugins/lazy/jquery.lazy.js" language="javascript"></script>  
    50                 <link rel="stylesheet" type="text/css" href="../prototype/plugins/fgmenu/fg.menu.css" media="screen"> 
    5150                <link rel="Stylesheet" type="text/css" href="../prototype/plugins/jquery/jquery-ui.css" />                                       
    52                  
    5351                <link rel="stylesheet" type="text/css" href="../prototype/plugins/contextmenu/jquery.contextMenu.css"></link> 
    5452                <link rel="stylesheet" type="text/css" href="../prototype/plugins/zebradialog/css/zebra_dialog.css"></link>              
     
    6866                <script type="text/javascript" src="../prototype/plugins/fileupload/jquery.fileupload.js"></script> 
    6967                <script type="text/javascript" src="../prototype/plugins/fileupload/jquery.iframe-transport.js"></script> 
    70                 <script type="text/javascript" src="../prototype/plugins/scrollable-tabs/jquery.scrollabletab.js"></script> 
    71                 <script type="text/javascript" src="../prototype/plugins/qtip/jquery.qtip-1.0.0-rc3.min.js"></script> 
    72                 <script type="text/javascript" src="../prototype/plugins/fgmenu/fg.menu.js"></script> 
     68        <script type="text/javascript" src="../prototype/plugins/qtip/jquery.qtip-1.0.0-rc3.min.js"></script> 
     69        <link rel="stylesheet" type="text/css" href="../prototype/plugins/fgmenu/fg.menu.css" media="screen"> 
     70                <script type="text/javascript" src="../prototype/plugins/fgmenu/fg.menuPlugin.js"></script> 
    7371                <script type="text/javascript" src="../prototype/plugins/contextmenu/jquery.contextMenu.js"></script> 
    7472                <!-- <script type="text/javascript" src="../prototype/plugins/contextmenu/jquery.ui.position.js"></script> --> 
    7573                 
     74                <script type="text/javascript" src="../prototype/modules/calendar/js/timezone.js"></script> 
    7675                <script type="text/javascript" src="../prototype/modules/calendar/js/timezone.js"></script> 
    7776        <script type="text/javascript" src="../prototype/plugins/dateFormat/dateFormat.js"></script> 
    7877                <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.date.js"></script> 
    7978                <script type="text/javascript" src="../prototype/modules/calendar/js/calendar.codecs.js"></script> 
    80                 <link rel="stylesheet" type="text/css" href="../prototype/plugins/freeow/style/freeow/freeow.css" > 
     79                <link rel="stylesheet" type="text/css" href="../prototype/plugins/freeow/style/freeow/freeow.css"/> 
    8180                <script type="text/javascript" src="../prototype/plugins/freeow/jquery.freeow.min.js"></script> 
    82                 <script type="text/javascript" src="../prototype/plugins/freeow/jquery.freeow.js"></script> 
    8381 
    8482 
  • sandbox/newExpressoMail/expressoMail1_2/js/abas.js

    r7064 r7167  
    88var countID = 2; 
    99var tab_content = ""; 
     10var tab_role = ""; 
    1011var lastIndexSelected = 0; 
    1112 
    1213var ptabs = $("#ptabs").tabs({  
    13         tabTemplate: "<li role='tab' style='cursor: pointer;'><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close' title='Fechar Aba'>Fechar Aba</span></li>",  
     14        tabTemplate: "<li role='tab' style='cursor: pointer;'><a href='#{href}'>#{label}</a> <span class='ui-icon tab-close ui-icon-close' title='Fechar Aba'>Fechar Aba</span></li>",  
     15        panelTemplate: "<div></div>", 
    1416        add: function( event, ui ) {  
    1517                countID++;  
    16                 $(ptabs).tabs('select', '#' + ui.panel.id);  
    17                 $.cookie('open_tabs', ($.cookie('open_tabs') ? $.cookie('open_tabs')+"," : "") +ui.panel.id.substring(6)); 
    18                 $( ui.panel ).addClass("conteudo").append(tab_content);  
     18                $(ptabs).tabs('select', '#' + $(ptabs).find("div:last").attr("id"));  
     19                $(ptabs).find("span.tab-close:last").hover(function(){$(this).toggleClass("ui-icon-circle-close ui-icon-close");}, function(){$(this).toggleClass("ui-icon-circle-close ui-icon-close");}) 
     20                $(ptabs).find("div:last").addClass("conteudo").attr("role", tab_role).append(tab_content);  
     21                if(tab_role == "new") 
     22                        uidsSave[indexTab("#"+ui.panel.id)] = []; 
    1923        }, 
    2024        show: function(event, ui){ 
     25                switch($( ui.panel ).attr("role")){ 
     26                        case "new": 
     27                        case "search": 
     28                                $("#footer_menu").hide(); 
     29                                break; 
     30                        case "message": 
     31                        case "draft": 
     32                        case "folder": 
     33                                $("#footer_menu").show(); 
     34                                break; 
     35                } 
    2136                resizeWindow(); 
    2237        }, 
     
    2944}); 
    3045 
    31 //$(ptabs).find(".ui-tabs-nav").wrap("<div class='scroll-tabs'></div>"); 
    3246/*  
    3347        method : createTab 
     
    3549        params : { 
    3650                label : Label of the tab 
     51                * role : Tab type 
    3752                * content : Content of the tab 
    3853                * href : Tab id  
     
    4257                #1 : if the user just set the label, a tab with blank content and a dynamic id is created 
    4358                #2 : if a tab with a set href already exists, don't duplicate, this function only select the tab  
    44  
     59                #3 : if the role is  
    4560        * = Optional 
    4661*/ 
    4762 
    48 function createTab(label, content,href, callback){ 
     63function createTab(label, role, content,href, callback){ 
    4964        if( !$("#ptabs_"+href).length){ 
    5065                tab_content = content ? content : ""; 
     66                tab_role = role ? role : "new"; 
    5167                $(ptabs).tabs("add", "#ptabs_"+(href ? href : countID), (label.length > 21 ? label.substring(0, 18)+"..." : label)); 
    5268                if(typeof(callback) == 'function')  
    5369                        callback($("#ptabs_"+(href ? href : countID))); 
     70                else 
     71                        return $("#ptabs_"+(href ? href : countID)); 
    5472        }else{ 
    55                 $(ptabs).tabs( "select", indexTab(href) ); 
     73                $(ptabs).tabs( "select", indexTab("#ptabs_"+href) ); 
    5674        } 
    5775} 
     
    83101/*  
    84102        method : indexTab 
    85         descrition : remove a tab 
     103        descrition : return a tab index 
    86104        params : { 
    87105                * href : Tab id  
     
    97115                $( "li", ptabs ).index( $('[href="'+href+'"]').parent() ) : lastIndexSelected; 
    98116} 
     117 
     118/* 
     119 method : idTab 
     120 descrition : remove a tab id 
     121 params : { 
     122 * index : Tab index 
     123 } 
     124 comments : { 
     125 #1 : if the user doesn't set no parameter, this function just return the id of the open tab 
     126 
     127 * = Optional 
     128 */ 
     129 
     130function idTab(index){ 
     131    return $( ".ui-tabs-panel", ptabs ).eq((index ? index : indexTab())).attr("id"); 
     132} 
     133 
     134function getTabData(index){ 
     135        return { 
     136                id : parseInt(idTab(index).substring(6).split("_r_")[0]), 
     137                folder : Base64.decode(idTab(index).substring(6).split("_r_")[1]), 
     138                role : getTabRole(index), 
     139                header : getTabHeader(index), 
     140                content : getTabContent(index) 
     141        }; 
     142} 
     143 
     144function getTabHeader(index){ 
     145    return $( ptabs ).find('[href="#'+$( ".ui-tabs-panel", ptabs ).eq((index ? index : indexTab())).attr("id")+'"]').parent(); 
     146} 
     147 
     148function getTabRole(index){ 
     149        return getTabContent(index).attr("role"); 
     150} 
     151 
     152function getTabContent(index){ 
     153        return $( ".ui-tabs-panel", ptabs ).eq((index ? index : indexTab())); 
     154} 
  • sandbox/newExpressoMail/expressoMail1_2/js/common_functions.js

    r7043 r7167  
    6767        } 
    6868 
    69         if(typeof(BordersArray) != 'undefined') { 
    70                 for(var i = 1; BordersArray.length > 1 && i < BordersArray.length;i++) { 
    71                         var div_scroll = Element("div_message_scroll_"+BordersArray[i].sequence); 
    72                         var div = Element("ptabs_"+BordersArray[i].sequence); 
    73  
    74                         if(div){ 
    75                                 div.style.height = (clientHeight - (findPosY(div) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+2)) + "px"; 
    76                                  div.style.width = (clientWidth - (findPosX(div)+10)) + "px"; 
    77                         } 
    78                         if(div_scroll){ 
    79                                 div_scroll.style.height = (clientHeight - (findPosY(div_scroll) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+5)) + "px"; 
    80                                 div_scroll.style.width = (clientWidth - (findPosX(div_scroll)+15)) + "px"; 
    81                         } 
     69        var BordersArray = $(".ui-tabs-panel", ptabs); 
     70        //$(".ui-tabs-nav").css("width", $(ptabs).width()-6); 
     71        for(var i = 1; BordersArray.length > 1 && i < BordersArray.length;i++) { 
     72                var div_scroll = Element("div_message_scroll_"+BordersArray[i]); 
     73                var div = BordersArray[i]; 
     74 
     75                if(div){ 
     76                        div.style.height = (clientHeight - (findPosY(div) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+2)) + "px"; 
     77                         div.style.width = (clientWidth - (findPosX(div)+10)) + "px"; 
     78                } 
     79                if(div_scroll){ 
     80                        div_scroll.style.height = (clientHeight - (findPosY(div_scroll) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+5)) + "px"; 
     81                        div_scroll.style.width = (clientWidth - (findPosX(div_scroll)+15)) + "px"; 
    8282                } 
    8383        } 
     
    234234function kill_current_box(){ 
    235235        var box = document.getElementById("table_box"); 
     236        if($("#div_msg_info").length){ 
     237                $("#div_msg_info").remove(); 
     238        } 
    236239        if (box != null) 
    237240                box.parentNode.removeChild(box); 
     
    817820function search_emails(value, data){ 
    818821        var resize = false; 
    819         resize = resize_borders(); 
     822/*        resize = resize_borders(); 
    820823        if (!resize){ 
    821824            var str_continue = ''; 
     
    852855            } 
    853856        } 
     857*/ 
    854858        connector.loadScript("TreeS"); 
    855859        connector.loadScript("search"); 
  • sandbox/newExpressoMail/expressoMail1_2/js/doiMenuData.js

    r6943 r7167  
    77                                var msg_folder = current_folder; 
    88                                var messages = new Array(); 
    9                                 if(currentTab == 0){ 
     9                                if(indexTab() == 0){ 
    1010                                        var id = get_selected_messages().split(','); 
    1111                                        for (i = 0; i < id.length; i++){ 
  • sandbox/newExpressoMail/expressoMail1_2/js/draw_api.js

    r7064 r7167  
    4949// aqui no expressoMail. 
    5050 
    51 function draw_tree_folders(folders){ 
    52         // Check if the tree folders alredy exist. 
    53         if (Element('dftree_tree_folders')){ 
    54                 if (!expresso_offline) { 
    55                         var update_tree_folders = function(data){ 
    56                                 draw_quota(data); 
    57                                 var unseen_in_mailbox = 0; 
    58                                 var unseen_in_shared_folders = 0; 
    59                                 for (var i=0; i<data.length; i++){ 
    60                                         if ( data[i].folder_unseen > 0 ) 
    61                                         { 
    62                                                 unseen_in_mailbox = parseInt( unseen_in_mailbox + data[ i ].folder_unseen ); 
    63                                                 if ( data[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    64                                                         unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); 
    65                                         } 
    66  
    67                                         var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 
    68  
    69                                         if ((folder_unseen) && (data[i].folder_unseen > 0)) 
    70                                         { 
    71                                                 folder_unseen.innerHTML = data[i].folder_unseen; 
    72                                         } 
    73                                         else if (data[i].folder_unseen > 0) 
    74                                         { 
    75                                                 tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>'}); 
    76                                                 tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    77                                         } 
    78                                         else if (data[i].folder_unseen <= 0) 
    79                                         { 
    80                                                 if(tree_folders.getNodeById(data[i].folder_id)){ 
    81                                                 tree_folders.getNodeById(data[i].folder_id).alter({caption:lang_folder(data[i].folder_name)}); 
    82                                                 tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    83                                         } 
    84                                         } 
    85  
    86                                         if(data[i].folder_id == current_folder){ 
    87                                                 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
    88                                                 Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
    89                                                 draw_paging(Element('tot_m').innerHTML); 
    90                                         } 
    91                                 } 
    92  
    93                                 var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    94                                 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 
    95                                 display_unseen_in_mailbox._refresh(); 
    96  
    97                                 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    98                                 if ( display_unseen_in_shared_folders ) 
    99                                 { 
    100                                         if ( unseen_in_shared_folders ) 
    101                                                 display_unseen_in_shared_folders.alter({caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders")}); 
    102                                         else 
    103                                                 display_unseen_in_shared_folders.alter({caption:get_lang("Shared folders")}); 
    104                                         display_unseen_in_shared_folders._refresh(); 
    105                                 } 
    106                         } 
    107                         cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 
    108                 } 
    109  
    110                 return; 
    111         } 
    112         else{ 
    113                 if (!expresso_offline) { 
    114                         tree_folders = new dFTree({name: 'tree_folders'}); 
    115  
    116                         var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 
    117                         tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    118  
    119                         var unseen_in_mailbox = 0; 
    120                         var unseen_in_shared_folders = 0; 
    121                         for (var i=0; i<folders.length; i++){ 
    122                                 if (folders[i].folder_unseen > 0) 
    123                                 { 
    124                                         unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
    125                                         if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    126                                                 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
    127  
    128                                         var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
    129  
    130                                         if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
    131                                                 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
    132                                 } 
    133                                 else 
    134                                         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}); 
    135  
    136                                 if (folders[i].folder_parent == '') 
    137                                         folders[i].folder_parent = 'root'; 
    138                                 else if (folders[i].folder_parent == 'user'){ 
    139  
    140                                         if (!tree_folders.getNodeById('user')){ 
    141                                                 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
    142                                                 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 
    143                                                 tree_folders.add(n_root_shared_folders,'root'); 
    144                                         } 
    145                                 } 
    146                                 tree_folders.add(nn,folders[i].folder_parent); 
    147                         } 
    148                 } 
    149  
    150  
    151  
    152                 var handlerChannel = function(data){ 
    153                         if (data == null || typeof(data) == 'string') 
    154                                 return; 
    155                         /* 
    156                         *  RSS NEWS 
    157                         */ 
    158                         var root_rss = new dNode({ 
    159                                 id: "news_root", 
    160                                 caption: get_lang('News') 
    161                         }); 
    162                         tree_folders.add(root_rss, "root"); 
    163                         for(i=0; i < data.length; i++) 
    164                         { 
    165                                 var nodeNews = new dNode({ 
    166                                         id: "NEWS/"+data[i].name, 
    167                                         caption: data[i].name, 
    168                                         onClick: "open_rss('"+data[i].rss_url+"')", 
    169                                         plusSign: 0 
    170                                 }); 
    171                                 tree_folders.add(nodeNews,"news_root"); 
    172                         } 
    173                         var noden=document.getElementById('lnews_roottree_folders'); 
    174                         noden.style.backgroundImage="url(templates/"+template+"/images/menu/rss.png)"; 
    175                          
    176                          
    177                          
    178                 } 
    179 //              cExecute('$this.rss.getChannels',handlerChannel); 
    180  
    181  
    182                 /** 
    183                  * Pastas locais 
    184                  */ 
    185                 if (preferences.use_local_messages==1 || expresso_offline) { 
    186                             //verifica se gears esta installado ou o offline 
    187                         if( (!window.google || !google.gears) && 
    188                              !expresso_local_messages.installGears() ){ 
    189                                 preferences.use_local_messages = 0; 
    190                         } 
    191                         else if( !expresso_local_messages.is_offline_installed() ) 
    192                                 preferences.use_local_messages = 0; 
    193                         else{ 
    194                                 if (expresso_offline) 
    195                                         tree_folders = new dFTree({ 
    196                                                 name: 'tree_folders' 
    197                                         }); 
    198                                 var root_local = new dNode({ 
    199                                         id: "local_root", 
    200                                         caption: get_lang('local folders') 
    201                                 }); 
    202                                 tree_folders.add(root_local, "root"); //coloca root local 
    203                                 var local_folders = expresso_local_messages.list_local_folders(); 
    204                                 for (var i in local_folders) { //Coloca as pastas locais. 
    205                                         var node_root = "local_root"; 
    206                                         var new_caption = local_folders[i][0]; 
    207                                         if (local_folders[i][0].indexOf("/") != "-1") { 
    208                                                 final_pos = local_folders[i][0].lastIndexOf("/"); 
    209                                                 node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
    210                                                 new_caption = local_folders[i][0].substr(final_pos + 1); 
    211                                         } 
    212                                         if (local_folders[i][1] > 0) 
    213                                                 var nodeLocal = new dNode({ 
    214                                                         id: "local_" + local_folders[i][0], 
    215                                                         caption: lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', 
    216                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    217                                                         plusSign: local_folders[i][2] 
    218                                                 }); 
    219                                         else 
    220                                                 var nodeLocal = new dNode({ 
    221                                                         id: "local_" + local_folders[i][0], 
    222                                                         caption: lang_folder(new_caption), 
    223                                                         onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    224                                                         plusSign: local_folders[i][2] 
    225                                                 }); 
    226                                                 tree_folders.add(nodeLocal, node_root); 
    227                                         } 
    228                                 } 
    229                         } 
    230  
    231                 /*tree_folders.draw(Element('content_folders')); 
    232                 if (!expresso_offline) { 
    233                         n_root.changeState(); 
    234                         tree_folders.getNodeById('INBOX')._select(); 
    235                 } 
    236                 else { 
    237                         root_local.changeState(); 
    238                         tree_folders.getNodeById('local_Inbox')._select(); 
    239                 }*/ 
    240                  
    241                 var trash_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Trash"]])  + 'tree_folders');  
    242                 var draft_span = document.getElementById(mount_url_folder(["lINBOX",special_folders["Drafts"]]) + 'tree_folders');  
    243                 var sent_span  = document.getElementById(mount_url_folder(["lINBOX",special_folders["Sent"]]) + 'tree_folders');  
    244                 var spam_span  = document.getElementById(mount_url_folder(["lINBOX",special_folders["Spam"]]) + 'tree_folders'); 
    245                 //local folders 
    246                 var sent_local_conf = this.preferences.save_in_folder.replace(mount_url_folder(["INBOX",""]),"local_"); 
    247                 var sent_local_conf_span=document.getElementById('l'+sent_local_conf+'tree_folders'); 
    248                 var trash_local_span=document.getElementById('llocal_'+special_folders['Trash']+'tree_folders'); 
    249                 var draft_local_span=document.getElementById('llocal_'+special_folders['Drafts']+'tree_folders'); 
    250                 var sent_span_default=document.getElementById('llocal_'+special_folders['Sent']+'tree_folders'); 
    251  
    252  
    253                 if (trash_span) 
    254                         trash_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; 
    255  
    256                 if (draft_span) 
    257                         draft_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_draft.png)" 
    258  
    259                 if (sent_span) 
    260                         sent_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    261                 if (spam_span) 
    262                         spam_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_spam.png)"; 
    263  
    264                 if (sent_span_default) 
    265                         sent_span_default.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    266                 //Local folders 
    267  
    268                 if (sent_local_conf_span) 
    269                         sent_local_conf_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    270                 if (trash_local_span) 
    271                         trash_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; 
    272                 if (draft_local_span) 
    273                         draft_local_span.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_draft.png)" 
    274                 if (sent_span_default) 
    275                         sent_span_default.style.backgroundImage="url(../phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    276  
    277  
    278                 draw_paging(Element('tot_m').innerHTML); 
    279                 if(document.getElementById(mount_url_folder(["nINBOX",special_folders["Trash"]])+"tree_folders")) 
    280                 { 
    281                         var trash = document.createElement("SPAN"); 
    282                         trash.id = 'empty_trash'; 
    283                         trash.className = 'clean_folder'; 
    284                         trash.style.cursor = 'pointer'; 
    285                         trash.onclick = function () {empty_trash_imap();}; 
    286                         trash.innerHTML = "["+get_lang("Clean")+"]"; 
    287                         trash.title=get_lang("Empty trash"); 
    288                         trash.onmouseover = function() {trash.style.color="red";}; 
    289                         trash.onmouseout= function() {trash.style.color="#666666";}; 
    290                         document.getElementById(mount_url_folder(["nINBOX",special_folders["Trash"]])+"tree_folders").appendChild(trash); 
    291                 } 
    292                 if(document.getElementById(mount_url_folder(["nINBOX",special_folders["Spam"]])+"tree_folders")) 
    293                 { 
    294                                                 var spam = document.createElement("SPAN"); 
    295                                                 spam.id = 'empty_spam'; 
    296                                                 spam.className = 'clean_folder'; 
    297                                                 spam.style.cursor = 'pointer'; 
    298                                                 spam.style.padding = '0 0 0 6px'; 
    299                                                 spam.onclick = function () {empty_spam_imap();}; 
    300                                                 spam.innerHTML = "["+get_lang("Clean")+"]"; 
    301                                                 spam.title=get_lang("Empty Spam Folder"); 
    302                                                 spam.onmouseover = function() {spam.style.color="red";}; 
    303                                                 spam.onmouseout= function() {spam.style.color="#666666";}; 
    304                                                 document.getElementById(mount_url_folder(["nINBOX",special_folders["Spam"]])+"tree_folders").appendChild(spam); 
    305                            } 
    306  
    307                 if(!expresso_offline) 
    308                         var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    309                 else 
    310                         var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
    311                 display_unseen_in_mailbox.alter({caption:get_lang("My Folders")}); 
    312                 display_unseen_in_mailbox._refresh(); 
    313  
    314                 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    315                 if ( display_unseen_in_shared_folders ) 
    316                 { 
    317                         if ( unseen_in_shared_folders ) 
    318                                 display_unseen_in_shared_folders.alter({caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders")}); 
    319                         else 
    320                                 display_unseen_in_shared_folders.alter({caption:get_lang("Shared folders")}); 
    321                         display_unseen_in_shared_folders._refresh(); 
    322                 } 
    323         } 
    324  
    325         if (!expresso_offline) { 
    326                 var folder_create = ""; 
    327                 var nm1 = ""; 
    328                 if(tree_folders._folderPr.length > 0){ 
    329                         var nm_folder = ""; 
    330                         for(var i=0; i < tree_folders._folderPr.length; i++){ 
    331                                 nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter); 
    332                                 if(nm_folder[0] == "INBOX"){ 
    333                                         if(nm1 == ""){ 
    334                                                 nm1 = nm_folder[1]; 
    335                                                 folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    336                                         }else{ 
    337                                                 if( nm1 != nm_folder[1]){ 
    338                                                         folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    339                                                         nm1 = nm_folder[1]; 
    340                                                 } 
    341                                         } 
    342                                 } 
    343                         } 
    344                 } 
    345         } 
    346          
    347         outOfficeVerify(); 
    348 } 
    34951 
    35052function draw_tree_labels(){ 
     
    489191                 
    490192                if(data) { 
    491                         draw_tree_folders(data); 
     193                        //draw_tree_folders(data); 
    492194                        draw_quota(data); 
    493195                        var f_unseen = Element('dftree_'+current_folder+'_unseen'); 
     
    924626function syncColumns() { 
    925627        var thisCell; 
    926         var tbl = (document.getElementById("ui-tabs-"+numBox)==null ? 1 : 0); 
     628        var tbl = (document.getElementById("ptabs_"+numBox)==null ? 1 : 0); 
    927629        if (objCell) 
    928630                thisCell = objCell; 
     
    1230932        numBox = 0; //As pastas sempre estarï¿œo na aba 0 
    1231933         
    1232         openTab.content_id[numBox] = document.getElementById("ui-tabs-"+numBox); 
     934        openTab.content_id[numBox] = document.getElementById("ptabs_"+numBox); 
    1233935        //openTab.content_id[numBox].innerHTML = ""; 
    1234936        openTab.imapBox[numBox] = msg_folder; 
     
    14111113        } 
    14121114 
    1413         _divScroll.style.overflowY = "scroll"; 
     1115        _divScroll.style.overflowY = "auto"; 
    14141116        _divScroll.style.overflowX = "hidden"; 
    14151117        _divScroll.style.width  ="100%"; 
     
    16631365                        if(preferences.use_shortcuts == '1') 
    16641366                                $(this).parents("tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); 
    1665                         changeBgColor(e,headers_msgs.msg_number); 
     1367                        //changeBgColor(e,headers_msgs.msg_number); 
     1368            $(this).parents("tr:first").toggleClass("selected_msg"); 
    16661369                        $(this).blur(); 
    16671370                }); 
     
    21861889 
    21871890var msg_selected; 
    2188 function draw_message(info_msg, ID){ 
    2189         // remove a flag $FilteredMessage da mensagem ao ser lida 
    2190         if(info_msg.Unseen == "U"){ 
    2191                 $.each(fromRules, function(index, value) { 
    2192                         if(value == info_msg.msg_folder){ 
    2193                                 cExecute ("$this.imap_functions.removeFlagMessagesFilter&folder="+info_msg.msg_folder+"&msg_number="+info_msg.msg_number, function(){});  
    2194                                 return false; 
    2195                         } 
    2196                 }); 
    2197         } 
    2198         var content = document.getElementById('content_id_' + ID); 
    2199  
    2200         var menuHidden = Element("folderscol").style.display == 'none' ? true : false; 
    2201          ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2202         //Make the next/previous buttom. 
    2203         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2204         var next_previous_msg_td = document.createElement("TD"); 
    2205         next_previous_msg_td.setAttribute("noWrap","true"); 
    2206         next_previous_msg_td.align = "right"; 
    2207         next_previous_msg_td.style.fontSize = "10px"; 
    2208         next_previous_msg_td.width = "40px"; 
    2209         var img_next_msg = document.createElement("IMG"); 
    2210         img_next_msg.id = 'msg_opt_next_' + ID; 
    2211         img_next_msg.src = './templates/'+template+'/images/down.button.png'; 
    2212         if(preferences.use_shortcuts == '1') 
    2213             img_next_msg.title = get_lang('Next Shortcut:Control + Down'); 
    2214         else 
    2215             img_next_msg.title = get_lang('Next'); 
    2216         img_next_msg.style.cursor = 'pointer'; 
    2217  
    2218         var folder_id = ID.match(/\d+/)[0]; 
    2219         var folder; 
    2220  
    2221         //Correᅵᅵo para fazer funcionar e-mails assinados no formato encapsulado. 
    2222        // folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 
    2223         //if ((folder = document.getElementById(info_msg.msg_number)) == null) 
    2224         if ((folder = Element(info_msg.original_ID)) == null) 
    2225                 folder = Element(info_msg.msg_number); 
    2226                  
    2227  
    2228         if (folder){ // mensagem local criptografada nao tem ID da pasta local 
    2229                 if (folder.nextSibling){ 
    2230                         var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder; 
    2231  
    2232                         if (nextMsgBox == "INBOX" + cyrus_delimiter + "decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas 
    2233                                         nextMsgBox = get_current_folder(); 
    2234  
    2235                         img_next_msg.onclick = function() 
    2236                         { 
    2237                                 currentTab = ID; 
    2238                                 openTab.type[ID] = 2; 
    2239                                 proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg); 
    2240                                 //select_msg('null', 'down', true); 
    2241                                 if (!msg_selected){ 
    2242                                         select_msg('null', 'down', true); 
    2243                                         msg_selected = true; 
    2244                                 } 
    2245                         }; 
    2246                 } 
    2247                 /*Ultima mensagem de cada pï¿œgina, exceto a ultima*/ 
    2248         else if( (current_page < total_pages) ){ 
    2249                     
    2250                    img_next_msg.onclick = function() 
    2251                         { 
    2252  
    2253                            current_page++; 
    2254                            var tot_msgs = parseInt(Element("tot_m").innerHTML); 
    2255                            var range_begin = preferences.max_email_per_page*( current_page - 1 ) + 1; 
    2256                            var range_end;  
    2257                            if ( range_begin + parseInt(preferences.max_email_per_page - 1) > tot_msgs )  
    2258                                 range_end = tot_msgs; 
    2259                            else      
    2260                                 range_end = range_begin + parseInt(preferences.max_email_per_page  - 1);   
    2261                            var creatBoxProximo = function (data){ 
    2262                                             draw_box(data, get_current_folder()); 
    2263                                             firstRow(); 
    2264                                 };                                 
    2265                        proxy_mensagens.messages_list(get_current_folder(),range_begin,range_end,sort_box_type,search_box_type,sort_box_reverse,'','', creatBoxProximo); 
    2266                          
    2267                         };          
    2268                 } 
    2269                 else 
    2270                 { 
    2271                         img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 
    2272                         img_next_msg.style.cursor = 'default'; 
    2273  
    2274                 } 
    2275         } 
    2276         else 
    2277         { 
    2278                 img_next_msg.src = "./templates/"+template+"/images/down.gray.button.png"; 
    2279                 img_next_msg.style.cursor = 'default'; 
    2280                 // testa se a mensagem e local  
    2281             if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX" + cyrus_delimiter + "decifradas")) // testa se a mensagem e local 
    2282                 { 
    2283                         img_next_msg.onclick = function() 
    2284                                 { 
    2285                                         delete_border(ID); 
    2286                                 }; 
    2287                 } 
    2288         } 
    2289         var img_space = document.createElement("SPAN"); 
    2290         img_space.innerHTML = "&nbsp;"; 
    2291         var img_previous_msg = document.createElement("IMG"); 
    2292         img_previous_msg.id = 'msg_opt_previous_' + ID; 
    2293         img_previous_msg.src = './templates/'+template+'/images/up.button.png'; 
    2294         if(preferences.use_shortcuts == '1') 
    2295             img_previous_msg.title = get_lang('Previous Shortcut:Control + Up'); 
    2296         else 
    2297             img_previous_msg.title = get_lang('Previous'); 
    2298         img_previous_msg.style.cursor = 'pointer'; 
    2299  
    2300  
    2301         if (folder){ // mensagem local criptografada nao tem ID da pasta local 
    2302                 if (folder.previousSibling) 
    2303                 { 
    2304                         var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder; 
    2305  
    2306                         if (previousMsgBox == "INBOX" + cyrus_delimiter + "decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas 
    2307                                         previousMsgBox = get_current_folder(); 
    2308  
    2309                         img_previous_msg.onclick = function() 
    2310                         { 
    2311                                 currentTab = ID; 
    2312                                 openTab.type[ID] = 2; 
    2313                                 proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg); 
    2314                                 //select_msg('null', 'up', false); 
    2315                                 if (!msg_selected){ 
    2316                                         select_msg('null', 'up', true); 
    2317                                         msg_selected = true; 
    2318                                 } 
    2319                         }; 
    2320                 } 
    2321                 //primeira mensagem de cada pï¿œgina, exceto a primeira 
    2322                 else if(current_page > 1){ 
    2323                        
    2324                       img_previous_msg.onclick = function() 
    2325                       { 
    2326                               
    2327                              current_page--; 
    2328                              var range_begin = (current_page - 1)*preferences.max_email_per_page + 1;  
    2329                              var range_end = current_page*preferences.max_email_per_page;                                     
    2330                              var creatBoxAnterior = function (data){ 
    2331                                           draw_box(data, get_current_folder()); 
    2332                                               lastRow(); 
    2333                                          };                                
    2334                          proxy_mensagens.messages_list(get_current_folder(),range_begin,range_end,sort_box_type,search_box_type,sort_box_reverse,'','', creatBoxAnterior);                
    2335                   }; 
    2336             } 
    2337                 else 
    2338                 { 
    2339                         img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 
    2340                         img_previous_msg.style.cursor = 'default'; 
    2341                 } 
    2342         } 
    2343         else 
    2344         { 
    2345                 img_previous_msg.src = "./templates/"+template+"/images/up.gray.button.png"; 
    2346                 img_previous_msg.style.cursor = 'default'; 
    2347                 // testa se a mensagem e local  
    2348             if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX" + cyrus_delimiter + "decifradas")) // testa se a mensagem e local 
    2349                 { 
    2350                         img_previous_msg.onclick = function() 
    2351                         { 
    2352                                 delete_border(ID); 
    2353                         }; 
    2354                 } 
    2355         } 
    2356         next_previous_msg_td.appendChild(img_previous_msg); 
    2357         next_previous_msg_td.appendChild(img_space); 
    2358         next_previous_msg_td.appendChild(img_next_msg); 
    2359         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2360         //Make the header message. 
    2361         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2362         var table_message = document.createElement("TABLE"); 
    2363         var tbody_message = document.createElement("TBODY"); 
    2364         table_message.border = "0"; 
    2365         //table_message.width = "100%"; 
    2366         //k! 
    2367         table_message.setAttribute("class", "expressomail-message-body"); 
    2368         table_message.setAttribute("className", "expressomail-message-body"); 
    2369         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2370         //Make the options message. 
    2371         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2372         var tr0 = document.createElement("TR"); 
    2373         tr0.className = "tr_message_header"; 
    2374         var td0 = document.createElement("TD"); 
    2375         var table_message_options = document.createElement("TABLE"); 
    2376         table_message_options.width = "100%"; 
    2377         table_message_options.border = '0'; 
    2378         table_message_options.className = 'table_message'; 
    2379         var tbody_message_options = document.createElement("TBODY"); 
    2380         var tr = document.createElement("TR"); 
    2381         var td = document.createElement("TD"); 
    2382         td.setAttribute("noWrap","true"); 
    2383         td.style.fontSize = "10px"; 
    2384         var _name = ''; 
    2385         var _maxChar = menuHidden ? 40 : 15; 
    2386  
    2387         if (info_msg.from.name) 
    2388         { 
    2389                 var spanName = document.createElement("SPAN"); 
    2390                         spanName.innerHTML = info_msg.from.name; 
    2391                 _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; 
    2392         } 
    2393         else 
    2394                 _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; 
    2395  
    2396         td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 
    2397         //k! 
    2398         if (info_msg.attachments && info_msg.attachments.length > 0) 
    2399                 td.innerHTML += "&nbsp<img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='templates/"+template+"/images/clip.gif' title='"+info_msg.attachments[0].name+"'>"; 
    2400  
    2401         if (typeof(info_msg.signature) == 'string') 
    2402         { 
    2403                 if (info_msg.signature != "void") 
    2404                         td.innerHTML += '&nbsp;<img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="templates/'+template+'/images/signed.gif">'; 
    2405                 else 
    2406                         td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='templates/"+template+"/images/invalid.gif'>"; 
    2407         } 
    2408  
    2409         if (info_msg.DispositionNotificationTo) 
    2410         { 
    2411                 td.innerHTML += '&nbsp;<img id="disposition_notification_'+ID+'" style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="templates/'+template+'/images/notification.gif">'; 
    2412         } 
    2413  
    2414         if (info_msg.Flagged == 'F') 
    2415         { 
    2416                 td.innerHTML += '&nbsp;<img id="disposition_important_'+ID+'" style="cursor:pointer" alt="'+ get_lang('Important message') + '" title="'+ get_lang('Important message') + '" src="templates/'+template+'/images/important.png">'; 
    2417         } 
    2418         // NORMAL MSG 
    2419         if(info_msg.Draft != 'X') 
    2420         { 
    2421         var options = document.createElement("TD"); 
    2422         options.width = "30%"; 
    2423         options.setAttribute("noWrap","true"); 
    2424         options.style.fontSize = "10px"; 
    2425                  
    2426                 //BEGIN: DESENHA MOSTRA DETALHES, OCULTAR DETALHES 
    2427         var option_hide_more = document.createElement("SPAN"); 
    2428         option_hide_more.className = 'message_options'; 
    2429         option_hide_more.onmouseover=function () {this.className='message_options_active';}; 
    2430         option_hide_more.onmouseout=function () {this.className='message_options'}; 
    2431         options.align = 'right'; 
    2432         option_hide_more.value = 'more_options'; 
    2433         option_hide_more.id = 'option_hide_more_'+ID; 
    2434         option_hide_more.onclick = function(){ 
    2435                 if (this.value == 'more_options'){ 
    2436                         this.innerHTML = "<b><u>"+get_lang('Hide details')+"</u></b>"; 
    2437                         this.value = 'hide_options'; 
    2438                         Element('table_message_others_options_'+ID).style.display = ''; 
    2439                 } 
    2440                 else{ 
    2441                         this.innerHTML = get_lang('Show details'); 
    2442                         this.value = 'more_options'; 
    2443                         Element('table_message_others_options_'+ID).style.display = 'none'; 
    2444                 } 
    2445                 resizeWindow(); 
    2446         }; 
    2447                 //END: DESENHA MOSTRA DETALHES, OCULTAR DETALHES 
    2448                  
    2449                 //OPCAO PARA MARCAR COMO 
    2450                 var option_mark_as = document.createElement("SPAN"); 
    2451                 option_mark_as.innerHTML = "<b>"+get_lang('Mark as')+"</b>"; 
    2452                 option_mark_as.className = 'message_options'; 
    2453                 option_mark_as.onmouseover=function () {this.className='message_options_active';}; 
    2454                 option_mark_as.onmouseout=function () {this.className='message_options'}; 
    2455                 option_mark_as.onclick = function(){ 
    2456                         verifyOption('tr_other_mark_options_', ID); 
    2457                         var thi = document.getElementById('msg_opt_mark_options_'+ID); 
    2458                         if (thi.value != 'hide'){ 
    2459                                 thi.value = 'hide'; 
    2460                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2461                                 Element('tr_other_mark_options_'+ID).style.display = ''; 
    2462  
    2463                         } 
    2464                         else{ 
    2465                                 thi.value = 'show'; 
    2466                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2467                                 Element('tr_other_mark_options_'+ID).style.display = 'none'; 
    2468                         } 
    2469                 }; 
    2470                 //DESENHA OPCOES DO MARCAR COMO 
    2471         var option_mark_as_unseen = document.createElement("SPAN"); 
    2472                 option_mark_as_unseen.className = "reply_options"; 
    2473         option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); 
    2474                 proxy_mensagens.proxy_set_message_flag(folder_id,'unseen'); 
    2475                 write_msg(get_lang('Message marked as ')+get_lang("Unseen")); 
    2476         }; 
    2477                 option_mark_as_unseen.onmouseover=function () {this.className='reply_options_active'}; 
    2478                 option_mark_as_unseen.onmouseout=function () {this.className='reply_options'}; 
    2479         option_mark_as_unseen.innerHTML = get_lang("Unseen"); 
    2480  
    2481         var option_mark_important = document.createElement("SPAN"); 
    2482                 option_mark_important.className = 'reply_options';               
    2483                 option_mark_important.onmouseover=function () {this.className='reply_options_active';}; 
    2484                 option_mark_important.onmouseout=function () {this.className='reply_options'}; 
    2485  
    2486         if (info_msg.Flagged == "F"){ 
    2487                 option_mark_important.onclick = function() { 
    2488                         var _this = this; 
    2489                         proxy_mensagens.proxy_set_message_flag(folder_id,'unflagged', function(success){ 
    2490                                 if (success) { 
    2491                                         changeLinkState(_this, 'important'); 
    2492                                         write_msg(get_lang('Message marked as ') + get_lang("Normal")); 
    2493                                 } 
    2494                         } ); 
    2495  
    2496                 }; 
    2497                 option_mark_important.innerHTML = get_lang("Normal"); 
    2498         } 
    2499         else{ 
    2500                 option_mark_important.onclick = function() {changeLinkState(this,'normal'); 
    2501                         proxy_mensagens.proxy_set_message_flag(folder_id,'flagged'); 
    2502                         write_msg(get_lang('Message marked as ')+get_lang("Important")); 
    2503                 }; 
    2504                 option_mark_important.innerHTML = get_lang("Important"); 
    2505         } 
    2506                 //option_mark.appendChild(option_mark_as_unseen); 
    2507                 //option_mark.appendChild(option_mark_important); 
    2508  
    2509                  
    2510         option_hide_more.innerHTML = get_lang('Show details'); 
    2511                 option_hide_more.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'O') : get_lang('Show details'); 
    2512          
    2513                 var space3 = document.createElement("SPAN"); 
    2514                 space3.innerHTML = '&nbsp;|&nbsp;'; 
    2515                  
    2516                 var option_mark_as_options = document.createElement('IMG'); 
    2517                 option_mark_as_options.id = 'msg_opt_mark_options_'+ID; 
    2518                 option_mark_as_options.src = '../expressoMail1_2/templates/default/images/down.png'; 
    2519                 option_mark_as_options.value = 'show'; 
    2520  
    2521                 option_mark_as_options.onmouseover = function(){ 
    2522                         option_mark_as_options.src= '../expressoMail1_2/templates/default/images/over.png'; 
    2523                         option_mark_as.className = 'message_options_active'; 
    2524                 }; 
    2525                 option_mark_as_options.onmouseout = function(){ 
    2526                         option_mark_as.className = 'message_options'; 
    2527                         if (this.value == 'show') 
    2528                         { 
    2529                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2530                         } 
    2531                         else 
    2532                         { 
    2533                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2534                         } 
    2535                 }; 
    2536                 option_mark_as_options.onclick = function(){ 
    2537                         verifyOption('tr_other_mark_options_', ID); 
    2538                         if (this.value != 'hide'){ 
    2539                                 this.value = 'hide'; 
    2540                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2541                                 Element('tr_other_mark_options_'+ID).style.display = ''; 
    2542  
    2543                         } 
    2544                         else{ 
    2545                                 this.value = 'show'; 
    2546                                 option_mark_as_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2547                                 Element('tr_other_mark_options_'+ID).style.display = 'none'; 
    2548                         } 
    2549                 }; 
    2550                  
    2551         options.appendChild(option_hide_more); 
    2552                 options.appendChild(space3); 
    2553                 options.appendChild(option_mark_as_options);                             
    2554                 options.appendChild(option_mark_as); 
    2555                 //FIM OPCAO PARA MARCAR COMO 
    2556  
    2557         var space0 = document.createElement("SPAN"); 
    2558         space0.innerHTML = '&nbsp;|&nbsp;'; 
    2559         var space1 = document.createElement("SPAN"); 
    2560         space1.innerHTML = '&nbsp;|&nbsp;'; 
    2561         var space2 = document.createElement("SPAN"); 
    2562         space2.innerHTML = '&nbsp;|&nbsp;'; 
    2563  
    2564                 //OPCAO PARA MAIS ACOES 
    2565                 var option_more = document.createElement("SPAN"); 
    2566                 option_more.id = 'msg_opt_more_actions_'+ID; 
    2567                 option_more.className = 'message_options'; 
    2568                 //option_more.onclick = function(){new_message('forward', ID);}; 
    2569                 option_more.onmouseover=function () {this.className='message_options_active';}; 
    2570         option_more.onmouseout=function () {this.className='message_options'}; 
    2571                 option_more.onclick = function(){ 
    2572                         verifyOption('tr_other_more_options_', ID); 
    2573                         if (option_more_options.value != 'hide'){ 
    2574                                 option_more_options.value = 'hide'; 
    2575                                 option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2576                                 Element('tr_other_more_options_'+ID).style.display = ''; 
    2577  
    2578                         } 
    2579                         else{ 
    2580                                 option_more_options.value = 'show'; 
    2581                                 option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2582                                 Element('tr_other_more_options_'+ID).style.display = 'none'; 
    2583                         } 
    2584                 }; 
    2585                 option_more.innerHTML = get_lang('More Actions'); 
    2586                  
    2587                 //CRIA IMG DE MAIS ACOES 
    2588                 var option_more_options = document.createElement('IMG'); 
    2589                 option_more_options.id = 'msg_opt_more_options_'+ID; 
    2590                 option_more_options.src = '../expressoMail1_2/templates/default/images/down.png'; 
    2591                 option_more_options.value = 'show'; 
    2592  
    2593                 option_more_options.onmouseover = function(){ 
    2594                         option_more.className = 'message_options_active'; 
    2595                         option_more_options.src= '../expressoMail1_2/templates/default/images/over.png'; 
    2596                 }; 
    2597                 option_more_options.onmouseout = function(){ 
    2598                         option_more.className = 'message_options'; 
    2599                         if (this.value == 'show') 
    2600                         { 
    2601                                 option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2602                         } 
    2603                         else 
    2604                         { 
    2605                                 option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2606                         } 
    2607                 }; 
    2608                 option_more_options.onclick = function(){ 
    2609                         verifyOption('tr_other_more_options_',ID); 
    2610                          
    2611                         if (this.value != 'hide'){ 
    2612                                 this.value = 'hide'; 
    2613                                 option_more_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2614                                 Element('tr_other_more_options_'+ID).style.display = ''; 
    2615  
    2616                         } 
    2617                         else{ 
    2618                                 this.value = 'show'; 
    2619                                 option_more_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2620                                 Element('tr_other_more_options_'+ID).style.display = 'none'; 
    2621                         } 
    2622                 }; 
    2623         options.appendChild(space1); 
    2624                 options.appendChild(option_more_options); 
    2625                 options.appendChild(option_more); 
    2626                 //FIM OPCAO PARA MAIS ACOES 
    2627                  
    2628                 //OPCAO PARA RESPONDER 
    2629         var option_reply = document.createElement("SPAN"); 
    2630         option_reply.id = 'msg_opt_reply_'+ID; 
    2631         option_reply.className = 'message_options'; 
    2632         option_reply.onclick = function(){new_message('reply_with_history', ID);}; 
    2633         option_reply.innerHTML = get_lang('Reply'); 
    2634         option_reply.onmouseover=function () {this.className='message_options_active';}; 
    2635         option_reply.onmouseout=function () {this.className='message_options'}; 
    2636                 option_reply.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'R') : get_lang('Reply'); 
    2637  
    2638         options.appendChild(space2); 
    2639  
    2640         var option_reply_options = document.createElement('IMG'); 
    2641         option_reply_options.id = 'msg_opt_reply_options_'+ID; 
    2642         option_reply_options.src = '../expressoMail1_2/templates/default/images/down.png'; 
    2643         option_reply_options.value = 'show'; 
    2644  
    2645         option_reply_options.onmouseover = function(){ 
    2646                 option_reply_options.src= '../expressoMail1_2/templates/default/images/over.png'; 
    2647         }; 
    2648         option_reply_options.onmouseout = function(){ 
    2649                 if (this.value == 'show') 
    2650                 { 
    2651                         option_reply_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2652                 } 
    2653                 else 
    2654                 { 
    2655                         option_reply_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2656                 } 
    2657         }; 
    2658         option_reply_options.onclick = function(){ 
    2659                         verifyOption('tr_other_options_', ID); 
    2660                 if (this.value != 'hide'){ 
    2661                         this.value = 'hide'; 
    2662                         option_reply_options.src= '../expressoMail1_2/templates/default/images/pressed.png'; 
    2663                         Element('tr_other_options_'+ID).style.display = ''; 
    2664  
    2665                 } 
    2666                 else{ 
    2667                         this.value = 'show'; 
    2668                         option_reply_options.src= '../expressoMail1_2/templates/default/images/down.png'; 
    2669                         Element('tr_other_options_'+ID).style.display = 'none'; 
    2670                 } 
    2671         }; 
    2672         options.appendChild(option_reply_options); 
    2673         options.appendChild(option_reply); 
    2674                 //FIM OPCAO PARA RESPONDER 
    2675                  
    2676                 //OPCAO PARA ENCAMINHAR 
    2677                 var option_forward = document.createElement("SPAN"); 
    2678                 option_forward.id = 'msg_opt_forward_'+ID; 
    2679                 option_forward.className = 'message_options'; 
    2680                 option_forward.innerHTML = get_lang('Forward'); 
    2681                 option_forward.onclick = function(){new_message('forward', ID);}; 
    2682                 option_forward.onmouseover=function () {this.className='message_options_active';}; 
    2683         option_forward.onmouseout=function () {this.className='message_options'}; 
    2684                 option_forward.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'E') : get_lang('Forward'); 
    2685                  
    2686                 var space9 = document.createElement("SPAN"); 
    2687                 space9.innerHTML = '&nbsp;|&nbsp;'; 
    2688                  
    2689                 options.appendChild(space9); 
    2690                 options.appendChild(option_forward); 
    2691                 //FIM DA OPCAO PARA ENCAMINHAR 
    2692                  
    2693                 //OPCAO PARA DELETAR 
    2694                 var option_delete = document.createElement("SPAN"); 
    2695                 option_delete.id = 'msg_opt_delete_'+ID; 
    2696                 option_delete.className = 'message_options'; 
    2697                 option_delete.onclick = function(){proxy_mensagens.delete_msgs('null','selected','null');}; 
    2698                 option_delete.innerHTML = get_lang('Delete'); 
    2699                 option_delete.onmouseover=function () {this.className='message_options_active';}; 
    2700                 option_delete.onmouseout=function () {this.className='message_options'}; 
    2701                 option_delete.title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'Delete') : get_lang('Delete'); 
    2702  
    2703                 var space6 = document.createElement("SPAN"); 
    2704                 space6.innerHTML = '&nbsp;|&nbsp;'; 
    2705                  
    2706                 options.appendChild(space6); 
    2707                 options.appendChild(option_delete); 
    2708                 //FIM OPCAO PARA DELETAR 
    2709  
    2710         tr.appendChild(td); 
    2711                 //tr.appendChild(option_mark); 
    2712         tr.appendChild(options); 
    2713         tr.appendChild(next_previous_msg_td); 
    2714         tbody_message_options.appendChild(tr); 
    2715  
    2716         ////////// OTHER OPTIONS //////////////////// 
    2717         var tr_other_options = document.createElement("TR"); 
    2718                 var tr_other_mark_options = document.createElement("TR"); 
    2719                 var tr_other_more_options = document.createElement("TR"); 
    2720                  
    2721                 tr_other_mark_options.id = 'tr_other_mark_options_' + ID; 
    2722                 tr_other_mark_options.style.display = 'none'; 
    2723                 tr_other_mark_options.style.backgroundColor = '#205C8E'; 
    2724         tr_other_options.id = 'tr_other_options_' + ID; 
    2725         tr_other_options.style.display = 'none'; 
    2726                 tr_other_options.style.backgroundColor = '#205C8E'; 
    2727                 tr_other_more_options.id = 'tr_other_more_options_' + ID; 
    2728                 tr_other_more_options.style.display = 'none'; 
    2729                 tr_other_more_options.style.backgroundColor = '#205C8E';                 
    2730  
    2731         var td_other_options = document.createElement("TD"); 
    2732                 var td_other_mark_options = document.createElement("TD"); 
    2733                 var td_other_more_options = document.createElement("TD"); 
    2734                  
    2735         td_other_options.colSpan = '3'; 
    2736                 td_other_mark_options.colSpan = '3'; 
    2737                 td_other_more_options.colSpan = '3'; 
    2738  
    2739         var div_other_options = document.createElement("DIV"); 
    2740                 var div_other_mark_options = document.createElement("DIV"); 
    2741                 var div_other_more_options = document.createElement("DIV"); 
    2742  
    2743                 //var option_mark_as_unseen = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
    2744                 //var option_mark_as_important                  = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    2745                 //var option_mark_as_normal                             = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
    2746                 var block_user = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick ="block_user_email(\''+info_msg.from.email+'\');">'+get_lang("Block Sender")+'</span> | ';     
    2747                 //var option_forward = '<span onclick="new_message(\'forward\',\''+ ID+'\');" onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options">'+get_lang("Forward")+'</span> | '; 
    2748                 var option_move = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=wfolders.makeWindow("'+ID+'","move_to");>'+get_lang("Move")+'</span> | '; 
    2749                 var option_print = '<span onclick="print_all()" onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options">'+get_lang("Print")+'</span> | '; 
    2750                 var option_export = '<span onclick="proxy_mensagens.export_all_messages()" onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options">'+get_lang("Export")+'</span> | '; 
    2751  
    2752                 option_reply_to_all__title = (preferences.use_shortcuts == '1') ? get_lang('Shortcut: %1', 'T') : ''; 
    2753                 var option_reply_to_all = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick="new_message(\'reply_to_all_with_history\',\''+ID+'\');" title="'+option_reply_to_all__title+'">'+get_lang("Reply to all")+'</span> | '; 
    2754         var option_reply_without_history = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span> | '; 
    2755                 var option_reply_to_all_without_history = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span>  | '; 
    2756  
    2757                 var report_error        = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=reports_window("'+currentTab+'");>'+get_lang("Report error")+'</span> | ';  
    2758  
    2759                 div_other_more_options.innerHTML += option_move + option_print + option_export + block_user +  report_error; 
    2760                  
    2761                 div_other_options.innerHTML += option_reply_without_history + option_reply_to_all_without_history + option_reply_to_all; 
    2762         if (use_spam_filter) { 
    2763                         if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam' || (info_msg.msg_folder.match(/^user/) && info_msg.msg_folder.match(/Spam$/))){ 
    2764                                 div_other_mark_options.innerHTML += '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\');">'+get_lang("Not Spam")+'</span> | '; 
    2765         } 
    2766                         else{ 
    2767                                 div_other_mark_options.innerHTML += '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\');">'+get_lang("Is Spam")+'</span> | '; 
    2768                         } 
    2769                 } 
    2770                 var space5 = document.createElement("SPAN"); 
    2771                 space5.innerHTML = '&nbsp;|&nbsp;'; 
    2772          
    2773                 div_other_mark_options.appendChild(option_mark_as_unseen); 
    2774                 var space4 = document.createElement("SPAN"); 
    2775                 space4.innerHTML = '&nbsp;|&nbsp;'; 
    2776                 div_other_mark_options.appendChild(space4); 
    2777                 div_other_mark_options.appendChild(option_mark_important);  
    2778                 var space7 = document.createElement("SPAN"); 
    2779                 space7.innerHTML = '&nbsp;|&nbsp;'; 
    2780                 div_other_mark_options.appendChild(space7); 
    2781          
    2782         td_other_options.align = 'right'; 
    2783         td_other_options.style.paddingTop = '3px'; 
    2784         td_other_options.appendChild(div_other_options); 
    2785  
    2786                 td_other_mark_options.align = 'right'; 
    2787                 td_other_mark_options.style.paddingTop = '3px'; 
    2788                 td_other_mark_options.appendChild(div_other_mark_options); 
    2789                  
    2790                 td_other_more_options.align = 'right'; 
    2791                 td_other_more_options.style.paddingTop = '3px'; 
    2792                 td_other_more_options.appendChild(div_other_more_options); 
    2793  
    2794  
    2795         tr_other_options.appendChild(td_other_options); 
    2796         tbody_message_options.appendChild(tr_other_options); 
    2797                  
    2798                 tr_other_more_options.appendChild(td_other_more_options); 
    2799                 tbody_message_options.appendChild(tr_other_more_options); 
    2800                  
    2801                 tr_other_mark_options.appendChild(td_other_mark_options); 
    2802                 tbody_message_options.appendChild(tr_other_mark_options); 
    2803         ////////// END OTHER OPTIONS //////////////// 
    2804  
    2805                 ////////// BEGIN SIGNATURE ////////////////// 
    2806         if (info_msg.signature && info_msg.signature.length > 0) 
    2807         { 
    2808             var tr_signature = document.createElement("TR"); 
    2809             var td_signature = document.createElement("TD"); 
    2810             td_signature.className = 'tr_message_header'; 
    2811             tr_signature.id = 'tr_signature_'+ID; 
    2812             td_signature.colSpan = "5"; 
    2813             tr_signature.style.display = 'none'; 
    2814             for (i in info_msg.signature) 
    2815                 { 
    2816                     if(typeof(info_msg.signature[i]) == 'object') 
    2817                         { 
    2818                             var aux = ''; 
    2819                             for (ii in info_msg.signature[i]) 
    2820                                 { 
    2821                                     if(info_msg.signature[i][ii].indexOf("###") > -1) 
    2822                                         { 
    2823                                          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); 
    2824                                         } 
    2825                                     else 
    2826                                         { 
    2827                                          aux += info_msg.signature[i][ii]; 
    2828                                         } 
    2829                                 } 
    2830                             td_signature.innerHTML += "<a onclick=\"javascript:alert('" + aux + "')\"><b><font color=\"#0000FF\">" + get_lang("More") + "...</font></b></a>"; 
    2831                             continue; 
    2832                         } 
    2833                     if(info_msg.signature[i].indexOf("#@#") > -1) 
    2834                         { 
    2835                          td_signature.innerHTML += '<span style=color:red><strong>'+get_lang(info_msg.signature[i].substring(0,info_msg.signature[i].indexOf("#@#")))+'</strong> '+info_msg.signature[i].substring(info_msg.signature[i].indexOf("#@#")+3)+'</span> <br /> '; 
    2836                         } 
    2837                             if(info_msg.signature[i].indexOf("###") > -1) 
    2838                                 { 
    2839                                     td_signature.innerHTML += '<span><strong>'+get_lang(info_msg.signature[i].substring(0,info_msg.signature[i].indexOf("###")))+'</strong> '+info_msg.signature[i].substring(info_msg.signature[i].indexOf("###")+3)+'</span> <br /> '; 
    2840                                 } 
    2841                 } 
    2842             var signature_status_pos = info_msg.signature[0].indexOf('Message untouched'); 
    2843             td_signature.id = "td_signature_"+ID; 
    2844             if(signature_status_pos < 0 ) 
    2845                 { 
    2846                     td.innerHTML += '&nbsp;<img style="cursor:pointer" src="templates/'+template+'/images/signed_error.gif" title="'+get_lang("Details")+'">'; 
    2847                     tr_signature.style.display = ''; 
    2848                 } 
    2849             else 
    2850                 { 
    2851                     td.innerHTML += '&nbsp;<img style="cursor:pointer" src="templates/'+template+'/images/signed_table.gif" title="'+get_lang("Details")+'">'; 
    2852                 } 
    2853             td.onclick = function(){ 
    2854             var _height = Element("div_message_scroll_"+ID).style.height; 
    2855             _height = parseInt(_height.replace("px","")); 
    2856             var _offset = 130; 
    2857             if (this.value == 'more_cert'){ 
    2858                 this.value = 'hide_cert'; 
    2859                 Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
    2860                 Element('tr_signature_'+ID).style.display = 'none'; 
    2861                 Element('td_signature_'+ID).style.display = 'none'; 
    2862  
    2863             } 
    2864             else{ 
    2865                 this.value = 'more_cert'; 
    2866                 Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
    2867                 Element('tr_signature_'+ID).style.display = ''; 
    2868                 Element('td_signature_'+ID).style.display = ''; 
    2869             } 
    2870         }; 
    2871  
    2872             tr_signature.appendChild(td_signature); 
    2873             tbody_message_options.appendChild(tr_signature); 
    2874         } 
    2875         //////////// END SIGNATURE //////////////// 
    2876  
    2877         table_message_options.appendChild(tbody_message_options); 
    2878         td0.appendChild(table_message_options); 
    2879         tr0.appendChild(td0); 
    2880         tbody_message.appendChild(tr0); 
    2881         } 
    2882         // IF DRAFT 
    2883         else 
    2884         { 
    2885                 var options = document.createElement("TD"); 
    2886                 //options.width = "1%"; 
    2887                 options.setAttribute("noWrap","true"); 
    2888                 var option_edit   = ' | <span class="message_options" onclick="new_message(\'edit\',\''+ID+'\');">'+get_lang('Edit')+'</span>'; 
    2889                 var option_print = ' | <span class="message_options" onclick="print_msg(\''+info_msg.msg_folder+'\',\''+info_msg.msg_number+'\',\''+ID+'\');">'+get_lang('Print')+'</span>'; 
    2890                 var option_hide_more = document.createElement("SPAN"); 
    2891                 option_hide_more.className = 'message_options'; 
    2892                 options.align = 'right'; 
    2893                 option_hide_more.value = 'more_options'; 
    2894                 option_hide_more.id = 'option_hide_more_'+ID; 
    2895                 option_hide_more.innerHTML = get_lang('Show details'); 
    2896                 option_hide_more.onclick = function(){ 
    2897                         var _height = Element("div_message_scroll_"+ID).style.height; 
    2898                         _height = parseInt(_height.replace("px","")); 
    2899                         var _offset = 35; 
    2900                         if (this.value == 'more_options'){ 
    2901                                 this.innerHTML = "<b><u>"+get_lang('Hide details')+"</u></b>"; 
    2902                                 this.value = 'hide_options'; 
    2903                                 Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
    2904                                 Element('table_message_others_options_'+ID).style.display = ''; 
    2905                         } 
    2906                         else{ 
    2907                                 this.innerHTML = get_lang('Show details'); 
    2908                                 this.value = 'more_options'; 
    2909                                 Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
    2910                                 Element('table_message_others_options_'+ID).style.display = 'none'; 
    2911                         } 
    2912                 }; 
    2913                 options.appendChild(option_hide_more); 
    2914                 options_actions = document.createElement('SPAN'); 
    2915                 options_actions.innerHTML = option_edit + option_print; 
    2916                 options.appendChild(options_actions); 
    2917                 tr.appendChild(td); 
    2918                 tr.appendChild(options); 
    2919                 tr.appendChild(next_previous_msg_td); 
    2920                 tbody_message_options.appendChild(tr); 
    2921                 table_message_options.appendChild(tbody_message_options); 
    2922                 td0.appendChild(table_message_options); 
    2923                 tr0.appendChild(td0); 
    2924                 tbody_message.appendChild(tr0); 
    2925  
    2926                 var important_message = document.createElement("INPUT"); 
    2927                 important_message.id = "is_important_"+ID; 
    2928                 important_message.name = "is_important"; 
    2929                 important_message.type = "HIDDEN"; 
    2930                 important_message.value = (info_msg.Importance == "" || info_msg.Importance == "Normal") ? "0": "1"; 
    2931  
    2932                 options.appendChild(important_message); 
    2933         } 
    2934         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2935         // END options message. 
    2936         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    2937  
    2938         var table_message_others_options = document.createElement("TABLE"); 
    2939         table_message_others_options.id = 'table_message_others_options_' + ID; 
    2940         table_message_others_options.width = "100%"; 
    2941         table_message_others_options.style.display = 'none'; 
    2942         if(navigator.appName.indexOf('Internet Explorer')>0){ 
    2943                 table_message_others_options.className = "table_message_options_ie"; 
    2944         }else{ 
    2945                 table_message_others_options.className = "table_message_options"; 
    2946         } 
    2947          
    2948         var tbody_message_others_options = document.createElement("TBODY"); 
    2949         var tr1 = document.createElement("TR"); 
    2950         tr1.className = "tr_message_header"; 
    2951         var td1 = document.createElement("TD"); 
    2952         td1.innerHTML = get_lang("From: "); 
    2953         td1.appendChild(deny_email(info_msg.from.email)); 
    2954         td1.width = "7%"; 
    2955  
    2956         if (info_msg.sender){ 
    2957                 var tr111 = document.createElement("TR"); 
    2958                 tr111.className = "tr_message_header"; 
    2959                 var td111 = document.createElement("TD"); 
    2960                 td111.innerHTML = get_lang("Sent by")+": "; 
    2961                 td111.appendChild(deny_email(info_msg.sender.email)); 
    2962                 td111.setAttribute("noWrap","true"); 
    2963                 var sender = document.createElement("TD"); 
    2964                 sender.id = "sender_"+ID; 
    2965                 var sender_values = document.createElement("INPUT"); 
    2966                 sender_values.id = "sender_values_"+ID; 
    2967                 sender_values.type = "HIDDEN"; 
    2968                 sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links. 
    2969                 sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full); 
    2970                 sender.className = "header_message_field"; 
    2971                 tr111.appendChild(td111); 
    2972                 tr111.appendChild(sender); 
    2973                 tr111.appendChild(sender_values); 
    2974                 tbody_message_others_options.appendChild(tr111); 
    2975         } 
    2976  
    2977         var from = document.createElement("TD"); 
    2978         from.id = "from_"+ID; 
    2979         from.innerHTML = info_msg.from.full; 
    2980         if (info_msg.Draft != "X"){ 
    2981                 from.innerHTML += draw_plugin_cc(ID, info_msg.from); 
    2982                 tbody_message_others_options.appendChild(tr1); 
    2983         } 
    2984         from.className = "header_message_field"; 
    2985         var from_values = document.createElement("INPUT"); 
    2986         from_values.id = "from_values_"+ID; 
    2987         from_values.type = "HIDDEN"; 
    2988         from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 
    2989  
    2990         var local_message = document.createElement("INPUT"); 
    2991         local_message.id = "is_local_"+ID; 
    2992         local_message.name = "is_local"; 
    2993         local_message.type = "HIDDEN"; 
    2994         local_message.value = (info_msg.local_message)?"1":"0"; 
    2995  
    2996         tr1.appendChild(td1); 
    2997         tr1.appendChild(from); 
    2998         tr1.appendChild(from_values); 
    2999         tr1.appendChild(local_message); 
    3000  
    3001         if (info_msg.reply_to){ 
    3002                 var tr11 = document.createElement("TR"); 
    3003                 tr11.className = "tr_message_header"; 
    3004                 var td11 = document.createElement("TD"); 
    3005                 td11.innerHTML = get_lang("Reply to")+": "; 
    3006                 td11.setAttribute("noWrap","true"); 
    3007                 var reply_to = document.createElement("TD"); 
    3008                 reply_to.id = "reply_to_"+ID; 
    3009  
    3010                 var reply_to_values = document.createElement("INPUT"); 
    3011                 reply_to_values.id = "reply_to_values_"+ID; 
    3012                 reply_to_values.type = "HIDDEN"; 
    3013                 reply_to_values.value = info_msg.reply_to; //Veio do IMAP, sem images nem links. 
    3014                 $.each(break_comma(info_msg.reply_to), function(index, value){ 
    3015                         reply_to.innerHTML += draw_plugin_cc(ID, value);         
    3016                 }) 
    3017                 reply_to.className = "header_message_field"; 
    3018                 tr11.appendChild(td11); 
    3019                 tr11.appendChild(reply_to); 
    3020                 tr11.appendChild(reply_to_values); 
    3021                 tbody_message_others_options.appendChild(tr11); 
    3022         } 
    3023         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3024         var tr2 = document.createElement("TR"); 
    3025         tr2.className = "tr_message_header"; 
    3026         var td2 = document.createElement("TD"); 
    3027         td2.width = "7%"; 
    3028         td2.innerHTML = get_lang("To: "); 
    3029         var to = document.createElement("TD"); 
    3030         to.id = "to_"+ID; 
    3031  
    3032         var to_values = document.createElement("INPUT"); 
    3033         to_values.id = "to_values_"+ID; 
    3034         to_values.type = "HIDDEN"; 
    3035         to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links. 
    3036         // Salva a pasta da mensagem 
    3037         var input_current_folder = document.createElement('input'); 
    3038         input_current_folder.id = "input_folder_"+ID; 
    3039         input_current_folder.name = "input_folder"; 
    3040         input_current_folder.type = "hidden"; 
    3041         input_current_folder.value = info_msg.msg_folder; 
    3042         td2.appendChild(input_current_folder); 
    3043         // fim 
    3044         // ALEXANDRE LUIZ CORREIA 
    3045         if(info_msg.toaddress2 != null) 
    3046         { 
    3047                 toaddress_array[ID] = break_comma(info_msg.toaddress2); 
    3048                 if (toaddress_array[ID].length > 1) 
    3049                 { 
    3050                         to.innerHTML += draw_plugin_cc(ID, toaddress_array[ID][0]); 
    3051                         var div_toaddress = document.createElement("SPAN"); 
    3052                         div_toaddress.id = "div_toaddress_"+ID; 
    3053                         div_toaddress.style.display=""; 
    3054                         div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"; 
    3055                         to.appendChild(div_toaddress); 
    3056                 } 
    3057                 else 
    3058                 { 
    3059                         toAdd = toaddress_array[ID].toString() 
    3060                         if( trim(toAdd) != "" ) { 
    3061                                 toAdd = toAdd.replace("<","&lt;").replace(">","&gt;"); 
    3062                         } else { 
    3063                                 toAdd = get_lang("without destination"); 
    3064                         } 
    3065  
    3066                         to.innerHTML += draw_plugin_cc(ID,toAdd); 
    3067                 } 
    3068  
    3069                 to.className = "header_message_field"; 
    3070                 tr2.appendChild(td2); 
    3071                 tr2.appendChild(to); 
    3072                 tr2.appendChild(to_values); 
    3073         } 
    3074  
    3075         tbody_message_others_options.appendChild(tr2); 
    3076  
    3077         if (info_msg.cc){ 
    3078                 var tr3 = document.createElement("TR"); 
    3079                 tr3.className = "tr_message_header"; 
    3080                 var td3 = document.createElement("TD"); 
    3081                 td3.innerHTML = "CC: "; 
    3082                 var cc = document.createElement("TD"); 
    3083                 cc.id = "cc_"+ID; 
    3084  
    3085                 var cc_values = document.createElement("INPUT"); 
    3086                 cc_values.id = "cc_values_"+ID; 
    3087                 cc_values.type = "HIDDEN"; 
    3088                 cc_values.value = info_msg.cc; 
    3089  
    3090                 ccaddress_array[ID] = break_comma(info_msg.cc); 
    3091                 if (ccaddress_array[ID].length > 1){ 
    3092                         var div_ccaddress = document.createElement("SPAN"); 
    3093                         div_ccaddress.id = "div_ccaddress_"+ID; 
    3094                         var div_ccaddress_full = document.createElement("SPAN"); 
    3095                         div_ccaddress_full.id = "div_ccaddress_full_"+ID; 
    3096                         div_ccaddress.style.display=""; 
    3097                         cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]); 
    3098                         div_ccaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','cc');>"+get_lang('more')+"</a>)"; 
    3099                         cc.appendChild(div_ccaddress); 
    3100                 } 
    3101                 else{ 
    3102                         cc.innerHTML = draw_plugin_cc(ID, info_msg.cc); 
    3103                 } 
    3104                 cc.className = "header_message_field"; 
    3105                 tr3.appendChild(td3); 
    3106                 tr3.appendChild(cc); 
    3107                 tr3.appendChild(cc_values); 
    3108                 tbody_message_others_options.appendChild(tr3); 
    3109         } 
    3110  
    3111         /* 
    3112          * @AUTHOR Rodrigo Souza dos Santos 
    3113          * @MODIFY-DATE 2008/09/11 
    3114          * @BRIEF Adding routine to create bcc field if there is one. 
    3115          */ 
    3116         if (info_msg.bcc) 
    3117         { 
    3118                 var tr3 = document.createElement("tr"); 
    3119                 tr3.className = "tr_message_header"; 
    3120                 var td3 = document.createElement("td"); 
    3121                 td3.innerHTML = get_lang("BCC") + " : "; 
    3122                 var cco = document.createElement("td"); 
    3123                 cco.id = "cco_"+ID; 
    3124  
    3125                 var cco_values = document.createElement("input"); 
    3126                 cco_values.id = "cco_values_"+ID; 
    3127                 cco_values.type = "hidden"; 
    3128                 cco_values.value = info_msg.bcc; 
    3129  
    3130                 ccoaddress_array[ID] = info_msg.bcc.split(","); 
    3131                 if (ccoaddress_array[ID].length > 1){ 
    3132                         var div_ccoaddress = document.createElement("SPAN"); 
    3133                         div_ccoaddress.id = "div_ccoaddress_"+ID; 
    3134                         var div_ccoaddress_full = document.createElement("SPAN"); 
    3135                         div_ccoaddress_full.id = "div_ccoaddress_full_"+ID; 
    3136                         div_ccoaddress.style.display=""; 
    3137  
    3138                         //cco.innerHTML = draw_plugin_cc(ID, ccoaddress_array[ID][0]); 
    3139                         cco.innerHTML = ccoaddress_array[ID][0]; 
    3140                         div_ccoaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','cco');>"+get_lang('more')+"</a>)"; 
    3141                         cco.appendChild(div_ccoaddress); 
    3142                 } 
    3143                 else{ 
    3144                         //cco.innerHTML = draw_plugin_cc(ID, info_msg.cco); 
    3145                         cco.innerHTML = info_msg.bcc; 
    3146                 } 
    3147                 cco.className = "header_message_field"; 
    3148                 tr3.appendChild(td3); 
    3149                 tr3.appendChild(cco); 
    3150                 tr3.appendChild(cco_values); 
    3151                 tbody_message_others_options.appendChild(tr3); 
    3152         } 
    3153  
    3154         var tr4 = document.createElement("TR"); 
    3155         tr4.className = "tr_message_header"; 
    3156         var td4 = document.createElement("TD"); 
    3157         td4.innerHTML = get_lang("Date: "); 
    3158         var date = document.createElement("TD"); 
    3159         date.id = "date_"+ID; 
    3160         date.innerHTML = info_msg.fulldate; 
    3161         var date_day = document.createElement("INPUT"); 
    3162         date_day.id = "date_day_"+ID; 
    3163         date_day.type = "HIDDEN"; 
    3164         date_day.value = info_msg.msg_day; 
    3165         var date_hour = document.createElement("INPUT"); 
    3166         date_hour.id = "date_hour_"+ID; 
    3167         date_hour.type = "HIDDEN"; 
    3168         date_hour.value = info_msg.msg_hour 
    3169         date.className = "header_message_field"; 
    3170         tr4.appendChild(td4); 
    3171         tr4.appendChild(date); 
    3172         tr4.appendChild(date_day); 
    3173         tr4.appendChild(date_hour); 
    3174         tbody_message_others_options.appendChild(tr4); 
    3175  
    3176         var tr5 = document.createElement("TR"); 
    3177         tr5.className = "tr_message_header"; 
    3178         var td5 = document.createElement("TD"); 
    3179         td5.innerHTML = get_lang("Subject"); 
    3180         var subject = document.createElement("TD"); 
    3181         subject.id = "subject_"+ID; 
    3182         subject.innerHTML = html_entities(info_msg.subject);  
    3183         subject.className = "header_message_field"; 
    3184         if(defaultCalendar == "expressoCalendar" && $("#expressoCalendarid")[0]){ 
    3185                 var new_event_logo = document.createElement("IMG"); 
    3186                 new_event_logo.title = "Criar evento a partir deste email"; 
    3187                 new_event_logo.alt = "Criar evento a partir deste email"; 
    3188                 new_event_logo.src = "./templates/default/images/calendar_add.png"; 
    3189                 new_event_logo.style.cursor = "pointer"; 
    3190                 new_event_logo.style.marginLeft = "5px"; 
    3191                 new_event_logo.onclick = function(){ 
    3192                 import_implements_calendar(); 
    3193                  
    3194                  
    3195                         DataLayer.dispatchPath = "../prototype/"; 
    3196                         var path = "../prototype/modules/calendar/"; 
    3197  
    3198                         var startEvent = new Date();   
    3199                         if(startEvent.toString('mm') < 30)  
    3200                                 startEvent.add({minutes: (30 - parseInt(startEvent.toString('mm')))});  
    3201                         else  
    3202                                 startEvent.add({hours: 1, minutes: '-'+startEvent.toString('mm')});  
    3203                         var endEvent = function(date){  
    3204                                 if(!!User.preferences.defaultCalendar){  
    3205                                         return  new Date(parseInt(date.getTime()) +  
    3206                                                     (!!Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration ?   
    3207                                                         (Calendar.signatureOf[User.preferences.defaultCalendar].calendar.defaultDuration * 60000) : 
    3208                                                         (User.preferences.defaultDuration * 60000) 
    3209                                                 )); 
    3210                                 }else  
    3211                                         return new Date(parseInt(date.getTime()) + (User.preferences.defaultDuration * 60000));  
    3212                         };        
    3213  
    3214                         var emails = $("#to_values_"+ID).val().split(','); 
    3215                          
    3216                          
    3217                         //Normalizaᅵᅵo dos dados evita ter que reemplementar toda as funcionalidades do calendar 
    3218                         eventDetails({  
    3219                                          
    3220                                         acl: {inviteGuests: true, organization: true ,participationRequired: false, read: true, write: true}, 
    3221                                         alarms: [], 
    3222                                         allDay: false, 
    3223                                         attachments: [], 
    3224                                         isAttendee: true, 
    3225                                         attendee: '',//TODOOOOOO, 
    3226                                         calendar: User.preferences.defaultCalendar ? User.preferences.defaultCalendar : Calendar.calendars[0], 
    3227                                         calendars: Calendar.calendars, 
    3228                                         category: '', 
    3229                                         'class': '1', 
    3230                                         delegatedFrom: {}, 
    3231                                         endDate: startEvent.toString(User.preferences.dateFormat), 
    3232                                         startDate: endEvent(startEvent).toString(User.preferences.dateFormat), 
    3233                                         startHour: startEvent.toString(User.preferences.hourFormat), 
    3234                                         endHour: endEvent(startEvent).toString(User.preferences.hourFormat), 
    3235                                         timezone: User.preferences.defaultCalendar ? Calendar.signatureOf[User.preferences.defaultCalendar].calendar.timezone : User.preferences.timezone, 
    3236                                         summary : $("#subject_"+ID).text(), 
    3237                                         description : $("#body_" + ID).text(), 
    3238                                         startTime: startEvent.getTime(), 
    3239                                         endTime: endEvent(startEvent), 
    3240                                         timezones: Timezone.timezones, 
    3241                                         me: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0', id: User.me.id}, 
    3242                                         organizer: {name: User.me.name, mail: User.me.mail, acl: 'rowi', status: '1', delegatedFrom: '0' , id: User.me.id}, 
    3243                                         statusParticipants: {accepted: 0, cancelled: 0, tentative: 0, unanswered:emails.length}, 
    3244                                         location: '', 
    3245                                         attendee: $.map(emails, function( mail ){                        
    3246                                                 var contact = false; 
    3247                                                 var decoded =  Encoder.htmlDecode(mail); 
    3248                                                 var newAttendeeName = ""; 
    3249  
    3250                                                 var name = decoded.match(/"([^"]*)"/) ? decoded.match(/"([^"]*)"/)[1] : ''; 
    3251                                                 var mail = decoded.match(/<([^<]*)>[\s]*$/) ? decoded.match(/<([^<]*)>[\s]*$/)[1].toLowerCase() : decoded;  
    3252  
    3253  
    3254                                                 var user = DataLayer.get('user', ["=", "mail", mail], true); 
    3255                                                  
    3256                                                 if( $.type(user) == "array") 
    3257                                                     user = user[0]; 
    3258  
    3259                                                 if(user != ''){ 
    3260                                                     //user = {name : name , mail : mail}; 
    3261                                                     if(User.me.mail == user.mail) 
    3262                                                             return(null); 
    3263                                                     user.isExternal = (!!user && !(!!user.isExternal)) ? 0 : 1; 
    3264  
    3265                                                     return  DataLayer.merge({ 
    3266                                                             name: user.name, 
    3267                                                             mail: user.mail, 
    3268                                                             acl:  'r', 
    3269                                                             delegatedFrom: '0', 
    3270                                                             status: '4', 
    3271                                                             isExternal: user.isExternal 
    3272                                                     }, !!user.id ? {id : DataLayer.put('participant', {user: user.id, isExternal: user.isExternal})} : {id: DataLayer.put('participant', {user: user})});  
    3273                                                 }else if(mail.match(/[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])/)){ 
    3274                                                      
    3275                                                     var userId = DataLayer.put('user', { 
    3276                                                         name: name,  
    3277                                                         mail: mail,  
    3278                                                         isExternal: '1' 
    3279                                                     }); 
    3280                                                     var newAttendeeId = DataLayer.put('participant', { 
    3281                                                         user: userId,  
    3282                                                         isExternal: '1' 
    3283                                                     }); 
    3284  
    3285                                                     return  { 
    3286                                                             id: newAttendeeId, 
    3287                                                             name: name, 
    3288                                                             mail: mail, 
    3289                                                             acl:  'r', 
    3290                                                             delegatedFrom: '0', 
    3291                                                             status: '4', 
    3292                                                             isExternal: '1' 
    3293                                                     }; 
    3294                                                      
    3295                                                 }else 
    3296                                                     return (null); 
    3297                                         })       
    3298                                          
    3299                         }, true, path, true); 
    3300                 } 
    3301                 subject.appendChild(new_event_logo); 
    3302         } 
    3303         tr5.appendChild(td5); 
    3304         tr5.appendChild(subject); 
    3305         tbody_message_others_options.appendChild(tr5); 
    3306         //k! 
    3307          
    3308          
    3309         var update_labeleds_msg = function(){ 
    3310                 //TODO Mudar quando API abstrair atualizaᅵᅵes no cache 
    3311                 DataLayer.remove('labeled', false); 
    3312                 //DataLayer.get('labeled'); 
    3313                 var labels = DataLayer.get("labeled", {filter: [ 
    3314                                 'AND', 
    3315                                         ['=', 'folderName', current_folder],  
    3316                                         ['=','messageNumber',folder_id]],  
    3317                                 criteria : {deepness: 2}} ); 
    3318                  
    3319                 if(labels.length != 0){ 
    3320                         var tr8 = document.createElement("TR"); 
    3321                         tr8.className = "tr_message_header"; 
    3322                         var td8 = document.createElement("TD"); 
    3323                         td8.innerHTML = get_lang("Labels: "); 
    3324                         var markers = document.createElement("TD"); 
    3325                         markers.id = "markers_"+ID; 
    3326                          
    3327                         for(var i=0; i<labels.length; i++){ 
    3328                                 fontColor = labels[i].label.fontColor; 
    3329                                 borderColor = labels[i].label.borderColor; 
    3330                                 backgroundColor = labels[i].label.backgroundColor; 
    3331                                 nameLabel = labels[i].label.name; 
    3332                                 id = labels[i].id; 
    3333                                 markers.innerHTML+= "<div  style='height: 15px; background:"+backgroundColor+"; float: left; -webkit-border-radius: 3px; -moz-border-radius: 3px; margin:0 0 1px 1px; border: 1px solid "+borderColor+"'><span style='color: "+fontColor+"; margin: 5px;'>"+nameLabel+"</span><span class='removeLabeledMsg' id='"+id+"' title='"+get_lang("Remove Label")+"'>x</span></div>"; 
    3334                                  
    3335                         } 
    3336                         $(markers).find('span.removeLabeledMsg').click(function(event){ 
    3337                                 var id_labeled = $(event.target).attr("id"); 
    3338                                 //TODO Mudar quando API abstrair atualizaᅵᅵes no cache 
    3339                                 //DataLayer.remove('labeled', false); 
    3340                                 //DataLayer.get('labeled'); 
    3341                                 DataLayer.remove('labeled', id_labeled); 
    3342                                 DataLayer.commit(false, false, function(){ 
    3343                                         var index_folder = id_labeled.lastIndexOf('/'); 
    3344                                         var folder_name = id_labeled.slice(0,index_folder); 
    3345                                         var index_number = id_labeled.lastIndexOf('#'); 
    3346                                         var msg_number = id_labeled.slice(index_folder + 1,index_number); 
    3347                                         updateLabelsColumn({msg_number:msg_number, boxname:folder_name, labels:false}); 
    3348                                         update_labeleds_msg(); 
    3349                                         tbody_message_others_options.removeChild(tr8); 
    3350                                 }); 
    3351                                  
    3352                         }); 
    3353                         markers.className = "header_message_field"; 
    3354                         tr8.appendChild(td8); 
    3355                         tr8.appendChild(markers); 
    3356                         tbody_message_others_options.appendChild(tr8); 
    3357                 } 
    3358         } 
    3359  
    3360         if ( info_msg.attachments && info_msg.attachments.length > 0 ) 
    3361         { 
    3362                 //Cï¿œdigo no padrï¿œo expresso 2.2 
    3363         var tr6 = document.createElement("TR"); 
    3364                 tr6.className = "tr_message_header"; 
    3365                 var td6 = document.createElement("TD"); 
    3366                 td6.innerHTML = get_lang("Attachments: "); 
    3367                  
    3368                  
    3369                 var attachments = document.createElement("TD"); 
    3370                 td6.valign = "top"; 
    3371                 attachments.align = 'left'; 
    3372                 if(info_msg.attachments.length >= 1){ 
    3373                         if(info_msg.attachments.length > 1) { 
    3374                                 var link_attachment      = document.createElement("A"); 
    3375                                  if(proxy_mensagens.is_local_folder(current_folder)) 
    3376                                         link_attachment.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    3377                                 else 
    3378                                         link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    3379                                 link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments'); 
    3380                     attachments.appendChild(link_attachment); 
    3381                         } 
    3382                         if(parseInt(preferences.remove_attachments_function)) 
    3383                         { 
    3384                     attachments.appendChild(document.createTextNode('  ')); 
    3385                     var del_attachments = document.createElement("A"); 
    3386                     del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    3387                     del_attachments.innerHTML = get_lang('remove all attachments'); 
    3388                     attachments.appendChild(del_attachments); 
    3389                         } 
    3390                 attachments.appendChild(document.createElement('BR')); 
    3391         } 
    3392                 attachments.id = "attachments_" + ID; 
    3393                 var parserImport = false; 
    3394                 for (var i=0; i<info_msg.attachments.length; i++) 
    3395                 { 
    3396                         var import_url = '$this.db_functions.import_vcard&msg_folder='+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding; 
    3397                         var link_attachment = document.createElement("a"); 
    3398                         link_attachment.setAttribute("class", "type_images"); 
    3399                         link_attachment.style.display = "block"; 
    3400                         link_attachment.setAttribute("href", proxy_mensagens.link_anexo(info_msg,i)); 
    3401                         link_attachment.innerHTML = url_decode(info_msg.attachments[i].name) + " ("+borkb(info_msg.attachments[i].fsize)+")"; 
    3402                         //link_attachment.innerHTML += " ("+borkb(info_msg.attachments[i].fsize)+")"; 
    3403  
    3404                         //k trocar por match??? 
    3405                         if((url_decode(info_msg.attachments[i].name).indexOf(".ics")!=-1) || (url_decode(info_msg.attachments[i].name).indexOf(".vcard")!=-1)) 
    3406                         { 
    3407                                 //Link para importar calendï¿œrio 
    3408                                 var link_import_attachment = new Image(); 
    3409                                 link_import_attachment.src = "templates/"+template+"/images/new.png"; 
    3410                                 link_import_attachment.setAttribute("onclick","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"'); return false;"); 
    3411                                 link_import_attachment.title = get_lang("Import to calendar"); 
    3412                                 link_import_attachment.style.display = "inline"; 
    3413                                 link_import_attachment.align = "top"; 
    3414                                 link_import_attachment.style.marginLeft = "5px"; 
    3415                                 link_import_attachment.style.cursor = "pointer"; 
    3416                                 link_attachment.appendChild(link_import_attachment); 
    3417                                 parserImport = true; 
    3418                         } 
    3419  
    3420             if((url_decode(info_msg.attachments[i].name).indexOf(".eml") != -1)) 
    3421                         { 
    3422                                 //Link para importar calendï¿œrio 
    3423                                 var link_open_msg = new Image(); 
    3424                                 link_open_msg.src = "templates/"+template+"/images/email.png"; 
    3425                                 //link_open_msg.setAttribute("onclick","javascript:import_calendar('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"&idx_file="+i+"&encoding="+info_msg.attachments[i].encoding+"'); return false;"); 
    3426                                 link_open_msg.setAttribute("onclick","javascript:open_msg_part('"+info_msg.msg_folder+"&msg_number="+info_msg.msg_number+"&msg_part="+info_msg.attachments[i].pid+"'); return false;"); 
    3427                                 link_open_msg.title = get_lang("Open message"); 
    3428                                 link_open_msg.align = "top"; 
    3429                                 link_open_msg.style.marginLeft = "5px"; 
    3430                                 link_open_msg.style.cursor = "pointer"; 
    3431                                 link_attachment.appendChild(link_open_msg); 
    3432                         } 
    3433                  
    3434             //link_attachment.innerHTML += '<br/>'; 
    3435             attachments.appendChild(link_attachment); 
    3436             } 
    3437                 tr6.appendChild(td6); 
    3438         tr6.appendChild(attachments); 
    3439                 tbody_message_others_options.appendChild(tr6); 
    3440         } 
    3441  
    3442         if (parserImport){ 
    3443                 $.ajax({ 
    3444                         url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&readable=true&cirus_delimiter='+cyrus_delimiter+'&analize=true&uidAccount='+decodeOwner(), 
    3445                         async: true, 
    3446                         success: function(data){ 
    3447                                 data = connector.unserialize(data); 
    3448  
    3449                                 if(typeof(data) == "object"){ 
    3450                                     var calendarPermission = data.calendar; 
    3451                                     data = data.action; 
    3452                                 } 
    3453                                          
    3454                                 switch(parseInt(data)){ 
    3455                                 case 5: 
    3456                                         $('.type_images').append('<img class="loader" src="templates/default/images/ajax-loader.gif" align="top" style="margin-left: 5px; cursor: pointer; display: inline">'); 
    3457                                         $.ajax({ 
    3458                                                 url: "controller.php?action="+import_url+'&from_ajax=true&selected=true', 
    3459                                                 success: function(msg){          
    3460                                                         $('.type_images').append('<img src="../prototype/modules/mail/img/flagDone.png" align="top" style="margin: 3px 0 0 5px; cursor: pointer; display: inline">').parent().find('.loader').remove(); 
    3461                                                         write_msg( ( ( connector.unserialize(msg)) == "ok") ? "Seu evento foi Atualizado com sucesso" : "Ocorreu um erro ao atualizar evento" ); 
    3462                                                 } 
    3463                                         }); 
    3464                                         return; 
    3465                                         break;           
    3466                                 case 4: 
    3467                                         $('.type_images').append('<img src="../prototype/modules/mail/img/flagDone.png" align="top" style="margin: 3px 0 0 5px; cursor: pointer; ">'); 
    3468                                         write_msg("Seu evento encontra-se atualizado."); 
    3469                                         return; 
    3470                                         break; 
    3471                                 case 12: 
    3472                                         write_msg('Este evento nï¿œo existe mais.'); 
    3473                                         return; 
    3474                                         break;                   
    3475                                 } 
    3476                         } 
    3477                 }); 
    3478         } 
    3479         //k!! 
    3480          
    3481         var div = document.createElement("DIV"); 
    3482         div.id = "div_message_scroll_"+ID; 
    3483         div.style.background = 'WHITE'; 
    3484         div.style.overflow = "auto"; 
    3485         table_message_others_options.appendChild(tbody_message_others_options); 
    3486         var tr = document.createElement("TR"); 
    3487                 tr.className = "tr_message_header"; 
    3488         var td = document.createElement("TD"); 
    3489                 td.colspan = '2'; 
    3490         td.style.fontSize = '10pt';  
    3491         td.style.fontFamily = 'Arial,Verdana';  
    3492         td.style.verticalAlign = 'top';  
    3493         td.style.height = '100%'; 
    3494         div.appendChild(table_message_others_options); 
    3495         var imgTag = info_msg.body.match(/(<img[^>]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi); 
    3496         var newBody = info_msg.body; 
    3497         if(!info_msg.showImg && imgTag) 
    3498         { 
    3499                 var domains = ''; 
    3500                 var blocked = false; 
    3501                 var forbidden = true; 
    3502  
    3503                 if (preferences.notification_domains != null && typeof(preferences.notification_domains) != 'undefined') 
    3504                 { 
    3505                         domains = preferences.notification_domains.split(','); 
    3506                         for(var j = 0; j < imgTag.length; j++) 
    3507                         { 
    3508                                 for (var i = 0; i < domains.length; i++) 
    3509                                 { 
    3510                                         if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/get_archive\.php/g))  
    3511                                         { 
    3512                                                 forbidden = false; 
    3513                                                 continue; 
    3514                                         } 
    3515                                         imgSource = imgTag[j].match(/=['"](http:\/\/)+[^'"\/]*/); 
    3516                                         if (imgSource && imgSource.toString().substr(5).match(domains[i])) 
    3517                                                 forbidden = false; 
    3518                                 } 
    3519                                 if (forbidden) 
    3520                                 { 
    3521                                         newBody = newBody.replace(imgTag[j],"<img src='templates/"+template+"/images/forbidden.png'>"); 
    3522                                         blocked=true; 
    3523                                 } 
    3524                         } 
    3525                         if (blocked) 
    3526                         { 
    3527                                 var showImgLink = document.createElement('DIV'); 
    3528                                 showImgLink.id="show_img_link_"+ID; 
    3529                                 showImgLink.onclick = function(){show_msg_img(info_msg.msg_number,info_msg.msg_folder)}; 
    3530                                 showImgLink.className="show_img_link"; 
    3531                                 showImgLink.innerHTML = get_lang("Show images from")+": "+info_msg.from.email; 
    3532                                 td.appendChild(showImgLink); 
    3533                         } 
    3534                 } 
    3535         } 
    3536         td.appendChild(div); 
    3537         tr.appendChild(td) 
    3538         tbody_message.appendChild(tr); 
    3539  
    3540  
    3541         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3542         //Make the body message. 
    3543         /////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3544         var tr = document.createElement("TR"); 
    3545         tr.className = "tr_message_body"; 
    3546         var td = document.createElement("TD"); 
    3547         //td.setAttribute("colSpan","2"); 
    3548          
    3549         //Comentado pois estes replaces e a tentativa de remover as tags <span> vazias faz com que seja  
    3550         //eliminado os estilos aplicados no corpo do texto quando utilizado o Firefox. 
    3551         //newBody = newBody.replace("<body","<span"); 
    3552         //newBody = newBody.replace("<BODY","<span"); 
    3553         //while ( ( /<span[^>]*><span[^>]*>/ig ).test( newBody ) ) 
    3554         //      newBody = newBody.replace( /(<span[^>]*>)<span[^>]*>/ig, '$1' ); 
    3555  
    3556         var _body = document.createElement( 'div' ); 
    3557         _body.id = 'body_' + ID; 
    3558         _body.innerHTML = newBody; 
    3559         _body.style.marginLeft = '5px'; 
    3560  
    3561         var _elements = _body.getElementsByTagName( '*' ); 
    3562         for( var i = 0; i < _elements.length; i++ ) 
    3563                 if ( _elements[ i ].attributes && _elements[ i ].attributes.getNamedItem( 'id' ) ) 
    3564                         _elements[ i ].attributes.removeNamedItem( 'id' );       
    3565          
    3566         div.appendChild( _body ); 
    3567          
    3568          //window.setTimeout(function() { $("#div_message_scroll_"+ID).focus() },250); 
    3569          
    3570         function mailto( link ) 
    3571         { 
    3572                 var mail = link.href.substr( 7 ); 
    3573                 link.onclick = function( ) 
    3574                 { 
    3575                         new_message_to( mail ); 
    3576                         return false; 
    3577                 }; 
    3578         } 
    3579         var links = div.getElementsByTagName( 'a' ); 
    3580         for ( var i = 0; i < links.length; i++ ){ 
    3581                 try{ 
    3582                         if ( links.item( i ).href.indexOf( 'mailto:' ) === 0 ){ 
    3583                                 mailto( links.item( i ) ); 
    3584                         } 
    3585                         else{ 
    3586                                 var anchor_pattern = "http://"+location.host+location.pathname+"#"; 
    3587  
    3588                                 if ( ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 ) && 
    3589                                         (links.item( i ).href.indexOf(anchor_pattern) !== 0) ) //se nï¿œo for ï¿œncora 
    3590                                                 links.item( i ).setAttribute( 'target', '_blank' ); 
    3591                         } 
    3592                 }catch(e){ 
    3593                 } 
    3594         } 
    3595         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3596         //Make the thumbs of the message. 
    3597         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3598         //k 
    3599          
    3600         if ((info_msg.thumbs)&&(info_msg.thumbs.length > 0)){ 
    3601                 var thumbs = jQuery.parseJSON(info_msg.thumbs); 
    3602                 var div_thumbs = document.createElement("div"); 
    3603                  
    3604                 div_thumbs.setAttribute("class", "expressomail-thumbs"); 
    3605                 div_thumbs.setAttribute("className", "expressomail-thumbs"); //for IE 
    3606                  
    3607                 var div_thumbs_lbl = document.createElement("DIV"); 
    3608                 div_thumbs_lbl.setAttribute("class", "expressomail-thumbs-label"); 
    3609                 div_thumbs_lbl.setAttribute("className", "expressomail-thumbs-label"); //for IE 
    3610                  
    3611                 var div_thumbs_lbl_sp = document.createElement("SPAN"); 
    3612                 div_thumbs_lbl_sp.setAttribute("class", "message_options"); 
    3613                 div_thumbs_lbl_sp.setAttribute("className", "message_options"); //for IE 
    3614                 var div_thumbs_lbl_st = document.createElement("STRONG"); 
    3615                 div_thumbs_lbl_st.innerHTML = info_msg.attachments.length+" "+get_lang("attachment")+(info_msg.attachments.length > 1 ? "s" : "")+" "+get_lang("in this message"); 
    3616                 var div_thumbs_lbl_a  = document.createElement("A"); 
    3617  
    3618                 if(info_msg.thumbs.length > 1){ 
    3619                          if(proxy_mensagens.is_local_folder(current_folder)) 
    3620                                 div_thumbs_lbl_a.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    3621                         else 
    3622                                 div_thumbs_lbl_a.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')"); 
    3623                         div_thumbs_lbl_a.innerHTML = get_lang('Download all atachments'); 
    3624                 } else { 
    3625                         div_thumbs_lbl_a.setAttribute("style", "display:none; visibility:hidden;"); 
    3626                 } 
    3627  
    3628                 div_thumbs_lbl_sp.appendChild(div_thumbs_lbl_st); 
    3629                 div_thumbs_lbl_sp.appendChild(document.createTextNode(' :: ')); 
    3630                 div_thumbs_lbl_sp.appendChild(div_thumbs_lbl_a); 
    3631                 div_thumbs_lbl.appendChild(div_thumbs_lbl_sp); 
    3632  
    3633                 var div_thumbs_lbl_sp2   = document.createElement("SPAN"); 
    3634                 div_thumbs_lbl_sp2.setAttribute("class", "message_tips"); 
    3635                 div_thumbs_lbl_sp2.setAttribute("className", "message_tips"); //for IE 
    3636                 div_thumbs_lbl_sp2.innerHTML = get_lang("<strong>Tip:</strong> <span>For faster save, click over the image with <em>right button</em>.</span>"); 
    3637  
    3638                 var ul_thumbs_list = document.createElement("UL"); 
    3639                 ul_thumbs_list.setAttribute("class", "expressomail-thumbs-list"); 
    3640                 ul_thumbs_list.setAttribute("className", "expressomail-thumbs-list"); //for IE 
    3641  
    3642                         var msg = info_msg.msg_number;  
    3643                         var fdr = info_msg.msg_folder;  
    3644                                         var i = 0; 
    3645                                 //verifica se estï¿œ no novo padrï¿œo de montagem das mensagens ou no antigo, necessï¿œrio 
    3646                                 //para exibir as imagens no arquivamento local arquivamento local. 
    3647                                 if(thumbs){ 
    3648                         jQuery.each(thumbs, function(i, thumb) { 
    3649                                                         if(fdr.indexOf("local_") >= 0){ 
    3650                                                                 var href = info_msg.array_attach[i].url + '&image=true';  
    3651                                                                 var src  = info_msg.array_attach[i].url+ '&image=thumbnail';  
    3652                                                                 i++; 
    3653                                                         }else{ 
    3654                                                                 var href = './inc/get_archive.php?msgFolder=' + fdr + '&msgNumber=' + msg + '&indexPart=' + thumb.pid + '&image=true';  
    3655                                                                 //var href = thumb.url;  
    3656                                                                 var src  = 'inc/get_archive.php?msgFolder=' + fdr + '&msgNumber=' + msg + '&indexPart=' + thumb.pid + '&image=thumbnail';  
    3657                                 } 
    3658                                 var msgid= fdr+";;"+msg+";;"+i+";;"+thumb.pid+";;"+thumb.encoding;  
    3659                                 var image_info = '{"folder":"'+fdr+'","message":"'+msg+'","thumbIndex":"'+i+'","pid":"'+thumb.pid+'","encoding":"'+thumb.encoding+'","type":"'+thumb.type+'"}';  
    3660                                   
    3661                                 var image= '<img id="' + msgid + '" title="' +   
    3662                                                                 get_lang('Click here do view (+)') + '" src="' + src + '" style="width:auto;height:100%;" />';  
    3663                                                           
    3664                                 var content = '<a title="'+thumb.name+ '" rel="thumbs'+ID+'" class="expressomail-thumbs-link" onMouseDown="save_image(event,this,\'' +thumb.type+'\')" href="'+href+'" onclick="window.open(\''+href+'\',\'mywindow\',\'width=700,height=600,scrollbars=yes\');return false;">'+image+'</a>';  
    3665                                 content += '<input id="thumb_'+ID+'_'+i+'" type="hidden" value="' +escape(image_info) +'" />';  
    3666                                 jQuery(ul_thumbs_list).append('<li>'+content+'</li>');  
    3667                                   
    3668                         });     
    3669                  
    3670                 div_thumbs.appendChild(div_thumbs_lbl); 
    3671                 div_thumbs.appendChild(div_thumbs_lbl_sp2); 
    3672                 div_thumbs.appendChild(ul_thumbs_list); 
    3673                  
    3674                                 }else{ 
    3675                                         div_thumbs.appendChild(div_thumbs_lbl); 
    3676                                         div_thumbs.appendChild(div_thumbs_lbl_sp2); 
    3677                                         div_thumbs.innerHTML = div_thumbs.innerHTML + info_msg.thumbs; 
    3678                                          
    3679                                          
    3680                                 } 
    3681                  
    3682                 div.appendChild(div_thumbs); 
    3683         } 
    3684         //k!! 
    3685         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3686         table_message.appendChild(tbody_message); 
    3687         content.appendChild(table_message); 
    3688         resizeWindow(); 
    3689         var msg_number = document.createElement('INPUT'); 
    3690         msg_number.id = "msg_number_" + ID; 
    3691         msg_number.type = "hidden"; 
    3692         msg_number.value = info_msg.msg_number; 
    3693         content.appendChild(msg_number); 
    3694         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    3695  
    3696         //Exibe o cabecalho da mensagem totalmente aberto caso esteja setado nas preferencias do usuario 
    3697         if (preferences.show_head_msg_full == 1) 
    3698         { 
    3699                 option_hide_more.onclick(); 
    3700                 if (Element('div_toaddress_'+ID) != null) 
    3701                         show_div_address_full(ID,'to'); 
    3702                 if (Element('div_ccaddress_'+ID) != null) 
    3703                         show_div_address_full(ID,'cc'); 
    3704         } 
    3705  
    3706         /* 
    3707          * TODO: implementar o controle como preferï¿œncia do usuï¿œrio 
    3708          * 
    3709          */ 
    3710         var jcarousel = false; 
    3711         if (jcarousel) { 
    3712                 //carousel  
    3713                 jQuery(document).ready(function() { 
    3714                         jQuery('.expressomail-thumbs-list').attr('id', 'expressomail-thumbs-list'+ID)  
    3715                     .addClass('jcarousel-skin-default').jcarousel();  
    3716  
    3717                         jQuery('.expressomail-thumbs-link img').attr('style', '');  
    3718                  
    3719                 //fancybox 
    3720                         jQuery(".expressomail-thumbs-list li a").attr('onclick', 'return true;'); 
    3721                         jQuery(".expressomail-thumbs-list li a").fancybox({ 
    3722                                 'hideOnContentClick': true, 
    3723                                         'type': 'image',  
    3724                                         'titlePosition': 'over',                                          
    3725                                         'titleFormat' : function(name, currentArray, currentIndex, currentOpts) {                         
    3726                                                         var image_info = $('#thumb_'+ID+'_'+currentIndex).val();  
    3727  
    3728                                                         return '<div id="fancybox-title" class="fancybox-title-over" style="width: 100%; display: block;">' +  
    3729                                                                                 '<div id="fancybox-title-over">' +  
    3730                                                                                         '<a title="Anterior" onclick="javascript:$.fancybox.prev();" style="float:left;">' +  
    3731                                                                                                         '<img src="./templates/'+template+'/images/left_arrow_white.png" width="30" height="30" />' +  
    3732                                                                                         '</a>'+  
    3733                                                                                         '<a title="Baixar imagem" onclick="javascript:save_image2(\''+image_info+'\');" style="padding:0 5px;">' +  
    3734                                                                                                         '<img src="./templates/'+template+'/images/image_down.png" width="22" height="22" />' +  
    3735                                                                                         '</a>'+  
    3736                                                                                         '<a title="Baixar todas de uma vez" onclick="javascript:download_all_attachments(\''+info_msg.msg_folder+"','"+info_msg.msg_number+'\')" style="padding:0 5px;">'+  
    3737                                                                                                         '<img src="./templates/'+template+'/images/package_down.png" width="26" height="26" />' +  
    3738                                                                                         '</a>'+  
    3739                                                                                         '<span style="margin-left:5px; margin-top:7px; position:absolute;">'+name+'</span>'+  
    3740                                                                                         '<a title="Prï¿œxima" onclick="javascript:$.fancybox.next();" style="float:right;">' +  
    3741                                                                                                 '<img src="./templates/'+template+'/images/right_arrow_white.png" width="30" height="30" />' +  
    3742                                                                                         '</a>' +  
    3743                                                                                 '</div>' +  
    3744                                                                         '</div>';  
    3745                                         }  
    3746                         }); 
    3747                 }); 
    3748         }   
    3749         if ( is_webkit ){ //Corrige o bug de foco no Chrome 
    3750                var ev = document.createEvent('MouseEvents'); 
    3751            ev.initEvent( 
    3752                                 'click'     
    3753                                 ,false  
    3754                                 ,true 
    3755                         ); 
    3756                var divScroll = Element('div_message_scroll_'+ID); 
    3757                         if (divScroll) { 
    3758                                 divScroll.setAttribute('tabindex','-1'); 
    3759                                 divScroll.onclick = function() {setTimeout(function(){$("#div_message_scroll_"+ID).focus();},0);}; 
    3760                                 divScroll.dispatchEvent(ev); 
    3761                         } 
    3762                 } 
    3763         else  $("#div_message_scroll_"+ID).focus(); 
    3764         update_labeleds_msg(); 
    3765  
    3766         resizeWindow();  
    3767          
    3768         $("#div_message_scroll_"+ID).scrollTo( 0, 400, {queue:true} ); 
    3769 } 
    37701891  
    37711892function changeLinkState(el,state){ 
     
    38071928                        } 
    38081929        } 
    3809 } 
    3810  
    3811 function mySplit( val ) { 
    3812         return val.split( /,\s*/ ); 
    3813 } 
    3814  
    3815 function extractLast( term ) { 
    3816         return mySplit( term ).pop(); 
    38171930} 
    38181931 
     
    45162629        .end().filter(".cco-button").click(function(){ 
    45172630                show_hide(content.find(".cco-tr"), $(this)); 
    4518                 change_text($(this).find(".ui-button-text"), get_lang("Add BCC"), get_lang('Remove CCo')); 
    45192631        }) 
    45202632        //Botï¿œo Adicionar/Remover CC 
    45212633        .end().filter(".cc-button").click(function(){ 
    45222634                show_hide(content.find(".cc-tr"), $(this)); 
    4523                 change_text($(this).find(".ui-button-text"), get_lang("Add CC"), get_lang('Remove CC')); 
    45242635        }) 
    45252636    //Botï¿œo Responder a 
     
    45272638        show_hide(content.find(".reply-to-tr"), $(this)); 
    45282639    }); 
    4529          
     2640 
     2641        content.find(".field-buttons").buttonset(); 
     2642 
    45302643        //BOTAO ENVIAR 
    45312644        content.find(".send").button({ 
    45322645                icons : { 
    4533                         primary : "expressomail-icon-send" 
     2646                        primary : "ui-icon-mail-closed" 
    45342647                } 
    45352648        }).click(function(){ 
     
    45472660        .end().find(".save").button({ 
    45482661                icons : { 
    4549                         primary : "expressomail-icon-save" 
     2662                        primary : "ui-icon-disk" 
    45502663                } 
    45512664        }).click(function(){ 
     
    45552668        .end().find(".return-recept").button({ 
    45562669                icons : { 
    4557                         primary : "expressomail-icon-read-confirmation" 
    4558                 } 
     2670                        primary : "ui-icon-transfer-e-w" 
     2671                }, 
     2672                text:false 
    45592673        }).click(function(){ 
    45602674                check_input(content.find('[name="input_return_receipt"]')); 
     
    45642678        .end().find(".important").button({ 
    45652679                icons : { 
    4566                         primary : "expressomail-icon-important" 
    4567                 } 
     2680                        primary : "ui-icon-notice" 
     2681                }, 
     2682                text:false 
    45682683        }).click(function(){ 
    45692684                check_input(content.find('[name="input_important_message"]')); 
     
    45732688        .end().find(".return_digital").button({ 
    45742689                icons : { 
    4575                         primary : "expressomail-icon-signature" 
    4576                 } 
     2690                        primary : "ui-icon-key" 
     2691                }, 
     2692                text:false 
    45772693        }).click(function(){ 
    45782694                check_input(content.find('[name="input_return_digital"]')); 
    4579                 $(this).toggleClass("expressomail-button-icon-ative"); 
    45802695        }) 
    45812696        //BOTAO EMAIL CRYPT 
    45822697        .end().find(".return_cripto").button({ 
    45832698                icons : { 
    4584                         primary : "expressomail-icon-encryption" 
    4585                 } 
     2699                        primary : "ui-icon-locked" 
     2700                }, 
     2701                text:false 
    45862702        }).click(function(){ 
    45872703                check_input(content.find('[name="input_return_cripto"]')); 
    4588                 $(this).toggleClass("expressomail-button-icon-ative"); 
    45892704        }); 
    45902705         
     2706        content.find(".flags-buttons").buttonset(); 
     2707 
    45912708        content.find(".attachment td").filter(".value").prepend(DataLayer.render("../prototype/modules/mail/templates/attachment.ejs", {ID:ID})); 
    45922709        var fileUploadMSG = $('#fileupload_msg'+ID); 
  • sandbox/newExpressoMail/expressoMail1_2/js/main.js

    r7064 r7167  
    8686                current_folder="INBOX"; 
    8787 
    88                 $( "#ptabs span.ui-icon-close" ).live( "click", function() {  
     88                $( "#ptabs ul span.ui-icon.tab-close" ).live( "click", function() {  
    8989                        removeTab($( this ).prev().attr("href")); 
    90  
     90/* 
    9191                        var teste = ""; 
    9292                        var ola = $( this ); 
     
    9797                        }); 
    9898                        $.cookie('open_tabs', teste.substring(0, teste.length-1)); 
     99*/ 
    99100                }); 
    100101 
     
    103104                        helper : function(e, drag){ 
    104105                                var helper = $(drag).clone(); 
    105                                 helper.addClass("ui-corner-all").css("width", "auto").find("span.ui-icon-close").hide().end().find("a").html("Mover "+helper.find("a").html()); 
     106                                helper.addClass("ui-corner-all").css("width", "auto").find("span.ui-icon").hide().end().find("a").html("Mover "+helper.find("a").html()); 
    106107                                return helper; 
    107108                        }, 
    108                         placeholder: 'ui-state-highlight', 
     109                        placeholder: 'ui-state-highlight-prognus', 
    109110                        forcePlaceholderSize: true 
    110111                }).disableSelection(); 
    111  
     112/* 
    112113                if($.cookie('open_tabs')){       
    113114                        $.Zebra_Dialog("Gostaria de recuperar suas mensagens que estavam abertas?", { 
     
    156157                        }); 
    157158                } 
    158  
     159*/ 
    159160                if( (window.google && google.gears) && !google.gears.factory.getPermission()) 
    160161                    preferences.use_local_messages=0; 
     
    205206                DataLayer.get("folder", true); 
    206207                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
    207                  
    208                 if($.cookie('collapse_folders') == "true"){ 
    209                         if(!is_ie) 
    210                                 $("#folderscol").addClass( "hidden"); 
    211                         else 
    212                                 $("#folderscol").hide(); 
    213                         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 
    214                         refresh(); 
    215                         //resizeWindow(); 
    216                 }        
    217                 else{ 
    218                         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 
    219                         refresh(); 
    220                         //resizeWindow(); 
    221                 } 
    222                  
     208 
    223209                $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 
    224                         if($("#folderscol").css("display") != "none"){ 
    225                                 if(!is_ie) 
    226                                         $("#folderscol").addClass( "hidden"); 
    227                                 else 
    228                                         $("#folderscol").hide(); 
    229                                          
    230                                 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 
    231                                 $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 
    232                                 $(".collapse_folders").parent().attr('title', "Expandir"); 
    233                                 $.cookie('collapse_folders', "true"); 
     210                        $(this).find("span").toggle(); 
     211                        $("#folderscol").toggle("blind", {direction: "horizontal"}, "normal", function(){ 
    234212                                refresh(); 
    235                                 resizeWindow(); 
    236                         }else{ 
    237                                 if(!is_ie) 
    238                                         $("#folderscol").removeClass( "hidden"); 
    239                                 else 
    240                                         $("#folderscol").show(); 
    241                                 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 
    242                                 $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 
    243                                 $(".collapse_folders").parent().attr('title', "Ocultar"); 
    244                                 $.cookie('collapse_folders', "false"); 
    245                                 refresh(); 
    246                                 //resizeWindow(); 
    247                         } 
    248                         //resizeWindow(); 
    249                          
     213                                resizeWindow();  
     214                        }); 
    250215                }).hover( 
    251216                        function(){ 
     
    569534                else { 
    570535                        var sbj = msg_info.subject.length < 21 ? msg_info.subject : msg_info.subject.substr(0,21) + "..."; 
     536                        //console.log(msg_info); 
    571537                        var content = $(DataLayer.render("../prototype/modules/mail/templates/email.ejs", {info : msg_info, ID : id_msg_read})); 
    572538 
    573                         createTab(sbj, content.html(), id_msg_read, function(content){ 
    574                 content.find(".message-flags").find(".message-important-flag").button({ 
    575                         icons: { 
    576                                 primary: "ui-icon-notice" 
    577                         }, 
    578                     text: false 
    579                 }).end().find(".message-unread-flag").button({ 
    580                         icons: { 
    581                                 primary: "ui-icon-mail-closed" 
    582                         }, 
    583                     text: false 
    584                 }).end().find(".message-spam-flag").button({ 
    585                         icons: { 
    586                                 primary: "ui-icon-alert" 
    587                         }, 
    588                     text: false  
    589                 }).end().find(".message-followup-flag").button({ 
    590                         icons: { 
    591                                 primary: "ui-icon-flag" 
    592                         }, 
    593                     text: false 
    594                 }); 
    595                 content.find(".message-flags").buttonset(); 
    596  
    597                 content.find(".messages-controll").find(".message-prev").button({ 
    598                         icons: { 
    599                                 primary: "ui-icon-carat-1-w" 
    600                         }, 
    601                     text: false 
    602                 }).next().button({ 
    603                         icons: { 
    604                                 primary: "ui-icon-carat-1-e" 
    605                         }, 
    606                     text: false 
    607                 }); 
    608                 content.find(".messages-controll").buttonset(); 
    609                 content.find(".message-tags").button({ 
    610                     icons: { 
    611                         primary: "ui-icon-tag", 
    612                         secondary: "ui-icon-triangle-1-s" 
    613                     }, 
    614                     text: false 
    615                 }).next().button({ 
    616                     icons: { 
    617                         secondary: "ui-icon-triangle-1-s" 
    618                     }, 
    619                     text: true 
    620                 }).next().button({ 
    621                     icons: { 
    622                         primary: "ui-icon-trash" 
    623                     }, 
    624                     text: false 
    625                 }); 
    626                 content.find(".messages-preferences").button({ 
    627                     icons: { 
    628                         primary: "ui-icon-gear", 
    629                         secondary: "ui-icon-triangle-1-s" 
    630                     }, 
    631                     text: false 
    632                 }).css("width", "45px"); 
     539                        createTab(sbj, 'message', content.html(), id_msg_read, function(content){ 
     540                                buildMessageButtons(content); 
    633541            }); 
     542            return; 
    634543 
    635544                        //$(".message-flags").buttonset(); 
     
    709618        } 
    710619        setTimeout('resizeWindow()',300); 
     620} 
     621 
     622function buildMessageButtons(content){ 
     623        var data = getTabData(); 
     624        //FLAGS BUTTON SET  
     625    content.find(".message-flags").find(".message-important-flag").button({ 
     626        icons: { 
     627                primary: "ui-icon-notice" 
     628        }, 
     629        text: false 
     630    }).click(function(){ 
     631        var checked = $(this).attr("checked") == "checked" ? true : false; 
     632        set_message_flag(data.id, checked ? "flagged" : "unflagged", undefined, data.folder); 
     633        write_msg(get_lang('Message marked as ') + get_lang( checked ? "Important" : "Normal")); 
     634        refresh(); 
     635    }).end().find(".message-unread-flag").button({ 
     636        icons: { 
     637                primary: "ui-icon-mail-closed" 
     638        }, 
     639        text: false 
     640    }).click(function(){ 
     641        var checked = $(this).attr("checked") == "checked" ? true : false; 
     642        set_message_flag(data.id, checked ? "unseen" : "seen", undefined, data.folder); 
     643        write_msg(get_lang('Message marked as ') + get_lang( checked ? "Unseen" : "Seen")); 
     644        refresh(); 
     645    }).end().find(".message-spam-flag").button({ 
     646        icons: { 
     647                primary: "ui-icon-alert" 
     648        }, 
     649        text: false      
     650    }).click(function(){ 
     651        var checked = $(this).attr("checked") == "checked" ? true : false; 
     652        checked ? spam(data.folder, data.id,'null') : nospam(data.id,'null', data.folder); 
     653        removeTab(); 
     654        refresh(); 
     655    }).end().find(".message-followup-flag").button({ 
     656        icons: { 
     657                primary: "ui-icon-flag" 
     658        }, 
     659        text: false 
     660    }); 
     661    content.find(".message-flags").buttonset(); 
     662 
     663    //MESSAGES ACTION NEXT PREV BUTTON SET 
     664    content.find(".messages-controll").find(".message-prev").button({ 
     665        icons: { 
     666                primary: "ui-icon-carat-1-w" 
     667        }, 
     668        text: false 
     669    }).click(function(){ 
     670 
     671    }).next().button({ 
     672        icons: { 
     673                primary: "ui-icon-carat-1-e" 
     674        }, 
     675        text: false 
     676    }); 
     677    content.find(".messages-controll").buttonset(); 
     678 
     679    // 
     680    content.find(".message-forward").button({ 
     681        icons:{ 
     682                primary: "ui-icon-arrowreturnthick-1-e" 
     683        }, 
     684        text : false 
     685    }); 
     686 
     687        var teste = content.find(".message-reply-menu-content").clone(); 
     688        content.find(".message-reply-menu-content").remove(); 
     689 
     690    content.find(".button.message-reply").button({ 
     691        icons:{ 
     692                primary: "ui-icon-arrowreturnthick-1-w" 
     693        }, 
     694        text : false 
     695    }).next().button({ 
     696        icons:{ 
     697                primary: "ui-icon-triangle-1-s" 
     698        }, 
     699        text : false 
     700    }).parent().buttonset(); 
     701 
     702        content.find("span.message-reply").append(teste); 
     703 
     704        content.find(".message-reply").next().menuPlugin({ 
     705                content : content.find(".message-reply-menu-content").html(), 
     706                positionOpts: { 
     707                        posX: 'left',  
     708                        posY: 'bottom', 
     709                        offsetX: -140, 
     710                        offsetY: 0, 
     711                        directionH: 'right', 
     712                        directionV: 'down',  
     713                        detectH: true, // do horizontal collision detection   
     714                        detectV: true, // do vertical collision detection 
     715                        linkToFront: false 
     716                }, 
     717                flyOut: true, 
     718                showSpeed: 100, 
     719                crumbDefaultText: '>' 
     720        }); 
     721 
     722 
     723    content.find(".button.message-edit").button({ 
     724        icons:{ 
     725                primary: "ui-icon-pencil" 
     726        }, 
     727        text : false 
     728    }); 
     729    //BUTTON MORE AND TAGS 
     730    content.find(".message-tags").button({ 
     731        icons: { 
     732            primary: "ui-icon-tag", 
     733            secondary: "ui-icon-triangle-1-s" 
     734        }, 
     735        text: false 
     736    }).next().next().button({ 
     737        icons: { 
     738            secondary: "ui-icon-triangle-1-s" 
     739        }, 
     740        text: true 
     741        }); 
     742 
     743        content.find(".message-more").menuPlugin({ 
     744                content : content.find(".message-more-menu-content").html(), 
     745                flyOut: true, 
     746                positionOpts: { 
     747                        posX: 'left',  
     748                        posY: 'bottom', 
     749                        offsetX: -140, 
     750                        offsetY: 0, 
     751                        directionH: 'right', 
     752                        directionV: 'down',  
     753                        detectH: true, // do horizontal collision detection   
     754                        detectV: true, // do vertical collision detection 
     755                        linkToFront: false 
     756                }, 
     757                showSpeed: 100, 
     758                crumbDefaultText: '>' 
     759        }); 
     760                 
     761        content.find(".message-tags-menu-content ul li").remove(); 
     762        $.each(getLabels(), function(key,value){ 
     763                content.find(".message-tags-menu-content ul") 
     764                .append("<li id='"+key+"'><a href='#'>"+value.name+"</a></li>").find("li:last").click(function(){ 
     765                        if(typeof(value.callback) != "function"){ 
     766                                var isLabel = key.match(/label(.*)/); 
     767                                if (isLabel && isLabel.length > 1) { 
     768                                        labeledMessages(isLabel[1]); 
     769                                } 
     770                        } 
     771                }); 
     772        }); 
     773 
     774        content.find(".message-tags").menuPlugin({ 
     775                content : content.find(".message-tags-menu-content").html(), 
     776                flyOut: true, 
     777                positionOpts: { 
     778                        posX: 'left',  
     779                        posY: 'bottom', 
     780                        offsetX: -140, 
     781                        offsetY: 0, 
     782                        directionH: 'right', 
     783                        directionV: 'down',  
     784                        detectH: true, // do horizontal collision detection   
     785                        detectV: true, // do vertical collision detection 
     786                        linkToFront: false 
     787                }, 
     788                showSpeed: 100, 
     789                crumbDefaultText: '>' 
     790        }); 
     791    //REMOVE MESSAGE BUTTON 
     792    content.find(".message-remove").button({ 
     793        icons: { 
     794            primary: "ui-icon-trash" 
     795        }, 
     796        text: false 
     797    }).click(function(){ 
     798        proxy_mensagens.delete_msgs(data.folder,data.id,'null'); 
     799        removeTab(); 
     800        refresh(); 
     801    }); 
     802 
     803    //PREFERENCES BUTTON 
     804    content.find(".messages-preferences").button({ 
     805        icons: { 
     806            primary: "ui-icon-gear", 
     807            secondary: "ui-icon-triangle-1-s" 
     808        }, 
     809        text: false 
     810    }).css("width", "45px"); 
     811 
     812    //MESSAGE DETAILS  
     813    content.find(".message-hide-show-details").click(function(){ 
     814        $(this).find("span").toggle(); 
     815        content.find(".message-details").toggle("blind"); 
     816    }).hover( 
     817                function(){ 
     818                        $(this).addClass("message-detail-hover"); 
     819                }, 
     820                function(){ 
     821                        $(this).removeClass("message-detail-hover"); 
     822                } 
     823        ); 
     824 
    711825} 
    712826 
     
    9781092                                        return move_search_msgs('content_id_'+currentTab,userTrashFolder,special_folders['Trash']);  
    9791093                                         
    980                                 if(currentTab.toString().indexOf("_r") != -1)  
    981                                         msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));  
     1094//                              if(currentTab.toString().indexOf("_r") != -1)  
     1095//                                      msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));  
    9821096                          
    9831097                        if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){  
     
    13711485                                delete_border(data.border_ID,'false'); 
    13721486                } 
    1373                 if(folder == get_current_folder()){ 
     1487//              if(folder === get_current_folder()){ 
    13741488                        var n_total_msg = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 
    13751489                        draw_paging(n_total_msg); 
    13761490                        Element('tot_m').innerHTML = n_total_msg; 
    1377                 } 
     1491//              } 
    13781492                refresh(); 
    13791493        } 
     
    13991513 
    14001514        // se a aba estiver aberta e selecionada, apenas a msg da aba ï¿œ movida 
    1401         if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
     1515        /*if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
    14021516        { 
    14031517                //se a aba for aberta atraves de uma pesquisa 
     
    14061520                else 
    14071521                    msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf('_r')); 
    1408         } 
     1522        }*/ 
    14091523        refresh(); 
    14101524        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
     
    14301544                                        delete selectedPagingMsgs[value]; 
    14311545                                    }); 
    1432                                     totalFolderMsgs -= msgs_number.split(",").length; 
     1546                                    totalFolderMsgs -= msgs_number+"".split(",").length; 
    14331547 
    14341548                                    //TESTE 
     
    15951709 
    15961710         if( !id_msgs ){ 
    1597               write_msg( "Todas as mensagens jï¿œ foram arquivadas anteriormente." ); 
     1711              write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
    15981712              return; 
    15991713          } 
     
    22732387        $("#border_id_" + new_border_ID).attr("title", title); 
    22742388//      set_border_caption("border_id_" + new_border_ID, title); 
    2275 //      resizeWindow(); 
     2389        resizeWindow(); 
    22762390        return new_border_ID; //Preciso retornar o ID da nova mensagem. 
    22772391} 
     
    32703384// Get checked messages 
    32713385function set_messages_flag(flag, msgs_to_set){   
    3272         if(currentTab != 0 && currentTab.indexOf("search_local")  >= 0){ 
    3273                 return set_messages_flag_search_local(flag); 
    3274         } 
    3275         if (currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
     3386        if(indexTab() != 0){ 
    32763387                return set_messages_flag_search(flag); 
    32773388        } 
     
    33653476        if (msgs_to_set == 'get_selected_messages') 
    33663477                var msgs_to_set = this.get_selected_messages(); 
    3367         else 
     3478        else{ 
    33683479                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    3369          
     3480    } 
     3481 
    33703482        if (msgs_to_set) 
    33713483                $.ajax({ 
     
    33973509 
    33983510// By message number 
    3399 function set_message_flag(msg_number, flag, func_after_flag_change){ 
     3511function set_message_flag(msg_number, flag, func_after_flag_change, folder){ 
    34003512        var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 
    34013513        if(!msg_number_folder) 
     
    34403552        $.ajax({ 
    34413553                  url: 'controller.php?' + $.param( {action: '$this.imap_functions.set_messages_flag', 
    3442                                                       folder: ( msg_number_folder ?  msg_number_folder.value : get_current_folder() ), 
     3554                                                      folder: folder ? folder : ( msg_number_folder ?  msg_number_folder.value : get_current_folder() ), 
    34433555                                                      msgs_to_set: msg_number, 
    34443556                                                      flag: flag, 
     
    39144026        } 
    39154027 
    3916         if(currentTab.toString().indexOf("_r") != -1) 
     4028        /*if(currentTab.toString().indexOf("_r") != -1) 
    39174029                msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
    39184030        else if(msgs_number == 'selected') 
    39194031                msgs_number = get_selected_messages(); 
    3920  
     4032        */ 
    39214033        //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
    39224034        if(currentTab == 0) 
     
    39524064        } 
    39534065 
    3954         if(currentTab.toString().indexOf("_r") != -1) 
    3955                 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
    3956         else if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    3957                 var content_search = document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]), 'Trash', 
    3958                 move_search_msgs('content_id_'+currentTab,  mount_url_folder(["INBOX",special_folders["Spam"]]), special_folders['Spam']); 
    3959                 refresh(); 
    3960                 return; 
    3961         }else if(msgs_number == 'selected') 
    3962                 msgs_number = get_selected_messages(); 
    3963  
    3964         //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
    3965         if(currentTab == 0) 
    3966                 msgs_number = get_selected_messages(); 
    3967  
     4066        if(!msgs_number){ 
     4067                if(currentTab.toString().indexOf("_r") != -1) 
     4068                        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     4069                else if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
     4070                        var content_search = document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]), 'Trash', 
     4071                        move_search_msgs('content_id_'+currentTab,  mount_url_folder(["INBOX",special_folders["Spam"]]), special_folders['Spam']); 
     4072                        refresh(); 
     4073                        return; 
     4074                }else if(msgs_number == 'selected') 
     4075                        msgs_number = get_selected_messages(); 
     4076 
     4077                //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
     4078                if(currentTab == 0) 
     4079                        msgs_number = get_selected_messages(); 
     4080        } 
    39684081        if(parseInt(msgs_number) > 0 || msgs_number.length > 0) 
    39694082                cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=true"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 
     
    45684681            var border_id = form.abaID;   
    45694682            //Defininindo pasta a ser salva mensagem 
    4570                         var user_selected = $('#content_id_'+border_id).find('.from-select option:selected').text(); 
     4683                        var user_selected = $('#ptabs_'+border_id).find('.from-select option:selected').text(); 
    45714684                        var str_begin_name = user_selected.indexOf('<') + 1; 
    45724685                        var str_end_name = user_selected.indexOf('@'); 
     
    45984711                        form.type =  RichTextEditor.plain[border_id] ? 'plain' : 'html';             
    45994712            form.attachments = listAttachment(border_id); 
     4713            uidsSave[border_id] = []; 
    46004714            form.uidsSave = uidsSave[border_id].toString(); 
    46014715            return( form ); 
     
    46844798 
    46854799 
     4800function addAttachment(ID, att) 
     4801{ 
     4802    if(typeof(msgAttachments[ID]) == 'undefined') 
     4803            msgAttachments[ID] = []; 
     4804 
     4805        msgAttachments[ID].push(att); 
     4806} 
     4807 
     4808function delAttachment(ID, att) 
     4809{ 
     4810     
     4811    if(msgAttachments[ID] == undefined) return; 
     4812    var len = msgAttachments[ID].length; 
     4813    for(var i = 0; i < len; i++) 
     4814    { 
     4815        if(msgAttachments[ID][i] == att) 
     4816        { 
     4817            delete msgAttachments[ID][i]; 
     4818            break; 
     4819        } 
     4820    }   
     4821} 
     4822 
     4823function listAttachment(ID) 
     4824{ 
     4825   return (typeof(msgAttachments[ID]) == 'undefined') ? '' : JSON.stringify(msgAttachments[ID]);  
     4826} 
  • sandbox/newExpressoMail/expressoMail1_2/js/messages_controller.js

    r6930 r7167  
    8989                        msgs_number = get_selected_messages(); 
    9090                 
    91                 if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
     91                /*if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    9292                        var content_search = document.getElementById('content_id_'+currentTab); 
    9393                        action_msg_selected_from_search(content_search.id, 'delete'); 
     
    9696                        //update_local_box();  
    9797                        return; 
    98                 } 
     98                }*/ 
    9999                         
    100100                if (!this.is_local_folder(folder)){ 
     
    151151        } 
    152152         
    153         messages_proxy.prototype.proxy_set_message_flag = function (msg_number,flag,func_after_flag_change){ 
     153        messages_proxy.prototype.proxy_set_message_flag = function (msg_number,flag,func_after_flag_change, folder){ 
    154154                var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 
    155155                if(!msg_number_folder) 
  • sandbox/newExpressoMail/expressoMail1_2/templates/default/index.tpl

    r6997 r7167  
    9595        </td> 
    9696        <td class="collapse_folders_td"> 
    97                 <span class="collapse_folders"/> 
     97                <span class="collapse_folders ui-icon ui-icon-triangle-1-w" title="Ocultar"></span> 
     98                <span class="collapse_folders ui-icon ui-icon-triangle-1-e" title="Expandir" style="display:none;"></span> 
    9899        </td>                    
    99100        <td width="100%" valign="top" align="left"> 
    100101                <div id="exmail_main_body" class="messagescol"> 
    101102                        <div id="ptabs"> 
    102                 <ul> 
     103                <ul style="border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;"> 
    103104                    <li class="ui-tab-disabled" style="opacity: 100;"> 
    104                         <a href="#ui-tabs-0">&nbsp;{lang_inbox}&nbsp;<font face="Verdana" size="1" color="#505050"> 
     105                        <a href="#ptabs_0">&nbsp;{lang_inbox}&nbsp;<font face="Verdana" size="1" color="#505050"> 
    105106                            [<span id="new_m">0</span> / <span id="tot_m">0</span>]</font> 
    106107                        </a> 
    107108                    </li> 
    108109                </ul> 
    109                 <div id="ui-tabs-0"> 
    110                     <table class="fuu" id="message_attacher_grid"> 
     110                <div id="ptabs_0" role="folder"> 
     111                    <table id="message_attacher_grid"> 
    111112                        <tr> 
    112113                            <td/> 
  • sandbox/newExpressoMail/expressoMail1_2/templates/default/main.css

    r6997 r7167  
    4343table.expressomail-message-body {width:100%; height:100%;} 
    4444table.table_message, div.table_message { 
    45 background: #96b3d3; /* Old browsers */ 
    46 background: -moz-linear-gradient(top, #96b3d3 0%, #b4c9e4 30%, #d9e6ef 65%, #e2e9f1 70%, #e9f0f8 78%, #e8f1fa 83%, #dbe5ef 96%, #d9e3ed 100%); /* FF3.6+ */ 
    47 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#96b3d3), color-stop(30%,#b4c9e4), color-stop(65%,#d9e6ef), color-stop(70%,#e2e9f1), color-stop(78%,#e9f0f8), color-stop(83%,#e8f1fa), color-stop(96%,#dbe5ef), color-stop(100%,#d9e3ed)); /* Chrome,Safari4+ */ 
    48 background: -webkit-linear-gradient(top, #96b3d3 0%,#b4c9e4 30%,#d9e6ef 65%,#e2e9f1 70%,#e9f0f8 78%,#e8f1fa 83%,#dbe5ef 96%,#d9e3ed 100%); /* Chrome10+,Safari5.1+ */ 
    49 background: -o-linear-gradient(top, #96b3d3 0%,#b4c9e4 30%,#d9e6ef 65%,#e2e9f1 70%,#e9f0f8 78%,#e8f1fa 83%,#dbe5ef 96%,#d9e3ed 100%); /* Opera 11.10+ */ 
    50 background: -ms-linear-gradient(top, #96b3d3 0%,#b4c9e4 30%,#d9e6ef 65%,#e2e9f1 70%,#e9f0f8 78%,#e8f1fa 83%,#dbe5ef 96%,#d9e3ed 100%); /* IE10+ */ 
    51 background: linear-gradient(top, #96b3d3 0%,#b4c9e4 30%,#d9e6ef 65%,#e2e9f1 70%,#e9f0f8 78%,#e8f1fa 83%,#dbe5ef 96%,#d9e3ed 100%); /* W3C */ 
    52 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#96b3d3', endColorstr='#d9e3ed',GradientType=0 ); /* IE6-9 */ 
     45        border-top-left-radius: 0px;  
     46        border-top-right-radius: 0px; 
    5347} 
    5448table.expressomail-message-body tr{vertical-align:top;} 
     
    803797.em_div_sidebox_menu { 
    804798        position: relative; 
    805         left: 17px; 
     799        padding-left: 17px; 
    806800        cursor: pointer; 
    807801} 
     
    14711465}  
    14721466 
    1473 .ui-state-highlight { width: 60px; height: 23px; border-radius: 5px;} 
     1467.ui-state-highlight-prognus { width: 90px; height: 19px; border-radius: 5px; border : 3px dashed #F93 !important; border-bottom: 3px dashed #F93 !important;} 
     1468 
     1469.message-detail-hover { border-bottom : 1px solid #1B75BB !important;} 
     1470 
     1471.ui-tabs .ui-tabs-nav li .ui-icon-circle-close  { 
     1472        float: right; 
     1473        margin: 5px 5px 0 -5px; 
     1474} 
  • sandbox/newExpressoMail/prototype/modules/mail/js/foldertree.js

    r6930 r7167  
    509509        $("#new_m").html($('.selected').find(".folder_unseen").html() ? $('.selected').find(".folder_unseen").html() : "0").css("color", "red"); 
    510510} 
     511 
  • sandbox/newExpressoMail/prototype/modules/mail/templates/email.ejs

    r7066 r7167  
    11<div class="message"> 
    2         <div class="message-options ui-widget-header ui-corner-all" style="width:100%; clear: both; display: inline-block; height: 30px;"> 
    3                 <div class="info" style="float: left; margin: 3px;"> 
    4                         <%= data.info.from.email %> 
     2        <div class="message-options ui-widget-header ui-corner-all" style="width:100%; clear: both; display: inline-block; height: 30px; border-top-left-radius: 0px; border-top-right-radius: 0px;"> 
     3                <div class="info" style="float: left; margin: 3px; padding-top: 5px;"> 
     4                        <span><%= data.info.from.full %></span>,<%= data.info.fulldate %>  
    55                </div> 
    6                 <div style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
     6                <!--<div style="float: right; margin: 3px; width: auto; display: inline;"> 
    77                        <span class="messages-controll" style="display: inline; margin-right: 1px;"> 
    88                                <button class="button messages-preferences" title="Preferências">&nbsp;</button> 
    99                        </span> 
    10                 </div> 
    11                 <div style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
     10                </div> --> 
     11                <div style="float: right; margin: 3px; width: auto; display: inline;"> 
    1212                        <span class="messages-controll" style="display: inline; margin-right: 1px;"> 
    1313                                <button class="button message-prev" title="Mensagem Anterior">&nbsp;</button> 
     
    1515                        </span> 
    1616                </div> 
    17                 <div style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
    18                         <span class="message-reply" style="display: inline; margin-right: 1px;"> 
    19                                 <button class="button message-reply" title="Responder Mensagem">Responder</button> 
    20                                 <button class="button message-next" title="Mais opções para responder">&nbsp;</button> 
    21                         </span> 
    22                 </div> 
    23                 <div style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
    24                         <span class="messages-foward" style="display: inline; margin-right: 1px;"> 
    25                                 <button class="button message-foward" title="Encaminhar Mensagem">Encaminhar</button> 
    26                         </span> 
    27                 </div> 
    28                 <div style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
    29                         <span style="display: inline;"> 
    30                                 <button class="button message-tags" title="Marcadores">&nbsp;</button> 
    31                                 <button class="button message-more" title="Mais Ações">Mais</button> 
     17                <div style="float: right; margin: 3px; width: auto; display: inline; margin-right: 0px;"> 
     18                        <span class="messages-remove" style="display: inline; margin-right: 1px;"> 
    3219                                <button class="button message-remove" title="Excluir">&nbsp;</button> 
    3320                        </span> 
    3421                </div> 
    35                 <div class="buttons" style="float: right; margin: 3px; margin-rigth: 5px; width: auto; display: inline;"> 
     22                <% if($.trim(data.info.Draft) == ""){ %> 
     23                <div style="float: right; margin: 3px; width: auto; display: inline; margin-right: 0px;"> 
     24                        <span class="messages-forward" style="display: inline; margin-right: 1px;"> 
     25                                <button class="button message-forward" title="Encaminhar Mensagem">&nbsp;</button> 
     26                        </span> 
     27                </div> 
     28                <div style="float: right; margin: 3px; width: auto; display: inline;"> 
     29                        <span class="message-reply" style="display: inline; margin-right: 1px;"> 
     30                                <button class="button message-reply" title="Responder Mensagem">&nbsp;</button> 
     31                                <a href="#" class="button message-reply-options" title="Mais opções para responder">&nbsp;</a> 
     32                                <div class="message-reply-menu-content" style="display:none;">  
     33                                        <ul> 
     34                                                <li><a href="#" class="menu-pass-through">Sem Histórico</a></li> 
     35                                                <li><a href="#" class="menu-command configurations">Todos com Histórico</a></li> 
     36                                                <li><a href="#" class="menu-command configurations">Todos sem Histórico</a></li> 
     37                                        </ul> 
     38                                </div> 
     39                        </span> 
     40                </div> 
     41                <% }else{ %> 
     42                <div style="float: right; margin: 3px; width: auto; display: inline; margin-right: 0px;"> 
     43                        <span class="message-edit" style="display: inline; margin-right: 1px;"> 
     44                                <button class="button message-edit" title="Editar Rascunho">&nbsp;</button> 
     45                        </span> 
     46                </div> 
     47                <% } %> 
     48                <div style="float: right; margin: 3px; width: auto; display: inline; margin-right: 0px;"> 
     49                        <span style="display: inline;"> 
     50                                <button class="button message-tags" title="Marcadores">&nbsp;</button> 
     51                                <div class="message-tags-menu-content" style="display:none;">  
     52                                        <ul> 
     53                                        </ul> 
     54                                </div> 
     55 
     56                                <a class="button message-more" href="#" title="Mais Ações">Mais</a> 
     57                                <div class="message-more-menu-content" style="display:none;">  
     58                                        <ul> 
     59                                                <li><a href="#" class="menu-command configurations">Mover</a></li> 
     60                                                <li><a href="#" class="menu-command configurations">Exportar</a></li> 
     61                                                <li><a href="#" class="menu-pass-through">Bloquear Remetente</a></li> 
     62                                                <li><a href="#" class="menu-pass-through">Reportar Erro</a></li> 
     63                                        </ul> 
     64                                </div> 
     65                        </span> 
     66                </div> 
     67                <div class="buttons" style="float: right; margin: 3px; width: auto; display: inline;"> 
    3668                        <span  class="message-flags" style="display: inline; margin-right: 1px;"> 
    3769 
    38                                 <input type="checkbox" id="check10<%= data.ID %>" class="message-important-flag"/> 
    39                                 <label title="Marcar como importante" for="check10<%= data.ID %>" style="height: 22px;"></label> 
     70                                <input type="checkbox" id="check10<%= data.ID %>" class="message-important-flag" 
     71                                <%= data.info.Flagged ? 'checked="checked"' : '' %> 
     72                                /> 
     73                                <label title="Marcar como importante" for="check10<%= data.ID %>">&nbsp;</label> 
    4074 
    4175                                <input type="checkbox" id="check2<%= data.ID %>" class="message-unread-flag"/> 
    42                                 <label title="Marcar como nao lida" for="check2<%= data.ID %>" style="height: 22px;"></label> 
     76                                <label title="Marcar como nao lida" for="check2<%= data.ID %>">&nbsp;</label> 
    4377 
    44                                 <input type="checkbox" id="check3<%= data.ID %>" class="message-spam-flag"/> 
    45                                 <label title="Marcar como Spam" for="check3<%= data.ID %>" style="height: 22px;"></label> 
     78                                <input type="checkbox" id="check3<%= data.ID %>" class="message-spam-flag"  
     79                                        <%= data.info.msg_folder.split(cyrus_delimiter)[data.info.msg_folder.split(cyrus_delimiter).length -1] == spamfolder ? 'checked="checked"' : ''%>/> 
     80                                <label title="Marcar como Spam" for="check3<%= data.ID %>">&nbsp;</label> 
    4681 
    4782                                <input type="checkbox" id="check4<%= data.ID %>" class="message-followup-flag"/> 
    48                                 <label title="Marcar com Sinalizador" for="check4<%= data.ID %>" style="height: 22px;"></label> 
     83                                <label title="Marcar com Sinalizador" for="check4<%= data.ID %>">&nbsp;</label> 
    4984 
    5085                        </span> 
     
    5287        </div> 
    5388 
    54         <div class="message-header"> 
    55  
     89        <div class="message-header" style="background-color : #F3F7FD; width: 100%; font-weight: bold; font-size: 18px; border-left: 5px solid #BBD8FB;border-radius:5px;"> 
     90                <span class="message-subject"><%=data.info.subject%></span> 
     91                <table class="message-details"> 
     92                        <tr> 
     93                                <td> 
     94                                        Enviado Por: 
     95                                </td> 
     96                                <td> 
     97                                        <%= data.info.reply_toaddress %> 
     98                                </td> 
     99                        </tr> 
     100                        <tr> 
     101                                <td> 
     102                                        De: 
     103                                </td> 
     104                                <td> 
     105                                        <%= data.info.from.full %> 
     106                                </td> 
     107                        </tr> 
     108                                <td> 
     109                                        Para: 
     110                                </td> 
     111                                <td> 
     112                                        <%= data.info.toaddress2 %> 
     113                                </td> 
     114                        <tr> 
     115                        </tr> 
     116                                <td> 
     117                                        Data: 
     118                                </td> 
     119                                <td> 
     120                                        <%= data.info.fulldate %> 
     121                                </td> 
     122                        <tr> 
     123                        <% if(data.info.cc != ""){ %> 
     124                        </tr> 
     125                                <td> 
     126                                        CC: 
     127                                </td> 
     128                                <td> 
     129                                        <%= data.info.cc %> 
     130                                </td> 
     131                        <tr> 
     132                        <%}%> 
     133                        </tr> 
     134                        <tr> 
     135                        </tr> 
     136                </table> 
     137        </div> 
     138        <div style="border-radius: 5px; width: 100%; height: 12px;border-bottom: 1px solid #CCC; cursor: pointer;" align="center" title="Mostrar/Ocultar Detalhes" class="message-hide-show-details"> 
     139                <span class="ui-icon ui-icon-carat-1-n"></span> 
     140                <span class="ui-icon ui-icon-carat-1-s" style="display:none;"></span> 
    56141        </div> 
    57142 
  • sandbox/newExpressoMail/prototype/modules/mail/templates/new_message.ejs

    r6930 r7167  
    1 <div class="new-msg-head-buttons table_message ui-widget-header" style="width:100%; clear: both; display: inline-block; height: 30px;"> 
     1<div class="new-msg-head-buttons table_message ui-widget-header" style="width:99.8%; clear: both; display: inline-block; height: 30px;"> 
    22        <div class="new-msg-head-left-buttons" style="float: left; margin: 3px;">                
    33                <button class="send button small" title="<%= get_lang("Send Mail") %>"><%= get_lang("Send") %></button> 
     
    1010                %> 
    1111                <button class="save button small" title="<%= get_lang("Save Mail") %>"><%=get_lang("Save")%></button> 
    12                 <% 
    13                 if (parseInt(preferences.use_important_flag)){ 
    14                 %> 
    15                 <button class="important button small msg-option" name="input_important_message" title="<%= get_lang("Important message") %>">&nbsp;</button> 
    16                 <% 
    17                 } 
    18                 %> 
    19                  
    20                 <button class="return-recept button small msg-option <%=(parseInt(preferences.return_recipient_deafault) != 0 ? "expressomail-button-icon-ative": "")%>" name="input_return_receipt" title="<%= get_lang("Return receipt") %>">&nbsp;</button> 
    21                  
    22                 <% 
    23                 if(parseInt(preferences.use_assinar_criptografar)){ 
    24                         if(parseInt(preferences.use_signature_digital_cripto)){ 
    25                 %> 
    26                 <button class="return_cripto button small" title="<%=get_lang("Digitally sign message?")%>">&nbsp;</button> 
    27                 <button class="return_digital button small" title="<%=get_lang("Encrypted email")%>">&nbsp;</button> 
    28                 <% 
     12                <span class="flags-buttons"> 
     13                        <% 
     14                        if (parseInt(preferences.use_important_flag)){ 
     15                        %> 
     16                        <button class="important button small msg-option" name="input_important_message" title="<%= get_lang("Important message") %>">&nbsp;</button> 
     17                        <% 
    2918                        } 
    30                 } 
    31                 %> 
     19                        %> 
     20                         
     21                        <button class="return-recept button small msg-option <%=(parseInt(preferences.return_recipient_deafault) != 0 ? "expressomail-button-icon-ative": "")%>" name="input_return_receipt" title="<%= get_lang("Return receipt") %>">&nbsp;</button> 
     22                         
     23                        <% 
     24                        if(parseInt(preferences.use_assinar_criptografar)){ 
     25                                if(parseInt(preferences.use_signature_digital_cripto)){ 
     26                        %> 
     27                        <button class="return_cripto button small" title="<%=get_lang("Digitally sign message?")%>">&nbsp;</button> 
     28                        <button class="return_digital button small" title="<%=get_lang("Encrypted email")%>">&nbsp;</button> 
     29                        <% 
     30                                } 
     31                        } 
     32                        %> 
     33                </span> 
    3234        </div> 
    3335        <div class="new-msg-head-right-buttons" style="float: right; margin: 3px; margin-rigth: 5px;"> 
    34                 <button class="button small cc-button"><%= get_lang("Add CC") %></button> 
    35                 <%if(allow_hidden_copy){ %> 
    36                 <button class="button small cco-button"><%= get_lang("Add BCC") %></button> 
    37                 <% 
    38                 }        
    39                 %> 
    40                 <button class="button small reply-to-button"><%= get_lang("Reply to") %></button> 
     36                <span class="field-buttons"> 
     37                        <button class="button small cc-button">CC</button> 
     38                        <%if(allow_hidden_copy){ %> 
     39                        <button class="button small cco-button">CCO</button> 
     40                        <% 
     41                        }        
     42                        %> 
     43                        <button class="button small reply-to-button"><%= get_lang("Reply") %></button> 
     44                </span> 
    4145                <button class="button small rich-button"><%= (preferences.plain_text_editor == 1 ? get_lang("Rich Text") : get_lang("Simple Text")) %></button> 
    4246        </div> 
Note: See TracChangeset for help on using the changeset viewer.