(function(A){A.ui=A.ui||{};A.fn.extend({spinner:function(B){if(!this.is(".ui-spinner")){return new A.ui.spinner(this,B||{})}}});A.ui.spinner=function(E,J){this.anchor=E;var G=AJS.params.staticResourceUrlPrefix||contextPath;this.images=J.images||[G+"/images/ddtree/black spinner/1.png",G+"/images/ddtree/black spinner/2.png",G+"/images/ddtree/black spinner/3.png",G+"/images/ddtree/black spinner/4.png",G+"/images/ddtree/black spinner/5.png",G+"/images/ddtree/black spinner/6.png",G+"/images/ddtree/black spinner/7.png",G+"/images/ddtree/black spinner/8.png",G+"/images/ddtree/black spinner/9.png",G+"/images/ddtree/black spinner/10.png",G+"/images/ddtree/black spinner/11.png",G+"/images/ddtree/black spinner/12.png"];this.width=J.width||"16px";this.height=J.height||J.width||"16px";this.hide=function(){this.anchor.hide();this.stop()};this.show=function(){this.start();this.anchor.show()};this.fadeIn=function(){this.anchor.fadeIn.apply(this.anchor,arguments)};this.fadeOut=function(){this.anchor.fadeOut.apply(this.anchor,arguments)};this.moveTo=function(K,L){this.anchor.css("top",L);this.anchor.css("left",K)};this.putInBox=function(N){var L=N.x||N.x1,O=N.y||N.y1,M=(typeof N.width=="undefined")?N.x2-N.x1:N.width,K=(typeof N.height=="undefined")?N.y2-N.y1:N.height;this.moveTo(L+Math.round((M-this.offsetWidth)/2),O+Math.round((K-this.offsetHeight)/2))};this.start=function(){if(!this.timer){this.timer=setInterval(B,100)}return this.timer};this.stop=function(){clearInterval(this.timer);this.timer=null};this.divs=[];for(var D=0,I=this.images.length;D<I;D++){var C=document.createElement("div");if(!AJS.applyPngFilter(C,this.images[D])){var F=document.createElement("img");F.src=this.images[D];F.style.width=this.width;F.style.height=this.height;C.appendChild(F)}C.style.width=this.width;C.style.height=this.height;this.anchor.append(C);if(!this.offsetWidth){this.offsetWidth=C.offsetWidth;this.offsetHeight=C.offsetHeight}this.divs.push(A(C).hide())}this.frame=0;this.direction=1;var H=this;var B=function(){H.divs[H.frame].hide();H.frame+=H.direction;if(H.frame>=H.divs.length){H.frame=0}if(H.frame<0){H.frame=H.divs.length-1}H.divs[H.frame].show()};this.anchor.css("position","absolute")}})(jQuery);
(function(B){B.ui=B.ui||{};B.fn.extend({tree:function(C){if(!this.is(".ui-tree")){return new B.ui.tree(this,C)}}});var A=function(C){C.preventDefault()};B.ui.tree=function(F,H){var E=F,S=this,e=false,G=arguments;if(!(/^[ou]l$/i.test(E[0].tagName))){e=true;if(!H.url){return false}E.html("<ul></ul>");E=B("ul",E)}var U=E[0];E.addClass("ui-tree");var M={list:E,visibleNodes:[],dim:E.offset(),points:[],win:B(window),timer:null,prev:0,events:{grab:function(){},click:function(){},drag:function(){},drop:function(){},append:function(){},insertabove:function(){},insertbelow:function(){},load:function(){},nodeover:function(){},nodeout:function(){},onready:function(){},order:function(){},orderUndo:function(){},remove:function(){},preview:function(){}}};this.options=H;this.expandPath=function(g,l){l=l||function(){};if(g.length){var k=1,j,h,i=function(){if(k<g.length){for(var m in g[k]){j=S.findNodeBy(m,g[k][m]);if(j){break}}k++;j.open(i)}else{l()}};for(h in g[0]){j=this.findNodeBy(h,g[0][h]);break}if(!j){return }j.open(i)}else{l()}};this.reload=function(g){if(e){E.remove()}for(var h in g){this.options[h]=g[h]}return new G.callee(F,this.options)};this.append=function(g){var h=W(g);E.append(h);C.call(h);N()};this.unhighlight=function(){E.find("li.highlighted").each(function(g,h){B(this).removeClass("highlighted")})};function J(o,n){o=(o+"").toLowerCase();n=(n+"").toLowerCase();var j=/(\d+|\D+)/g,k=o.match(j),g=n.match(j),m=Math.max(k.length,g.length);for(var h=0;h<m;h++){if(h==k.length){return -1}if(h==g.length){return 1}var p=parseInt(k[h],10),l=parseInt(g[h],10);if(p==k[h]&&l==g[h]&&p!=l){return(p-l)/Math.abs(p-l)}if((p!=k[h]||l!=g[h])&&k[h]!=g[h]){return k[h]<g[h]?-1:1}}return 0}function T(i){this[0]=i[0];this.$=i;this.text=i.find("span").text();this.href=i.find("a").attr("href");this.linkClass=i.find("a").attr("class");this.nodeClass=i.attr("class");this.open=function(j){return M.visibleNodes[this[0].num].open(j)};this.insertChild=function(j){j.$&&(j=j[0]);M.visibleNodes[this[0].num].append(j)};this.reorder=function(){M.visibleNodes[this[0].num].order(J)};this.close=function(){M.visibleNodes[this[0].num].close()};this.getAttribute=function(j){return this[0][j]};this.setAttribute=function(j,k){this[0][j]=k};this.highlight=function(){this.$.addClass("highlighted")};this.unhighlight=function(){this.$.removeClass("highlighted")};this.makeDraggable=function(){this.setAttribute("undraggable",false);this.$.removeClass("undraggable")};this.makeUndraggable=function(){this.setAttribute("undraggable",true);this.$.addClass("undraggable")};this.makeClickable=function(k){this.setAttribute("unclickable",false);this.$.removeClass("unclickable");var l=this[0].getElementsByTagName("a");var j;if(k){j=B(l[0])}else{j=B(l)}j.unbind("click",A);j.click(M.events.click)};this.makeUnclickable=function(k){this.setAttribute("unclickable",true);this.$.addClass("unclickable");var l=this[0].getElementsByTagName("a");var j;if(k){j=B(l[0])}else{j=B(l)}j.click(A);j.unbind("click",M.events.click)};this.setText=function(j){this.text=j;this[0].text=j;this.$.find("span").text(j)};this.getParent=function(){if(this.$.parent(":not(.ui-tree)").length){var j=this.$.parent().parent();if(j.length){return new T(B(j[0]))}}return null};this.append=function(l){var k=this.$.find("ul");if(!k.length){if(this[0].toBeLoaded){var m=this;this.open(function(){m.append(l)});return false}this.$.append("<ul></ul>");k=this.$.find("ul")}var j=W(l);k.append(j);C.call(j);if(typeof this[0].closed=="undefined"){this.$.addClass("closed");this[0].closed=true;k.hide()}N()};this.below=function(j){var k=W(j);this.$.after(k);C.call(k);N()};this.above=function(j){var k=W(j);this.$.before(k);C.call(k);N()};this.remove=function(){this.$.remove();N()};this.reload=function(){if(this[0].getElementsByTagName("ul").length){this[0].removeChild(this[0].getElementsByTagName("ul")[0]);this.$.removeClass("opened").addClass("closed");this[0].closed=true;M.visibleNodes[this[0].num].open()}};this.order=function(o){var l=B("ul",this.$),j=this[0];j.ordered=true;if(l.length){var k=[];j.oldorder=[];B("li",this.$).each(function(){k.push(this);j.oldorder.push(this)});function p(r,q){return o(B(r).find("span").html(),B(q).find("span").html())}k.sort(p);j.order=k;for(var m=0,n=k.length;m<n;m++){l.append(k[m])}}N()};this.orderUndo=function(){this[0].ordered=false;var j=B("ul",this.$);if(this[0].oldorder&&j.length){for(var k=0,l=this[0].oldorder.length;k<l;k++){j.append(this[0].oldorder[k])}}this[0].oldorder=null;N()};this.setOrdered=function(j){this[0].ordered=j;B("a.abc:first",this).css("display",j?"none":"block");B("a.rollback:first",this).css("display","none")};if(S.options.parameters&&S.options.parameters.length){for(var g=0,h=S.options.parameters.length;g<h;g++){if(i[0][S.options.parameters[g]]){this[S.options.parameters[g]]=i[0][S.options.parameters[g]]}}}}this.findNodeBy=function(h,m){var k=[],g=U.getElementsByTagName("li");for(var j=0,l=g.length;j<l;j++){if(g[j][h]==m){k.push(new T(B(g[j])))}}if(k.length==0){return null}else{if(k.length==1){return k[0]}else{return k}}};if(H.url){var Q=document.createElement("div");Q.className="tree-spinner";if(H.spinnerId){Q.id=H.spinnerId}B("body").append(Q);M.spinner=B(Q).spinner();M.spinner.hide()}for(var X in M.events){if(typeof H[X]=="function"){M.events[X]=H[X]}}function Y(g){return !(g.tagName.toLowerCase()=="li"&&B("li:not(.tree-helper)",g).length<1)}function D(g){this.$li=B(g);this.height=this.$li.height()}D.prototype.append=function(g){if(this.$li[0]==g){return false}if(this.$li[0].toBeLoaded){var j=this;this.load(function(){j.append(g)});return false}if(this.$li[0].tagName.toLowerCase()=="li"){var i=B("ul:first",this.$li);var h=g.parentNode.parentNode;B(".rollback:first",h).css("display","none");if(i.length){i.append(g);if(this.$li[0].ordered){this.order(J)}}else{i=document.createElement("ul");i.appendChild(g);this.$li[0].appendChild(i);this.$li.addClass("opened");B(".click-zone:first",this.$li).css("display","inline");B(".rollback:first",this.$li).css("display","none")}if(!Y(h)){M.visibleNodes[h.num].notaFolderAnymore()}setTimeout(N,0);M.events.append.call({source:g,target:this.$li[0]})}};D.prototype.below=function(g){var h=g.parentNode.parentNode;this.$li.after(g);B(".rollback:first",h).css("display","none");if(Y(h)){if(!B(g.parentNode).hasClass("ui-tree")&&!g.parentNode.parentNode.undraggable){g.parentNode.parentNode.ordered=false;B(".abc:first",g.parentNode.parentNode).css("display","block");B(".rollback:first",g.parentNode.parentNode).css("display","none")}}else{M.visibleNodes[h.num].notaFolderAnymore()}setTimeout(N,0);M.events.insertbelow.call({source:g,target:this.$li[0]})};D.prototype.above=function(g){var h=g.parentNode.parentNode;this.$li.before(g);B(".rollback:first",h).css("display","none");if(Y(h)){if(!B(g.parentNode).hasClass("ui-tree")&&!g.parentNode.parentNode.undraggable){g.parentNode.parentNode.ordered=false;B(".abc:first",g.parentNode.parentNode).css("display","block");B(".rollback:first",g.parentNode.parentNode).css("display","none")}}else{M.visibleNodes[h.num].notaFolderAnymore()}setTimeout(N,0);M.events.insertabove.call({source:g,target:this.$li[0]})};D.prototype.order=function(m){var g=this.$li[0];g.ordered=true;var j=B("ul:first",this.$li);if(j.length){var h=[];g.oldorder=[];B("li",this.$li).each(function(){if(this.parentNode.parentNode==g){h.push(this);g.oldorder.push(this)}});function n(o,i){var q=B("span",o).text().replace(/^\s+|\s+$/g,""),p=B("span",i).text().replace(/^\s+|\s+$/g,"");return m(q,p)}h.sort(n);g.order=h;for(var k=0,l=h.length;k<l;k++){j.append(h[k])}}N()};D.prototype.orderUndo=function(){var g=this.$li[0];g.ordered=false;var h=B("ul:first",this.$li);if(g.oldorder&&h.length&&h[0].parentNode==g){for(var j=0,k=g.oldorder.length;j<k;j++){h.append(g.oldorder[j])}}g.oldorder=null;g.oldor=null;N()};D.prototype.open=function(h){h=h||function(){};if(this.$li.hasClass("closed")){var g=B("ul:has(li)",this.$li);if(g.length){g.show();this.closed=false;this.$li.removeClass("closed").addClass("opened");N();h(true);return true}else{return this.load(h)}}h(false);return false};D.prototype.close=function(h){h=h||function(){};var g=this.$li.contents().filter("ul:has(li)");if(g.length){g.hide();this.closed=true;this.$li.removeClass("opened").addClass("closed");M.visibleNodes.splice(this.$li[0].num+1,g[0].getElementsByTagName("li").length);N();h()}};D.prototype.load=function(p){var g=S.options.url;if(!g){return false}p=p||function(){};this.$li[0].toBeLoaded=false;this.$li[0].closed=true;var j={};if(H.parameters&&H.parameters.length){for(var k=0,q=H.parameters.length;k<q;k++){j[H.parameters[k]]=(this.$li[0][H.parameters[k]]||"")}}var h=this,n=this.$li[0].getElementsByTagName("span")[0],o=n.offsetWidth,m=Math.round(B(n).offset().left);h.loading=true;M.spinner.putInBox({x:m+o,y:this.top,width:25,height:M.H});M.spinner.show();var l=function(v){var t=B("ul",h.$li);if(!t.length){t=document.createElement("ul");h.$li[0].appendChild(t);t=B(t)}h.ordered=(typeof v[0].position!="number");for(var s=0,u=v.length;s<u;s++){var r=W(v[s]);t[0].appendChild(r);C.call(r)}t.hide();h.open(p);M.events.load();M.spinner.hide();h.$li[0].ordered=h.ordered;B(".abc:first",h.$li[0]).css("display",h.ordered||r.undraggable?"none":"block");B(".rollback:first",h.$li[0]).css("display","none")};B.ajax({url:g,type:"GET",dataType:"json",data:j,success:l});return true};D.prototype.notaFolderAnymore=function(){this.$li.removeClass("closed").removeClass("opened");B(".click-zone:first",this.$li).hide();B(".abc:first",this.$li).css("display","none");B(".rollback:first",this.$li).css("display","none");var g=this.$li[0].getElementsByTagName("ul");this.closed=false;if(g.length){this.$li[0].removeChild(g[0])}};function L(g){var h=M.points[g];if(typeof h!="undefined"){return{visibleNode:M.visibleNodes[h.num],where:h.where,top:h.top}}else{return{visibleNode:new D(U),where:"append",top:M.dim.top}}}function I(){var m={y:0,num:0};M.points=[];for(var h=0,l=M.visibleNodes.length;h<l;h++){var o=M.visibleNodes[h].$li.offset(),p=Math.round(o.top);M.visibleNodes[h].top=p;M.visibleNodes[h].left=Math.round(o.left);if(m.y){var n=(p-m.y)/4;for(var k=m.y;k<p;k++){var g=(k-m.y<n)?"above":(k-m.y<n*3)?"append":"below";M.points[k]={num:m.num,where:g,top:m.y}}}if(h==l-1){var n=(M.visibleNodes[h].height)/4;for(var k=p;k<p+M.visibleNodes[h].height;k++){var g=(k-p<n)?"above":(k-p<n*3)?"append":"below";M.points[k]={num:h,where:g,top:p}}}m.y=p;m.num=h}}function N(){M.visibleNodes=[];var g=B("li:visible",U);for(var h=0,j=g.length;h<j;h++){if(!B(g[h]).hasClass("tree-helper")){g[h].num=M.visibleNodes.length;M.visibleNodes.push(new D(g[h]))}}I()}this.updateVisibleNodes=N;var a=function(){var g={distance:3,helper:"clone",opacity:0.7,cursorAt:{top:M.H/2,left:30},stop:function(l,k){clearInterval(M.timer);clearTimeout(M.opentimer);M.opentimer=null;var i=L(M.prev);i.visibleNode.$li.removeClass("over").removeClass("above").removeClass("append").removeClass("below");i.visibleNode.$li.next().removeClass("over").removeClass("above").removeClass("append").removeClass("below");M.win.unbind("keypress",M.escape);delete M.escape;if(g.revert){g.revert=false;return false}i=L(l.pageY);var j=i.visibleNode.$li[0],h=true;while(j!=U){if(j==this){h=false;break}j=j.parentNode}h=h&&!(i.where=="above"&&i.visibleNode.$li.prev()[0]==this)&&!(i.where=="append"&&i.visibleNode.$li[0]==this.parentNode.parentNode);if(h){i.visibleNode[i.where](this);M.events.drop.call({position:i.where,source:this,target:i.visibleNode.$li[0]})}},start:function(j,h){var i=this;h.helper.append("<strong></strong>").addClass("tree-helper").find(".button-panel").remove();M.events.grab.call(i);if(this.undraggable){h.helper.addClass("no");g.revert=true}M.escape=function(m){if(m.keyCode==27){var k=L(M.prev);k.visibleNode.$li.removeClass("over").removeClass("above").removeClass("append").removeClass("below");k.visibleNode.$li.next().removeClass("over").removeClass("above").removeClass("append").removeClass("below");var l=h.helper.clone();h.helper.before(l);l.animate({left:Math.round(B(i).offset().left)+"px",top:Math.round(B(i).offset().top)+"px",opacity:0},"slow","swing",function(){l.remove()});h.helper.css("display","none");g.revert=true}};M.win.keypress(M.escape)},drag:function(n,m){var h=L(M.prev);h.visibleNode.$li.removeClass("above").removeClass("append").removeClass("below");h.visibleNode.$li.next().removeClass("above").removeClass("append").removeClass("below");if(!g.revert||M.out){M.prev=n.pageY;var k=L(M.prev);if(k.visibleNode.$li[0]==U){g.revert=true;M.out=true;return }else{if(M.out){M.out=false;g.revert=false}}if(k.visibleNode!=h.visibleNode){M.events.nodeout.call(h.visibleNode.$li);if(M.opentimer){clearTimeout(M.opentimer);M.opentimer=false}}M.events.nodeover.call({element:k.visibleNode.$li,position:k.where});var j=k.where,i=k.visibleNode.$li.next();if(j=="below"&&i.length&&!i.hasClass("tree-helper")){i.addClass("above")}else{L(M.prev).visibleNode.$li.addClass(j)}if(k.where=="append"&&(k.visibleNode.closed||k.visibleNode.$li[0].toBeLoaded)&&!M.opentimer){M.opentimer=(function(o){return setTimeout(function(){o.visibleNode.$li.removeClass("append");o.visibleNode.open(function(){M.opentimer=false})},500)})(k)}var l=arguments.callee;if(M.win.height()-n.pageY+M.win.scrollTop()<30){clearInterval(M.timer);M.timer=setInterval(function(){window.scrollBy(0,4);m.helper.css("top",parseInt(m.helper.css("top"))+4+"px");l({pageY:n.pageY+4},m)},M.win.height()-n.pageY+M.win.scrollTop())}else{if(M.win.scrollTop()>0&&(n.pageY-M.win.scrollTop())<30){clearInterval(M.timer);M.timer=setInterval(function(){window.scrollBy(0,-4);l({pageY:n.pageY-4},m);m.helper.css("top",parseInt(m.helper.css("top"))-4+"px")},n.pageY-M.win.scrollTop())}else{if(M.timer){clearInterval(M.timer)}}}M.events.drag.call({element:this,left:n.pageX,top:n.pageY})}}};return g};function C(){var g=B(this);if(S.options.undraggable){g.mousedown(A)}else{g.draggable(a());g[0].undraggable=g.hasClass("undraggable")}var h=B(this.getElementsByTagName("a")[0]);if(S.options.unclickable){g.addClass("unclickable");h.click(A)}else{h.click(M.events.click)}if(S.options.oninsert){S.options.oninsert.call(new T(g),h)}}B.ui.tree.callNumber=0;var P=function(g){if(M.visibleNodes[this.parentNode.num].loading){return }if(B(this.parentNode).hasClass("closed")){M.visibleNodes[this.parentNode.num].open()}else{M.visibleNodes[this.parentNode.num].close()}return false},R=function(g){if(!B(g.target).hasClass("tree-helper")){B(".button-panel:first",this).addClass("hover")}return false},d=function(g){if(!B(g.target).hasClass("tree-helper")){B(".button-panel:first",this).removeClass("hover")}return false},c=function(){var g=M.visibleNodes[this.parentNode.parentNode.num];g.order(J);M.events.order.call({source:g.$li[0]});B(this).hide();B("a.rollback",this.parentNode).show();return false},V=function(h){var g=M.visibleNodes[this.parentNode.parentNode.num];g.orderUndo();M.events.orderUndo.call({source:g.$li[0],orderedChildren:B("ul:first",g.$li[0]).children()});B(this).hide();B("a.abc",this.parentNode).show();return false},f=function(h){h.preventDefault();var g=M.visibleNodes[this.parentNode.parentNode.num];M.events.preview.call({source:preview,node:g.$li[0]})},Z=function(h){h.preventDefault();var g=M.visibleNodes[this.parentNode.parentNode.num];M.events.remove.call({source:g.$li[0]})};function W(i){var t=document.createElement("li");t.className=i.nodeClass;if(S.options.parameters&&S.options.parameters.length){for(var l=0,m=S.options.parameters.length;l<m;l++){if(i[S.options.parameters[l]]){t[S.options.parameters[l]]=i[S.options.parameters[l]]}}}if(S.options.nodeId){t.id="node-"+i[S.options.nodeId]}var r=document.createElement("a"),s=document.createElement("span"),k=document.createElement("i");k.className="decorator";r.href=i.href;s.appendChild(document.createTextNode(i.text));r.appendChild(s);r.appendChild(k);r.className=i.linkClass;var n=document.createElement("div");B(n).addClass("click-zone");B(n).click(P);B(t).mouseover(R).mouseout(d);t.appendChild(n);t.appendChild(r);var g=document.createElement("div");g.className="button-panel";t.appendChild(g);var q=document.createElement("a");q.className="abc";q.title="Sort Alphabetically";g.appendChild(q);var h=document.createElement("a");h.className="rollback";h.title="Undo Sorting";g.appendChild(h);B(q).click(c);B(h).click(V);if(S.options.isAdministrator){var o=document.createElement("a");o.className="preview-node";o.title="Preview";g.appendChild(o);B(o).click(f);var u=document.createElement("a");u.className="remove-node";u.title="Delete";g.appendChild(u);B(u).click(Z)}B(q).css("display","none");B(h).css("display","none");var p=B(t);if(p.hasClass("opened")){p.removeClass("opened").addClass("closed");t.closed=true}else{if(p.hasClass("closed")){t.toBeLoaded=true}else{B(n).css("display","none")}}return t}var O=E.contents().filter("li");if(O.length>0){M.H=O.height();O.each(C);N();M.events.onready.call(this)}else{var K=S.options.initUrl||S.options.url;if(!K){return false}M.spinner.putInBox({x:M.dim.left,y:M.dim.top,width:16,height:16});M.spinner.show();var b=++B.ui.tree.callNumber;B.getJSON(K,function(l){var k=+new Date;for(var h=0,j=l.length;h<j;h++){var g=W(l[h]);U.appendChild(g);if(h==0){M.H=B(g).height()}C.call(g)}N();M.spinner.hide();if(b==B.ui.tree.callNumber){M.events.onready.call(this);B.ui.tree.callNumber=0}})}M.offset=U.offsetTop;setInterval(function(){if(U.offsetTop!=M.offset){I();M.offset=U.offsetTop}},10);return this}})(jQuery);

