function Node(A,J,G,K,E,H,F,I,D,C,B){this.id=A;this.pid=J;this.name=G;this.url=K;this.title=E;this.target=H;this.count=F;this.rss=I;this.icon=D;this.iconOpen=C;this._io=B||false;this._is=false;this._ls=false;this._hc=false;this._ai=0;this._p}function dTree(B,A){this.config={target:null,folderLinks:true,useSelection:true,useCookies:true,useLines:true,useIcons:true,useStatusText:false,closeSameLevel:false,inOrder:false};this.icon={root:A+"base.gif",folder:A+"folder.gif",folderOpen:A+"folderopen.gif",node:A+"page.gif",empty:A+"empty.gif",line:A+"line.gif",join:A+"join.gif",joinBottom:A+"joinbottom.gif",plus:A+"plus.gif",plusBottom:A+"plusbottom.gif",minus:A+"minus.gif",minusBottom:A+"minusbottom.gif",nlPlus:A+"nolines_plus.gif",nlMinus:A+"nolines_minus.gif"};this.obj=B;this.aNodes=[];this.aIndent=[];this.root=new Node(-1);this.selectedNode=null;this.selectedFound=false;this.completed=false;this.opened=false}dTree.prototype.add=function(A,J,G,K,E,H,F,I,D,C,B){this.aNodes[this.aNodes.length]=new Node(A,J,G,K,E,H,F,I,D,C,B)};dTree.prototype.openAll=function(){if(!this.opened){this.oAll(true);this.opened=true}else{this.oAll(false);this.opened=false}};dTree.prototype.closeAll=function(){this.oAll(false)};dTree.prototype.toString=function(){var A="<div class=\"dtree\">\n";if(document.getElementById){if(this.config.useCookies)this.selectedNode=this.getSelected();A+=this.addNode(this.root)}else A+="Browser not supported.";A+="</div>";if(!this.selectedFound)this.selectedNode=null;this.completed=true;return A};dTree.prototype.addNode=function(D){var A="",C=0;if(this.config.inOrder)C=D._ai;for(C;C<this.aNodes.length;C++)if(this.aNodes[C].pid==D.id){var B=this.aNodes[C];B._p=D;B._ai=C;this.setCS(B);if(!B.target&&this.config.target)B.target=this.config.target;if(B._hc&&!B._io&&this.config.useCookies)B._io=this.isOpen(B.id);if(!this.config.folderLinks&&B._hc)B.url=null;if(this.config.useSelection&&B.id==this.selectedNode&&!this.selectedFound){B._is=true;this.selectedNode=C;this.selectedFound=true}A+=this.node(B,C);if(B._ls)break}return A};dTree.prototype.node=function(B,A){var C="<div class=\"dTreeNode\">"+this.indent(B,A);if(this.config.useIcons){if(!B.icon)B.icon=(this.root.id==B.pid)?this.icon.root:((B._hc)?this.icon.folder:this.icon.node);if(!B.iconOpen)B.iconOpen=(B._hc)?this.icon.folderOpen:this.icon.node;if(this.root.id==B.pid)B.icon=B.iconOpen=C+="<a href=\"javascript:void(0)\" onclick=\""+this.obj+".openAll()\"><img src=\""+(B.icon||this.icon.root)+"\" alt=\"\" /></a>";else C+="<img id=\"i"+this.obj+A+"\" src=\""+((B._io)?B.iconOpen:B.icon)+"\" alt=\"\" />"}if(B.url){C+="<a id=\"s"+this.obj+A+"\" class=\""+((this.config.useSelection)?((B._is?"nodeSel":"node")):"node")+"\" href=\""+B.url+"\"";if(B.title)C+=" title=\""+B.title+"\"";if(B.target)C+=" target=\""+B.target+"\"";if(this.config.useStatusText)C+=" onmouseover=\"window.status='"+B.name+"';return true;\" onmouseout=\"window.status='';return true;\" ";if(this.config.useSelection&&((B._hc&&this.config.folderLinks)||!B._hc))C+=" onclick=\"javascript: "+this.obj+".s("+A+");\"";C+=">"}else if((!this.config.folderLinks||!B.url)&&B._hc&&B.pid!=this.root.id)C+="<a href=\"javascript: "+this.obj+".o("+A+");\" class=\"node\">";C+=B.name;if(B.url||((!this.config.folderLinks||!B.url)&&B._hc))C+="</a>";if(A>=0&&(B.url+"").indexOf("?cat=")!=-1)C+=(!B.count?"":"<a class=\"nodeCount\">"+B.count+"</a>")+(!B.rss?"":"<a class=\"nodeRss\" href=\"./feed.asp?cat="+B.id+"\" target=\"_blank\">"+B.rss+"</a>");C+="</div>";if(B._hc){C+="<div id=\"d"+this.obj+A+"\" class=\"clip\" style=\"display:"+((this.root.id==B.pid||B._io)?"block":"none")+";\">";C+=this.addNode(B);C+="</div>"}this.aIndent.pop();return C};dTree.prototype.indent=function(B,A){var C="";if(this.root.id!=B.pid){for(var D=0;D<this.aIndent.length;D++)C+="<img src=\""+((this.aIndent[D]==1&&this.config.useLines)?this.icon.line:this.icon.empty)+"\" alt=\"\" />";(B._ls)?this.aIndent.push(0):this.aIndent.push(1);if(B._hc){C+="<a href=\"javascript:void(0)\" onclick=\""+this.obj+".o("+A+")\"><img id=\"j"+this.obj+A+"\" src=\"";if(!this.config.useLines)C+=(B._io)?this.icon.nlMinus:this.icon.nlPlus;else C+=((B._io)?((B._ls&&this.config.useLines)?this.icon.minusBottom:this.icon.minus):((B._ls&&this.config.useLines)?this.icon.plusBottom:this.icon.plus));C+="\" alt=\"\" /></a>"}else C+="<img src=\""+((this.config.useLines)?((B._ls)?this.icon.joinBottom:this.icon.join):this.icon.empty)+"\" alt=\"\" />"}return C};dTree.prototype.setCS=function(A){var C;for(var B=0;B<this.aNodes.length;B++){if(this.aNodes[B].pid==A.id)A._hc=true;if(this.aNodes[B].pid==A.pid)C=this.aNodes[B].id}if(C==A.id)A._ls=true};dTree.prototype.getSelected=function(){var A=this.getCookie("cs"+this.obj);return(A)?A:null};dTree.prototype.s=function(A){if(!this.config.useSelection)return;var B=this.aNodes[A];if(B._hc&&!this.config.folderLinks)return;if(this.selectedNode!=A){if(this.selectedNode||this.selectedNode==0){eOld=document.getElementById("s"+this.obj+this.selectedNode);eOld.className="node"}eNew=document.getElementById("s"+this.obj+A);eNew.className="nodeSel";this.selectedNode=A;if(this.config.useCookies)this.setCookie("cs"+this.obj,B.id)}};dTree.prototype.o=function(A){var B=this.aNodes[A];this.nodeStatus(!B._io,A,B._ls);B._io=!B._io;if(this.config.closeSameLevel)this.closeLevel(B);if(this.config.useCookies)this.updateCookie()};dTree.prototype.oAll=function(A){for(var B=0;B<this.aNodes.length;B++)if(this.aNodes[B]._hc&&this.aNodes[B].pid!=this.root.id){this.nodeStatus(A,B,this.aNodes[B]._ls);this.aNodes[B]._io=A}if(this.config.useCookies)this.updateCookie()};dTree.prototype.openTo=function(D,B,E){if(!E)for(var C=0;C<this.aNodes.length;C++)if(this.aNodes[C].id==D){D=C;break}var A=this.aNodes[D];if(A.pid==this.root.id||!A._p)return;A._io=true;A._is=B;if(this.completed&&A._hc)this.nodeStatus(true,A._ai,A._ls);if(this.completed&&B)this.s(A._ai);else if(B)this._sn=A._ai;this.openTo(A._p._ai,false,true)};dTree.prototype.closeLevel=function(A){for(var B=0;B<this.aNodes.length;B++)if(this.aNodes[B].pid==A.pid&&this.aNodes[B].id!=A.id&&this.aNodes[B]._hc){this.nodeStatus(false,B,this.aNodes[B]._ls);this.aNodes[B]._io=false;this.closeAllChildren(this.aNodes[B])}};dTree.prototype.closeAllChildren=function(A){for(var B=0;B<this.aNodes.length;B++)if(this.aNodes[B].pid==A.id&&this.aNodes[B]._hc){if(this.aNodes[B]._io)this.nodeStatus(false,B,this.aNodes[B]._ls);this.aNodes[B]._io=false;this.closeAllChildren(this.aNodes[B])}};dTree.prototype.nodeStatus=function(B,A,C){eDiv=document.getElementById("d"+this.obj+A);eJoin=document.getElementById("j"+this.obj+A);if(this.config.useIcons){eIcon=document.getElementById("i"+this.obj+A);eIcon.src=(B)?this.aNodes[A].iconOpen:this.aNodes[A].icon}eJoin.src=(this.config.useLines)?((B)?((C)?this.icon.minusBottom:this.icon.minus):((C)?this.icon.plusBottom:this.icon.plus)):((B)?this.icon.nlMinus:this.icon.nlPlus);eDiv.style.display=(B)?"block":"none"};dTree.prototype.clearCookie=function(){var A=new Date(),B=new Date(A.getTime()-1000*60*60*24);this.setCookie("co"+this.obj,"cookieValue",B);this.setCookie("cs"+this.obj,"cookieValue",B)};dTree.prototype.setCookie=function(A,F,B,E,D,C){document.cookie=escape(A)+"="+escape(F)+(B?"; expires="+B.toGMTString():"")+(E?"; path="+E:"")+(D?"; domain="+D:"")+(C?"; secure":"")};dTree.prototype.getCookie=function(B){var E="",D=document.cookie.indexOf(escape(B)+"=");if(D!=-1){var A=D+(escape(B)+"=").length,C=document.cookie.indexOf(";",A);if(C!=-1)E=unescape(document.cookie.substring(A,C));else E=unescape(document.cookie.substring(A))}return(E)};dTree.prototype.updateCookie=function(){var A="";for(var B=0;B<this.aNodes.length;B++)if(this.aNodes[B]._io&&this.aNodes[B].pid!=this.root.id){if(A)A+=".";A+=this.aNodes[B].id}this.setCookie("co"+this.obj,A)};dTree.prototype.isOpen=function(A){var B=this.getCookie("co"+this.obj).split(".");for(var C=0;C<B.length;C++)if(B[C]==A)return true;return false};if(!Array.prototype.push)Array.prototype.push=function array_push(){for(var A=0;A<arguments.length;A++)this[this.length]=arguments[A];return this.length};if(!Array.prototype.pop)Array.prototype.pop=function array_pop(){lastElement=this[this.length-1];this.length=Math.max(this.length-1,0);return lastElement}