var uls = document.getElementById('menu').getElementsByTagName('ul'); // zbiór wszystkich wykazów w menu
var krok = 10; // liczba pixeli o jaką rozwinie/zwinie się menu
var hLi = 30;	// wysokość elementu listy
var tabOb = Array(); // tablica obiektów skojarzonych z wykazami
var v = 10; // liczba milisekund (ma wpływ na prędkość rozwijania/zwijania menu)

function obUl(ul,ruch)
{
	this.h = ul.getElementsByTagName('li').length*hLi;
	this.ul = ul;
	this.ruch = ruch;
}

function zmiana(nr)
{
	var h = parseInt(tabOb[nr].ul.style.height);
	var noweh = h+tabOb[nr].ruch*Math.min(krok,((tabOb[nr].ruch==1) ? tabOb[nr].h-h : h));
	tabOb[nr].ul.style.height = noweh + "px";
	if (noweh>0 && noweh<tabOb[nr].h)
		setTimeout("zmiana("+nr+")",v);
	else
		tabOb[nr].ruch = 0;
}

function podmenu(op)
{
	var ul = op.parentNode.getElementsByTagName('ul')[0];
	for (i=0;i<uls.length;i++)
		if (uls[i]==ul)
		{
			if (tabOb[i].ruch!=0)
				tabOb[i].ruch = -tabOb[i].ruch;
			else
			{
				tabOb[i].ruch = parseInt(ul.style.height) ? -1 : 1;
				zmiana(i);
			}
		}
		else
			if (parseInt(uls[i].style.height)>0)
			{
				if (tabOb[i].ruch==1)
					tabOb[i].ruch = -1;
				if (tabOb[i].ruch==0)
				{
					tabOb[i].ruch = -1;
					zmiana(i);
				}
			}
}

for (var i=0;i<uls.length;i++)
{
	uls[i].style.height = '0';
	uls[i].style.overflow = 'hidden';
	tabOb[i] = new obUl(uls[i],0);
}
