
///Treeview///
	Array.prototype.indexOf = IndexOf;
	
	
	function ToggleClass(element, firstClass, secondClass, event)
	{
		event.cancelBubble = true;
		
		var classes = element.className.split(" ");
		var firstClassIndex = classes.indexOf(firstClass);
		var secondClassIndex = classes.indexOf(secondClass);
		
		if (firstClassIndex == -1 && secondClassIndex == -1)
		{
			classes[classes.length] = firstClass;
		}
		else if (firstClassIndex != -1)
		{
			classes[firstClassIndex] = secondClass;
		}
		else
		{
			classes[secondClassIndex] = firstClass;
		}
		
		element.className = classes.join(" ");
		
	}
	
	function IndexOf(item)
	{
		for (var i=0; i < this.length; i++)
		{        
			if (this[i] == item)
			{
				return i;
			}
		}
		
		return -1;
	}
	
	function ToggleNodeStateHandler(event)
	{
		ToggleClass(this, "Collapsed", "Expanded", (event == null) ? window.event : event);
	}
	
	function PreventBubbleHandler(event)
	{
		if (!event) event = window.event;
		event.cancelBubble = true;
	}
	
	function SetupTreeView(elementId)
	{
		var tree = document.getElementById(elementId);
		var treeElements = tree.getElementsByTagName("li");
		
		for (var i=0; i < treeElements.length; i++)
		{
			if (treeElements[i].getElementsByTagName("ul").length > 0)
			{
				treeElements[i].onclick = ToggleNodeStateHandler; 
			}
			else
			{
				treeElements[i].onclick = PreventBubbleHandler; 
			}
		}
	}
//////////////
