function wc3tree(e)
{
	e.className = 'wc3';
	var li = e.getElementsByTagName('li');
	for(var i = 0; i < li.length; i++)
	{
		var ul = li[i].getElementsByTagName('ul');
		if(ul.length > 0)
		{
			li[i].className = 'open';
			li[i].onclick = function(e)
			{
				var classes = {'open': 'collapsed', 'collapsed': 'open', 'lastopen': 'lastcollapsed', 'lastcollapsed': 'lastopen'};
				if(!e)
					var e = window.event;
				e.cancelBubble = true;
				if(e.stopPropagation)
					e.stopPropagation();
				var t;
				if(e.target)
					t = e.target;
				else if(e.srcElement)
					t = e.srcElement;
				if(t.nodeType == 3)
					t = t.parentNode;
				var curleft = curtop = 0;
				if(t.offsetParent)
				{
					do {
						curleft += t.offsetLeft;
						curtop += t.offsetTop;
					} while (t = t.offsetParent);
				}
				var posx = 0;
				var posy = 0;
				if(e.pageX || e.pageY)
				{
					posx = e.pageX;
					posy = e.pageY;
				}
				else if(e.clientX || e.clientY) 	{
					posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
					posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
				}
				if(posx - curleft > 12)
					return;
				if(posy - curtop > 12)
					return;
				// this.className = (this.className.substring(0, 4) == 'last' ? (this.className == 'lastopen' ? 'lastcollapsed' : 'lastopen') : (this.className == 'open' ? 'collapsed' : 'open'));
				if(classes[this.className])
					this.className = classes[this.className];
			}
		}
		else
		{
			li[i].className = 'tree';
		}
		if(!wc3_nextElement(li[i]))
		{
			li[i].className = 'last' + li[i].className;
		}
	}
}
function wc3_nextElement(node)
{
	try
	{
		for(node = node.nextSibling; node.nodeType != 1; node = node.nextSibling);
		return node;
	}
	catch (e)
	{
		return false;
	}
}
function wc3click(e)
{
	var classes = {'open': 'collapsed', 'collapsed': 'open', 'lastopen': 'lastcollapsed', 'lastcollapsed': 'lastopen'};
	if(classes[this.className])
		this.className = classes[this.className];
return;
	e.cancelBubble = true;
	if(e.stopPropagation)
		e.stopPropagation();
	var t = e;
	if(t.nodeType == 3)
		t = t.parentNode;
	var curleft = curtop = 0;
	if(t.offsetParent)
	{
		do {
			curleft += t.offsetLeft;
			curtop += t.offsetTop;
		} while (t = t.offsetParent);
	}
	var posx = 0;
	var posy = 0;
	if(e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if(e.clientX || e.clientY)
	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	if(posx - curleft > 12)
		return;
	if(posy - curtop > 12)
		return;
}
function wc3treeall()
{
        var ul = document.getElementsByTagName('ul');
        for(var i = 0; i < ul.length; i++)
        {
                if(ul[i].className.indexOf('wc3tree') >= 0)
                {
                        wc3tree(ul[i]);
                }
        }
}

