function CukeSimpleTree( idUL, skin, hasRoot, basehref )
{
	var ul = this._ul = document.getElementById(idUL);
	ul.className='cukeSimpleTree'+skin;
	this._internalBSTree(ul,'CukeSimpleTree/'+skin+'/',hasRoot, basehref);
    ul.style.display='block';
}
CukeSimpleTree.prototype._internalBSTree=function(ul,skin,hasRoot,basehref)
{
	ul.removeAttribute('style');
	var li = ul.firstChild,i=null,u=null,oneOpen=false,thisSelected,isOpen;
	while(li)
	{
		if(li.nodeName=="LI"&&li.firstChild) 
		{
			i=document.createElement('img');
			i.align='absmiddle';
			li.insertBefore(i,li.firstChild);
			if( hasRoot ) 
			{
				i.src=basehref+skin+"root.gif";
				li.className+=" root"; 
				hasRoot = 0;
			}
			else
			{
				thisSelected=li.className.indexOf('selected')>=0;
				oneOpen|=thisSelected;
				u=li.firstChild;while(u&&u.nodeName!="UL")u=u.nextSibling;
				if(u)
				{
					isOpen=false;
					if(thisSelected)
					{
						if(li.className.indexOf('closed')<0)
						{
							isOpen=true;
							if( li.className.indexOf('opened')<0)li.className+=' opened';
						}
						this._internalBSTree(u,skin,basehref);
					}
					else if(this._internalBSTree(u,skin,basehref))
					{
						li.className='opened selectedPath';
						isOpen=true;
					}
					else li.className='closed';
					if(isOpen) {oneOpen=true;i.src=basehref+skin+"minus.gif";}
					else i.src=basehref+skin+"plus.gif";
					i.onclick=function(){var s=this.parentNode.className;var i=s.indexOf('opened');if(i>=0){s=s.replace(/opened/g,'closed');this.src=basehref+skin+'plus.gif';}else{s=s.replace(/closed/g,'opened');this.src=basehref+skin+'minus.gif';}this.parentNode.className=s;return false;}
				}
				else i.src=basehref+skin+"noexpand.gif";
			}
		}
		li=li.nextSibling;
	}
	return oneOpen;
}
