// URL: http://www.softdrawer.com/products/tree_pro/ // Email: info@softdrawer.com // Version: 3.0.3 // Last Modify: 21 Jun 2003 // Notes: Registration needed to use this script on your web site. // Copyright (c) 1999-2003 by SoftDrawer.Com bw=new Browser(); function SoftDrawerTreePRO(name,def){ this.def=def;this.format=def.format;this.name=name;this.num=0;this.anim_ref=0;this.id='SDTree'+name; this.nodes=[];this.root={id:name+"_i"};this.root.level_format=this.format; this.root.format=this.format; this.root.sub=def.sub;eval("window."+this.id+"=this"); if (!bw) bw=new Browser(); this.init=function(){ this.code=''; this.cook=this.format.save_state?this.get_cookie(this.name+'_S'):null; this.back=new DHTMLObject(this.name+'_back'); this._init(null,this.root,-1,0); if (!this.format.no_images) {var f=this.format;pldImg([f.e_image,f.c_image])}; document.write(this.back.draw(this.format.left,this.format.top,this.format.width,this.format.height,this.getp(this.root,"back_bgcolor",0),0,1,this.getp(this.root,"back_class",0),this.code,this.format.relative||0)); this.back.init();if (this.format.dont_resize_back)this.back.show(); }; this._init=function(parent,node,lvl,num){ if(!node) return; node.parent=parent; node.id=node.id||node.parent.id+"_"+num;node.lvl=lvl;node.ind=(this.num++)-1; if(node!=this.root){ if (this.format.save_state&&node.sub&&this.cook!=null&&this.cook.charAt(node.ind)=='1') node.exp=1; this.nodes[node.id]=node;var s=this.init_item(node); node.obj=new DHTMLObject(node.id); this.code+=(node.obj.draw(0,0,this.getp(node,"width","100%"),0,this.getp(node,"bgcolor",0),0,(1000-this.num),this.getp(node,"div_class",0),s)); } if(node.sub) for(var i=0;i':''; }; this.init_item=function(n){ var tc=this.getp(n,"table_class",0); var s=''; s+=this.indent_code(n); var img=this.getp(n,(n.sub?n.exp?"e":"c":"i")+"_image",this.format.b_image); var sz=this.getp(n,"img_size",[32,16]); s+=!this.getp(n,"no_images",0)?'':''; var bgc=this.getp(n,"item_bgcolor",0);bgc=bgc?' bgcolor="'+bgc+'"':' '; var targ=n.target||this.format.target||0; tc=this.getp(n,"item_class",0);var lc=this.getp(n,"link_class",0); var hr='Toggle(\''+this.name+'\',\''+n.id.substr(this.name.length+3)+'\',1)'; s+=''; s+="
'+(n.sub?'':'')+''+(n.sub?'':'')+''+n.html+''+'
"; return s; }; this.get_image=function(par,name){return bw.dom?document.getElementById(name):bw.ie4?document.all[name]:bw.ns4?par.el.document.images[name]:[]}; this.update=function(n){ if(this.format.no_images) return; var src=this.getp(n,(n.sub?n.exp?"e":"c":"i")+"_image",this.format.b_image); var img=this.get_image(n.obj,n.id+'_img')||[]; img.src=src; }; this.close_level=function(p,n){ for(var i=0;i0){return}; var n=this.nodes[id]; n.exp=!n.exp; if(this.format.save_state)this.save(); if(n.exp&&this.format.one_branch) this.close_level(n.parent,n); this.update(n); if(this.format.animation&&n.sub&&n.exp) this.collapse_children(n,n.obj.x,n.obj.y,0,0,0); if(n.sub&&!n.exp) this.collapse_children(n,n.obj.x,n.obj.y,this.format.animation,1,1,1); this.draw(0); }; this.collapse_children=function(n,x,y,anim,f,hide,no_move){ if(!n.obj.el) n.obj.init(this.back); if(f)if(!anim){if(!no_move)n.obj.move(x,y);if(hide)n.obj.hide()} else this.slide(n,x,y,this.format.anim_step||20,this.format.anim_timer||20,hide?n.obj.name+".hide()":''); var e=[x,y];if(n.sub) for(var i=0;i-1;this.opera6=this.agent.indexOf("Opera 5")>-1;this.opera7=(this.agent.indexOf("Opera/7")>-1)||(this.agent.indexOf("Opera 7")>-1);this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;this.ie4=(document.all && !this.dom && !this.opera5)?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.operaOld=window.opera&&!this.opera7;this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5||this.opera6||this.opera7);return this}; function DHTMLObject(id){ this.id=id;if(!bw.bw) return; this.name='DHTMLObject_'+this.id; this.init=function(ns4p){this.el=bw.dom?document.getElementById(this.id):bw.ie4?document.all[this.id]:bw.ns4?ns4p?ns4p.doc.layers[this.id]:document.layers[this.id]:0;if(!this.el) return;this.css=bw.dom||bw.ie4?this.el.style:this.el;this.doc=bw.dom||bw.ie4?document:this.css.document;this.x=parseInt(this.css.left)||this.css.pixelLeft||this.el.offsetLeft||0;this.y=parseInt(this.css.top)||this.css.pixelTop||this.el.offsetTop||0;this.w=this.el.offsetWidth||this.css.clip.width||this.doc.width||this.css.pixelWidth||0;this.h=this.el.offsetHeight||this.css.clip.height||this.doc.height||this.css.pixelHeight||0;this.h=bw.opera7?this.el.firstChild.offsetHeight:this.h;this.w=bw.opera7?this.el.firstChild.offsetWidth:this.w;if(this.initClip)this.initClip()}; this.draw=function(x,y,w,h,bg,v,z,css,code,rel,mover,mout){return (bw.ns4?'<'+(rel?'i':'')+'layer id="'+this.id+'" z-index='+z+' left='+x+' top='+y+' '+(w&&w!='auto'?'width='+w:'')+' height='+h+(!v?' visibility=hidden':'')+(bg!=""?' bgcolor="'+bg+'"':'')+(css!=''?' class="'+css+'"':'')+(mover?' onmouseover="'+mover+'"':'')+(mout?' onmouseout="'+mout+'"':'')+'>'+code+'':'
'+code+'
')}; this.move=function(x,y){this.css.left=this.x=x;this.css.top=this.y=y}; this.moveBy=function(x,y){this.css.left=this.x+=x; this.css.top=this.y+=y}; this.resize=function(w,h,clip){this.css.pixelWidth=this.css.width=this.w=w;this.css.pixelHeight=this.css.height=this.h=h;if(clip&&this.clip)this.clip(0,w,h,0)}; this.show=function(){this.css.visibility="visible"}; this.hide=function(){this.css.visibility="hidden"}; this.bgColor=function(color){if(bw.opera) this.css.background=color; else if(bw.dom || bw.ie4) this.css.backgroundColor=color; else if(bw.ns4) this.css.bgColor=color}; this.slide=function(toX,toY,step,speed,execDone,execStep){if(!this.inWay){var newX=toX-this.x;var newY=toY-this.y;var num=Math.sqrt(Math.pow(newX,2)+Math.pow(newY,2))/step;var stepX=newX/num; var stepY=newY/num;this.inWay=1;this.slideInt(stepX,stepY,toX,toY,speed,execDone,execStep)}}; this.slideInt=function(stepX,stepY,toX,toY,speed,execDone,execStep){function fabs(v){return Math.floor(Math.abs(v))};if(this.inWay&&(fabs(stepX)0?t:0;this.cr=r>0?r:0;this.cb=b>0?b:0;this.cl=l>0?l:0;this.css.clip="rect("+this.ct+","+this.cr+","+this.cb+","+this.cl+")"}if(resize)this.resize(this.cr,this.cb,0)}; eval(this.name+'=this'); return this; } function pldImg(arg){for(var i in arg)if(arg[i]&&arg[i]!=''){var im=new Image();im.src=arg[i];}} function und(val){return typeof(val)=='undefined'} function Toggle(name,id,br){void(eval('SDTree'+name+'.click(\''+name+'_i_'+id+'\','+br+')'));}