function Node(id,pid,name,url,title,target,icon,iconOpen,open,edit,selected){this.id=id;this.pid=pid;this.name=name;this.url=url;this.title=title;this.target=target;this.icon=icon;this.iconOpen=iconOpen;this._io=open||false;if(selected!='undefined'&&selected==true)
this._is=true;else
this._is=false;this._ls=false;this._hc=false;this._ai=0;this._p;this.edit=edit;};function dTree(objName,img_path,obj_unique_id){this.config={target:null,folderLinks:true,useSelection:true,useCookies:true,useLines:true,useIcons:true,useStatusText:false,closeSameLevel:false,inOrder:false};this.icon={root:img_path+'img/base.gif',folder:img_path+'img/folder.gif',folderOpen:img_path+'img/folderopen.gif',node:img_path+'img/page.gif',empty:img_path+'img/empty.gif',line:img_path+'img/line.gif',join:img_path+'img/join.gif',joinBottom:img_path+'img/joinbottom.gif',plus:img_path+'img/plus.gif',plusBottom:img_path+'img/plusbottom.gif',minus:img_path+'img/minus.gif',minusBottom:img_path+'img/minusbottom.gif',nlPlus:img_path+'img/nolines_plus.gif',nlMinus:img_path+'img/nolines_minus.gif'};this.obj=objName;this.obj_unique_id=obj_unique_id;this.aNodes=[];this.aIndent=[];this.root=new Node(-1);this.selectedNode=null;this.selectedFound=false;this.completed=false;this.changeLeftMenuImageOnMouseOver=function(id)
{var el=document.getElementById('img_'+this.obj_unique_id+'_'+id);if(el){if(el.src.search('&active_image=true')<0){el.src=el.src+'&active_image=true';}}};this.changeLeftMenuImageOnMouseOut=function(id)
{var el=document.getElementById('img_'+this.obj_unique_id+'_'+id);if(el)
{{el.src=el.src.replace('&active_image=true','');}}};};dTree.prototype.add=function(id,pid,name,url,title,target,icon,iconOpen,open,edit,selected){this.aNodes[this.aNodes.length]=new Node(id,pid,name,url,title,target,icon,iconOpen,open,edit,selected);};dTree.prototype.openAll=function(){this.oAll(true);};dTree.prototype.closeAll=function(){this.oAll(false);};dTree.prototype.toString=function(){var str='<div class="dtree">\n';if(document.getElementById){if(this.config.useCookies)this.selectedNode=this.getSelected();str+=this.addNode(this.root);}else str+='Browser not supported.';str+='</div>';if(!this.selectedFound)this.selectedNode=null;this.completed=true;return str;};dTree.prototype.addNode=function(pNode){var str='';var n=0;if(this.config.inOrder)n=pNode._ai;for(n;n<this.aNodes.length;n++){if(this.aNodes[n].pid==pNode.id){var cn=this.aNodes[n];cn._p=pNode;cn._ai=n;this.setCS(cn);if(!cn.target&&this.config.target)cn.target=this.config.target;if(cn._hc&&!cn._io&&this.config.useCookies)cn._io=this.isOpen(cn.id);if(!this.config.folderLinks&&cn._hc)cn.url=null;if(this.config.useSelection&&cn.id==this.selectedNode&&!this.selectedFound){cn._is=true;this.selectedNode=n;this.selectedFound=true;}
str+=this.node(cn,n);if(cn._ls)break;}}
return str;};dTree.prototype.node=function(node,nodeId){var str='<div class="dTreeNode">';str+=this.indent(node,nodeId);if(this.config.useIcons){if(this.root.id==node.pid){node.icon=this.icon.folder;node.iconOpen=this.icon.folderOpen;}
if(this.root.id==node.pid)
{}
else
{str+='<a href="javascript: '+this.obj+'.o('+nodeId+');" style="color: black;">';var strNodeClass='node_open';if(!node._io)strNodeClass='node_closed';if(!node._hc)strNodeClass='node_nochild';str+='<img style="margin:0" border=0 id="i'+this.obj+nodeId+'" class='+strNodeClass+' src="/templates/default/img/empty.gif" alt="" /></a>';if(node.edit&&window['EDIT_komponent_'+this.obj_unique_id+'_'+node.edit]!=='undefined')
{str+='<a href="#" onClick="return clickreturnvalue(); alert(\''+node.edit+'\');" onMouseover="dropdownmenu(this, event, EDIT_komponent_'+this.obj_unique_id+'_'+node.edit+', \'150px\')" onMouseout="delayhidemenu()"><img src="/templates/default/img/empty.gif" style="vertical-align:middle; border:0px;" alt="" class="node_edit" /></a>';}}}
if(node.url){str+='<a id="s'+this.obj+nodeId+'" class="'+((this.config.useSelection)?((node._is?'nodeSel nodeActive':'node')):'node')+'" href="'+node.url+'"';var myRe=new RegExp("<img(.*)>");if(node.title)str+=' title="'+node.title.replace(myRe,'')+'"';if(node.target)str+=' target="'+node.target+'"';str+=' onmouseover="javascript: '+this.obj+'.changeLeftMenuImageOnMouseOver('+nodeId+');" onmouseout="javascript: '+this.obj+'.changeLeftMenuImageOnMouseOut('+nodeId+');" ';if(this.config.useSelection&&((node._hc&&this.config.folderLinks)||!node._hc))
str+=' onclick="javascript: '+this.obj+'.s('+nodeId+'); '+this.obj+'.o('+nodeId+'); "';str+='>';}
else if((!this.config.folderLinks||!node.url)&&node._hc&&node.pid!=this.root.id)
str+='<a href="javascript: '+this.obj+'.o('+nodeId+');" class="node">';if(node.iconOpen=='image'||node.iconOpen=='both'){str+='<img src="/moodul.php?moodul=Admin&Komponent=Struktuur&show_image_id='+node.id+'&notemplate=1'+(node._is?'&active_image=true':'')+'"';str+='   border="0" id="img_'+this.obj_unique_id+'_'+nodeId+'" class="left_menu_link_img" /> ';}
if(node.iconOpen=='text'||node.iconOpen=='both'||node.iconOpen==''){str+=node.name;}
if(node.url||((!this.config.folderLinks||!node.url)&&node._hc))str+='</a>';str+='</div>';if(node._hc){str+='<div id="d'+this.obj+nodeId+'" class="clip" style="display:'+((this.root.id==node.pid||node._io)?'block':'none')+';">';str+=this.addNode(node);str+='</div>';}
this.aIndent.pop();return str;};dTree.prototype.indent=function(node,nodeId){var str='';if(this.root.id!=node.pid){for(var n=0;n<this.aIndent.length;n++)
str+='<img style="margin:0" class="node_offset" border=0 src="'+((this.aIndent[n]==1&&this.config.useLines)?this.icon.line:this.icon.empty)+'" alt="" />';(node._ls)?this.aIndent.push(0):this.aIndent.push(1);if(node._hc){str+='<a href="javascript: '+this.obj+'.o('+nodeId+');"><img  class="node_offset" style="margin:0" border=0 id="j'+this.obj+nodeId+'" src="';if(!this.config.useLines)str+=(node._io)?this.icon.nlMinus:this.icon.nlPlus;else str+=((node._io)?((node._ls&&this.config.useLines)?this.icon.minusBottom:this.icon.minus):((node._ls&&this.config.useLines)?this.icon.plusBottom:this.icon.plus));str+='" alt="" /></a>';}else str+='<img style="margin:0"  class="node_offset" border=0 src="'+((this.config.useLines)?((node._ls)?this.icon.joinBottom:this.icon.join):this.icon.empty)+'" alt="" />';}
return str;};dTree.prototype.setCS=function(node){var lastId;for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n].pid==node.id)node._hc=true;if(this.aNodes[n].pid==node.pid)lastId=this.aNodes[n].id;}
if(lastId==node.id)node._ls=true;};dTree.prototype.getSelected=function(){var sn=this.getCookie('cs'+this.obj);return(sn)?sn:null;};dTree.prototype.s=function(id){if(!this.config.useSelection)return;var cn=this.aNodes[id];if(cn._hc&&!this.config.folderLinks)return;if(this.selectedNode!=id){if(this.selectedNode||this.selectedNode==0){eOld=document.getElementById("s"+this.obj+this.selectedNode);eOld.className="node";}
eNew=document.getElementById("s"+this.obj+id);eNew.className="nodeSel";this.selectedNode=id;if(this.config.useCookies){this.setCookie('cs'+this.obj,cn.id);}}};dTree.prototype.o=function(id){if(showAllNodes==1)
{this.oAll(true);}
else
{var cn=this.aNodes[id];this.nodeStatus(!cn._io,id,cn._ls);cn._io=!cn._io;if(this.config.closeSameLevel)this.closeLevel(cn);if(this.config.useCookies)this.updateCookie();}};dTree.prototype.oAll=function(status){for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n]._hc&&this.aNodes[n].pid!=this.root.id){this.nodeStatus(status,n,this.aNodes[n]._ls)
this.aNodes[n]._io=status;}}
if(this.config.useCookies)this.updateCookie();};dTree.prototype.openTo=function(nId,bSelect,bFirst){if(!bFirst){for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n].id==nId){nId=n;break;}}}
var cn=this.aNodes[nId];if(cn.pid==this.root.id||!cn._p)return;cn._io=true;cn._is=bSelect;if(this.completed&&cn._hc)this.nodeStatus(true,cn._ai,cn._ls);if(this.completed&&bSelect)this.s(cn._ai);else if(bSelect)this._sn=cn._ai;this.openTo(cn._p._ai,false,true);};dTree.prototype.closeLevel=function(node){for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n].pid==node.pid&&this.aNodes[n].id!=node.id&&this.aNodes[n]._hc){this.nodeStatus(false,n,this.aNodes[n]._ls);this.aNodes[n]._io=false;this.closeAllChildren(this.aNodes[n]);}}};dTree.prototype.closeAllChildren=function(node){for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n].pid==node.id&&this.aNodes[n]._hc){if(this.aNodes[n]._io)this.nodeStatus(false,n,this.aNodes[n]._ls);this.aNodes[n]._io=false;this.closeAllChildren(this.aNodes[n]);}}};dTree.prototype.nodeStatus=function(status,id,bottom){eDiv=document.getElementById('d'+this.obj+id);eJoin=document.getElementById('j'+this.obj+id);if(eDiv==null)return;if(this.config.useIcons){eIcon=document.getElementById('i'+this.obj+id);eIcon.className=(status)?'node_open':'node_closed';}
eDiv.style.display=(status)?'block':'none';};dTree.prototype.clearCookie=function(){var now=new Date();var yesterday=new Date(now.getTime()-1000*60*60*24);this.setCookie('co'+this.obj,'cookieValue',yesterday);this.setCookie('cs'+this.obj,'cookieValue',yesterday);};dTree.prototype.setCookie=function(name,value,expires,path,domain,secure)
{var today=new Date();today.setTime(today.getTime());path='/';if(expires)
{expires=expires*1000*60*60*24;}
var expires_date=new Date(today.getTime()+(expires));document.cookie=name+"="+escape(value)+
((expires)?";expires="+expires_date.toGMTString():"")+
((path)?";path="+path:"")+
((domain)?";domain="+domain:"")+
((secure)?";secure":"");};dTree.prototype.getCookie=function(check_name){var a_all_cookies=document.cookie.split(';');var a_temp_cookie='';var cookie_name='';var cookie_value='';var b_cookie_found=false;for(i=0;i<a_all_cookies.length;i++)
{a_temp_cookie=a_all_cookies[i].split('=');cookie_name=a_temp_cookie[0].replace(/^\s+|\s+$/g,'');if(cookie_name==check_name)
{b_cookie_found=true;if(a_temp_cookie.length>1)
{cookie_value=unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g,''));}
return(cookie_value);break;}
a_temp_cookie=null;cookie_name='';}
if(!b_cookie_found)
{return'';}};dTree.prototype.updateCookie=function(){var str='';for(var n=0;n<this.aNodes.length;n++){if(this.aNodes[n]._io&&this.aNodes[n].pid!=this.root.id){if(str)str+='.';str+=this.aNodes[n].id;}}
this.setCookie('co'+this.obj,str);};dTree.prototype.isOpen=function(id){var aOpen=this.getCookie('co'+this.obj).split('.');for(var n=0;n<aOpen.length;n++)
if(aOpen[n]==id)return true;return false;};if(!Array.prototype.push){Array.prototype.push=function array_push(){for(var i=0;i<arguments.length;i++)
this[this.length]=arguments[i];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;}};
