/*--------------------------------------------------|| dTree 2.05 | www.destroydrop.com/javascript/tree/ ||---------------------------------------------------|| Copyright (c) 2002-2003 Geir Landrö || || This script can be used freely as long as all || copyright messages are intact. || || Updated: 17.04.2003 ||--------------------------------------------------*//*Node object*/function Node(id,pid,name,url,radio,title,target,icon,iconOpen,open){this.id=id;this.pid=pid;this.name=name;this.url=url;this.radio=radio;this.title=title;this.target=target;this.icon=icon;this.iconOpen=iconOpen;this._io=open||false;this._is=false;this._ls=false;this._hc=false;this._ai=0;this._p;};/*Tree object*/function dTree(objName){this.config={target:null,folderLinks:true,useSelection:true,useCookies:true,useLines:true,useIcons:true,useStatusText:false,closeSameLevel:true,inOrder:false};this.icon={root:'dtroot',folder:'dtfolder',folderOpen:'dtfolderOpen',node:'dtnode',empty:'dtempty',line:'dtline',join:'dtjoin',joinBottom:'dtjoinBottom',plus:'dtplus',plusBottom:'dtplusBottom',minus:'dtminus',minusBottom:'dtminusBottom',nlPlus:'dtnlPlus',nlMinus:'dtnlMinus'};this.obj=objName;this.aNodes=[];this.aIndent=[];this.root=new Node(-1);this.selectedNode=null;this.selectedFound=false;this.completed=false;};/*Adds a new node to the node array*/dTree.prototype.add=function(id,pid,name,url,radio,title,target,icon,iconOpen,open){this.aNodes[this.aNodes.length]=new Node(id,pid,name,url,radio,title,target,icon,iconOpen,open);};/*Open/close all nodes*/dTree.prototype.openAll=function(){this.oAll(true);};dTree.prototype.closeAll=function(){this.oAll(false);};/*Outputs the tree to the page*/dTree.prototype.toString=function(){var str='
\n';if(document.getElementById){if(this.config.useCookies){this.selectedNode=this.getSelected();}str+=this.addNode(this.root);}else{str+='Browser not supported.';}str+='
';if(!this.selectedFound){this.selectedNode=null;}this.completed=true;return str;};/*Creates the tree structure*/dTree.prototype.addNode=function(pNode){var str='';var n=0;if(this.config.inOrder){n=pNode._ai;}for(n;n ';}str+=node.radio?'':'';if(node.url){str+='';}str+=node.name;str+=(node.url||((!this.config.folderLinks||!node.url)&&node._hc))?'':'';str+=node._hc?'
'+this.addNode(node)+'
':'';this.aIndent.pop();return str;};/*Adds the empty and line icons*/dTree.prototype.indent=function(node,nodeId){var str='';if(this.root.id!=node.pid){for(var n=0;n ';}(node._ls)?this.aIndent.push(0):this.aIndent.push(1);if(node._hc){str+=' ';} else{str+=' ';}}return str;};/*Checks if a node has any children and if it is the last sibling*/dTree.prototype.setCS=function(node){var lastId;for(var n=0;n