Ignore:
Timestamp:
09/21/12 10:11:36 (12 years ago)
Author:
gustavo
Message:

Ticket #0000 - Criado novo modulo para o desenvolvimento do novo ExpressoMail?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/newExpressoMail/prototype/modules/newMail/js/newfoldertree.js

    r7210 r7265  
    55var cp_tree2; 
    66function unorphanize(root, element) { 
    7         var ok = false; 
    8         var f = 0; 
    9         for (var i=0; i<root.length; i++) { 
    10                 if (root[i].id == element.parentFolder) { 
    11                         element.children = new Array();  
    12                         root[i].children.push(element); 
    13                         return true; 
    14                 } else if (ok = unorphanize(root[i].children, element)) { 
    15                         break; 
    16                 } 
    17         } 
    18         return ok; 
     7    var ok = false; 
     8    var f = 0; 
     9    for (var i=0; i<root.length; i++) { 
     10        if (root[i].id == element.parentFolder) { 
     11            element.children = new Array(); 
     12            root[i].children.push(element); 
     13            return true; 
     14        } else if (ok = unorphanize(root[i].children, element)) { 
     15            break; 
     16        } 
     17    } 
     18    return ok; 
    1919} 
    2020 
    2121function count_unseen_children(folder){ 
    22         if(folder.children.length){ 
    23                 for(var i=0; i< folder.children.length; i++){ 
    24                         if(folder.children[i].children.length) 
    25                                 folder.children[i]['children_unseen'] = (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + count_unseen_children(folder.children[i]); 
    26                          
    27                         folder['children_unseen'] = (folder['children_unseen'] ? folder['children_unseen'] : 0)+ (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + parseInt(folder.children[i].messageCount.unseen);                         
    28                 } 
    29                 return folder['children_unseen']; 
    30         }else{ 
    31                 return parseInt(folder.messageCount.unseen); 
    32         } 
     22    if(folder.children.length){ 
     23        for(var i=0; i< folder.children.length; i++){ 
     24            if(folder.children[i].children.length) 
     25                folder.children[i]['children_unseen'] = (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + count_unseen_children(folder.children[i]); 
     26 
     27            folder['children_unseen'] = (folder['children_unseen'] ? folder['children_unseen'] : 0)+ (folder.children[i]['children_unseen'] ? folder.children[i]['children_unseen'] : 0) + parseInt(folder.children[i].messageCount.unseen); 
     28        } 
     29        return folder['children_unseen']; 
     30    }else{ 
     31        return parseInt(folder.messageCount.unseen); 
     32    } 
    3333} 
    3434 
    3535function valid_tabs(children_of_this_folder, folder_to_move){ 
    36         var borders_open = $("#border_tr").children(); 
    37  
    38         var error = false; 
    39         for(var i = 1; i <= borders_open.length -2; i ++){ 
    40                 //VERIFICA A CADA FILHO DA PASTA SE ESTA eventNSAGEM E DESTA PASTA 
    41                 $.each(children_of_this_folder, function(index, value){ 
    42                         if($(children_of_this_folder[index]).attr('id') == openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")]){ 
    43                                 error = true; 
    44                                 write_msg(get_lang("One or more messages from any sub-folder are open")); 
    45                                 return error; 
    46                                  
    47                         } 
    48                 }); 
    49                 if(error){ 
    50                         return error; 
    51                 } 
    52                 //VERIFICA SE EXISTE NA PASTA A SER MOVIDA 
    53                 if(openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")] == folder_to_move){ 
    54                         error = true; 
    55                         write_msg(get_lang("One or more messages from this folder are open")); 
    56                         return error; 
    57                 } 
    58         } 
     36    var borders_open = $("#border_tr").children(); 
     37 
     38    var error = false; 
     39    for(var i = 1; i <= borders_open.length -2; i ++){ 
     40        //VERIFICA A CADA FILHO DA PASTA SE ESTA eventNSAGEM E DESTA PASTA 
     41        $.each(children_of_this_folder, function(index, value){ 
     42            if($(children_of_this_folder[index]).attr('id') == openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")]){ 
     43                error = true; 
     44                alert(("One or more messages from any sub-folder are open")); 
     45                return error; 
     46 
     47            } 
     48        }); 
     49        if(error){ 
     50            return error; 
     51        } 
     52        //VERIFICA SE EXISTE NA PASTA A SER MOVIDA 
     53        if(openTab.imapBox[$(borders_open[i]).find("input[type=hidden]").attr("name")] == folder_to_move){ 
     54            error = true; 
     55            alert(("One or more messages from this folder are open")); 
     56            return error; 
     57        } 
     58    } 
    5959} 
    6060 
    6161function draw_new_tree_folder(callback){ 
    62          
    63         var folders = DataLayer.get("folder", true); 
    64          
    65         if(!selected){ 
    66                 selected = "INBOX"; 
    67         } 
    68         /* 
    69         if( folders ) 
    70         { 
    71             folders = $.map( folders, function( folder ){ 
    72                   return { 
    73                     id: folder.folder_id, 
    74                     commonName: folder.folder_name, 
    75                     parentFolder: folder.folder_parent === "root" ? "" : folder.folder_parent, 
    76                     messageCount: { total : '', unseen : '0' } 
    77                   }; 
    78             }); 
    79         } 
    80         else 
    81             folders = DataLayer.get("folder", true); 
    82         */ 
    83         var tree1 = new Array(); 
    84         var tree2 = new Array(); 
    85         var tree3 = new Array(); 
    86         for (var i=0; i<folders.length; i++) { 
    87                 if (/^INBOX/.test(folders[i].id)) { 
    88                         if (!unorphanize(tree1, folders[i])) { 
    89                                 folders[i].children = new Array(); 
    90                                 tree1.push(folders[i]); 
    91                         } 
    92                 } 
    93                 else if (/^user/.test(folders[i].id)) { 
    94                         if (!unorphanize(tree2, folders[i])) { 
    95                                 folders[i].children = new Array(); 
    96                                 tree2.push(folders[i]); 
    97                         } 
    98                 } 
    99                 else if (/^local_messages/.test(folders[i].id)) { 
    100                         if (!unorphanize(tree3, folders[i])) { 
    101                                 folders[i].children = new Array(); 
    102                                 tree3.push(folders[i]); 
    103                         } 
    104                 } 
    105         } 
    106          
    107         for(var i =0; i<tree1.length; i++){ 
    108                 count_unseen_children(tree1[i]); 
    109         } 
    110         for(var i =0; i<tree2.length; i++){ 
    111                 count_unseen_children(tree2[i]); 
    112         } 
    113         for(var i =0; i<tree3.length; i++){ 
    114                 count_unseen_children(tree3[i]); 
    115         } 
    116         cp_tree1 = tree1; 
    117         cp_tree2 = tree2; 
    118         var shared_acls = {}; 
    119  
    120         $.each(cp_tree2, function(index, value){ 
    121                 shared_acls[value.id] = value.acl_share; 
    122         }); 
    123  
    124         var html = DataLayer.render('templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 
    125         var folders_html = $(".imap-folders").html(html).find(".mainfoldertree").treeview({ 
    126                         persist: "cookie", 
    127                         animated: "fast" 
    128         }).find(".folder").unbind("click").click(function(event){ 
    129                  
    130                 // MUDANÇA DE PASTAS! 
    131                 var target = $(this);    
    132                  
    133                 if($(".folders-loading").length) 
    134                         return; 
    135                  
    136                 if($(event.target).parent().is(".float-menu")) 
    137                         return; 
    138                          
    139                 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders-loading, .head_folder, .shared-folders') ) 
    140                         return; 
    141                  
    142                 if( target.parent().find(".new_folder").length) 
    143                         return; 
    144                          
    145                 if( !target.attr('id') ) 
    146                         target = target.parent(); 
    147                 if (target[0] == $(".mainfoldertree")[0]) return; 
    148                 var uiId = target.attr('id'); 
    149                 var child = target.find('.folder'); 
    150                    
    151                 if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 
    152                         $('.filetree span.folder.selected').removeClass('selected'); 
    153                         $(target).children('.folder').addClass('selected'); 
    154                 } 
    155                 $(this).addClass("folders-loading"); 
    156                 selected = target.attr('id'); 
    157  
    158                 changeFolder(target.attr('id'), child.attr('title'));    
    159  
    160                 /*$.ajax({ 
    161                           url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ), 
    162                           success : function(data){ 
    163                                   data = connector.unserialize(data); 
    164  
    165                                   if(data) 
    166                                     build_quota(data); 
    167                           } 
    168                 });*/ 
    169                 $(".folders-loading").removeClass("folders-loading"); 
    170  
    171         }).filter('.followup-messages').click(function(event, ui){ 
    172                 search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 
    173         }).end().end(); 
    174          
    175         folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 
    176         $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
    177                 // DRAG DE PASTAS 
    178                 start : function(){ 
    179                         $(this).css("color", "gray"); 
    180                 }, 
    181                 stop : function(){ 
    182                         $(this).css("color", ""); 
    183                 }, 
    184                 revert: "invalid", 
    185                 helper: function(event){ 
    186                         if($.trim(($(this).text().split("["))[0]).length > 18) 
    187                                 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 
    188                         return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 
    189                 }, 
    190                 delay: 150, 
    191                 refreshPositions: true, 
    192                 zIndex : 2700, 
    193                 //scroll: true,  
    194                 //scrollSensitivity: 100, 
    195                 //scrollSpeed: 100, 
    196                 containment: "#divAppbox"  
    197         }).end().droppable({ 
    198                 //DROP DE PASTAS 
    199                 over : function(a, b){ 
    200                         //INICIO : SE A PASTA CONTER FILHAS EXPANDE  
    201                         over = $(this); 
    202                         $(this).addClass("folder-over"); 
    203                         if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 
    204                                 if($(this).prev()[0]) 
    205                                         if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 
    206                                                 setTimeout(function(){ 
    207                                                         if(over.hasClass("folder-over")) 
    208                                                                 over.prev().trigger("click"); 
    209                                                 }, 500); 
    210                                                  
    211                                         } 
    212                         //FIM : SE A PASTA CONTER FILHAS EXPANDE 
    213                          
    214                         //SETA BORDA EM VOLTA DA PASTA 
    215                 }, 
    216                 out : function(){ 
    217                         //RETIRA BORDA EM VOLTA DA PASTA 
    218                         $(this).removeClass("folder-over"); 
    219                 }, 
    220                 drop : function(event, ui){ 
    221                         $(this).removeClass("folder-over"); 
    222                         if($(this).parent().attr('id') == undefined){ 
    223                                 var folder_to = 'INBOX'; 
    224                                 var to_folder_title = get_lang("Inbox"); 
    225                         }else{ 
    226                                 var folder_to = $(this).parent().attr('id'); 
    227                                 var to_folder_title = $(this).attr('title'); 
    228                         }                
    229                         var folder_to_move = ui.draggable.parent().attr('id'); 
    230                         var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 
    231                         // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 
    232                         if(folder_to_move == "tbody_box"){ 
    233                                 move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 
    234                                 return refresh(); 
    235                         } 
    236                         //SE FOR DE UMA PESQUISA RAPIDA 
    237                         else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 
    238                                 move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 
    239                                 return refresh(); 
    240                         } 
    241                         // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 
    242                         else if(folder_to_move == "border_tr"){ 
    243                                 var id_msg = border_id.split("_")[0]; 
    244                                 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 
    245                                 alternate_border(border_id); 
    246                                 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 
    247                                 return refresh(); 
    248                         } 
    249                         // SE O DROP VIER DA LISTA DE PASTAS 
    250                         else{ 
    251                                 var folder_to_exist = folder_to_move.split(imap_configs.imapDelimiter);  
    252                                 folder_to_exist = folder_to+imap_configs.imapDelimiter+folder_to_exist[folder_to_exist.length-1]; 
    253                                  
    254                                 //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 
    255  
    256                                 if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 
    257                                         return; 
    258                                 } 
    259                                 //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 
    260                                  
    261                                 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 
    262                                 if(folder_to_exist == folder_to_move){ 
    263                                         return write_msg(get_lang("Thie folder is already in this place")); 
    264                                 } 
    265                                  
    266                                 // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 
    267                                 if(folder_to_move == get_current_folder()){ 
    268                                         return write_msg(get_lang("It's not possible move this folder, because it is being used in the moment!")); 
    269                                 } 
    270                                  
    271                                 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 
    272                                 if(ui.draggable.parent().find(".selected")[0]){ 
    273                                         return write_msg(get_lang("It's not possible move this folder, because its subfolder is being used in the moment!")); 
    274                                 } 
    275                                  
    276                                 // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 
    277                                 if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 
    278                                         return write_msg(get_lang("It's not possible to move this folder to its subfolders!")); 
    279                                 }                                        
    280                                  
    281                                 if($('[id="'+folder_to_exist+'"]').length){ 
    282                                         return write_msg(get_lang("Can not move this folder to this location, because the target has already a folder with this name")); 
    283                                 } 
    284                                  
    285                                 $(this).addClass("folders-loading"); 
    286                                  
    287                                 $.ajax({ 
    288                                         url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 
    289                                         success : function(data){ 
    290                                                 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    291                                                 data = connector.unserialize(data); 
    292                                                 if(data == "Permission denied"){ 
    293                                                         write_msg(get_lang("Permission denied")); 
    294                                                 }else if(data){ 
    295                                                         write_msg(get_lang("The folder was successfully moved")); 
    296                                                 } 
    297                                                 else{ 
    298                                                         write_msg(get_lang("ERROR moving your folder.")); 
    299                                                 } 
    300                                         } 
    301                                 }); 
    302                         } 
    303                 } 
    304         }); 
    305         $(".folder").not(".shared-folders").parent().find(".folder").hover( 
    306                 function(){ 
    307                         //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
    308                         if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 
    309                                 var folder_ = $(this); 
    310                                 var folder_name; 
    311                                 var shared = { 
    312                                         head : false, 
    313                                         valid : false 
    314                                 }; 
    315                                 if(folder_.parent().attr('id')){ 
    316                                         folder_name = folder_.parent().attr('id').split(imap_configs.imapDelimiter); 
    317                                         folder_name = folder_name[folder_name.length -1]; 
    318                                         shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
    319                                 }else 
    320                                         folder_name = "Root"; 
    321                                  
    322                                 if(shared.valid){ 
    323                                         shared.head = folder_.parent().attr('id').split(imap_configs.imapDelimiter).length == 2 ?  true : false; 
    324                                         var folder_name_parts = folder_.parent().attr('id').split(imap_configs.imapDelimiter); 
    325                                         var acls = shared_acls[folder_name_parts[0]+imap_configs.imapDelimiter+folder_name_parts[1]]; 
    326  
    327                                 } 
    328  
    329                                 html = DataLayer.render("/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls});                                     
    330                                         //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
    331                                 var esc = false; 
    332                                 $(folder_).append(html).find(".float-menu-edit").click(function(){ 
    333                                         var folder_id = $(this).parents(".closed:first").attr('id'); 
    334                                         var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 
    335                                         if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 
    336                                                 return write_msg(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
    337                                         if($(this).parents(".closed:first").find(".selected").length) 
    338                                                 return write_msg(get_lang("It's not possible rename this folder, because its subfolder is being used in the moment!"));  
    339                                         if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
    340                                                 return; 
    341                                         $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 
    342                                         $(".new_folder").focus().keydown(function(event){ 
    343                                                 event.stopPropagation(); 
    344                                                 if(event.keyCode == 13){ 
    345                                                         if($(this).val() != ""){ 
    346                                                                 if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 
    347                                                                         return write_msg(get_lang("cannot create folder. try other folder name")); 
    348                                                                 } 
    349                                                                 var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú^\s_-]+$/, $(this).val()); 
    350                                                                 if($('[id="'+new_name+'"]').length){ 
    351                                                                         $(".folders-loading").removeClass("folders-loading"); 
    352                                                                         write_msg(get_lang("Mailbox already exists")); 
    353                                                                         return draw_new_tree_folder(); 
    354                                                                 } 
    355                                                                 $(".new_folder").parent().addClass("folders-loading"); 
    356                                                                 $.ajax({ 
    357                                                                         url : "controller.php?action=$this.imap_functions.ren_mailbox", 
    358                                                                         type : "POST", 
    359                                                                         data : "current="+folder_id+"&rename="+new_name, 
    360                                                                         success : function(data){ 
    361                                                                                 data = connector.unserialize(data); 
    362                                                                                 if(data == "Permission denied"){ 
    363                                                                                         $(".folders-loading").removeClass("folders-loading"); 
    364                                                                                         cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    365                                                                                         return write_msg(get_lang("Permission denied")); 
    366                                                                                 } 
    367                                                                                 write_msg(get_lang("The folder was successfully rename")); 
    368                                                                                 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    369                                                                         } 
    370                                                                 }); 
    371                                                         } 
    372                                                 }else if( event.keyCode == 27){ 
    373                                                         draw_new_tree_folder(); 
    374                                                 } 
    375                                         }).focusout(function(){ 
    376                                                 draw_new_tree_folder(); 
    377                                         }).val(name); 
    378                                 }) 
    379                                 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 
    380                                 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 
    381                                 .end().find(".float-menu-remove").click(function(){ 
    382                                          
    383                                         var folder_id = $(this).parents(".closed:first").attr('id'); 
    384                                         var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 
    385                                          
    386                                         if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
    387                                                 return; 
    388                                         $(this).parents(".closed:first").find(".folder").addClass("folders-loading");  
    389                                          
    390                                         if($(this).parents(".closed:first").find("ul").length){ 
    391                                                 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    392                                                 return write_msg(get_lang("Delete/move subfolders first")); 
    393                                         } 
    394                                         if($(this).parents(".closed:first").find(".selected").length){ 
    395                                                 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    396                                                 return write_msg(get_lang("It's not possible delete this folder, because it is being used in the moment!"));  
    397                                         } 
    398                                         var folder_span = $(this); 
    399                                         var confirm_text = get_lang("Do you wish to exclude the folder "); 
    400                                         $.Zebra_Dialog(confirm_text+folder_name, { 
    401                                                 'type':     'question', 
    402                                                 'overlay_opacity': '0.5', 
    403                                                 'buttons':  [get_lang('Yes'), get_lang('No')], 
    404                                                 'onClose':  function(caption) { 
    405                                                         if(caption == get_lang('Yes')){ 
    406                                                                 $.ajax({ 
    407                                                                         url : "controller.php?action=$this.imap_functions.delete_mailbox", 
    408                                                                         type: "POST", 
    409                                                                         data : "del_past="+folder_id, 
    410                                                                         success : function(data){ 
    411                                                                                 data = connector.unserialize(data); 
    412                                                                                 if(data == "Mailbox does not exist"){ 
    413                                                                                         $(".folders-loading").removeClass("folders-loading"); 
    414                                                                                         return write_msg(get_lang("Mailbox does not exist")); 
    415                                                                                 }else if(data == "Permission denied"){ 
    416                                                                                         $(".folders-loading").removeClass("folders-loading"); 
    417                                                                                         cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    418                                                                                         return write_msg(get_lang("Permission denied")); 
    419                                                                                 } 
    420                                                                                 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 
    421                                                                                 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    422                                                                         } 
    423                                                                 }); 
    424                                                         }else{ 
    425                                                                 folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    426                                                                 return; 
    427                                                         } 
    428                                                 } 
    429                                         }); 
    430                                         /* if(!confirm(confirm_text + folder_name)){ 
    431                                                 $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
    432                                                 return; 
    433                                         } */ 
    434                                 }) 
    435                                 //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 
    436                                 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 
    437                                 .end().find(".float-menu-new").click(function(){ 
    438                                         $(this).parents(".float-menu").hide(); 
    439                                         var selected_li = $(this).parents(".closed:first"); 
    440                                         if(selected_li.find("ul:first").length){ 
    441                                                 var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first"));                                                             
    442                                                 if(selected_li.find(".expandable-hitarea").length){ 
    443                                                         selected_li.find(".expandable-hitarea").trigger('click'); 
    444                                                 } 
    445                                                 selected_li.find("ul:first").treeview({ 
    446                                                         add: new_folder 
    447                                                 }); 
    448                                         }else if(selected_li.length){ 
    449                                                 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                                             
    450                                                 selected_li.treeview({ 
    451                                                         add: new_folder 
    452                                                 }); 
    453                                         }else{ 
    454                                                 selected_li = $(this).parents(".head_folder").parent(); 
    455                                                 if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 
    456                                                         $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 
    457                                                 } 
    458                                                 var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li);                                                             
    459                                                 selected_li.treeview({ 
    460                                                         add: new_folder 
    461                                                 }); 
    462                                         } 
    463                                          
    464                                         selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 
    465                                                 event.stopPropagation(); 
    466                                                 if(event.keyCode == 13){ 
    467                                                         if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 
    468                                                                 return write_msg(get_lang("cannot create folder. try other folder name")); 
    469                                                         } 
    470                                                         if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + imap_configs.imapDelimiter + $(this).val()+'"]').length){ 
    471                                                                 $(".folders-loading").removeClass("folders-loading"); 
    472                                                                 write_msg(get_lang("Mailbox already exists")); 
    473                                                                 return draw_new_tree_folder(); 
    474                                                         } 
    475                                                         $(".new_folder").parent().addClass("folders-loading"); 
    476                                                         create_new_folder(($(this).val() != "" ? $(this).val() : get_lang("New Folder")), (selected_li.attr('id')? selected_li.attr('id') : "INBOX")); 
    477                                                 }else if( event.keyCode == 27){ 
    478                                                         draw_new_tree_folder(); 
    479                                                 } 
    480                                         }).focusout(function(){ 
    481                                                 draw_new_tree_folder(); 
    482                                         }); 
    483                                 }).end().find(".float-menu-export").click(function(){ 
    484                                         //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 
    485  
    486                                         var name_box = $(this).parents("li:first").attr("id"); 
    487                                         var name_folder = name_box.split(imap_configs.imapDelimiter)[name_box.split(imap_configs.imapDelimiter).length-1]; 
    488  
    489                                         var hand_export = function(data){ 
    490                                                 if(!data){ 
    491                                                         write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
    492                                                 }else if(data["empty_folder"]){ 
    493                                                         write_msg(get_lang("The selected folder is empty.")); 
    494                                                 }else 
    495                                                   download_attachments(null, null, data, null,null, name_folder +'.zip'); 
    496                                         } 
    497                                         cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box);   
    498                                         write_msg(get_lang('You must wait while the messages will be exported...'));             
    499                                 }); 
    500                                 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
    501                         } 
    502                         if(!$(".new_folder").length){ 
    503                                 $(this).find(".float-menu:first").css("display", ""); 
    504                         } 
    505                 }, 
    506                 function(){ 
    507                         $(this).find(".float-menu:first").hide(); 
    508                 } 
    509         ); 
     62 
     63    /* 
     64    * Verificar atualização do conceito folder após commit 
     65    * */ 
     66    DataLayer.remove("folder", false); 
     67 
     68    var folders = DataLayer.get("folder");//, true); 
     69 
     70    if(!selected){ 
     71        selected = "INBOX"; 
     72    } 
     73 
     74    var tree1 = new Array(); 
     75    var tree2 = new Array(); 
     76    var tree3 = new Array(); 
     77    for (var i=0; i<folders.length; i++) { 
     78        if (/^INBOX/.test(folders[i].id)) { 
     79            if (!unorphanize(tree1, folders[i])) { 
     80                folders[i].children = new Array(); 
     81                tree1.push(folders[i]); 
     82            } 
     83        } 
     84        else if (/^user/.test(folders[i].id)) { 
     85            if (!unorphanize(tree2, folders[i])) { 
     86                folders[i].children = new Array(); 
     87                tree2.push(folders[i]); 
     88            } 
     89        } 
     90        else if (/^local_messages/.test(folders[i].id)) { 
     91            if (!unorphanize(tree3, folders[i])) { 
     92                folders[i].children = new Array(); 
     93                tree3.push(folders[i]); 
     94            } 
     95        } 
     96    } 
     97 
     98    for(var i =0; i<tree1.length; i++){ 
     99        count_unseen_children(tree1[i]); 
     100    } 
     101    for(var i =0; i<tree2.length; i++){ 
     102        count_unseen_children(tree2[i]); 
     103    } 
     104    for(var i =0; i<tree3.length; i++){ 
     105        count_unseen_children(tree3[i]); 
     106    } 
     107    cp_tree1 = tree1; 
     108    cp_tree2 = tree2; 
     109    var shared_acls = {}; 
     110 
     111    $.each(cp_tree2, function(index, value){ 
     112        shared_acls[value.id] = value.acl_share; 
     113    }); 
     114 
     115    var html = DataLayer.render('templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 
     116    var folders_html = $(".imap-folders").html(html).find(".mainfoldertree").treeview({ 
     117        persist: "cookie", 
     118        animated: "fast" 
     119    }).find(".folder").unbind("click").click(function(event){ 
     120 
     121            // MUDANÇA DE PASTAS! 
     122            var target = $(this); 
     123 
     124            if($(".folders-loading").length) 
     125                return; 
     126 
     127            if($(event.target).parent().is(".float-menu")) 
     128                return; 
     129 
     130            if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable-hitarea, .lastExpandable-hitarea, .treeview ,.folder_unseen,.ui-icon, .float-menu, .new_folder, .folders-loading, .head_folder, .shared-folders') ) 
     131                return; 
     132 
     133            if( target.parent().find(".new_folder").length) 
     134                return; 
     135 
     136            if( !target.attr('id') ) 
     137                target = target.parent(); 
     138            if (target[0] == $(".mainfoldertree")[0]) return; 
     139            var uiId = target.attr('id'); 
     140            var child = target.find('.folder'); 
     141 
     142            if(!target.is('.mainfoldertree > .expandable-hitarea, .mainfoldertree > .collapsable-hitarea')){ 
     143                $('.filetree span.folder.selected').removeClass('selected'); 
     144                $(target).children('.folder').addClass('selected'); 
     145            } 
     146            $(this).addClass("folders-loading"); 
     147            selected = target.attr('id'); 
     148 
     149            Folder.change(target.attr('id'), child.attr('title')); 
     150 
     151            /*$.ajax({ 
     152             url : "controller.php?"+ $.param( { action: "$this.imap_functions.get_folders_list", folder: target.attr('id') } ), 
     153             success : function(data){ 
     154             data = connector.unserialize(data); 
     155 
     156             if(data) 
     157             build_quota(data); 
     158             } 
     159             });*/ 
     160            $(".folders-loading").removeClass("folders-loading"); 
     161 
     162        }).filter('.followup-messages').click(function(event, ui){ 
     163            search_emails("UNDELETED KEYWORD \"$Followupflagged\""); 
     164        }).end().end(); 
     165 
     166    folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 
     167    $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
     168        // DRAG DE PASTAS 
     169        start : function(){ 
     170            $(this).css("color", "gray"); 
     171        }, 
     172        stop : function(){ 
     173            $(this).css("color", ""); 
     174        }, 
     175        revert: "invalid", 
     176        helper: function(event){ 
     177            if($.trim(($(this).text().split("["))[0]).length > 18) 
     178                return $(DataLayer.render('templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]).substring(0,18) + "...", type: "folder"})); 
     179            return $(DataLayer.render('templates/draggin_box.ejs', {texto : (($(this).text().split("["))[0]), type: "folder"})); 
     180        }, 
     181        delay: 150, 
     182        refreshPositions: true, 
     183        zIndex : 2700, 
     184        //scroll: true, 
     185        //scrollSensitivity: 100, 
     186        //scrollSpeed: 100, 
     187        containment: "#divAppbox" 
     188    }).end().droppable({ 
     189            //DROP DE PASTAS 
     190            over : function(a, b){ 
     191                //INICIO : SE A PASTA CONTER FILHAS EXPANDE 
     192                over = $(this); 
     193                $(this).addClass("folder-over"); 
     194                if(($(this)[0] != $(this).parent().find(".head_folder")[0])) 
     195                    if($(this).prev()[0]) 
     196                        if($(this).parent().find(".expandable-hitarea")[0] == $(this).prev()[0]){ 
     197                            setTimeout(function(){ 
     198                                if(over.hasClass("folder-over")) 
     199                                    over.prev().trigger("click"); 
     200                            }, 500); 
     201 
     202                        } 
     203                //FIM : SE A PASTA CONTER FILHAS EXPANDE 
     204 
     205                //SETA BORDA EM VOLTA DA PASTA 
     206            }, 
     207            out : function(){ 
     208                //RETIRA BORDA EM VOLTA DA PASTA 
     209                $(this).removeClass("folder-over"); 
     210            }, 
     211            drop : function(event, ui){ 
     212                $(this).removeClass("folder-over"); 
     213                if($(this).parent().attr('id') == undefined){ 
     214                    var folder_to = 'INBOX'; 
     215                    var to_folder_title = ("Inbox"); 
     216                }else{ 
     217                    var folder_to = $(this).parent().attr('id'); 
     218                    var to_folder_title = $(this).attr('title'); 
     219                } 
     220                var folder_to_move = ui.draggable.parent().attr('id'); 
     221                var border_id = ui.draggable.find("input[type=hidden]").attr("name"); 
     222                // eventnsagens : SE O DROP VIER DA LISTA DE eventNSAGENS : 
     223                if(folder_to_move == "tbody_box"){ 
     224                    move_msgs2(get_current_folder(), 'selected', 0, folder_to, to_folder_title,true); 
     225                    return refresh(); 
     226                } 
     227                //SE FOR DE UMA PESQUISA RAPIDA 
     228                else if(ui.draggable.parents('[id^="content_id_"]')[0]){ 
     229                    move_search_msgs("content_id_"+border_id, folder_to, to_folder_title); 
     230                    return refresh(); 
     231                } 
     232                // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 
     233                else if(folder_to_move == "border_tr"){ 
     234                    var id_msg = border_id.split("_")[0]; 
     235                    folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 
     236                    alternate_border(border_id); 
     237                    move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 
     238                    return refresh(); 
     239                } 
     240                // SE O DROP VIER DA LISTA DE PASTAS 
     241                else{ 
     242                    var folder_to_exist = folder_to_move.split(imap_configs.imapDelimiter); 
     243                    folder_to_exist = folder_to+imap_configs.imapDelimiter+folder_to_exist[folder_to_exist.length-1]; 
     244 
     245                    //VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS 
     246 
     247                    if(valid_tabs(ui.draggable.parent().find("li"), folder_to_move)){ 
     248                        return; 
     249                    } 
     250                    //FIM : VERIFICA SE EXISTE UMA eventNSAGENS ABERTA NESTA PASTA E NAS SUAS FILHAS; 
     251 
     252                    // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA PARA O eventSMO LOCAL 
     253                    if(folder_to_exist == folder_to_move){ 
     254                        return alert("Thie folder is already in this place"); 
     255                    } 
     256 
     257                    // VALIDA SE O USUARIO ESTA TENTANDO MOVER A PASTA ABERTA NO momentO 
     258                    if(folder_to_move == Folder.open){ 
     259                        return alert("It's not possible move this folder, because it is being used in the moment!"); 
     260                    } 
     261 
     262                    // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA FILHA DA PASTA ABERTA NO momentO 
     263                    if(ui.draggable.parent().find(".selected")[0]){ 
     264                        return alert(("It's not possible move this folder, because its subfolder is being used in the moment!")); 
     265                    } 
     266 
     267                    // VALIDA SE O USUARIO ESTA TENTANDO MOVER UMA PASTA PAI PARA DENTRO DE UMA FILHA 
     268                    if(ui.draggable.parent().find('[id="'+folder_to+'"]')[0]){ 
     269                        return alert(("It's not possible to move this folder to its subfolders!")); 
     270                    } 
     271 
     272                    if($('[id="'+folder_to_exist+'"]').length){ 
     273                        return alert(("Can not move this folder to this location, because the target has already a folder with this name")); 
     274                    } 
     275 
     276                    $(this).addClass("folders-loading"); 
     277 
     278                    $.ajax({ 
     279                        url : "../expressoMail1_2/controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 
     280                        success : function(data){ 
     281                            draw_new_tree_folder(); 
     282                            data = connector.unserialize(data); 
     283                            if(data == "Permission denied"){ 
     284                                alert(("Permission denied")); 
     285                            }else if(data){ 
     286                                alert(("The folder was successfully moved")); 
     287                            } 
     288                            else{ 
     289                                alert(("ERROR moving your folder.")); 
     290                            } 
     291                        } 
     292                    }); 
     293                } 
     294            } 
     295        }); 
     296    $(".folder").not(".shared-folders").parent().find(".folder").hover( 
     297        function(){ 
     298            //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
     299            if(!$(this).children(":last").hasClass("float-menu") && !$(this).children(":last").hasClass("new_folder")){ 
     300                var folder_ = $(this); 
     301                var folder_name; 
     302                var shared = { 
     303                    head : false, 
     304                    valid : false 
     305                }; 
     306                if(folder_.parent().attr('id')){ 
     307                    folder_name = folder_.parent().attr('id').split(imap_configs.imapDelimiter); 
     308                    folder_name = folder_name[folder_name.length -1]; 
     309                    shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
     310                }else 
     311                    folder_name = "Root"; 
     312 
     313                if(shared.valid){ 
     314                    shared.head = folder_.parent().attr('id').split(imap_configs.imapDelimiter).length == 2 ?  true : false; 
     315                    var folder_name_parts = folder_.parent().attr('id').split(imap_configs.imapDelimiter); 
     316                    var acls = shared_acls[folder_name_parts[0]+imap_configs.imapDelimiter+folder_name_parts[1]]; 
     317 
     318                } 
     319 
     320                html = DataLayer.render("/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls}); 
     321                //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
     322                var esc = false; 
     323                $(folder_).append(html).find(".float-menu-edit").click(function(){ 
     324                    var folder_id = $(this).parents(".closed:first").attr('id'); 
     325                    var name = $.trim($(this).parents(".closed:first").find("span:first").text().split("[")[0]); 
     326                    if($(this).parents(".closed:first").find("span:first").hasClass("selected")) 
     327                        return alert(("It's not possible rename this folder, because it is being used in the moment!")); 
     328                    if($(this).parents(".closed:first").find(".selected").length) 
     329                        return alert(("It's not possible rename this folder, because its subfolder is being used in the moment!")); 
     330                    if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
     331                        return; 
     332                    $(this).parents(".closed:first").find("span:first").empty().append("<input class='new_folder folder' type='text' maxlength='100'></input>"); 
     333                    $(".new_folder").focus().keydown(function(event){ 
     334                        event.stopPropagation(); 
     335                        if(event.keyCode == 13){ 
     336                            if($(this).val() != ""){ 
     337                                if($(this).val().match(/[\/\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 
     338                                    return alert(("cannot create folder. try other folder name")); 
     339                                } 
     340                                var new_name = folder_id.replace(/[a-zA-Z0-9á-úÁ-Ú^\s_-]+$/, $(this).val()); 
     341                                if($('[id="'+new_name+'"]').length){ 
     342                                    $(".folders-loading").removeClass("folders-loading"); 
     343                                    alert(("Mailbox already exists")); 
     344                                    return draw_new_tree_folder(); 
     345                                } 
     346                                $(".new_folder").parent().addClass("folders-loading"); 
     347                                Folder.rename(folder_id,new_name, function(){ 
     348                                    draw_new_tree_folder(); 
     349                                }); 
     350                            } 
     351                        }else if( event.keyCode == 27){ 
     352                            draw_new_tree_folder(); 
     353                        } 
     354                    }).focusout(function(){ 
     355                            draw_new_tree_folder(); 
     356                        }).val(name); 
     357                }) 
     358                    //FUNÇÃO DO eventNU FLUTUANTE EDITAR < END 
     359                    //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < BEGIN 
     360                    .end().find(".float-menu-remove").click(function(){ 
     361                        var folder_id = $(this).parents(".closed:first").attr('id'); 
     362                        var folder_name = "<strong>"+$.trim($(this).parents(".closed:first").find(".folder").text().split("[")[0])+"</strong>"; 
     363 
     364                        if(valid_tabs($(this).parents("li:first").find("li"), folder_id)) 
     365                            return; 
     366                        $(this).parents(".closed:first").find(".folder").addClass("folders-loading"); 
     367 
     368                        if($(this).parents(".closed:first").find("ul").length){ 
     369                            $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     370                            return alert("Delete/move subfolders first"); 
     371                        } 
     372                        if($(this).parents(".closed:first").find(".selected").length){ 
     373                            $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     374                            return alert("It's not possible delete this folder, because it is being used in the moment!"); 
     375                        } 
     376                        var folder_span = $(this); 
     377                        confirm("Do you wish to exclude the folder "+folder_name,function(confirm){ 
     378                            if(confirm){ 
     379                                Folder.remove(folder_id, function(){ 
     380                                    draw_new_tree_folder(); 
     381                                }); 
     382                            }else{ 
     383                                folder_span.parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     384                                return; 
     385                            } 
     386                        }); 
     387 
     388                        /* if(!confirm(confirm_text + folder_name)){ 
     389                         $(this).parents(".closed:first").find(".folder").removeClass("folders-loading"); 
     390                         return; 
     391                         } */ 
     392                    }) 
     393                    //FUNÇÃO DO eventNU FLUTUANTE EXCLUIR < END 
     394                    //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < BEGIN 
     395                    .end().find(".float-menu-new").click(function(){ 
     396                        $(this).parents(".float-menu").hide(); 
     397                        var selected_li = $(this).parents(".closed:first"); 
     398                        if(selected_li.find("ul:first").length){ 
     399                            var new_folder = $("<li><input class='new_folder folder' type='text' maxlength='100'></input></li>").appendTo(selected_li.find("ul:first")); 
     400                            if(selected_li.find(".expandable-hitarea").length){ 
     401                                selected_li.find(".expandable-hitarea").trigger('click'); 
     402                            } 
     403                            selected_li.find("ul:first").treeview({ 
     404                                add: new_folder 
     405                            }); 
     406                        }else if(selected_li.length){ 
     407                            var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 
     408                            selected_li.treeview({ 
     409                                add: new_folder 
     410                            }); 
     411                        }else{ 
     412                            selected_li = $(this).parents(".head_folder").parent(); 
     413                            if($(this).parents(".head_folder").parent().find(".expandable-hitarea").length){ 
     414                                $(this).parents(".head_folder").parent().find(".expandable-hitarea").trigger('click'); 
     415                            } 
     416                            var new_folder = $("<ul><li><input class='new_folder folder' type='text' maxlength='100'></input></li></ul>").appendTo(selected_li); 
     417                            selected_li.treeview({ 
     418                                add: new_folder 
     419                            }); 
     420                        } 
     421 
     422                        selected_li.find(".new_folder").Watermark("Nova Pasta").focus().keydown(function(event){ 
     423                            event.stopPropagation(); 
     424                            if(event.keyCode == 13){ 
     425                                if($(this).val().match(/[\`\~\^\<\>\|\\\"\!\@\#\$\%\&\*\+\(\)\[\]\{\}\?;:]/gi)){ 
     426                                    return alert(("cannot create folder. try other folder name")); 
     427                                } 
     428                                if($('[id="'+ (selected_li.attr('id')? selected_li.attr('id') : "INBOX") + imap_configs.imapDelimiter + $(this).val()+'"]').length){ 
     429                                    $(".folders-loading").removeClass("folders-loading"); 
     430                                    alert(("Mailbox already exists")); 
     431                                    return draw_new_tree_folder(); 
     432                                } 
     433                                $(".new_folder").parent().addClass("folders-loading"); 
     434                                Folder.create($(this).val(), selected_li.attr('id'), function(){ 
     435                                    draw_new_tree_folder(); 
     436                                }); 
     437                            }else if( event.keyCode == 27){ 
     438                                draw_new_tree_folder(); 
     439                            } 
     440                        }).focusout(function(){ 
     441                                draw_new_tree_folder(); 
     442                            }); 
     443                    }).end().find(".float-menu-export").click(function(){ 
     444                        //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 
     445 
     446                        var name_box = $(this).parents("li:first").attr("id"); 
     447                        var name_folder = name_box.split(imap_configs.imapDelimiter)[name_box.split(imap_configs.imapDelimiter).length-1]; 
     448 
     449                        var hand_export = function(data){ 
     450                            if(!data){ 
     451                                alert(('Error compressing messages (ZIP). Contact the administrator.')) 
     452                            }else if(data["empty_folder"]){ 
     453                                alert(("The selected folder is empty.")); 
     454                            }else 
     455                                download_attachments(null, null, data, null,null, name_folder +'.zip'); 
     456                        } 
     457                        cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 
     458                        alert(('You must wait while the messages will be exported...')); 
     459                    }); 
     460                //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
     461            } 
     462            if(!$(".new_folder").length){ 
     463                $(this).find(".float-menu:first").css("display", ""); 
     464            } 
     465        }, 
     466        function(){ 
     467            $(this).find(".float-menu:first").hide(); 
     468        } 
     469    ); 
    510470} 
    511471 
Note: See TracChangeset for help on using the changeset viewer.