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