function NTreeFormat( fmt, tree ) { this.init = function( fmt, tree ) { this.left = fmt[0]; this.top = fmt[1]; this.showB = fmt[2]; this.clB = fmt[3][0]; this.exB = fmt[3][1]; this.iE = fmt[3][2]; this.Bw = fmt[4][0]; this.Bh = fmt[4][1]; this.Ew = fmt[4][2]; this.showF = fmt[5]; this.clF = fmt[6][0]; this.exF = fmt[6][1]; this.iF = fmt[6][2]; this.Fw = fmt[7][0]; this.Fh = fmt[7][1]; this.ident = fmt[8]; this.back = new NTreeBack(this.left, this.top, fmt[9], 'cls'+tree.name+'_back'); this.nst = fmt[10]; this.nstl = fmt[11]; this.so = fmt[12]; this.pg = fmt[13][0]; this.sp = fmt[13][1]; //preloading if (this.showB){ this.e = new Image(); this.e.src = this.clB; this.e1 = new Image(); this.e1.src = this.exB; this.e5 = new Image(); this.e5.src = this.iE; } if (this.showF){ this.e2 = new Image(); this.e2.src = this.exF; this.e3 = new Image(); this.e3.src = this.clF; this.e4 = new Image(); this.e4.src = this.iF; } } this.nstyle = function ( lvl ) { return ( und(this.nstl[lvl]) ) ? this.nst : this.nstl[lvl]; } this.idn = function( lvl ) { var r = ( und(this.ident[lvl]) ) ? this.ident[0]*lvl : this.ident[lvl]; return r; } this.init(fmt, tree); } function NosTree( name, nodes, format ) { this.name = name; this.fmt = new NTreeFormat(format, this); NTrees[this.name] = this; this.Nodes = new Array(); this.rootNode = new NTreeNode(null, "", "", "", null); this.rootNode.treeView = this; this.selectedNode = null; this.maxWidth = 0; this.maxHeight = 0; this.ondraw = null; this.nbn = function( nm ){ for (var i = 0;i 0; } this.init = function(){ var s = ""; if (bw.ns4) { s = ''+this.getContent()+''; } else { s = ''; } return s; } this.getH = function(){return bw.ns4 ? this.el.clip.height : this.el.offsetHeight;} this.getW = function(){return bw.ns4 ? this.el.clip.width : this.el.offsetWidth;} this.id = function(){return 'nt'+this.treeView.name+this.index;} this.getContent = function(){ function itemSquare(node){ var img = node.hasChildren() ? (node.expanded ? node.treeView.fmt.exF : node.treeView.fmt.clF) : node.treeView.fmt.iF; var w = node.treeView.fmt.Fw; var h = node.treeView.fmt.Fh; return "\n"; } function buttonSquare(node){ var img = node.expanded ? node.treeView.fmt.exB : node.treeView.fmt.clB; var w = node.treeView.fmt.Bw; var h = node.treeView.fmt.Bh; return '\n'; } function blankSquare(node, ww){ var img = node.treeView.fmt.iE; return "\n" } var s = ''; var ll = this.level(); s += ''; //ident var idn = this.treeView.fmt.idn(ll); if (idn > 0) s += blankSquare(this, idn); if ( this.treeView.fmt.showB) s += this.hasChildren() ? buttonSquare(this) : blankSquare(this, this.treeView.fmt.Ew); if ( this.treeView.fmt.showF) s += itemSquare(this); s += '
'+this.text+'
'; return s; } this.moveTo = function( x, y ) { if (bw.ns4) this.el.moveTo(x,y); else { this.el.style.left=x; this.el.style.top=y; } } this.show = function(sh) { if (this.visible == sh) return; this.visible = sh; var vis = bw.ns4 ? (sh ? 'show': 'hide') : (sh ? 'visible': 'hidden'); if (bw.ns4) this.el.visibility=vis; else this.el.style.visibility = vis; } this.hideChildren = function(){ this.show(false); for (var i = 0; i < this.children.length; i++) this.children[i].hideChildren(); } this.draw = function() { var ll = this.treeView.fmt.left;//this.treeView.fmt.idn(this.level()); this.moveTo(this.treeView.fmt.left, this.treeView.currTop); if (ll+this.getW() > this.treeView.maxWidth) this.treeView.maxWidth = ll+this.getW(); this.show(true); this.treeView.updateImages(this); this.treeView.currTop += this.getH(); if (this.treeView.currTop > this.treeView.maxHeight) this.treeView.maxHeight = this.treeView.currTop; if (this.expanded && this.hasChildren() ) for (var i = 0; i < this.children.length; i++) this.children[i].draw(); } } function NTreeBack( aleft, atop, color, name ) { this.left = aleft; this.top = atop; this.name = name; this.color = color; this.resize = function(w,h){ if (bw.ns4){ this.el.resizeTo(w,h); } else { this.el.style.width=w; this.el.style.height=h; } } this.init = function(){ if (bw.ns4) { var bgc = this.color == ""? "" : ' bgcolor="'+this.color+'" '; document.write(''); this.el = document.layers[this.name]; } else { document.write('
'); this.el = document.all? document.all[this.name] : document.getElementById(this.name); } } this.init(); } function none(){} function lib_bwcheck(){ this.ver=navigator.appVersion this.agent=navigator.userAgent this.dom=document.getElementById?1:0 this.opera=this.agent.indexOf("Opera")>-1 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera)?1:0; this.ie4=(document.all && !this.dom && !this.opera)?1:0; this.ie=this.ie4||this.ie5||this.ie6 this.mac=this.agent.indexOf("Mac")>-1 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera); } function und( val ) { return typeof(val) == 'undefined'; } var bw = new lib_bwcheck(); var NTrees; if (typeof(NTrees) == 'undefined') NTrees = new Array();