if(!CNR){var CNR={}
}CNR.TreeBrowser=Class.create();
CNR.TreeBrowser.prototype={initialize:function(A,B){this.lastSelected=null;
this.clientId=A;
this.previousStyle=null;
this._lastExpandedElement=null;
this.options=B||{};
this.selectedStyle=this.options.selectedStyle||"menuSelected";
this.initialized=true
},setInitialSelection:function(C,A){if(C){this.setSelected($(C));
if(A){this.animationStarted();
var B=C.split("_");
id="";
i=0;
while(id!=C){if(id!=""){id=id+"_"
}id=id+B[i++];
Effect.BlindDown($(id),{duration:0,queue:"front"})
}this._lastExpandedElement=$(C);
this.animationFinished()
}}},toggleMenu:function(A){var C=$(A);
if(this._lastExpandedElement!=null&&this._lastExpandedElement==C){return 
}if(this._lastExpandedElement&&this._lastExpandedElement.id.indexOf(A)==0){suffix=this._lastExpandedElement.id.substring(A.length+1);
var B=suffix.split("_");
collapsed=this._lastExpandedElement.id;
this.animationStarted();
while(A.length<collapsed.length){Effect.BlindUp($(collapsed),{duration:0.25,queue:"front"});
if(collapsed.lastIndexOf("_")>0){collapsed=collapsed.substring(0,collapsed.lastIndexOf("_"))
}else{collapsed=""
}}this.animationFinished();
this._lastExpandedElement=C;
return 
}if(this._lastExpandedElement&&this._lastExpandedElement.id.indexOf(A)!=0&&A.indexOf(this._lastExpandedElement.id)!=0){commonNode=this._lastExpandedElement.id;
while(commonNode.length>0&&A.indexOf(commonNode)!=0){commonNode=commonNode.substring(0,commonNode.lastIndexOf("_"))
}this.animationStarted();
collapsed=this._lastExpandedElement.id;
while(collapsed.length>0&&collapsed!=commonNode){Effect.BlindUp($(collapsed),{duration:0.25,queue:"front"});
if(collapsed.lastIndexOf("_")>0){collapsed=collapsed.substring(0,collapsed.lastIndexOf("_"))
}else{collapsed=""
}}if(C.offsetHeight==0){Effect.BlindDown(C,{duration:0.25,queue:"end"})
}this._lastExpandedElement=C;
this.animationFinished();
return 
}this.animationStarted();
if(C.offsetHeight==0){Effect.BlindDown(C,{duration:0.25,queue:"end"})
}this._lastExpandedElement=C;
this.animationFinished()
},animationFinished:function(){if(this.initialized&&this.options.onFinish){this.options.onFinish(this._lastExpandedElement)
}},animationStarted:function(){if(this.initialized&&this.options.onStart){this.options.onStart(this._lastExpandedElement)
}},setSelected:function(A){if(A){if($(this.clientId+"Selected")){$(this.clientId+"Selected").value=A.id
}if(this.previousStyle&&this.lastSelected){this.lastSelected.className=this.previousStyle
}this.lastSelected=A;
this.previousStyle=A.className;
A.className=this.selectedStyle+" "+this.previousStyle
}}};