Wtf.docs.com.Tree=function(A){Wtf.apply(this,A);Wtf.docs.com.Tree.superclass.constructor.call(this,{baseCls:"docscom",width:"100%",minSize:175,maxSize:400,baseCls:"docscom",collapsible:true,margins:"0 0 5 5",cmargins:"0 5 5 5",rootVisible:true,lines:true,root:new Wtf.tree.TreeNode({id:"root",text:this.rootText,expanded:true,iconCls:"back_image_open"}),autoScroll:true,collapseFirst:false,baseCls:"treebac",border:true});this.ge=new Wtf.tree.TreeEditor(this,{allowBlank:false,container:this.getEl,completeOnEnter:true,ignoreNoChange:true,cancelOnEsc:true,updateEl:true,blankText:"A name is required",selectOnFocus:true},this);this.ge.on("beforestartedit",this.beforeStartEdit,this);this.ge.on("startedit",this.startEdit,this);this.ge.on("beforecomplete",this.beforeComplete,this);this.ge.on("complete",this.onComplete,this);this.on("contextmenu",this.contextMenu,this);this.on("expandnode",function(B,C){B.ui.getIconEl().className="x-tree-node-icon back_image_open"},this);this.on("collapsenode",function(B,C){B.ui.getIconEl().className="x-tree-node-icon back_image_close"},this);this.addEvents=({"onDeleteComplete":true})};Wtf.extend(Wtf.docs.com.Tree,Wtf.tree.TreePanel,{ge:null,initComponent:function(A){Wtf.docs.com.Tree.superclass.initComponent.call(this,A);this.addEvents({"deleteNode":true})},setRootNode1:function(A){var B=new Wtf.tree.TreeNode({id:"root",text:A,expanded:true,iconCls:"back_image_open"});return B},contextMenu:function(node,e){menu=new Wtf.menu.Menu({id:"treeMenu",items:[{text:"Rename",id:"name",iconCls:"pwnd renameicon",scope:this,handler:renameNode},new Wtf.Action({text:"Delete",iconCls:"pwnd delicon",scope:this,handler:deleteNode})]});var abcd=this.grid;var user=this.userid;var pcid=this.pcid;var groupid=this.groupid;if(node!=this.root){if((node.getDepth()==1&&this.defaultTag.indexOf(node.text.toLowerCase().split(" (")[0])==-1)||node.getDepth()!=1){if(node.getDepth()>1){var depth=node.getDepth();var tempNode=node;do{tempNode=tempNode.parentNode}while(tempNode.getDepth()!=1);if(this.defaultTag.indexOf(tempNode.text.match("([\\w]+[\\s]*)*")[0].trim().toLowerCase())==-1){menu.showAt(e.getXY())}}else{menu.showAt(e.getXY())}}}Wtf.destroy("treeMenu");function renameNode(){this.getSelectionModel().select(node);this.ge.triggerEdit(this.getSelectionModel().getSelectedNode())}function deleteNode(){var root=node.getOwnerTree().root;var parentnode=node;var str="";var nodeText="";var nodocs=node.text.match("\\s[(](\\d+)[)]");if(node.getDepth()==0){nodeText=parentnode.text}else{for(var i=(node.getDepth());i>0;i--){nodeText+=parentnode.text.split(" (")[0]+"/";parentnode=parentnode.parentNode}nodeText=nodeText.substr(0,nodeText.length-1);str=nodeText.split("/");nodeText="";for(var j=(str.length-1);j>=0;j--){nodeText+=str[j]+"/"}nodeText=nodeText.substr(0,nodeText.length-1);Wtf.destroy("treeMenu")}Wtf.destroy("treeMenu");for(var i=0;i<abcd.getStore().getCount();i++){var a=abcd.getStore().getAt(i);var b=this.delTag(abcd.getStore().getAt(i).data["Tags"],nodeText);a.set("Tags",b)}var tag=nodeText;tag=tag.trim();if(tag.length==0){tag="Uncategorized"}if(nodocs==null){this.breakTree(tag,this.root)}else{for(var k=0;k<nodocs[1];k++){this.breakTree(tag,this.root)}}this.fireEvent("deleteNode",nodeText);Wtf.destroy("treeMenu");Wtf.Ajax.requestEx({url:Wtf.req.doc+"tree/deleteTag.jsp",params:{tagname:nodeText,groupid:groupid,pcid:pcid}},this,function(result,req){if(eval("("+result+")")["res"]==1){msgBoxShow(["Error","A problem occurred while deleting tags"],Wtf.MessageBox.ERROR)}})}},delTag:function(H,E){var G=H.split(",");var C="";for(var B=0;B<G.length;B++){if(G[B]!=this.checkTag(E)){if(B==G.length-1){C+=G[B]+""}else{C+=G[B]+","}}}var D="";var F=C.split(",");for(B=0;B<F.length;B++){if(F[B].substring(0,E.length+1)!=E+"/"){if(B==F.length-1){D+=F[B]+""}else{D+=F[B]+","}}}if(D==""&&E!=""){D="Uncategorized";this.makeTree(D,this.root)}var A=D.length-1;if(D[A]==","){return D.substring(0,A)}else{return D}},beforeStartEdit:function(C,B,D){if(D==this.root.text){return false}else{if(this.getSelectionModel().getSelectedNode().getDepth()==1&&this.defaultTag.indexOf(D.match("([\\w]+[\\s]*)*")[0].trim().toLowerCase())!=-1){return false}else{if(this.getSelectionModel().getSelectedNode().getDepth()>1){var E=this.getSelectionModel().getSelectedNode().getDepth();var A=this.getSelectionModel().getSelectedNode();do{A=A.parentNode}while(A.getDepth()!=1);if(this.defaultTag.indexOf(A.text.match("([\\w]+[\\s]*)*")[0].trim().toLowerCase())!=-1){return false}}}}},startEdit:function(A,B){this.ge.setValue(B.replace(/\s[(]\d+[)]/g,""))},beforeComplete:function(ge,value,startValue){if(value!=startValue){var str="^[\\w+\\s*]*$";var flag=0;value=value.trim();var matchValue=value.match(str);if(matchValue!=null&&this.defaultTag.indexOf(value.toLowerCase())==-1){value=matchValue[0];value=value.replace(/\/+/g,"/");var depth=this.getSelectionModel().getSelectedNode().getDepth();var node=this.getSelectionModel().getSelectedNode();path="";path+=this.getSelectionModel().getSelectedNode().text.replace(/\s[(]\d+[)]/g,"")+"/";while(depth>1){node=node.parentNode;path+=node.text.split(" (")[0]+"/";depth--}path=path.substr(0,path.length-1);var newpath=path.split("/");path="";for(var i=(newpath.length-1);i>=0;i--){path+=newpath[i]+"/"}path=path.substr(0,path.length-1);depth=this.getSelectionModel().getSelectedNode().getDepth();if(depth>1){var finalnewpath=path.substr(0,path.lastIndexOf("/"))+"/"+value;var oldpath=path.substr(0,path.lastIndexOf("/"))+"/"+startValue}else{var finalnewpath=value;var oldpath=startValue}Wtf.Ajax.requestEx({url:Wtf.req.doc+"tree/editTagTree.jsp",params:{oldTabName:oldpath.split(" (")[0],newTabName:finalnewpath,groupid:this.groupid,pcid:this.pcid}},this,function(result,req){if(eval("("+result+")")["res"]==0){for(var i=0;i<this.grid.getStore().getCount();i++){var a=this.grid.getStore().getAt(i);var b=this.editTreeNode(this.grid.getStore().getAt(i).data["Tags"],oldpath.split(" (")[0],finalnewpath);a.set("Tags",b)}}else{msgBoxShow(["Error","A problem occurred while loading tags"],Wtf.MessageBox.ERROR)}})}else{this.ge.setValue(startValue.match("([\\w]+[\\s]*)*")[0].trim());return false}value+=startValue.replace(/\s[(]\d+[)]/g,"")}},mergeNode:function(G,C,F){var A=1;var E=new Array();var B;var H=0;for(var D=0;D<G.childNodes.length;D++){if(F.match("^"+G.childNodes[D].text.match("([\\w]+[\\s]*)*")[0].trim()+"$","i")!=null){this.fireEvent("onDeleteComplete");return true}}return false},onComplete:function(D,E,C){if(E.replace(/\s[(]\d+[)]/g,"")!=C.replace(/\s[(]\d+[)]/g,"")){var B=new Array();var A;var F=0;if(this.mergeNode(this.getSelectionModel().getSelectedNode().parentNode,this.getSelectionModel().getSelectedNode(),E)){return false}if(C.match("\\s[(]\\d+[)]")!=null){this.getSelectionModel().getSelectedNode().setText(E+C.match("\\s[(]\\d+[)]"));return false}}if(E.match("^"+C.match("([\\w]+[\\s]*)*")[0].trim()+"$","i")!=null){this.getSelectionModel().getSelectedNode().setText(C);return false}},editTreeNode:function(B,A,E){var D=B.split(",");var F="";E=this.checkTag(E);A=this.checkTag(A);for(var C=0;C<D.length;C++){if(D[C]==A){D[C]=E}else{if(D[C].substr(0,A.length).toLowerCase()==A.toLowerCase()){D[C]=E+D[C].substr(A.length)}}F+=D[C]+","}F=F.substr(0,F.length-1);return F},tagClean:function(A){var B=A.replace(/\s*\/\s*/g,"/");B=B.replace(/^['"]\s*|\s*['"]$/g,"'");B=B.replace(/\s+/g," ");B=B.replace(/[\/]+/g,"/");B=B.replace(/([\/]*'[\/]*)/g,"'");return B.trim()},checkTag:function(A){return A.trim().match(" ")?"'"+A+"'":A},makeTree:function(L,I){if(I.childNodes!=null){L=this.tagClean(L);L=L.replace(/'|"/g,"");var G=L.split("/");var H=1;for(var D=0;D<G.length;D++){if(G!=""){var C=new Wtf.tree.TreeNode({text:G[D],lines:true,iconCls:"back_image_close"});H=1;for(var E=0;E<I.childNodes.length;E++){var B=I.childNodes[E].text.split(" (");if(B[0].toLowerCase()==G[D].toLowerCase()){I=I.childNodes[E];H=0;var A=D+1;if(I.text.split(" (").length==1){var F=G[D]+" (2)";I.setText(F)}else{var K=I.text.split(" (")[1];var J=parseInt(K.substr(0,K.length-1));J=J+1;K=I.text.split(" (")[0]+" ("+J.toString()+")";I.setText(K)}break}}if(H==1){I.appendChild(C);I=C}}}}},breakTree:function(M,I){if(I.childNodes!=null){M=this.tagClean(M);M=M.replace(/'|"/g,"");M=M.trim();if(M.length==0){M="Uncategorized"}var G=M.split("/");var H=1;var L=0;var A=[];for(var D=0;D<G.length;D++){H=1;for(var E=0;E<I.childNodes.length;E++){var C=I.childNodes[E].text.split(" (");if(C[0].toLowerCase()==G[D].toLowerCase()){I=I.childNodes[E];H=0;var B=D+1;if(I.text.split(" (").length==1){if(I.getOwnerTree()!=null){I.remove()}}else{var K=I.text.split(" (")[1];var J=parseInt(K.substr(0,K.length-1));J=J-1;if(J>1){K=I.text.split(" (")[0]+" ("+J.toString()+")";I.setText(K)}else{if(J==1){var F=I.text.split(" (")[0];I.setText(F)}}}}}}}},breakTree2:function(J,H){J=J.trim();if(J.length==0){J="Uncategorized"}var F=J.split("/");var G=1;var I=0;var A=[];for(var D=0;D<F.length;D++){G=1;for(var E=0;E<H.childNodes.length;E++){var C=H.childNodes[E].text.split(" (");if(C[0].toLowerCase()==F[D].toLowerCase()){H=H.childNodes[E];G=0;var B=D+1;if(B==F.length){if(H.getOwnerTree()!=null){H.remove()}}}}}}})