function treeS() { this.FOLDER = ""; this.xtools = new xtools('../expressoMail1_2/templates/'); this.parentHtml = null; } treeS.prototype.make_Window = function() { var div = null; var args = null; args = { "delete_folder" : get_lang('Delete folder'), "export_messages" : get_lang('Export messages'), "new_folder" : get_lang('New folder'), "rename_folder" : get_lang('Rename folder') }; div = document.createElement("div"); div.id = "divTreeFolders"; div.innerHTML = this.xtools.parse(this.xtools.xml('treeFolders'), 'treeFolders.xsl', args ); this.parentHtml = div; var openWindow = function() { if( folders.length == 0 ) { write_msg( "ERRO : Sem dados" ); $(div).dialog("destroy"); div.removeChild( div.firstChild ); return false; } else { if( Element('dftree_treeFolders') != null ) { $(div).dialog("destroy"); div.removeChild( div.firstChild ); return; } else { ttree.make_tree(div.firstChild); } } }; $(div).dialog( { resizable : false, title : get_lang("Manager your folders and export messages"), position : 'center', width : 600, height : 300, modal : false, buttons : [ { text: get_lang("Close"), click: function() { $(this).dialog("destroy"); div.removeChild(div.firstChild); }, style: "margin-top: -2.1em" } ], beforeClose : function() { $(this).dialog("destroy"); div.removeChild(div.firstChild); }, open : function() { openWindow(); } }); } treeS.prototype.setFolder = function(folderName) { this.FOLDER = folderName; } treeS.prototype.make_tree = function () { var elementHtml = null; if( arguments.length > 0 ) { elementHtml = arguments[0]; } else { if( Element('dftree_treeFolders') != null ) { elementHtml = Element('dftree_treeFolders').parentNode.parentNode; Element('dftree_treeFolders').innerHTML = ""; } } var treeFolders = new dFTree({ name : 'treeFolders' }); if( !expresso_offline ) { var root = new dNode({ id : 'root', caption: get_lang('My Folders'), onClick: "ttree.setFolder('root')" }); treeFolders.add(root, 'root'); for(var i = 0; i < folders.length ; i++ ) { var nn = new dNode({ id:folders[i].folder_id, caption: lang_folder(folders[i].folder_name), plusSign:folders[i].folder_hasChildren, onClick: "ttree.setFolder('"+folders[i].folder_id+"')"}); if ( folders[i].folder_parent == '' ) { folders[i].folder_parent = 'root'; } else if ( folders[i].folder_parent == 'user' ) { if ( treeFolders.getNodeById('user') ) { var n_root_shared_folders = new dNode({ id:'user', caption:get_lang("Shared Folders"), plusSign:true}); treeFolders.add( n_root_shared_folders,'root'); } } // Ver Ticket #1548 if( folders[i].folder_parent != 'root') { var node_parent = treeFolders.getNodeById(folders[i].folder_parent); if( typeof node_parent != 'undefined') { node_parent.plusSign = true; treeFolders.alter(node_parent); } } treeFolders.add( nn, folders[i].folder_parent ); } } //Pastas locais if ( preferences.use_local_messages == 1 ) { var n_root_local = new dNode({ id : "local_root", caption : get_lang("local folders"), onClick: "ttree.setFolder('root')" }); treeFolders.add( n_root_local, 'root' ); var local_folders = expresso_local_messages.list_local_folders(); //Coloca as pastas locais. for (var i in local_folders) { var node_parent = "local_root"; var new_caption = local_folders[i][0]; if( local_folders[i][0].indexOf("/") != "-1" ) { final_pos = local_folders[i][0].lastIndexOf("/"); node_parent = "local_"+local_folders[i][0].substr(0,final_pos); new_caption = local_folders[i][0].substr(final_pos+1); } if ( local_folders[i][1] > 0 ) { var nodeLocal = new dNode({ id: "local_" + local_folders[i][0], caption: lang_folder(new_caption) + ' (' + local_folders[i][1] + ')', plusSign: local_folders[i][2] }); } else { var nodeLocal = new dNode({ id: "local_" + local_folders[i][0], caption: lang_folder(new_caption), plusSign: local_folders[i][2] }); } treeFolders.add(nodeLocal, node_parent); } } treeFolders.draw(elementHtml); treeFolders.getNodeById("root")._select(); root.changeState(); } /* Build the Object */ var ttree = new treeS();