Changeset 2734


Ignore:
Timestamp:
05/07/10 15:01:07 (14 years ago)
Author:
amuller
Message:

Ticket #1059 - Tornando draw_box menor em partes.

Location:
trunk/expressoMail1_2/js/jscode
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/jscode/draw_api_folders.js

    r2715 r2734  
    66 
    77function draw_quota(data){ 
    8     build_quota(data); 
     8        build_quota(data); 
    99} 
    1010 
    1111function update_quota(folder_id){ 
    12     cExecute ("expressoMail1_2.imap_functions.get_quota&folder_id="+folder_id,build_quota); 
     12        cExecute ("expressoMail1_2.imap_functions.get_quota&folder_id="+folder_id,build_quota); 
    1313} 
    1414 
    1515function draw_search(headers_msgs){ 
    16     Element("border_id_0").innerHTML = "  " + get_lang('Search Result') + "  "; 
    17  
    18     var tbody = Element('tbody_box'); 
    19     for (var i=0; i<(headers_msgs.length); i++){ 
    20         var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); 
    21         if (tr) 
    22             tbody.appendChild(tr); 
    23     } 
     16        Element("border_id_0").innerHTML = "&nbsp;&nbsp;" + get_lang('Search Result') + "&nbsp;&nbsp;"; 
     17 
     18        var tbody = Element('tbody_box'); 
     19        for (var i=0; i<(headers_msgs.length); i++){ 
     20                var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); 
     21                if (tr) 
     22                        tbody.appendChild(tr); 
     23        } 
    2424} 
    2525 
     
    5050 
    5151function draw_search_header_box(){ 
    52     var table_message_header_box = Element("table_message_header_box"); 
    53     table_message_header_box.parentNode.removeChild(table_message_header_box); 
    54  
    55     var content_id_0 = Element("content_id_0"); 
    56     var table_element = document.createElement("TABLE"); 
    57     var tbody_element = document.createElement("TBODY"); 
    58     table_element.setAttribute("id", "table_message_header_box"); 
    59     table_element.className = "table_message_header_box"; 
    60     tr_element = document.createElement("TR"); 
    61     tr_element.className = "message_header"; 
    62     td_element1 = document.createElement("TD"); 
    63     td_element1.setAttribute("width", "1%"); 
    64     chk_box_element = document.createElement("INPUT"); 
    65     chk_box_element.id  = "chk_box_select_all_messages"; 
    66     chk_box_element.setAttribute("type", "checkbox"); 
    67     chk_box_element.className = "checkbox"; 
    68     chk_box_element.onclick = function(){ 
    69         select_all_messages(this.checked); 
    70     }; 
    71     chk_box_element.onmouseover = function () { 
    72         this.title=get_lang('Select all messages.') 
    73         }; 
    74     chk_box_element.onkeydown = function (e){ 
     52        var table_message_header_box = Element("table_message_header_box"); 
     53        table_message_header_box.parentNode.removeChild(table_message_header_box); 
     54 
     55        var content_id_0 = Element("content_id_0"); 
     56        var table_element = document.createElement("TABLE"); 
     57        var tbody_element = document.createElement("TBODY"); 
     58        table_element.setAttribute("id", "table_message_header_box"); 
     59        table_element.className = "table_message_header_box"; 
     60        tr_element = document.createElement("TR"); 
     61        tr_element.className = "message_header"; 
     62        td_element1 = document.createElement("TD"); 
     63        td_element1.setAttribute("width", "1%"); 
     64        chk_box_element = document.createElement("INPUT"); 
     65        chk_box_element.id  = "chk_box_select_all_messages"; 
     66        chk_box_element.setAttribute("type", "checkbox"); 
     67        chk_box_element.className = "checkbox"; 
     68        chk_box_element.onclick = function(){ 
     69                select_all_messages(this.checked); 
     70        }; 
     71        chk_box_element.onmouseover = function () { 
     72                this.title=get_lang('Select all messages.') 
     73        }; 
     74        chk_box_element.onkeydown = function (e){ 
     75                if (is_ie) 
     76                { 
     77                        if ((window.event.keyCode) == 46) 
     78                        { 
     79                                //delete_all_selected_msgs_imap(); 
     80                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     81                        } 
     82                } 
     83                else 
     84                { 
     85                        if ((e.keyCode) == 46) 
     86                        { 
     87                                //delete_all_selected_msgs_imap(); 
     88                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     89                        } 
     90                } 
     91        }; 
     92 
     93        td_element1.appendChild(chk_box_element); 
     94        td_element2 = document.createElement("TD"); 
     95        td_element2.setAttribute("width", "3%"); 
     96        td_element3 = document.createElement("TD"); 
     97        td_element3.setAttribute("width", "30%"); 
     98        td_element3.id = "message_header_SORTFROM"; 
     99        td_element3.align = "left"; 
     100        td_element3.innerHTML = get_lang("From"); 
     101        td_element4 = document.createElement("TD"); 
     102        td_element4.setAttribute("width", "49%"); 
     103        td_element4.id = "message_header_SORTSUBJECT"; 
     104        td_element4.align = "left"; 
     105        td_element4.innerHTML = get_lang("Subject"); 
     106        td_element5 = document.createElement("TD"); 
     107        td_element5.setAttribute("width", "10%"); 
     108        td_element5.id = "message_header_SORTARRIVAL"; 
     109        td_element5.align = "center"; 
     110        td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; 
     111        td_element5.innerHTML += '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_descendant.gif">'; 
     112        td_element6 = document.createElement("TD"); 
     113        td_element6.setAttribute("width", "10%"); 
     114        td_element6.id = "message_header_SORTSIZE"; 
     115        td_element6.align = "right"; 
     116        td_element6.innerHTML = get_lang("Size"); 
     117        tr_element.appendChild(td_element1); 
     118        tr_element.appendChild(td_element2); 
     119        tr_element.appendChild(td_element3); 
     120        tr_element.appendChild(td_element4); 
     121        tr_element.appendChild(td_element5); 
     122        tr_element.appendChild(td_element6); 
     123 
     124        tbody_element.appendChild(tr_element); 
     125        table_element.appendChild(tbody_element); 
     126        content_id_0.appendChild(table_element); 
     127} 
     128 
     129function draw_search_division(msg){ 
     130        var tbody = Element('tbody_box'); 
     131        var tr = document.createElement("TR"); 
     132        var td = document.createElement("TD"); 
     133        td.colSpan = '7'; 
     134        td.width = '100%'; 
     135 
     136        var action_info_table = document.createElement("TABLE"); 
     137        var action_info_tbody = document.createElement("TBODY"); 
     138 
     139        action_info_table.className = "action_info_table"; 
     140        action_info_table.width = "100%"; 
     141 
     142        var action_info_tr = document.createElement("TR"); 
     143 
     144        var action_info_th1 = document.createElement("TH"); 
     145        action_info_th1.width = "40%"; 
     146        action_info_th1.innerHTML = "&nbsp;"; 
     147 
     148        var action_info_th2 = document.createElement("TH"); 
     149 
     150        action_info_th2.innerHTML = msg; 
     151        action_info_th2.className = "action_info_th"; 
     152        action_info_th2.setAttribute("noWrap", "true"); 
     153 
     154        var action_info_th3 = document.createElement("TH"); 
     155        action_info_th3.width = "40%"; 
     156        action_info_th3.innerHTML = "&nbsp;"; 
     157 
     158        action_info_tr.appendChild(action_info_th1); 
     159        action_info_tr.appendChild(action_info_th2); 
     160        action_info_tr.appendChild(action_info_th3); 
     161        action_info_tbody.appendChild(action_info_tr); 
     162        action_info_table.appendChild(action_info_tbody); 
     163 
     164        td.appendChild(action_info_table); 
     165        tr.appendChild(td); 
     166        tbody.appendChild(tr); 
     167} 
     168 
     169function draw_search_box(){ 
     170        var content_id_0 = Element("content_id_0"); 
     171        var table = document.createElement("TABLE"); 
     172        table.id = "table_box"; 
     173        table.width = 'auto'; 
     174        var tbody = document.createElement("TBODY"); 
     175        tbody.id = "tbody_box"; 
     176 
     177        table.className = "table_box"; 
     178        table.setAttribute("frame", "below"); 
     179        table.setAttribute("rules", "none"); 
     180        table.setAttribute("cellpadding", "0"); 
     181        table.onkeydown = function (e){ 
     182                if (is_ie) 
     183                { 
     184                        if ((window.event.keyCode) == 46) 
     185                        { 
     186                                //delete_all_selected_msgs_imap(); 
     187                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     188                        } 
     189                } 
     190                else 
     191                { 
     192                        if ((e.keyCode) == 46) 
     193                        { 
     194                                //delete_all_selected_msgs_imap(); 
     195                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     196                        } 
     197                } 
     198        }; 
    75199        if (is_ie) 
    76         { 
    77             if ((window.event.keyCode) == 46) 
    78             { 
    79                 //delete_all_selected_msgs_imap(); 
    80                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    81             } 
    82         } 
    83         else 
    84         { 
    85             if ((e.keyCode) == 46) 
    86             { 
    87                 //delete_all_selected_msgs_imap(); 
    88                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    89             } 
    90         } 
    91     }; 
    92  
    93     td_element1.appendChild(chk_box_element); 
    94     td_element2 = document.createElement("TD"); 
    95     td_element2.setAttribute("width", "3%"); 
    96     td_element3 = document.createElement("TD"); 
    97     td_element3.setAttribute("width", "30%"); 
    98     td_element3.id = "message_header_SORTFROM"; 
    99     td_element3.align = "left"; 
    100     td_element3.innerHTML = get_lang("From"); 
    101     td_element4 = document.createElement("TD"); 
    102     td_element4.setAttribute("width", "49%"); 
    103     td_element4.id = "message_header_SORTSUBJECT"; 
    104     td_element4.align = "left"; 
    105     td_element4.innerHTML = get_lang("Subject"); 
    106     td_element5 = document.createElement("TD"); 
    107     td_element5.setAttribute("width", "10%"); 
    108     td_element5.id = "message_header_SORTARRIVAL"; 
    109     td_element5.align = "center"; 
    110     td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; 
    111     td_element5.innerHTML += '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_descendant.gif">'; 
    112     td_element6 = document.createElement("TD"); 
    113     td_element6.setAttribute("width", "10%"); 
    114     td_element6.id = "message_header_SORTSIZE"; 
    115     td_element6.align = "right"; 
    116     td_element6.innerHTML = get_lang("Size"); 
    117     tr_element.appendChild(td_element1); 
    118     tr_element.appendChild(td_element2); 
    119     tr_element.appendChild(td_element3); 
    120     tr_element.appendChild(td_element4); 
    121     tr_element.appendChild(td_element5); 
    122     tr_element.appendChild(td_element6); 
    123  
    124     tbody_element.appendChild(tr_element); 
    125     table_element.appendChild(tbody_element); 
    126     content_id_0.appendChild(table_element); 
    127 } 
    128  
    129 function draw_search_division(msg){ 
    130     var tbody = Element('tbody_box'); 
    131     var tr = document.createElement("TR"); 
    132     var td = document.createElement("TD"); 
    133     td.colSpan = '7'; 
    134     td.width = '100%'; 
    135  
    136     var action_info_table = document.createElement("TABLE"); 
    137     var action_info_tbody = document.createElement("TBODY"); 
    138  
    139     action_info_table.className = "action_info_table"; 
    140     action_info_table.width = "100%"; 
    141  
    142     var action_info_tr = document.createElement("TR"); 
    143  
    144     var action_info_th1 = document.createElement("TH"); 
    145     action_info_th1.width = "40%"; 
    146     action_info_th1.innerHTML = "&nbsp;"; 
    147  
    148     var action_info_th2 = document.createElement("TH"); 
    149  
    150     action_info_th2.innerHTML = msg; 
    151     action_info_th2.className = "action_info_th"; 
    152     action_info_th2.setAttribute("noWrap", "true"); 
    153  
    154     var action_info_th3 = document.createElement("TH"); 
    155     action_info_th3.width = "40%"; 
    156     action_info_th3.innerHTML = "&nbsp;"; 
    157  
    158     action_info_tr.appendChild(action_info_th1); 
    159     action_info_tr.appendChild(action_info_th2); 
    160     action_info_tr.appendChild(action_info_th3); 
    161     action_info_tbody.appendChild(action_info_tr); 
    162     action_info_table.appendChild(action_info_tbody); 
    163  
    164     td.appendChild(action_info_table); 
    165     tr.appendChild(td); 
    166     tbody.appendChild(tr); 
    167 } 
    168  
    169 function draw_search_box(){ 
    170     var content_id_0 = Element("content_id_0"); 
    171     var table = document.createElement("TABLE"); 
    172     table.id = "table_box"; 
    173     table.width = 'auto'; 
    174     var tbody = document.createElement("TBODY"); 
    175     tbody.id = "tbody_box"; 
    176  
    177     table.className = "table_box"; 
    178     table.setAttribute("frame", "below"); 
    179     table.setAttribute("rules", "none"); 
    180     table.setAttribute("cellpadding", "0"); 
    181     table.onkeydown = function (e){ 
    182         if (is_ie) 
    183         { 
    184             if ((window.event.keyCode) == 46) 
    185             { 
    186                 //delete_all_selected_msgs_imap(); 
    187                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    188             } 
    189         } 
    190         else 
    191         { 
    192             if ((e.keyCode) == 46) 
    193             { 
    194                 //delete_all_selected_msgs_imap(); 
    195                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    196             } 
    197         } 
    198     }; 
    199     if (is_ie) 
    200         table.style.cursor = "hand"; 
    201  
    202     table.appendChild(tbody); 
    203     content_id_0.appendChild(table); 
     200                table.style.cursor = "hand"; 
     201 
     202        table.appendChild(tbody); 
     203        content_id_0.appendChild(table); 
    204204} 
    205205 
    206206function build_quota(data){ 
    207     id = "content_quota"; 
    208     q_limit = data['quota_limit']; 
    209     var div     = document.getElementById(id); 
    210     if(!q_limit){ 
    211         div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>'; 
    212     } 
    213     else{ 
    214         if(div) 
    215         { 
    216             div.innerHTML = ''; 
    217             value = data['quota_percent']; 
    218             q_used = data['quota_used']; 
    219             table = document.getElementById("table_quota"); 
    220             if(table) 
    221                 table.parentNode.removeChild(table); 
    222             table = document.createElement("TABLE"); 
    223             tbody = document.createElement("TBODY"); 
    224             table.appendChild(tbody); 
    225             table.id = "table_quota"; 
    226             table.width="102"; 
    227             table.border="0"; 
    228             table.cellSpacing = 0; 
    229             table.cellPadding = 0; 
    230  
    231             //tr1 = document.createElement("TR"); 
    232             td11 = document.createElement("TD"); 
    233             td11.align="center"; 
    234             td11.setAttribute("noWrap","true"); 
    235             td11.innerHTML += '&nbsp;<span class="boxHeaderText">' + value+"% ("+q_used+"M/"+q_limit+"M)</span>"; 
    236             //tr1.appendChild(td11); 
    237  
    238             tr2 = document.createElement("TR"); 
    239             td21 = document.createElement("TD"); 
    240             td21.setAttribute("noWrap","true"); 
    241             td21.height="15"; 
    242             td22 = document.createElement("TD"); 
    243             td21.setAttribute("background", URL_SERVER + 'phpgwapi/templates/' + template + '/images/dsunused.gif'); 
    244             table221 = document.createElement("TABLE"); 
    245             tbody221 = document.createElement("TBODY"); 
    246             table221.appendChild(tbody221); 
    247             table221.style.width=value+"%"; 
    248             td21.width="102"; 
    249             table221.border="0"; 
    250             table221.cellSpacing = 0; 
    251             table221.cellPadding = 0; 
    252             tr221 = document.createElement("TR"); 
    253             td221 = document.createElement("TD"); 
    254             td221.height="15"; 
    255             if(value > 90) { 
    256                 if(value >= 100) 
    257                     write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages.")); 
    258                 else 
    259                     write_msg(get_lang("Warning: Your Mailbox is almost full!")); 
    260                 td221.setAttribute("background","templates/"+template+"/images/dsalert.gif"); 
    261             } 
    262             else if(value > 80) 
    263                 td221.setAttribute("background", URL_SERVER + 'expressoMail1_2/templates/' + template + '/images/dswarn.gif'); 
    264             else 
    265                 td221.className = 'dsused'; 
    266  
    267             tr221.appendChild(td221); 
    268             tbody221.appendChild(tr221); 
    269             td21.appendChild(table221); 
    270             tr2.appendChild(td21); 
    271             tr2.appendChild(td11); 
    272  
    273             //tr2.appendChild(td1); 
    274  
    275             tbody.appendChild(tr2); //Desenho 
    276             //tbody.appendChild(tr1); //Letras 
    277             div.appendChild(table); 
    278         } 
    279     } 
     207        id = "content_quota"; 
     208        q_limit = data['quota_limit']; 
     209        var div = document.getElementById(id); 
     210        if(!q_limit){ 
     211                div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>'; 
     212        } 
     213        else{ 
     214                if(div) 
     215                { 
     216                        div.innerHTML = ''; 
     217                        value = data['quota_percent']; 
     218                        q_used = data['quota_used']; 
     219                        table = document.getElementById("table_quota"); 
     220                        if(table) 
     221                                table.parentNode.removeChild(table); 
     222                        table = document.createElement("TABLE"); 
     223                        tbody = document.createElement("TBODY"); 
     224                        table.appendChild(tbody); 
     225                        table.id = "table_quota"; 
     226                        table.width="102"; 
     227                        table.border="0"; 
     228                        table.cellSpacing = 0; 
     229                        table.cellPadding = 0; 
     230 
     231                        //tr1 = document.createElement("TR"); 
     232                        td11 = document.createElement("TD"); 
     233                        td11.align="center"; 
     234                        td11.setAttribute("noWrap","true"); 
     235                        td11.innerHTML += '&nbsp;<span class="boxHeaderText">' + value+"% ("+q_used+"M/"+q_limit+"M)</span>"; 
     236                        //tr1.appendChild(td11); 
     237 
     238                        tr2 = document.createElement("TR"); 
     239                        td21 = document.createElement("TD"); 
     240                        td21.setAttribute("noWrap","true"); 
     241                        td21.height="15"; 
     242                        td22 = document.createElement("TD"); 
     243                        td21.setAttribute("background", URL_SERVER + 'phpgwapi/templates/' + template + '/images/dsunused.gif'); 
     244                        table221 = document.createElement("TABLE"); 
     245                        tbody221 = document.createElement("TBODY"); 
     246                        table221.appendChild(tbody221); 
     247                        table221.style.width=value+"%"; 
     248                        td21.width="102"; 
     249                        table221.border="0"; 
     250                        table221.cellSpacing = 0; 
     251                        table221.cellPadding = 0; 
     252                        tr221 = document.createElement("TR"); 
     253                        td221 = document.createElement("TD"); 
     254                        td221.height="15"; 
     255                        if(value > 90) { 
     256                                if(value >= 100) 
     257                                        write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages.")); 
     258                                else 
     259                                        write_msg(get_lang("Warning: Your Mailbox is almost full!")); 
     260                                td221.setAttribute("background","templates/"+template+"/images/dsalert.gif"); 
     261                        } 
     262                        else if(value > 80) 
     263                                td221.setAttribute("background", URL_SERVER + 'expressoMail1_2/templates/' + template + '/images/dswarn.gif'); 
     264                        else 
     265                                td221.className = 'dsused'; 
     266 
     267                        tr221.appendChild(td221); 
     268                        tbody221.appendChild(tr221); 
     269                        td21.appendChild(table221); 
     270                        tr2.appendChild(td21); 
     271                        tr2.appendChild(td11); 
     272 
     273                        //tr2.appendChild(td1); 
     274 
     275                        tbody.appendChild(tr2); //Desenho 
     276                        //tbody.appendChild(tr1); //Letras 
     277                        div.appendChild(table); 
     278                } 
     279        } 
    280280} 
    281281 
    282282function draw_paging(num_msgs){  
    283     num_msgs = parseInt(num_msgs); 
    284     total_pages = 1; 
    285  
    286     if(last_folder != current_folder){ 
    287         lastPage = 1; 
    288         current_page = 1; 
    289         last_folder = current_folder; 
    290     } 
    291  
    292     if(num_msgs > parseInt(preferences.max_email_per_page)) { 
    293         total_pages = parseInt(num_msgs/preferences.max_email_per_page); 
    294         if((num_msgs/preferences.max_email_per_page) > total_pages) 
    295             total_pages++; 
    296     } 
    297  
    298     if(total_pages == 1) { 
    299         if(span_paging = document.getElementById("span_paging")) { 
    300             span_paging.parentNode.removeChild(span_paging); 
    301         } 
    302         return; 
    303     } 
    304  
    305     span_paging = document.getElementById("span_paging"); 
    306     if(!span_paging){ 
    307         span_paging = document.createElement("DIV"); 
    308         span_paging.id = "span_paging"; 
    309         span_paging.className = "boxHeaderText"; 
    310         span_paging.align="right"; 
    311         var div_menu_c3 = document.getElementById("div_menu_c3"); 
    312         if ( div_menu_c3 ) 
    313             div_menu_c3.appendChild(span_paging); 
    314     } 
    315     span_paging.style.width="100%"; 
    316     span_paging.innerHTML=""; 
    317     msg_range_begin = 1; 
    318     msg_range_end = preferences.max_email_per_page; 
    319     if(current_page != 1) { 
    320         lnk_page = document.createElement("A"); 
    321         lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    322     } 
    323     else { 
    324         lnk_page = document.createElement("SPAN"); 
    325     } 
    326     span_paging.appendChild(lnk_page); 
    327  
    328     lnk_page.innerHTML = "&lt;&lt;"; 
    329     lnk_page.title = get_lang("First"); 
    330     span_paging.innerHTML += "&nbsp;"; 
    331  
    332     if(current_page == lastPage + numPages) 
    333         lastPage = current_page - 1; 
    334     else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 
    335         lastPage = current_page - (numPages - 1); 
    336     else if(current_page == 1) 
    337         lastPage = 1; 
    338  
    339     if(lastPage < 1) 
    340         lastPage = 1; 
    341     else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1)))) 
    342         lastPage = total_pages -(numPages - 1); 
    343  
    344     var hasMarked = false; 
    345  
    346     for(i = lastPage; i <= total_pages; i++) { 
    347  
    348         if(current_page == i || (i == total_pages && !hasMarked)) { 
    349             lnk_page = document.createElement("SPAN"); 
    350             span_paging.appendChild(lnk_page); 
    351             lnk_page.innerHTML = "&nbsp;<b>"+i+"</b>&nbsp;"; 
    352             hasMarked = true; 
    353             continue; 
    354         } 
    355         else{ 
    356             lnk_page = document.createElement("A"); 
    357             span_paging.appendChild(lnk_page); 
    358             msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    359             msg_range_end = (i*preferences.max_email_per_page); 
    360             lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    361         } 
    362  
    363         lnk_page.innerHTML = "&nbsp;...&nbsp;"; 
    364  
    365         if(i == (lastPage + numPages)) 
    366             break; 
    367         else if(lastPage == 1 || i != lastPage) 
    368             lnk_page.innerHTML = "&nbsp;"+i+"&nbsp;"; 
    369  
     283        num_msgs = parseInt(num_msgs); 
     284        total_pages = 1; 
     285 
     286        if(last_folder != current_folder){ 
     287                lastPage = 1; 
     288                current_page = 1; 
     289                last_folder = current_folder; 
     290        } 
     291 
     292        if(num_msgs > parseInt(preferences.max_email_per_page)) { 
     293                total_pages = parseInt(num_msgs/preferences.max_email_per_page); 
     294                if((num_msgs/preferences.max_email_per_page) > total_pages) 
     295                        total_pages++; 
     296        } 
     297 
     298        if(total_pages == 1) { 
     299                if(span_paging = document.getElementById("span_paging")) { 
     300                        span_paging.parentNode.removeChild(span_paging); 
     301                } 
     302                return; 
     303        } 
     304 
     305        span_paging = document.getElementById("span_paging"); 
     306        if(!span_paging){ 
     307                span_paging = document.createElement("DIV"); 
     308                span_paging.id = "span_paging"; 
     309                span_paging.className = "boxHeaderText"; 
     310                span_paging.align="right"; 
     311                var div_menu_c3 = document.getElementById("div_menu_c3"); 
     312                if ( div_menu_c3 ) 
     313                        div_menu_c3.appendChild(span_paging); 
     314        } 
     315        span_paging.style.width="100%"; 
     316        span_paging.innerHTML=""; 
     317        msg_range_begin = 1; 
     318        msg_range_end = preferences.max_email_per_page; 
     319        if(current_page != 1) { 
     320                lnk_page = document.createElement("A"); 
     321                lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_prebox();draw_box(data, get_current_folder());});"); 
     322        } 
     323        else { 
     324                lnk_page = document.createElement("SPAN"); 
     325        } 
     326        span_paging.appendChild(lnk_page); 
     327 
     328        lnk_page.innerHTML = "&lt;&lt;"; 
     329        lnk_page.title = get_lang("First"); 
    370330        span_paging.innerHTML += "&nbsp;"; 
    371     } 
    372  
    373     if(current_page != total_pages) { 
    374         lnk_page = document.createElement("A"); 
    375         msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    376         msg_range_end = (total_pages*preferences.max_email_per_page); 
    377         lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    378     } 
    379     else { 
    380         lnk_page = document.createElement("SPAN"); 
    381     } 
    382     span_paging.innerHTML += "&nbsp;"; 
    383     span_paging.appendChild(lnk_page); 
    384  
    385     lnk_page.title = get_lang("Last"); 
    386     lnk_page.innerHTML = "&gt;&gt;"; 
     331 
     332        if(current_page == lastPage + numPages) 
     333                lastPage = current_page - 1; 
     334        else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 
     335                lastPage = current_page - (numPages - 1); 
     336        else if(current_page == 1) 
     337                lastPage = 1; 
     338 
     339        if(lastPage < 1) 
     340                lastPage = 1; 
     341        else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1)))) 
     342                lastPage = total_pages -(numPages - 1); 
     343 
     344        var     hasMarked = false; 
     345 
     346        for(i = lastPage; i <= total_pages; i++) { 
     347 
     348                if(current_page == i || (i == total_pages && !hasMarked)) { 
     349                        lnk_page = document.createElement("SPAN"); 
     350                        span_paging.appendChild(lnk_page); 
     351                        lnk_page.innerHTML = "&nbsp;<b>"+i+"</b>&nbsp;"; 
     352                        hasMarked = true; 
     353                        continue; 
     354                } 
     355                else{ 
     356                        lnk_page = document.createElement("A"); 
     357                        span_paging.appendChild(lnk_page); 
     358                        msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
     359                        msg_range_end = (i*preferences.max_email_per_page); 
     360                        lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_prebox();draw_box(data, get_current_folder());});"); 
     361                } 
     362 
     363                lnk_page.innerHTML = "&nbsp;...&nbsp;"; 
     364 
     365                if(i == (lastPage + numPages)) 
     366                        break; 
     367                else if(lastPage == 1 || i != lastPage) 
     368                        lnk_page.innerHTML = "&nbsp;"+i+"&nbsp;"; 
     369 
     370                span_paging.innerHTML += "&nbsp;"; 
     371        } 
     372 
     373        if(current_page != total_pages) { 
     374                lnk_page = document.createElement("A"); 
     375                msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
     376                msg_range_end = (total_pages*preferences.max_email_per_page); 
     377                lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_prebox();draw_box(data, get_current_folder());});"); 
     378        } 
     379        else { 
     380                lnk_page = document.createElement("SPAN"); 
     381        } 
     382        span_paging.innerHTML += "&nbsp;"; 
     383        span_paging.appendChild(lnk_page); 
     384 
     385        lnk_page.title = get_lang("Last"); 
     386        lnk_page.innerHTML = "&gt;&gt;"; 
    387387} 
    388388 
    389389 
    390390function draw_tree_local_folders() { 
    391     /** 
     391        /** 
    392392         * Pastas locais 
    393393         */ 
    394     if(preferences.use_local_messages==1 || expresso_offline) { 
    395         var local_folders = expresso_local_messages.list_local_folders(); 
    396         var has_changes = false; 
    397         for (var i in local_folders) { //Coloca as pastas locais. 
    398             if(!isNaN(i)){ 
    399                 var new_caption = local_folders[i][0]; 
    400                 if(local_folders[i][0].indexOf("/")!="-1") { 
    401                     final_pos = local_folders[i][0].lastIndexOf("/"); 
    402                     new_caption = local_folders[i][0].substr(final_pos+1); 
    403                 } 
    404  
    405                 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 
    406  
    407                 if ((folder_unseen) && (local_folders[i][1] > 0)) 
    408                 { 
    409                     folder_unseen.innerHTML = local_folders[i][1]; 
    410                     has_changes = true; 
    411                 } 
    412                 else if (local_folders[i][1] > 0) 
    413                 { 
    414                     tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ 
    415                         caption:lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>' 
    416                         }); 
    417                     tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
    418                     has_changes = true; 
    419                 } 
    420                 else if (local_folders[i][1] <= 0) 
    421                 { 
    422                     tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ 
    423                         caption:lang_folder(new_caption) 
    424                         }); 
    425                     tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
    426                     has_changes = true; 
    427                 } 
    428  
    429                 if("local_"+local_folders[i][0] == get_current_folder()){ 
    430                     var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
    431                     if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 
    432                         Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 
    433                     } 
    434                     Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 
    435                     draw_paging(Element('tot_m').innerHTML); 
    436                     has_changes = true; 
    437                 } 
    438             } 
    439         } 
    440         if(has_changes) 
    441             tree_folders.getNodeById("local_root").open(); 
    442  
    443     } 
     394        if(preferences.use_local_messages==1 || expresso_offline) { 
     395                var local_folders = expresso_local_messages.list_local_folders(); 
     396                var has_changes = false; 
     397                for (var i in local_folders) { //Coloca as pastas locais. 
     398                        if(!isNaN(i)){ 
     399                                var new_caption = local_folders[i][0]; 
     400                                if(local_folders[i][0].indexOf("/")!="-1") { 
     401                                        final_pos = local_folders[i][0].lastIndexOf("/"); 
     402                                        new_caption = local_folders[i][0].substr(final_pos+1); 
     403                                } 
     404 
     405                                var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 
     406 
     407                                if ((folder_unseen) && (local_folders[i][1] > 0)) 
     408                                { 
     409                                        folder_unseen.innerHTML = local_folders[i][1]; 
     410                                        has_changes = true; 
     411                                } 
     412                                else if (local_folders[i][1] > 0) 
     413                                { 
     414                                        tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ 
     415caption:lang_folder(new_caption) + '<font style=color:red>&nbsp(</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>' 
     416}); 
     417tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
     418has_changes = true; 
     419} 
     420else if (local_folders[i][1] <= 0) 
     421{ 
     422        tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ 
     423caption:lang_folder(new_caption) 
     424}); 
     425tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 
     426has_changes = true; 
     427} 
     428 
     429if("local_"+local_folders[i][0] == get_current_folder()){ 
     430        var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
     431        if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 
     432                Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 
     433        } 
     434        Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 
     435        draw_paging(Element('tot_m').innerHTML); 
     436        has_changes = true; 
     437} 
     438} 
     439} 
     440if(has_changes) 
     441        tree_folders.getNodeById("local_root").open(); 
     442 
     443        } 
    444444} 
    445445 
    446446function draw_tree_folders(folders){ 
    447     // Check if the tree folders alredy exist. 
    448     translatedFolders = new Map(); 
    449     if (Element('dftree_tree_folders')){ 
     447        // Check if the tree folders alredy exist. 
     448        translatedFolders = new Map(); 
     449        if (Element('dftree_tree_folders')){ 
     450                if (!expresso_offline) { 
     451                        var update_tree_folders = function(data){ 
     452                                build_quota(data); 
     453                                var unseen_in_mailbox = 0; 
     454                                var unseen_in_shared_folders = 0; 
     455                                for (var i=0; i<data.length; i++){ 
     456                                        if ( data[i].folder_unseen > 0 ) 
     457                                        { 
     458                                                unseen_in_mailbox = parseInt( unseen_in_mailbox + data[ i ].folder_unseen ); 
     459                                                if ( data[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
     460                                                        unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); 
     461                                        } 
     462 
     463                                        var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 
     464 
     465                                        if ((folder_unseen) && (data[i].folder_unseen > 0)) 
     466                                        { 
     467                                                folder_unseen.innerHTML = data[i].folder_unseen; 
     468                                        } 
     469                                        else if (data[i].folder_unseen > 0) 
     470                                        { 
     471                                                tree_folders.getNodeById(data[i].folder_id).alter({ 
     472caption: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>' 
     473}); 
     474tree_folders.getNodeById(data[i].folder_id)._refresh(); 
     475} 
     476else if (data[i].folder_unseen <= 0) 
     477{ 
     478        tree_folders.getNodeById(data[i].folder_id).alter({ 
     479caption:lang_folder(data[i].folder_name) 
     480}); 
     481tree_folders.getNodeById(data[i].folder_id)._refresh(); 
     482} 
     483 
     484if(data[i].folder_id == current_folder){ 
     485        var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
     486        //                                      if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 
     487        //                                              Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 
     488        //                                      } 
     489        Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
     490        draw_paging(Element('tot_m').innerHTML); 
     491} 
     492} 
     493 
     494var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
     495//if ( unseen_in_mailbox ) 
     496//      display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 
     497//else 
     498display_unseen_in_mailbox.alter({ 
     499caption:get_lang("My Folders") 
     500}); 
     501display_unseen_in_mailbox._refresh(); 
     502 
     503var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
     504if ( display_unseen_in_shared_folders ) 
     505{ 
     506        if ( unseen_in_shared_folders ) 
     507                display_unseen_in_shared_folders.alter({ 
     508caption:'<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") 
     509}); 
     510else 
     511display_unseen_in_shared_folders.alter({ 
     512caption:get_lang("Shared folders") 
     513}); 
     514display_unseen_in_shared_folders._refresh(); 
     515} 
     516}; 
     517expresso.connector.cacheNextRequest(1); 
     518cExecute ("expressoMail1_2.imap_functions.get_folders_list&folder=INBOX", update_tree_folders); 
     519} 
     520 
     521return; 
     522} 
     523else{ 
    450524        if (!expresso_offline) { 
    451             var update_tree_folders = function(data){ 
    452                 build_quota(data); 
    453                 var unseen_in_mailbox = 0; 
    454                 var unseen_in_shared_folders = 0; 
    455                 for (var i=0; i<data.length; i++){ 
    456                     if ( data[i].folder_unseen > 0 ) 
    457                     { 
    458                         unseen_in_mailbox = parseInt( unseen_in_mailbox + data[ i ].folder_unseen ); 
    459                         if ( data[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    460                             unseen_in_shared_folders = parseInt( unseen_in_shared_folders + data[ i ].folder_unseen ); 
    461                     } 
    462  
    463                     var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 
    464  
    465                     if ((folder_unseen) && (data[i].folder_unseen > 0)) 
    466                     { 
    467                         folder_unseen.innerHTML = data[i].folder_unseen; 
    468                     } 
    469                     else if (data[i].folder_unseen > 0) 
    470                     { 
    471                         tree_folders.getNodeById(data[i].folder_id).alter({ 
    472                             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>' 
    473                             }); 
    474                         tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    475                     } 
    476                     else if (data[i].folder_unseen <= 0) 
    477                     { 
    478                         tree_folders.getNodeById(data[i].folder_id).alter({ 
    479                             caption:lang_folder(data[i].folder_name) 
    480                             }); 
    481                         tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    482                     } 
    483  
    484                     if(data[i].folder_id == current_folder){ 
    485                         var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
    486                         //                                      if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 
    487                         //                                              Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 
    488                         //                                      } 
    489                         Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
    490                         draw_paging(Element('tot_m').innerHTML); 
    491                     } 
    492                 } 
    493  
    494                 var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    495                 //if ( unseen_in_mailbox ) 
    496                 //      display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 
    497                 //else 
    498                 display_unseen_in_mailbox.alter({ 
    499                     caption:get_lang("My Folders") 
    500                     }); 
    501                 display_unseen_in_mailbox._refresh(); 
    502  
    503                 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    504                 if ( display_unseen_in_shared_folders ) 
    505                 { 
    506                     if ( unseen_in_shared_folders ) 
    507                         display_unseen_in_shared_folders.alter({ 
    508                             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") 
    509                             }); 
    510                     else 
    511                         display_unseen_in_shared_folders.alter({ 
    512                             caption:get_lang("Shared folders") 
    513                             }); 
    514                     display_unseen_in_shared_folders._refresh(); 
    515                 } 
    516             }; 
    517             expresso.connector.cacheNextRequest(1); 
    518             cExecute ("expressoMail1_2.imap_functions.get_folders_list&folder=INBOX", update_tree_folders); 
    519         } 
    520  
    521         return; 
    522     } 
    523     else{ 
    524         if (!expresso_offline) { 
    525             tree_folders = new dFTree({ 
    526                 name: 'tree_folders' 
    527             }); 
    528  
    529             var n_root = new dNode({ 
    530                 id:'root', 
    531                 caption: get_lang("My Folders") 
    532                 }); 
    533             tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    534  
    535             var unseen_in_mailbox = 0; 
    536             var unseen_in_shared_folders = 0; 
    537             for (var i=0; i<folders.length; i++){ 
     525                tree_folders = new dFTree({ 
     526name: 'tree_folders' 
     527}); 
     528 
     529var n_root = new dNode({ 
     530id:'root', 
     531caption: get_lang("My Folders") 
     532}); 
     533tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
     534 
     535var unseen_in_mailbox = 0; 
     536var unseen_in_shared_folders = 0; 
     537        for (var i=0; i<folders.length; i++){ 
    538538                if (folders[i].folder_unseen > 0) 
    539539                { 
    540                     unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
    541                     if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    542                         unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
    543  
    544                     var nn = new dNode({ 
    545                         id:folders[i].folder_id, 
    546                         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>', 
    547                         onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
    548                         plusSign:folders[i].folder_hasChildren 
    549                         }); 
    550  
    551                     if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
    552                         Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
    553                 } 
    554                 else 
    555                     var nn = new dNode({ 
    556                         id:folders[i].folder_id, 
    557                         caption:lang_folder(folders[i].folder_name), 
    558                         onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
    559                         plusSign:folders[i].folder_hasChildren 
    560                         }); 
    561  
    562                 if (folders[i].folder_parent == '') 
    563                     folders[i].folder_parent = 'root'; 
    564                 else if (folders[i].folder_parent == 'user'){ 
    565  
    566                     if (!tree_folders.getNodeById('user')){ 
    567                         tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
    568                         if (tmpFolderId != folders[i].folder_name) 
    569                         { 
    570                             translatedFolders.add(tmpFolderId, folders[i].folder_name); 
    571                         } 
    572                         var n_root_shared_folders = new dNode({ 
    573                             id:'user', 
    574                             caption:get_lang("Shared folders"), 
    575                             plusSign:true 
    576                         }); 
    577                         tree_folders.add(n_root_shared_folders,'root'); 
    578                     } 
    579                 } 
    580                 tree_folders.add(nn,folders[i].folder_parent); 
    581             } 
    582         } 
    583         //tree_local_folders = new dFTree({name: 'tree_local_folders'}); 
    584         /** 
    585                 * Pastas locais 
    586                 */ 
    587         if (preferences.use_local_messages==1 || expresso_offline) { 
    588             if (!window.google || !google.gears) { 
     540                        unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
     541                        if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
     542                                unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
     543 
     544                        var nn = new dNode({ 
     545id:folders[i].folder_id, 
     546caption: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>', 
     547onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
     548plusSign:folders[i].folder_hasChildren 
     549}); 
     550 
     551if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
     552Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
     553} 
     554else 
     555var nn = new dNode({ 
     556id:folders[i].folder_id, 
     557caption:lang_folder(folders[i].folder_name), 
     558onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 
     559plusSign:folders[i].folder_hasChildren 
     560}); 
     561 
     562if (folders[i].folder_parent == '') 
     563folders[i].folder_parent = 'root'; 
     564else if (folders[i].folder_parent == 'user'){ 
     565 
     566        if (!tree_folders.getNodeById('user')){ 
     567                tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
     568                if (tmpFolderId != folders[i].folder_name) 
     569                { 
     570                        translatedFolders.add(tmpFolderId, folders[i].folder_name); 
     571                } 
     572                var n_root_shared_folders = new dNode({ 
     573id:'user', 
     574caption:get_lang("Shared folders"), 
     575plusSign:true 
     576}); 
     577tree_folders.add(n_root_shared_folders,'root'); 
     578} 
     579} 
     580tree_folders.add(nn,folders[i].folder_parent); 
     581} 
     582} 
     583//tree_local_folders = new dFTree({name: 'tree_local_folders'}); 
     584/** 
     585 * Pastas locais 
     586 */ 
     587if (preferences.use_local_messages==1 || expresso_offline) { 
     588        if (!window.google || !google.gears) { 
    589589                if (!expresso_local_messages.installGears()) 
    590                     preferences.use_local_messages=0; 
    591             } 
    592             else{ 
     590                        preferences.use_local_messages=0; 
     591        } 
     592        else{ 
    593593                if (!window.google || !google.gears) { 
    594                     temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 
    595                     if (temp) { 
    596                         location.href = "http://gears.google.com/?action=install&message="+ 
    597                         "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + 
    598                         document.location.href; 
    599                     } 
    600                     else { 
    601                         preferences.use_local_messages=0; 
    602                     } 
     594                        temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); 
     595                        if (temp) { 
     596                                location.href = "http://gears.google.com/?action=install&message="+ 
     597                                        "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + 
     598                                        document.location.href; 
     599                        } 
     600                        else { 
     601                                preferences.use_local_messages=0; 
     602                        } 
    603603                } 
    604604                else{ 
    605                     if (expresso_offline) 
    606                         tree_folders = new dFTree({ 
    607                             name: 'tree_folders' 
    608                         }); 
    609                     var root_local = new dNode({ 
    610                         id: "local_root", 
    611                         caption: get_lang('local folders') 
    612                     }); 
    613                     tree_folders.add(root_local, "root"); //coloca root local 
    614                     var local_folders = expresso_local_messages.list_local_folders(); 
    615                     for (var i in local_folders) { //Coloca as pastas locais. 
    616                         if(!isNaN(i)){ 
    617                             var node_root = "local_root"; 
    618                             var new_caption = local_folders[i][0]; 
    619                             if (local_folders[i][0].indexOf("/") != "-1") { 
    620                                 final_pos = local_folders[i][0].lastIndexOf("/"); 
    621                                 node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
    622                                 new_caption = local_folders[i][0].substr(final_pos + 1); 
    623                             } 
    624                             if (local_folders[i][1] > 0) 
    625                                 var nodeLocal = new dNode({ 
    626                                     id: "local_" + local_folders[i][0], 
    627                                     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>', 
    628                                     onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    629                                     plusSign: local_folders[i][2] 
    630                                 }); 
    631                             else 
    632                                 var nodeLocal = new dNode({ 
    633                                     id: "local_" + local_folders[i][0], 
    634                                     caption: lang_folder(new_caption), 
    635                                     onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
    636                                     plusSign: local_folders[i][2] 
    637                             }); 
    638                             tree_folders.add(nodeLocal, node_root); 
    639                         } 
    640                     } 
    641                 } 
    642             } 
    643         } 
    644  
    645         tree_folders.draw(Element('content_folders')); 
    646         if (!expresso_offline) { 
    647             n_root.changeState(); 
    648             folder_select = (current_folder ? current_folder:"INBOX"); 
    649             if (typeof(tree_folders.getNodeById(folder_select)) == 'undefined') 
     605                        if (expresso_offline) 
     606                                tree_folders = new dFTree({ 
     607name: 'tree_folders' 
     608}); 
     609var root_local = new dNode({ 
     610id: "local_root", 
     611caption: get_lang('local folders') 
     612}); 
     613tree_folders.add(root_local, "root"); //coloca root local 
     614var local_folders = expresso_local_messages.list_local_folders(); 
     615for (var i in local_folders) { //Coloca as pastas locais. 
     616        if(!isNaN(i)){ 
     617                var node_root = "local_root"; 
     618                var new_caption = local_folders[i][0]; 
     619                if (local_folders[i][0].indexOf("/") != "-1") { 
     620                        final_pos = local_folders[i][0].lastIndexOf("/"); 
     621                        node_root = "local_" + local_folders[i][0].substr(0, final_pos); 
     622                        new_caption = local_folders[i][0].substr(final_pos + 1); 
     623                } 
     624                if (local_folders[i][1] > 0) 
     625                        var nodeLocal = new dNode({ 
     626id: "local_" + local_folders[i][0], 
     627caption: 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>', 
     628onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
     629plusSign: local_folders[i][2] 
     630}); 
     631else 
     632var nodeLocal = new dNode({ 
     633id: "local_" + local_folders[i][0], 
     634caption: lang_folder(new_caption), 
     635onClick: "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", 
     636plusSign: local_folders[i][2] 
     637}); 
     638tree_folders.add(nodeLocal, node_root); 
     639} 
     640} 
     641} 
     642} 
     643} 
     644 
     645tree_folders.draw(Element('content_folders')); 
     646if (!expresso_offline) { 
     647        n_root.changeState(); 
     648        folder_select = (current_folder ? current_folder:"INBOX"); 
     649        if (typeof(tree_folders.getNodeById(folder_select)) == 'undefined') 
    650650                return false; 
    651             tree_folders.getNodeById(folder_select)._select(); 
    652         } 
    653         else { 
    654             root_local.changeState(); 
    655             tree_folders.getNodeById('local_Inbox')._select(); 
    656         } 
    657  
    658         var trash_span=document.getElementById('lINBOX/'+trashfolder+'tree_folders'); 
    659         var draft_span=document.getElementById('lINBOX/'+draftsfolder+'tree_folders'); 
    660         var sent_span=document.getElementById('lINBOX/'+sentfolder+'tree_folders'); 
    661         var spam_span=document.getElementById('lINBOX/'+spamfolder+'tree_folders'); 
    662  
    663         if (trash_span) 
    664             trash_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; 
    665  
    666         if (draft_span) 
    667             draft_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_draft.png)"; 
    668  
    669         if (sent_span) 
    670             sent_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
    671  
    672         if (spam_span) 
    673             spam_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_spam.png)"; 
     651        tree_folders.getNodeById(folder_select)._select(); 
     652} 
     653else { 
     654        root_local.changeState(); 
     655        tree_folders.getNodeById('local_Inbox')._select(); 
     656} 
     657 
     658var trash_span=document.getElementById('lINBOX/'+trashfolder+'tree_folders'); 
     659var draft_span=document.getElementById('lINBOX/'+draftsfolder+'tree_folders'); 
     660var sent_span=document.getElementById('lINBOX/'+sentfolder+'tree_folders'); 
     661var spam_span=document.getElementById('lINBOX/'+spamfolder+'tree_folders'); 
     662 
     663if (trash_span) 
     664        trash_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_trash.png)"; 
     665 
     666if (draft_span) 
     667        draft_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_draft.png)"; 
     668 
     669if (sent_span) 
     670        sent_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_sent.png)"; 
     671 
     672if (spam_span) 
     673        spam_span.style.backgroundImage="url(" + URL_SERVER + "phpgwapi/templates/"+template+"/images/foldertree_spam.png)"; 
    674674 
    675675 
    676676        draw_paging(Element('tot_m').innerHTML); 
    677677        if(document.getElementById("nINBOX/"+trashfolder+"tree_folders")) 
    678         { 
    679             var trash = document.createElement("SPAN"); 
    680             trash.id = 'empty_trash'; 
    681             trash.className = 'clean_folder'; 
    682             trash.style.cursor = 'pointer'; 
    683             trash.onclick = function () { 
     678{ 
     679        var trash = document.createElement("SPAN"); 
     680        trash.id = 'empty_trash'; 
     681        trash.className = 'clean_folder'; 
     682        trash.style.cursor = 'pointer'; 
     683        trash.onclick = function () { 
    684684                empty_trash_imap(); 
    685             }; 
    686             trash.innerHTML = "["+get_lang("Clean")+"]"; 
    687             trash.title=get_lang("Empty trash"); 
    688             trash.onmouseover = function() { 
     685        }; 
     686        trash.innerHTML = "["+get_lang("Clean")+"]"; 
     687        trash.title=get_lang("Empty trash"); 
     688        trash.onmouseover = function() { 
    689689                trash.style.color="red"; 
    690             }; 
    691             trash.onmouseout= function() { 
     690        }; 
     691        trash.onmouseout= function() { 
    692692                trash.style.color="#666666"; 
    693             }; 
    694             document.getElementById("nINBOX/"+trashfolder+"tree_folders").appendChild(trash); 
    695         } 
    696         if(document.getElementById("nINBOX/"+spamfolder+"tree_folders")) 
    697         { 
    698             var spam = document.createElement("SPAN"); 
    699             spam.id = 'empty_spam'; 
    700             spam.className = 'clean_folder'; 
    701             spam.style.cursor = 'pointer'; 
    702             spam.style.padding = '0 0 0 6px'; 
    703             spam.onclick = function () { 
     693        }; 
     694        document.getElementById("nINBOX/"+trashfolder+"tree_folders").appendChild(trash); 
     695} 
     696if(document.getElementById("nINBOX/"+spamfolder+"tree_folders")) 
     697{ 
     698        var spam = document.createElement("SPAN"); 
     699        spam.id = 'empty_spam'; 
     700        spam.className = 'clean_folder'; 
     701        spam.style.cursor = 'pointer'; 
     702        spam.style.padding = '0 0 0 6px'; 
     703        spam.onclick = function () { 
    704704                empty_spam_imap(); 
    705             }; 
    706             spam.innerHTML = "["+get_lang("Clean")+"]"; 
    707             spam.title=get_lang("Empty Spam Folder"); 
    708             spam.onmouseover = function() { 
     705        }; 
     706        spam.innerHTML = "["+get_lang("Clean")+"]"; 
     707        spam.title=get_lang("Empty Spam Folder"); 
     708        spam.onmouseover = function() { 
    709709                spam.style.color="red"; 
    710             }; 
    711             spam.onmouseout= function() { 
     710        }; 
     711        spam.onmouseout= function() { 
    712712                spam.style.color="#666666"; 
    713             }; 
    714             document.getElementById("nINBOX/"+spamfolder+"tree_folders").appendChild(spam); 
    715         } 
    716  
    717         // Draw right menu folders. 
    718         /* 
     713        }; 
     714        document.getElementById("nINBOX/"+spamfolder+"tree_folders").appendChild(spam); 
     715} 
     716 
     717// Draw right menu folders. 
     718/* 
    719719   var treeroot = document.getElementById('chroottree_folders');  
    720720   for (var linkBox = treeroot.firstChild; linkBox != null; linkBox = linkBox.nextSibling) 
     
    722722   */ 
    723723 
    724         if(!expresso_offline) 
    725             var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
     724if(!expresso_offline) 
     725        var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 
    726726        else 
    727             var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
     727        var display_unseen_in_mailbox = tree_folders.getNodeById( 'local_root' ); 
    728728        //if ( unseen_in_mailbox ) 
    729729        //      display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 
    730730        //else 
    731731        display_unseen_in_mailbox.alter({ 
    732             caption:get_lang("My Folders") 
    733             }); 
    734         display_unseen_in_mailbox._refresh(); 
    735  
    736         var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
    737         if ( display_unseen_in_shared_folders ) 
    738         { 
    739             if ( unseen_in_shared_folders ) 
     732caption:get_lang("My Folders") 
     733}); 
     734display_unseen_in_mailbox._refresh(); 
     735 
     736var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 
     737if ( display_unseen_in_shared_folders ) 
     738{ 
     739        if ( unseen_in_shared_folders ) 
    740740                display_unseen_in_shared_folders.alter({ 
    741                     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") 
    742                     }); 
    743             else 
    744                 display_unseen_in_shared_folders.alter({ 
    745                     caption:get_lang("Shared folders") 
    746                     }); 
    747             display_unseen_in_shared_folders._refresh(); 
    748         } 
    749     } 
    750  
    751     if (!expresso_offline) { 
     741caption:'<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") 
     742}); 
     743else 
     744display_unseen_in_shared_folders.alter({ 
     745caption:get_lang("Shared folders") 
     746}); 
     747display_unseen_in_shared_folders._refresh(); 
     748} 
     749} 
     750 
     751if (!expresso_offline) { 
    752752        var folder_create = ""; 
    753753        var nm1 = ""; 
    754754        if(tree_folders._folderPr.length > 0){ 
    755             var nm_folder = ""; 
    756             for(var i=0; i < tree_folders._folderPr.length; i++){ 
    757                 nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter); 
    758                 if(nm_folder[0] == "INBOX"){ 
    759                     if(nm1 == ""){ 
    760                         nm1 = nm_folder[1]; 
    761                         folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    762                     }else{ 
    763                         if( nm1 != nm_folder[1]){ 
    764                             folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
    765                             nm1 = nm_folder[1]; 
    766                         } 
    767                     } 
    768                 } 
    769             } 
     755                var nm_folder = ""; 
     756                for(var i=0; i < tree_folders._folderPr.length; i++){ 
     757                        nm_folder = tree_folders._folderPr[i].split(cyrus_delimiter); 
     758                        if(nm_folder[0] == "INBOX"){ 
     759                                if(nm1 == ""){ 
     760                                        nm1 = nm_folder[1]; 
     761                                        folder_create = "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
     762                                }else{ 
     763                                        if( nm1 != nm_folder[1]){ 
     764                                                folder_create += "INBOX" + cyrus_delimiter + nm_folder[1] + ";"; 
     765                                                nm1 = nm_folder[1]; 
     766                                        } 
     767                                } 
     768                        } 
     769                } 
    770770        } 
    771771        if(folder_create != ""){ 
    772             if(confirm(get_lang("There are folders with invalid format. Do you want to fix them?"))){ 
    773                 var handler_correct_folders = function(data){ 
    774                     //Timeout to release HTTPRequest , loadScript and update tree folders. 
    775                     if(data) 
    776                         setTimeout("expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();",500); 
    777                 }; 
    778                 cExecute("expressoMail1_2.imap_functions.create_extra_mailbox",handler_correct_folders,"nw_folders="+folder_create); 
    779             } 
    780         } 
    781     } 
     772                if(confirm(get_lang("There are folders with invalid format. Do you want to fix them?"))){ 
     773                        var handler_correct_folders = function(data){ 
     774                                //Timeout to release HTTPRequest , loadScript and update tree folders. 
     775                                if(data) 
     776                                        setTimeout("expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();",500); 
     777                        }; 
     778                        cExecute("expressoMail1_2.imap_functions.create_extra_mailbox",handler_correct_folders,"nw_folders="+folder_create); 
     779                } 
     780        } 
     781} 
    782782} 
    783783 
     
    833833 
    834834var handler_draw_box = function(data){ 
     835    draw_prebox(); 
    835836    draw_box( expresso.connector.unserialize( data ), 'INBOX', true); 
    836837//alternate_border(0); 
     
    839840// Action on change folders. 
    840841function change_folder(folder, folder_name){ 
    841     if (openTab.imapBox[0] != folder) 
     842    alternate_border(numBox); 
     843    if (openTab.imapBox[numBox] != folder) 
    842844    { 
    843845        current_folder = folder; 
     846        draw_prebox(true); 
     847        Element("border_id_0").innerHTML = "&nbsp;" + lang_folder(folder_name) + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
    844848        var handler_draw_box = function(data) 
    845849        { 
    846             alternate_border(0); 
    847             Element("border_id_0").innerHTML = "&nbsp;" + lang_folder(folder_name) + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
    848             draw_box(data, folder, true); 
     850            draw_box(data, folder, true); 
    849851            draw_paging(data.num_msgs); 
    850852            Element("tot_m").innerHTML = data.num_msgs; 
     
    853855        }; 
    854856        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    855     //          cExecute ("expressoMail1_2.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    856857    } 
    857     else 
    858         alternate_border(0); 
    859858} 
    860859 
     
    865864            numBox++; 
    866865            create_border(folder_name,numBox.toString()); 
    867             draw_box(data, current_folder, false); 
     866            draw_prebox(false); 
     867            draw_box(data, current_folder); 
    868868            alternate_border(numBox); 
    869869            return true; 
     
    879879    var message_header = Element("message_header_"+search); 
    880880    var handler_draw_box = function(data){ 
    881         draw_box(data, current_folder,true); 
     881        draw_prebox(true); 
     882        draw_box(data, current_folder); 
    882883        draw_paging(Element('tot_m').innerHTML); 
    883884        //Mostrar as msgs nao lidas de acordo com o filtro de relevancia 
     
    912913function make_tr_message(headers_msgs, msg_folder) 
    913914{ 
    914     if ( InfoContact == null ) 
    915         InfoContact = new emInfoContact(); 
    916  
    917     var tr_element = document.createElement('tr'); 
    918     tr_element.style.height = preferences.line_height; 
    919     tr_element.id = headers_msgs.msg_number; 
    920  
    921     tr_element.msg_sample = ""; 
    922     //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") 
    923     if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1") 
    924     { 
    925         tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; 
    926     } 
    927  
    928     tr_element.tip = ""; 
    929     if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1") 
    930     { 
    931         tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
    932     } 
    933  
    934     if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 
    935         if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) 
    936             add_className(tr_element, 'flagged_msg'); 
    937         add_className(tr_element, 'tr_msg_unread'); 
    938     } 
    939     else{ 
    940         if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) 
    941             add_className(tr_element,'flagged_msg'); 
    942     } 
    943  
    944     if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 
    945         add_className(tr_element, 'tr_msg_unread'); 
    946  
    947     if (headers_msgs.Flagged == 'F') 
    948         add_className(tr_element,'flagged_msg'); 
    949  
    950     td_element1 = document.createElement("TD"); 
    951     td_element1.className = "td_msg"; 
    952     td_element1.setAttribute("width", "1%"); 
    953     chk_box_element = document.createElement("INPUT"); 
    954     chk_box_element.setAttribute("type", "checkbox"); 
    955     chk_box_element.className = "checkbox"; 
    956     chk_box_element.setAttribute("id", "check_box_message_"+headers_msgs.msg_number); 
    957     chk_box_element.onclick = function(e){ 
    958         if (is_ie) 
    959             changeBgColor(window.event,headers_msgs.msg_number); 
    960         else 
    961             changeBgColor(e,headers_msgs.msg_number); 
    962     }; 
    963     td_element1.appendChild(chk_box_element); 
    964  
    965     td_element2 = document.createElement("TD"); 
    966     td_element2.className = "td_msg"; 
    967     td_element2.setAttribute("width", "2%"); 
    968     if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) 
    969         td_element2.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(headers_msgs.attachment.names) + '">'; 
    970  
    971     td_element21 = document.createElement("TD"); 
    972     td_element21.className = "td_msg"; 
    973     td_element21.setAttribute("width", "1%"); 
    974     td_element21.id = "td_message_answered_"+headers_msgs.msg_number; 
    975  
    976     if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { 
    977         attach_name = headers_msgs.attachment.names.split(", "); 
    978         for(var item in attach_name) 
     915        if ( InfoContact == null ) 
     916                InfoContact = new emInfoContact(); 
     917 
     918        var tr_element = document.createElement('tr'); 
     919        tr_element.style.height = preferences.line_height; 
     920        tr_element.id = headers_msgs.msg_number; 
     921 
     922        tr_element.msg_sample = ""; 
     923        //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") 
     924        if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1") 
    979925        { 
    980             if (url_decode(attach_name[item]) != 'smime.p7s' && url_decode(attach_name[item]) != 'smime.p7m'){ 
    981                 td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(attach_name[item]) + '">'; 
    982                 break; 
    983             } 
    984         } 
    985     } 
    986  
    987     if ((headers_msgs.Forwarded == 'F')  || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ 
    988         td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/forwarded.gif" title="'+get_lang('Forwarded')+'">'; 
    989         headers_msgs.Draft = ''; 
    990         headers_msgs.Answered = ''; 
    991         headers_msgs.Forwarded = 'F'; 
    992     } 
    993     else if (headers_msgs.Draft == 'X') 
    994         td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/draft.gif" title="'+get_lang('Draft')+'">'; 
    995     else if (headers_msgs.Answered == 'A') 
    996         td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/answered.gif" title="'+get_lang('Answered')+'">'; 
    997     else 
    998         td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    999  
    1000     td_element22 = document.createElement("TD"); 
    1001     td_element22.className = "td_msg"; 
    1002     td_element22.setAttribute("width", "1%"); 
    1003     td_element22.id = "td_message_signed_"+headers_msgs.msg_number; 
    1004  
    1005     //td_element23 = document.createElement("TD"); 
    1006     //td_element23.setAttribute("width", "1%"); 
    1007     //td_element23.id = "td_message_signed_"+headers_msgs.msg_number; 
    1008     switch(headers_msgs.ContentType) 
    1009     { 
    1010         case "signature": 
     926                tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; 
     927        } 
     928 
     929        tr_element.tip = ""; 
     930        if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1") 
    1011931        { 
    1012             td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed_msg.gif" title="' + get_lang('Signed message') + '">'; 
    1013             break; 
    1014         } 
    1015         case "cipher": 
    1016         { 
    1017             td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/lock.gif" title="' + get_lang('Crypted message') + '">'; 
    1018             break; 
    1019         } 
    1020         default: 
    1021         { 
    1022             break; 
    1023         } 
    1024     }; 
    1025  
    1026     td_element23 = document.createElement("TD"); 
    1027     td_element23.className = "td_msg"; 
    1028     td_element23.setAttribute("width", "1%"); 
    1029     td_element23.id = "td_message_important_"+headers_msgs.msg_number; 
    1030  
    1031     if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && parseInt(preferences.use_important_flag))) 
    1032     { 
    1033         td_element23.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/important.gif" title="'+get_lang('Important')+'">'; 
    1034     } 
    1035     else 
    1036         td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    1037  
    1038     td_element24 = document.createElement("TD"); 
    1039     td_element24.className = "td_msg"; 
    1040     td_element24.setAttribute("width", "1%"); 
    1041     td_element24.id = "td_message_sent_"+headers_msgs.msg_number; 
    1042     td_element24.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    1043     // preload images 
    1044     var _img_sent = new Image(); 
    1045     _img_sent.src       = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif'; 
    1046     var _img_unseen = new Image(); 
    1047     _img_unseen.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/unseen.gif'; 
    1048  
    1049     var td_element25 = document.createElement("TD"); 
    1050     td_element25.className = "td_msg"; 
    1051     td_element25.setAttribute("width", "1%"); 
    1052     td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; 
    1053     if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 
    1054         td_element25.innerHTML = "<img src ='"+_img_unseen.src+"' title='"+get_lang('Unseen')+"'>"; 
    1055     else 
    1056         td_element25.innerHTML = "<img src ='"+URL_SERVER +"expressoMail1_2/templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 
    1057      
    1058     td_element3 = document.createElement("TD"); 
    1059     td_element3.className = "td_msg"; 
    1060     td_element3.id = "td_who_"+ headers_msgs.msg_number; 
    1061     td_element3.setAttribute("width", "20%"); 
    1062     var _onclick = function(){ 
    1063         InfoContact.hide();proxy_mensagens.get_msg(headers_msgs, msg_folder,true, show_msg); 
    1064     }; 
    1065     td_element3.onclick = _onclick; 
    1066     td_element3.innerHTML = '&nbsp;'; 
    1067  
    1068     if (typeof(headers_msgs.from) == 'undefined') 
    1069         return false; 
    1070     if(headers_msgs.from.email.toLowerCase() == Element("user_email").value) 
    1071     { 
    1072         td_element3.onmouseover = function () { 
    1073             this.title=headers_msgs.to.email; 
    1074         }; 
    1075         if (headers_msgs.Draft == 'X') 
    1076             td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 
     932                tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
     933        } 
     934 
     935        if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 
     936                if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) 
     937                        add_className(tr_element, 'flagged_msg'); 
     938                add_className(tr_element, 'tr_msg_unread'); 
     939        } 
    1077940        else{ 
    1078             if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) 
    1079                 td_element24.innerHTML = '<img valign="center" src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif" title="'+get_lang('Sent')+'">'; 
    1080  
    1081             if ((headers_msgs.to)&&(headers_msgs.to.name != null)) 
    1082                 td_element3.innerHTML += headers_msgs.to.name; 
    1083             else if (headers_msgs.to){ 
    1084                 td_element3.innerHTML += headers_msgs.to.email; 
    1085             } 
    1086         } 
    1087     } 
    1088     else{ 
    1089         if (headers_msgs.Draft == 'X'){ 
    1090             td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 
    1091         } 
    1092         else{ 
    1093             var spanSender = document.createElement("SPAN"); 
    1094             spanSender.onmouseover = function (event) { 
    1095                 this.style.textDecoration = "underline";try { 
    1096                     InfoContact.begin(this,headers_msgs.from.email) 
    1097                     } catch(e){}; 
    1098             }; 
    1099             spanSender.onmouseout = function (){ 
    1100                 try { 
    1101                     this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout); 
    1102                 } catch(e){} 
    1103                 }; 
    1104             spanSender.innerHTML =  headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; 
    1105             if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ 
    1106                 spanSender.innerHTML = spanSender.innerHTML.substring(0,25) + "..."; 
    1107             } 
    1108             else if (spanSender.innerHTML.length > 40 ){ 
    1109                 spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; 
    1110             } 
    1111             td_element3.appendChild(spanSender); 
    1112         } 
    1113     } 
    1114     td_element4 = document.createElement("TD"); 
    1115     td_element4.className = "td_msg"; 
    1116     td_element4.setAttribute("width", "50%"); 
    1117     td_element4.onclick = _onclick; 
    1118     //          td_element4.setAttribute("style","white-space:nowrap;"); 
    1119     td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
    1120  
    1121     if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) 
    1122     { 
    1123         //                      if( (headers_msgs.subject.length+tr_element.msg_sample.length)> 
    1124         td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
    1125     } 
    1126     else 
    1127     { 
    1128         td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
    1129     } 
    1130  
    1131     td_element4.title=tr_element.tip; 
    1132     if(!is_ie){ 
    1133         td_element4.innerHTML += "</a>"; 
    1134     } 
    1135  
    1136  
    1137     td_element5 = document.createElement("TD"); 
    1138     td_element5.className = "td_msg"; 
    1139     td_element5.setAttribute("width", "14%"); 
    1140     td_element5.onclick = _onclick; 
    1141     td_element5.setAttribute("align", "center"); 
    1142     td_element5.innerHTML = headers_msgs.udate; 
    1143  
    1144     td_element6 = document.createElement("TD"); 
    1145     td_element6.className = "td_msg"; 
    1146     td_element6.setAttribute("width", "14%"); 
    1147     td_element6.onclick = _onclick; 
    1148     td_element6.setAttribute("noWrap","true"); 
    1149     td_element6.setAttribute("align", "center"); 
    1150  
    1151     td_element6.innerHTML = borkb(headers_msgs.Size); 
    1152  
    1153     tr_element.appendChild(td_element1); 
    1154     tr_element.appendChild(td_element2); 
    1155     tr_element.appendChild(td_element21); 
    1156     tr_element.appendChild(td_element22); 
    1157     tr_element.appendChild(td_element23); 
    1158     tr_element.appendChild(td_element24); 
    1159     tr_element.appendChild(td_element25); 
    1160     tr_element.appendChild(td_element3); 
    1161     tr_element.appendChild(td_element4); 
    1162     tr_element.appendChild(td_element5); 
    1163     tr_element.appendChild(td_element6); 
    1164     return tr_element; 
    1165 } 
    1166  
    1167 folderHeaders = []; 
    1168 // Draw the inbox and another folders 
    1169 function draw_box(headers_msgs, msg_folder, alternate){ 
    1170     if ( _dragArea == null ) 
    1171         _dragArea = new DragArea( ); 
    1172  
    1173     if (alternate) 
    1174         kill_current_box(); 
    1175  
    1176     if(is_ie) 
    1177         document.getElementById("border_table").width = "99.5%"; 
    1178  
    1179     openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 
    1180     openTab.imapBox[numBox] = msg_folder; 
    1181     openTab.type[numBox] = 0; 
    1182     folderHeaders[msg_folder] = headers_msgs; 
    1183  
    1184     table_message_header_box = document.getElementById("table_message_header_box_"+numBox); 
    1185     if (table_message_header_box == null){ 
    1186         var table_element = document.createElement("TABLE"); 
    1187         var tbody_element = document.createElement("TBODY"); 
    1188         table_element.setAttribute("id", "table_message_header_box_"+numBox); 
    1189         table_element.className = "table_message_header_box"; 
    1190  
    1191         tr_element = document.createElement("TR"); 
    1192         tr_element.className = "message_header"; 
     941                if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) 
     942                        add_className(tr_element,'flagged_msg'); 
     943        } 
     944 
     945        if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 
     946                add_className(tr_element, 'tr_msg_unread'); 
     947 
     948        if (headers_msgs.Flagged == 'F') 
     949                add_className(tr_element,'flagged_msg'); 
     950 
    1193951        td_element1 = document.createElement("TD"); 
     952        td_element1.className = "td_msg"; 
    1194953        td_element1.setAttribute("width", "1%"); 
    1195954        chk_box_element = document.createElement("INPUT"); 
    1196         chk_box_element.id  = "chk_box_select_all_messages"; 
    1197955        chk_box_element.setAttribute("type", "checkbox"); 
    1198956        chk_box_element.className = "checkbox"; 
    1199         chk_box_element.onclick = function(){ 
    1200             select_all_messages(this.checked); 
    1201         }; 
    1202         chk_box_element.onmouseover = function () { 
    1203             this.title=get_lang('Select all messages.'); 
    1204         }; 
    1205         chk_box_element.onkeydown = function (e){ 
    1206             if (is_ie) 
    1207             { 
    1208                 if ((window.event.keyCode) == 46) 
    1209                     proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    1210             } 
    1211             else 
    1212             { 
    1213                 if ((e.keyCode) == 46) 
    1214                     proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    1215             } 
    1216         }; 
    1217  
     957        chk_box_element.setAttribute("id", "check_box_message_"+headers_msgs.msg_number); 
     958        chk_box_element.onclick = function(e){ 
     959                if (is_ie) 
     960                        changeBgColor(window.event,headers_msgs.msg_number); 
     961                else 
     962                        changeBgColor(e,headers_msgs.msg_number); 
     963        }; 
    1218964        td_element1.appendChild(chk_box_element); 
    1219965 
    1220966        td_element2 = document.createElement("TD"); 
    1221         td_element2.setAttribute("width", "7%"); 
     967        td_element2.className = "td_msg"; 
     968        td_element2.setAttribute("width", "2%"); 
     969        if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) 
     970                td_element2.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(headers_msgs.attachment.names) + '">'; 
     971 
     972        td_element21 = document.createElement("TD"); 
     973        td_element21.className = "td_msg"; 
     974        td_element21.setAttribute("width", "1%"); 
     975        td_element21.id = "td_message_answered_"+headers_msgs.msg_number; 
     976 
     977        if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { 
     978                attach_name = headers_msgs.attachment.names.split(", "); 
     979                for(var item in attach_name) 
     980                { 
     981                        if (url_decode(attach_name[item]) != 'smime.p7s' && url_decode(attach_name[item]) != 'smime.p7m'){ 
     982                                td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.gif" title="' + url_decode(attach_name[item]) + '">'; 
     983                                break; 
     984                        } 
     985                } 
     986        } 
     987 
     988        if ((headers_msgs.Forwarded == 'F')  || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ 
     989                td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/forwarded.gif" title="'+get_lang('Forwarded')+'">'; 
     990                headers_msgs.Draft = ''; 
     991                headers_msgs.Answered = ''; 
     992                headers_msgs.Forwarded = 'F'; 
     993        } 
     994        else if (headers_msgs.Draft == 'X') 
     995                td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/draft.gif" title="'+get_lang('Draft')+'">'; 
     996        else if (headers_msgs.Answered == 'A') 
     997                td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/answered.gif" title="'+get_lang('Answered')+'">'; 
     998        else 
     999                td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     1000 
     1001        td_element22 = document.createElement("TD"); 
     1002        td_element22.className = "td_msg"; 
     1003        td_element22.setAttribute("width", "1%"); 
     1004        td_element22.id = "td_message_signed_"+headers_msgs.msg_number; 
     1005 
     1006        //td_element23 = document.createElement("TD"); 
     1007        //td_element23.setAttribute("width", "1%"); 
     1008        //td_element23.id = "td_message_signed_"+headers_msgs.msg_number; 
     1009        switch(headers_msgs.ContentType) 
     1010        { 
     1011                case "signature": 
     1012                { 
     1013                        td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed_msg.gif" title="' + get_lang('Signed message') + '">'; 
     1014                        break; 
     1015                } 
     1016                case "cipher": 
     1017                { 
     1018                        td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/lock.gif" title="' + get_lang('Crypted message') + '">'; 
     1019                        break; 
     1020                } 
     1021                default: 
     1022                { 
     1023                        break; 
     1024                } 
     1025        }; 
     1026 
     1027        td_element23 = document.createElement("TD"); 
     1028        td_element23.className = "td_msg"; 
     1029        td_element23.setAttribute("width", "1%"); 
     1030        td_element23.id = "td_message_important_"+headers_msgs.msg_number; 
     1031 
     1032        if (headers_msgs.Flagged == 'F' || (headers_msgs.Importance.toLowerCase().indexOf("high") != -1 && parseInt(preferences.use_important_flag))) 
     1033        { 
     1034                td_element23.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/important.gif" title="'+get_lang('Important')+'">'; 
     1035        } 
     1036        else 
     1037                td_element23.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     1038 
     1039        td_element24 = document.createElement("TD"); 
     1040        td_element24.className = "td_msg"; 
     1041        td_element24.setAttribute("width", "1%"); 
     1042        td_element24.id = "td_message_sent_"+headers_msgs.msg_number; 
     1043        td_element24.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     1044        // preload images 
     1045        var _img_sent = new Image(); 
     1046        _img_sent.src   = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif'; 
     1047        var _img_unseen = new Image(); 
     1048        _img_unseen.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/unseen.gif'; 
     1049 
     1050        var td_element25 = document.createElement("TD"); 
     1051        td_element25.className = "td_msg"; 
     1052        td_element25.setAttribute("width", "1%"); 
     1053        td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; 
     1054        if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) 
     1055                td_element25.innerHTML = "<img src ='"+_img_unseen.src+"' title='"+get_lang('Unseen')+"'>"; 
     1056        else 
     1057                td_element25.innerHTML = "<img src ='"+URL_SERVER +"expressoMail1_2/templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 
     1058 
    12221059        td_element3 = document.createElement("TD"); 
    1223         td_element3.setAttribute("width", "29%"); 
    1224         td_element3.onclick = function () { 
    1225             sort_box(search_box_type,'SORTFROM'); 
    1226         }; 
    1227         td_element3.id = "message_header_SORTFROM_"+numBox; 
    1228         td_element3.align = "left"; 
    1229         td_element3.innerHTML = get_lang("Who"); 
    1230  
     1060        td_element3.className = "td_msg"; 
     1061        td_element3.id = "td_who_"+ headers_msgs.msg_number; 
     1062        td_element3.setAttribute("width", "20%"); 
     1063        var _onclick = function(){ 
     1064                InfoContact.hide();proxy_mensagens.get_msg(headers_msgs, msg_folder,true, show_msg); 
     1065        }; 
     1066        td_element3.onclick = _onclick; 
     1067        td_element3.innerHTML = '&nbsp;'; 
     1068 
     1069        if (typeof(headers_msgs.from) == 'undefined') 
     1070                return false; 
     1071        if(headers_msgs.from.email.toLowerCase() == Element("user_email").value) 
     1072        { 
     1073                td_element3.onmouseover = function () { 
     1074                        this.title=headers_msgs.to.email; 
     1075                }; 
     1076                if (headers_msgs.Draft == 'X') 
     1077                        td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 
     1078                else{ 
     1079                        if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) 
     1080                                td_element24.innerHTML = '<img valign="center" src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif" title="'+get_lang('Sent')+'">'; 
     1081 
     1082                        if ((headers_msgs.to)&&(headers_msgs.to.name != null)) 
     1083                                td_element3.innerHTML += headers_msgs.to.name; 
     1084                        else if (headers_msgs.to){ 
     1085                                td_element3.innerHTML += headers_msgs.to.email; 
     1086                        } 
     1087                } 
     1088        } 
     1089        else{ 
     1090                if (headers_msgs.Draft == 'X'){ 
     1091                        td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; 
     1092                } 
     1093                else{ 
     1094                        var spanSender = document.createElement("SPAN"); 
     1095                        spanSender.onmouseover = function (event) { 
     1096                                this.style.textDecoration = "underline";try { 
     1097                                        InfoContact.begin(this,headers_msgs.from.email) 
     1098                                } catch(e){}; 
     1099                        }; 
     1100                        spanSender.onmouseout = function (){ 
     1101                                try { 
     1102                                        this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout); 
     1103                                } catch(e){} 
     1104                        }; 
     1105                        spanSender.innerHTML =  headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; 
     1106                        if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ 
     1107                                spanSender.innerHTML = spanSender.innerHTML.substring(0,25) + "..."; 
     1108                        } 
     1109                        else if (spanSender.innerHTML.length > 40 ){ 
     1110                                spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; 
     1111                        } 
     1112                        td_element3.appendChild(spanSender); 
     1113                } 
     1114        } 
    12311115        td_element4 = document.createElement("TD"); 
    1232         td_element4.setAttribute("width", "38%"); 
    1233         td_element4.onclick = function () { 
    1234             sort_box(search_box_type,'SORTSUBJECT'); 
    1235         }; 
    1236         td_element4.id = "message_header_SORTSUBJECT_"+numBox; 
    1237         td_element4.align = "left"; 
    1238         td_element4.innerHTML = get_lang("Subject"); 
     1116        td_element4.className = "td_msg"; 
     1117        td_element4.setAttribute("width", "50%"); 
     1118        td_element4.onclick = _onclick; 
     1119        //              td_element4.setAttribute("style","white-space:nowrap;"); 
     1120        td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
     1121 
     1122        if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) 
     1123        { 
     1124                //                      if( (headers_msgs.subject.length+tr_element.msg_sample.length)> 
     1125                td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
     1126        } 
     1127        else 
     1128        { 
     1129                td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
     1130        } 
     1131 
     1132        td_element4.title=tr_element.tip; 
     1133        if(!is_ie){ 
     1134                td_element4.innerHTML += "</a>"; 
     1135        } 
     1136 
    12391137 
    12401138        td_element5 = document.createElement("TD"); 
     1139        td_element5.className = "td_msg"; 
    12411140        td_element5.setAttribute("width", "14%"); 
    1242         td_element5.onclick = function () { 
    1243             sort_box(search_box_type,'SORTARRIVAL'); 
    1244         }; 
    1245         td_element5.id = "message_header_SORTARRIVAL_"+numBox; 
    1246         td_element5.align = "center"; 
    1247         td_element5.innerHTML = get_lang("Date"); 
     1141        td_element5.onclick = _onclick; 
     1142        td_element5.setAttribute("align", "center"); 
     1143        td_element5.innerHTML = headers_msgs.udate; 
     1144 
    12481145        td_element6 = document.createElement("TD"); 
     1146        td_element6.className = "td_msg"; 
    12491147        td_element6.setAttribute("width", "14%"); 
    1250         td_element6.onclick = function () { 
    1251             sort_box(search_box_type,'SORTSIZE'); 
    1252         }; 
    1253         td_element6.id = "message_header_SORTSIZE_"+numBox; 
    1254         td_element6.align = "left"; 
    1255         td_element6.innerHTML = get_lang("Size"); 
     1148        td_element6.onclick = _onclick; 
     1149        td_element6.setAttribute("noWrap","true"); 
     1150        td_element6.setAttribute("align", "center"); 
     1151 
     1152        td_element6.innerHTML = borkb(headers_msgs.Size); 
    12561153 
    12571154        tr_element.appendChild(td_element1); 
    12581155        tr_element.appendChild(td_element2); 
    1259         var td_element21 = document.createElement("TD"); 
    1260         td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    1261         var td_element22 = document.createElement("TD"); 
    1262         td_element22.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    1263         var td_element23 = document.createElement("TD"); 
    1264         td_element23.innerHTML = "&nbsp;&nbsp;"; 
    12651156        tr_element.appendChild(td_element21); 
    12661157        tr_element.appendChild(td_element22); 
    12671158        tr_element.appendChild(td_element23); 
     1159        tr_element.appendChild(td_element24); 
     1160        tr_element.appendChild(td_element25); 
    12681161        tr_element.appendChild(td_element3); 
    12691162        tr_element.appendChild(td_element4); 
    12701163        tr_element.appendChild(td_element5); 
    12711164        tr_element.appendChild(td_element6); 
    1272         tbody_element.appendChild(tr_element); 
     1165        return tr_element; 
     1166} 
     1167 
     1168function draw_prebox(alternate){ 
     1169        if (alternate) 
     1170                kill_current_box(); 
     1171 
     1172        if(is_ie) 
     1173                document.getElementById("border_table").width = "99.5%"; 
     1174 
     1175        openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 
     1176        openTab.type[numBox] = 0; 
     1177        table_message_header_box = Element("table_message_header_box_"+numBox); 
     1178        if (table_message_header_box == null){ 
     1179                var table_element = document.createElement("TABLE"); 
     1180                table_element.setAttribute("id", "table_message_header_box_"+numBox); 
     1181                table_element.setAttribute('class',  "table_message_header_box"); 
     1182 
     1183                var tbody_element = document.createElement("TBODY"); 
     1184 
     1185                tr_element = createAndSet("TR",['class'],['message_header']); 
     1186                td_element1 = createAndSet("TD",['width'],['1%']); 
     1187                chk_box_element = createAndSet("INPUT",['id','type','class'],["chk_box_select_all_messages","checkbox","checkbox"]); 
     1188                chk_box_element.onclick = function(){ 
     1189                        select_all_messages(this.checked); 
     1190                }; 
     1191                chk_box_element.onmouseover = function () { 
     1192                        this.title=get_lang('Select all messages.'); 
     1193                }; 
     1194                chk_box_element.onkeydown = function (e){ 
     1195                        if (is_ie) 
     1196                        { 
     1197                                if ((window.event.keyCode) == 46) 
     1198                                        proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     1199                        } 
     1200                        else 
     1201                        { 
     1202                                if ((e.keyCode) == 46) 
     1203                                        proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     1204                        } 
     1205                }; 
     1206 
     1207                td_element1.appendChild(chk_box_element); 
     1208 
     1209                td_element2 = document.createElement("TD"); 
     1210                td_element2.setAttribute("width", "7%"); 
     1211                td_element3 = createAndSet("TD",['width','id','align'],['29%',"message_header_SORTFROM_"+numBox,'left'],get_lang("Who")); 
     1212                td_element3.onclick = function () { 
     1213                        sort_box(search_box_type,'SORTFROM'); 
     1214                }; 
     1215                td_element4 = createAndSet("TD",['width','id','align'],['38%',"message_header_SORTSUBJECT_"+numBox,"left"],get_lang("Subject")); 
     1216                td_element4.onclick = function () { 
     1217                        sort_box(search_box_type,'SORTSUBJECT'); 
     1218                }; 
     1219                td_element5 = createAndSet("TD",['width','id','align'],["14%","message_header_SORTARRIVAL_"+numBox,"center"],get_lang("Date")); 
     1220                td_element5.onclick = function () { 
     1221                        sort_box(search_box_type,'SORTARRIVAL'); 
     1222                }; 
     1223                td_element6 = createAndSet("TD",['width','id','align'],["14%","message_header_SORTSIZE_"+numBox,"left"],get_lang("Size")); 
     1224                td_element6.onclick = function () { 
     1225                        sort_box(search_box_type,'SORTSIZE'); 
     1226                }; 
     1227                appendChilds(tr_element,td_element1,td_element2); 
     1228                var td_element21 = document.createElement("TD"); 
     1229                td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     1230                var td_element22 = document.createElement("TD"); 
     1231                td_element22.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     1232                var td_element23 = document.createElement("TD"); 
     1233                td_element23.innerHTML = "&nbsp;&nbsp;"; 
     1234 
     1235                tbody_element.appendChild(appendChilds(tr_element,td_element21,td_element22,td_element23,td_element3,td_element4,td_element5,td_element6)); 
     1236                table_element.appendChild(tbody_element); 
     1237                openTab.content_id[numBox].appendChild(table_element); 
     1238        } 
     1239        draw_header_box(); 
     1240        var _divScroll = document.getElementById("divScrollMain_"+numBox); 
     1241        if(!_divScroll){ 
     1242                _divScroll = document.createElement("DIV"); 
     1243                _divScroll.id = "divScrollMain_"+numBox; 
     1244        } 
     1245 
     1246        _divScroll.style.overflowY = "auto"; 
     1247        _divScroll.style.overflowX = "hidden"; 
     1248        _divScroll.style.width  ="100%"; 
     1249 
     1250        if (is_mozilla){ 
     1251                _divScroll.style.overflow = "-moz-scrollbars-vertical"; 
     1252                _divScroll.style.width  ="99.3%"; 
     1253        } 
     1254        var bar = Element("toolbar"); 
     1255        var offset = 0; 
     1256        if(bar.style.visibility != 'hidden') 
     1257                offset = (bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight); 
     1258 
     1259        var screenHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight; 
     1260        var defaultHeight = screenHeight - offset; 
     1261        Element('content_folders').style.height = defaultHeight - (is_ie ? 165 : 150); 
     1262        _divScroll.style.height         = defaultHeight - 110; 
     1263        openTab.content_id[numBox].appendChild(_divScroll); 
     1264        _divScroll.appendChild(loading_img); 
     1265} 
     1266 
     1267folderHeaders = []; 
     1268// Draw the inbox and another folders 
     1269function draw_box(headers_msgs, msg_folder){ 
     1270        openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); 
     1271        var _divScroll = document.getElementById("divScrollMain_"+numBox); 
     1272        _divScroll.removeChild(_divScroll.lastChild); 
     1273        table_message_header_box = Element("table_message_header_box_"+numBox); 
     1274        var table_element = createAndSet("TABLE",['id','class','borderColorDark','frame','rules','cellPadding','cellSpacing'],["table_box","table_box","#bbbbbb","void","rows","0","0"]); 
     1275        table_element.onkeydown = function (e){ 
     1276                if (is_ie) 
     1277                { 
     1278                        if ((window.event.keyCode) == 46) 
     1279                        { 
     1280                                //delete_all_selected_msgs_imap(); 
     1281                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     1282                        } 
     1283                } 
     1284                else 
     1285                { 
     1286                        if ((e.keyCode) == 46) 
     1287                        { 
     1288                                //delete_all_selected_msgs_imap(); 
     1289                                proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
     1290                        } 
     1291                } 
     1292        }; 
     1293        var tbody_element = document.createElement("TBODY"); 
     1294        if (is_ie) 
     1295                table_element.style.cursor = "hand"; 
     1296        tbody_element.setAttribute("id", "tbody_box"); 
    12731297        table_element.appendChild(tbody_element); 
    1274         openTab.content_id[numBox].appendChild(table_element); 
    1275     } 
    1276     draw_header_box(); 
    1277     var table_element = document.createElement("TABLE"); 
    1278     var tbody_element = document.createElement("TBODY"); 
    1279     table_element.id = "table_box"; 
    1280     table_element.className = "table_box"; 
    1281     table_element.borderColorDark = "#bbbbbb"; 
    1282     table_element.frame = "void"; 
    1283     table_element.rules = "rows"; 
    1284     table_element.cellPadding = "0"; 
    1285     table_element.cellSpacing = "0"; 
    1286  
    1287     table_element.onkeydown = function (e){ 
    1288         if (is_ie) 
    1289         { 
    1290             if ((window.event.keyCode) == 46) 
    1291             { 
    1292                 //delete_all_selected_msgs_imap(); 
    1293                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    1294             } 
    1295         } 
    1296         else 
    1297         { 
    1298             if ((e.keyCode) == 46) 
    1299             { 
    1300                 //delete_all_selected_msgs_imap(); 
    1301                 proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); 
    1302             } 
    1303         } 
    1304     }; 
    1305     if (is_ie) 
    1306         table_element.style.cursor = "hand"; 
    1307  
    1308     tbody_element.setAttribute("id", "tbody_box"); 
    1309     table_element.appendChild(tbody_element); 
    1310  
    1311     var _divScroll = document.getElementById("divScrollMain_"+numBox); 
    1312  
    1313     var bar = document.getElementById("toolbar"); 
    1314     var offset = 0; 
    1315  
    1316     if(!_divScroll){ 
    1317         _divScroll = document.createElement("DIV"); 
    1318         _divScroll.id = "divScrollMain_"+numBox; 
    1319     } 
    1320  
    1321     _divScroll.style.overflowY = "auto"; 
    1322     _divScroll.style.overflowX = "hidden"; 
    1323     _divScroll.style.width      ="100%"; 
    1324  
    1325     if (is_mozilla){ 
    1326         _divScroll.style.overflow = "-moz-scrollbars-vertical"; 
    1327         _divScroll.style.width  ="99.3%"; 
    1328     } 
    1329     // Inicio: Redimensiona DIV SCROLL 
    1330     var bar = Element("toolbar"); 
    1331     var offset = 0; 
    1332     if(bar.style.visibility != 'hidden') 
    1333         offset = (bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight); 
    1334     var screenHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight; 
    1335     var defaultHeight = screenHeight - offset; 
    1336     _divScroll.style.height     = defaultHeight - 110; 
    1337     Element('content_folders').style.height = defaultHeight - (is_ie ? 165 : 150); 
    1338     // Fim: Redimensiona DIV SCROLL 
    1339     _divScroll.appendChild(table_element); 
    1340     openTab.content_id[numBox].appendChild(_divScroll); 
    1341  
    1342     var f_unseen = 0; 
    1343  
    1344     if (headers_msgs.num_msgs == 0){ 
    1345         var tr_info = document.createElement("TR"); 
    1346         var td_info = document.createElement("TD"); 
    1347         td_info.setAttribute("colspan", "10"); 
    1348         td_info.setAttribute("background", "#FFF"); 
    1349         tr_info.setAttribute("id", "msg_info"); 
    1350         td_info.align = "center"; 
    1351         td_info.style.padding = "25px"; 
    1352         td_info.style.fontWeight = "bold"; 
    1353         td_info.style.fontSize = "11pt"; 
    1354         td_info.innerHTML = get_lang("This mail box is empty"); 
    1355         tr_info.appendChild(td_info); 
    1356         tbody_element.appendChild(tr_info); 
    1357     } 
    1358  
    1359  
    1360     for (var i=0; i < headers_msgs.length; i++){ 
    1361         if ((headers_msgs[i].Unseen == 'U') || (headers_msgs[i].Recent == 'N')) 
    1362             f_unseen++; 
    1363         tr_element = make_tr_message(headers_msgs[i], msg_folder); 
    1364         if (tr_element){ 
    1365             tbody_element.appendChild(tr_element); 
    1366             add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 
    1367         } 
    1368         _dragArea.makeDragged(tr_element, headers_msgs[i].msg_number, headers_msgs[i].subject, true); 
    1369     } 
    1370  
    1371     if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) 
    1372         select_msg(headers_msgs[0].msg_number, 'null', true); 
    1373  
    1374     var tdFolders  =  Element("folderscol"); 
    1375     tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
    1376     if ( !currentTab ) 
    1377         alternate_border(numBox); 
    1378     draw_footer_box(headers_msgs.num_msgs); 
    1379     Element('main_table').style.display = ''; 
    1380     if(debug) { 
    1381         var _eTime = new Date(); 
    1382         _eTime = _eTime.getTime(); 
    1383         alert("Carregou em "+(_eTime - _bTime)+" ms"); 
    1384     } 
    1385     var msg_folder = Element('msg_folder').value; 
    1386     var msg_number = Element('msg_number').value; 
    1387     if(!msg_folder && msg_number) { 
    1388         new_message('new','null'); 
    1389     } 
    1390     else if(msg_folder && msg_number){ 
    1391         proxy_mensagens.get_msg(headers_msgs, url_encode(msg_folder),true, show_msg); 
    1392         Element('msg_folder').value = ''; 
    1393         Element('msg_number').value = ''; 
    1394     } 
    1395  
    1396     if(!is_ie) { 
    1397         var scripts = new Array("jscode/ccQuickAdd", 
    1398             "jscode/color_palette", 
    1399             "jscode/filter", 
    1400             "jscode/filters", 
    1401             "jscode/html2xhtml", 
    1402             "jscode/preferences", 
    1403             "jscode/QuickCatalogSearch", 
    1404             "jscode/QuickSearchUser", 
    1405             "jscode/rich_text_editor", 
    1406             "jscode/sharemailbox", 
    1407             "jscode/search", 
    1408             "jscode/TreeS", 
    1409             "jscode/TreeShow"); 
    1410  
    1411         expresso.connector.loadAllScripts(scripts); 
    1412     } 
    1413     // Loading Quota View Folder Component (if exists...) 
    1414     if(Element("table_quota")) 
    1415         expresso.connector.loadScript("jscode/InfoQuota"); 
     1298 
     1299        _divScroll.appendChild(table_element); 
     1300 
     1301 
     1302        var f_unseen = 0; 
     1303        openTab.imapBox[numBox] = msg_folder; 
     1304        folderHeaders[msg_folder] = headers_msgs; 
     1305        if (headers_msgs.num_msgs == 0){ 
     1306                var tr_info = document.createElement("TR"); 
     1307                var td_info = createAndSet("TD",['colspan','background','align','padding','fontWeight','fontSize'], 
     1308                                ['10','#FFF','center','25px','bold','11pt'],get_lang("This mail box is empty")); 
     1309                tr_info.setAttribute("id", "msg_info"); 
     1310                tr_info.appendChild(td_info); 
     1311                tbody_element.appendChild(tr_info); 
     1312        } 
     1313 
     1314 
     1315        for (var i=0; i < headers_msgs.length; i++){ 
     1316                if ((headers_msgs[i].Unseen == 'U') || (headers_msgs[i].Recent == 'N')) 
     1317                        f_unseen++; 
     1318                tr_element = make_tr_message(headers_msgs[i], msg_folder); 
     1319                if (tr_element){ 
     1320                        tbody_element.appendChild(tr_element); 
     1321                        add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); 
     1322                } 
     1323                if ( _dragArea == null ) 
     1324                        _dragArea = new DragArea( ); 
     1325                _dragArea.makeDragged(tr_element, headers_msgs[i].msg_number, headers_msgs[i].subject, true); 
     1326        } 
     1327 
     1328        if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) 
     1329                select_msg(headers_msgs[0].msg_number, 'null', true); 
     1330 
     1331        var tdFolders  =  Element("folderscol"); 
     1332        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
     1333        draw_footer_box(headers_msgs.num_msgs); 
     1334        Element('main_table').style.display = ''; 
     1335        if(debug) { 
     1336                var _eTime = new Date(); 
     1337                _eTime = _eTime.getTime(); 
     1338                alert("Carregou em "+(_eTime - _bTime)+" ms"); 
     1339        } 
     1340        var msg_folder = Element('msg_folder').value; 
     1341        var msg_number = Element('msg_number').value; 
     1342        if(!msg_folder && msg_number) { 
     1343                new_message('new','null'); 
     1344        } 
     1345        else if(msg_folder && msg_number){ 
     1346                proxy_mensagens.get_msg(headers_msgs, url_encode(msg_folder),true, show_msg); 
     1347                Element('msg_folder').value = ''; 
     1348                Element('msg_number').value = ''; 
     1349        } 
     1350 
     1351        if(!is_ie) { 
     1352                var scripts = new Array("jscode/ccQuickAdd", 
     1353                                "jscode/color_palette", 
     1354                                "jscode/filter", 
     1355                                "jscode/filters", 
     1356                                "jscode/html2xhtml", 
     1357                                "jscode/preferences", 
     1358                                "jscode/QuickCatalogSearch", 
     1359                                "jscode/QuickSearchUser", 
     1360                                "jscode/rich_text_editor", 
     1361                                "jscode/sharemailbox", 
     1362                                "jscode/search", 
     1363                                "jscode/TreeS", 
     1364                                "jscode/TreeShow"); 
     1365 
     1366                expresso.connector.loadAllScripts(scripts); 
     1367        } 
     1368        // Loading Quota View Folder Component (if exists...) 
     1369        if(Element("table_quota")) 
     1370                expresso.connector.loadScript("jscode/InfoQuota"); 
    14161371}; 
    14171372 
  • trunk/expressoMail1_2/js/jscode/main.js

    r2718 r2734  
    133133                                 
    134134                proxy_mensagens.messages_list('local_Inbox', 1, preferences.max_email_per_page, 'SORTARRIVAL', null, 1,1,1, function handler(data){ 
     135                        draw_prebox(); 
    135136                        draw_box(data, 'local_Inbox'); 
    136137                }); 
Note: See TracChangeset for help on using the changeset viewer.