var treeview = 
{
  	init : function()
  	{
		var oRoot = support.getElementsByClassName(document,"treeview");
			oRoot = (oRoot.length>-1) ? oRoot[0] : null;
		
		if (oRoot)
		{
			var links = oRoot.getElementsByTagName("A");
			
			for (var i=0; i<links.length; i++)
			{
				var link = links[i];
				var sibling = support.nextSibling(link);

				if ((sibling) && (sibling.tagName=="UL"))
				{
					var bClosed = (sibling.className.indexOf("closed")>-1);
				
					events.add(link,"click",treeview.click, false);
					if (!treeview.isRoot(link)) link.className = (bClosed) ? "expand":"collapse";
					support.addStyleRule("div.treeview ul ul.closed", "display:none");
				}
			}
		}
  	},
  	
  	isRoot : function(el)
  	{
		return ((el) && (el.parentNode) && (el.parentNode.parentNode) && (el.parentNode.parentNode.className=="treeview")) ? true : false;  	
  	},
  	
  	click : function(e)
  	{
		var e	= (e) ? e:event;
		var el	= (e.target) ? e.target : e.srcElement;
		var sibling	= support.nextSibling(el);
		var sLocation = new String(document.location.href);
		
		if (sibling)
		{
			var bClosed = (sibling.className.indexOf("closed")>-1);
			sibling.className = (bClosed) ? "open":"closed";
			el.title = (bClosed) ? "click to collapse":"click to expand"
			if (!treeview.isRoot(el)) el.className = (bClosed) ? "collapse":"expand";
		}
		
		// if we are on current page cancel event
		if (sLocation.indexOf(el.href)>-1) events.cancel(e);
  	}
}

// register event
events.add(window,"load",treeview.init);