/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function Tree(id)
{
	this.id = id;
	
	this.click = function ()
	{
		ul_node = this.parentNode.getElementsByTagName("ul");
		for (var i = 0, el_node; i < ul_node.length; i++)
		{
			el_node = ul_node[i];
			el_node.style.display = el_node.style.display == 'none' ? 'block' : 'none';
			this.parentNode.className = this.parentNode.className.replace(/(^| +)(opened|closed)( +|$)/g, ' ') + ' ' + (el_node.style.display == 'none' ? 'closed' : 'opened');
			var hash=/^(.*)#(.*)$/;
		        if (hash.test(this.parentNode.childNodes[0].href)) return false; // brak reakcji na #;
			return;
		}
	}
	
	this.start = function (el)
	{
		for (var i = 0, el_node; i < el.childNodes.length; i++)
		{
			el_node = el.childNodes.item(i);
			switch(el_node.nodeName.toLowerCase())
			{
			case 'a':
				el_node.onclick = this.click;
				if (el_node.href == '') el_node.href = '/#';
				ul_node = el_node.parentNode.getElementsByTagName("ul");
				for (var j = 0; j < ul_node.length; j++)
				{
						el_node.parentNode.className += ' closed';
						el_node.className = (el_node.className ? el_node.className + ' ' : '') + 'folder';
						break;
				}
				if (el_node.href && unescape(window.location.href).match(unescape(el_node.href)))
				{
				   if(el_node.pathname == "/" && unescape(el_node.href) != unescape(window.location.href)) break;
					el_node.parentNode.className += ' active';
					var el_parentNode = el_node;
					do
					{						
						el_parentNode = el_parentNode.parentNode;
						if (el_parentNode.nodeName.toLowerCase() == 'ul')
						{
							el_parentNode.style.display = 'block';
							if (document.getElementById(this.id) != el_parentNode) el_parentNode.parentNode.className = el_parentNode.parentNode.className.replace(/(^| +)(opened|closed)( +|$)/g, ' ') + ' opened';
						}
					}
					while (document.getElementById(this.id) != el_parentNode)
					if(!ul_node.length &&  unescape(el_node.href) == unescape(window.location.href))
					{
                                                text = document.createTextNode(el_node.firstChild.nodeValue);
                                                el_node.parentNode.insertBefore(text, el_node.parentNode.firstChild);
                                		el_node.parentNode.removeChild(el_node);
                                        }
					
				}
				break;
				
			case 'ul':
                                el_node.style.display = 'none';
                                anchor = el_node.parentNode.getElementsByTagName("a")[0];
                                if (anchor.href && unescape(anchor.href) == unescape(window.location.href))
                                {
                                                el_node.parentNode.className = el_node.parentNode.className.replace(/(^| +)(opened|closed)( +|$)/g, ' ') + ' opened';
                                		el_node.style.display = 'block';
                                		text = document.createTextNode(anchor.firstChild.nodeValue);
                                		anchor.parentNode.insertBefore(text, anchor.parentNode.firstChild);
                                		anchor.parentNode.removeChild(anchor);
                                }
                                break;
                        }
			this.start(el_node);
 		}
	}
	
	if (document.getElementById && document.childNodes) this.start(document.getElementById(this.id));
}
