/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function MainMenu(id, style, otworz, wysun, czasRozwin, czasZwin, czasOtworz, czasZamknij)
{
        if (typeof czasRozwin == 'undefined' || czasRozwin < 0) czasRozwin = 25;
        if (typeof czasZwin == 'undefined' || czasZwin < 0) czasZwin = 25;
        if (typeof czasOtworz == 'undefined' || czasOtworz < 0) czasOtworz = 250;
        if (typeof czasZamknij == 'undefined' || czasZamknij < 0) czasZamknij = 500;
        
        if (style)
        {
                style = style.replace(/(^\s+|(\s|;)+$)/g, '').split(/\s*;\s*/);
                for (var i = 0; i < style.length; i++)
                {
                        style[i] = style[i].split(/\s*:\s*/);
                        for (var j = 0, c, property = ''; j < style[i][0].length; j++)
                        {
                                c = style[i][0].charAt(j);
                                property += c == '-' ? style[i][0].charAt(++j).toUpperCase() : c.toLowerCase();
                        }
                        eval('document.getElementById("' + id + '").style.' + property + ' = "' + style[i][1].replace(/"/g, '\\"') + '"');
                }
        }
        
        for (var i = 0; i < document.getElementById(id).getElementsByTagName('dt').length; i++)
        {
                var dd = new Array();
                var el = document.getElementById(id).getElementsByTagName('dt')[i].nextSibling;
                var nodeName;
                while (el && (nodeName = el.nodeName.toLowerCase()) != 'dt')
                {
                        if (nodeName == 'dd')
                        {
                                el._dt = document.getElementById(id).getElementsByTagName('dt')[i];
                                if (otworz)
                                {
                                        el.onmouseover = function()
                                        {
                                                clearTimeout(this._dt._timoutID);
                                                this._dt._displayed = false;
                                                this._dt.onclick();
                                        }
                                        el.onmouseout = function()
                                        {
                                                clearTimeout(this._dt._timoutID);
                                                var dt = this._dt;
                                                this._dt._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
                                        };
                                }
                                dd[dd.length] = el;
                        }
                        el = el.nextSibling;
                }
                document.getElementById(id).getElementsByTagName('dt')[i]._dd = dd;
                document.getElementById(id).getElementsByTagName('dt')[i]._timoutID = null;
                document.getElementById(id).getElementsByTagName('dt')[i]._displayed = false;
                document.getElementById(id).getElementsByTagName('dt')[i].onclick = function()
                {
                        if (window.scrollTo) window.scrollTo(0, 0);
                        clearTimeout(this._timoutID);
                        if (!this._displayed)
                        {
                                var el = this.parentNode.getElementsByTagName('dt')[0];
                                while (el)
                                {
                                        if (el.nodeName.toLowerCase() == 'dt' && el != this)
                                        {
                                                el._displayed = false;
                                                if (czasZwin) display(el, 0);
                                                else display(el);
                                        }
                                        el = el.nextSibling;
                                }
                        }
                        this._displayed = !this._displayed;
                        if (this._displayed && czasRozwin || !this._displayed && czasZwin) display(this, 0);
                        else display(this);
                        return false;
                };
                if (otworz)
                {
                        document.getElementById(id).getElementsByTagName('dt')[i].onmouseover = function()
                        {
                                clearTimeout(this._timoutID);
                                var dt = this;
                                this._timoutID = setTimeout(function () { dt._displayed = false; dt.onclick(); }, czasOtworz);
                        };
                        document.getElementById(id).getElementsByTagName('dt')[i].onmouseout = function()
                        {
                                clearTimeout(this._timoutID);
                                var dt = this;
                                this._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
                        };
                }
        }
        
        for (var i = 0, window_location = unescape(window.location.href); i < document.getElementById(id).getElementsByTagName('dd').length; i++)
        {
                with (document.getElementById(id).getElementsByTagName('dd')[i])
		{
			if (getElementsByTagName('a').length && getElementsByTagName('a')[0].href && unescape(getElementsByTagName('a')[0].href) == window_location) className = (className ? className + ' ' : '') + 'active';
		}
	}
	
	start(document.getElementById(id).getElementsByTagName('dt')[0]);
	
	function start(dt)
	{
		var hide = true;
		var el = dt;
		var window_location =unescape(window.location.href).replace(/\/[^,\/.]*,/, '/').replace(/\.html.+$/, '.html');
		while (el)
		{
			var nodeName = el.nodeName.toLowerCase();
			if (nodeName == 'dt')
			{
				dt = el;
				hide = true;
			}
			else if (nodeName == 'dd')
			{
				if (el.getElementsByTagName('a').length && el.getElementsByTagName('a')[0].href && unescape(el.getElementsByTagName('a')[0].href) == window_location)
				{
					dt._displayed = true;
					display(dt);
					hide = false;
					var el_parentNode = el.parentNode;
					while (el_parentNode != document.getElementById(id))
					{
						if (el_parentNode.nodeName.toLowerCase() == 'dd')
						{
							var el_sibling = el_parentNode.previousSibling;
							while (el_sibling)
							{
								if (el_sibling.nodeName.toLowerCase() == 'dt')
								{
									el_sibling._displayed = true;
									display(el_sibling)
									break;
								}
								el_sibling = el_sibling.previousSibling;
							}
						}
						el_parentNode = el_parentNode.parentNode;
					}
				}
				if (hide) el.style.display = 'none';
				start(el.getElementsByTagName('dt')[0]);
			}
			el = el.nextSibling;
		}
	}
	
	function display(dt, i)
	{
		if (typeof i == 'undefined')
		{
			for (var i = 0; i < dt._dd.length; i++)
			{
				dt._dd[i].style.display = dt._displayed ? 'block' : 'none';
			}
		}
		else if (i < dt._dd.length)
		{
			var dir = wysun ? !dt._displayed : dt._displayed;
			dt._dd[dir ? i : dt._dd.length - 1 - i].style.display = dt._displayed ? 'block' : 'none';
			dt._timoutID = setTimeout(function() { display(dt, i + 1); }, dt._displayed ? czasRozwin : czasZwin);
		}
	}
}



/**
 * @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 ()
	{
		for (var i = 0, el_node; i < this.parentNode.childNodes.length; i++)
		{
			el_node = this.parentNode.childNodes.item(i)
			if (el_node.nodeName.toLowerCase() == 'ul')
			{
				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');
				return;
			}
		}
	}
	
	this.start = function (el)
	{
		for (var i = 0, el_node; i < el.childNodes.length; i++)
		{
			el_node = el.childNodes.item(i);
			if (el_node.nodeName.toLowerCase() == 'a')
			{
				el_node.onclick = this.click;
				for (var j = 0; j < el_node.parentNode.childNodes.length; j++)
				{
					if (el_node.parentNode.childNodes.item(j).nodeName.toLowerCase() == 'ul')
					{
						el_node.parentNode.className += ' closed';
						el_node.className = (el_node.className ? el_node.className + ' ' : '') + 'folder';
						break;
					}
					if (el_node.parentNode.childNodes.item(j).nodeName.toLowerCase() == 'li') break;
				}
				if (el_node.href && unescape(el_node.href) == unescape(window.location.href))
				{
					el_node.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)
				}
			}
			else if (el_node.nodeName.toLowerCase() == 'ul') el_node.style.display = 'none';
			this.start(el_node);
		}
	}
	
	if (document.getElementById && document.childNodes) this.start(document.getElementById(this.id));
}



