<!--
IE = (document.all)? true:false;

function menuHover(ID,hover)
{
	// 2007.03.01 - funkcja menuHover() - W.Włodarski (c)
	// [MSIE 6.x nie obsługuje pseudo-klasy ':hover' elementu '<td>' w CSSach]
	// ta funkcja podmienia 'class' w zależności od parametru 'hover'; gdy hover=1 -> załadowanie klasy '..._hover'
	if(hover == 1){
		object = document.getElementById(ID);
		object.className += "_hover";
		object.style.cursor = "pointer";
		}
	else{
		object = document.getElementById(ID);
		var str = object.className;
		object.className = str.replace(/_hover/,"");
		object.style.cursor = "default";
		}
}

function findPos(obj)
{
	// 2007.03.03 - funkcja findPos() - unknown author
	// funkcja zwraca tabelę z absolutnymi współrzędnymi zadanego obiektu
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent){
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;			
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function displayOn(ID,show)
{
	// 2007.03.03 - funkcja displayOn(ID,show) - W.Włodarski (c)
	// pokazywanie i ukrywanie obiektu
	object = document.getElementById(ID);
	if (show == 1)
		object.style.display = "block";
	else
		object.style.display = "none";
}

function makeTableVisible(ID,parentID,makeVisible,right)
{
	// 2007.03.03 - funkcja makeTableVisible() - W.Włodarski (c)
	// funkcja pozycjonuje zadany obiekt względem jego rodzica; następnie ten obiekt jest wyświetlany
	object = document.getElementById(ID);
	if (makeVisible == 1){
		parentObj = document.getElementById(parentID);
		parentCoords = findPos(parentObj);
		if (right == 1){
			object.style.top = parentCoords[1] + "px";
			object.style.left = parentCoords[0] + parentObj.offsetWidth - 1 + 1 + "px";
		}
		else{
			object.style.top = parentCoords[1] + parentObj.offsetHeight - 1 + 1 + "px";
			object.style.left = parentCoords[0] + 2 + "px";		
		}
		displayOn(ID,1);
	}
	else{
		displayOn(ID,0);
	}
}


function menuEffect(ID,makeVisible,expandible)
{
	// 2007.0303 - funkcja menuEffects() - W.Włodarski (c)
	// funkcja ma za zadanie zautomatyzowanie pokazywania i ukrywania kolejnych elementów menu,
	// a w szczególności redukcję kodu JS w tagach 'onMouseOver' i '...Out' w dokumencie html
	// 'ID' wskazuje element, nad którym znajduje sie mysz; 'makeVisible' mówi czy pokazać czy ukryć menu / podmenu
	// UWAGA! Żadna wartość 'level_xx...' w HTML i CSS nie może ulec zmianie - bardzo ważna jest ilość liter w tych nazwach,
	// czyli 'level' - 5 znaków, a każde pole '_xx' musi być trzyznakowe - dzięki temu skrypt sam rozpoznaje 'level'
	str = new String(ID);
	strLength = str.length;
	
// część odpowiedzialna za PODŚWIETLANIE elementów menu
	newLength = strLength;
	while (newLength > 5)
	{
		// np. menuHover('level_01_01_01_04',1) ==> ... ==> menuHover('level_01',1)
		menuHover(str.substring(0,newLength),makeVisible);
		newLength -= 3;
	}
	menuHover('menuButton',makeVisible);
	
// część odpowiedzialna za POKAZYWANIE elementów menu	
	newLength = 8;
	newStr = str.slice(0,8); // dlatego nie 'level' bo pierwsza tabela ma inne id => wyjątkowo 'mainMenu'

	makeTableVisible('mainMenu','menuButton',makeVisible,0);
	while (newLength < strLength)
	{
		// np. makeTableVisible('level_01_xx','level_01',1,1) ==> ... ==> makeTableVisible('level_01_01_01_xx','level_01_01_01',1,1)
		makeTableVisible(newStr + "_xx",newStr,makeVisible,1);
		newStr += "_01";
		newLength += 3;
	}
	
// część odpowiedzialna za pokazywanie podmenu, jeśli tekowe istnieje
	if (expandible == 1){
		makeTableVisible(str + "_xx",str,makeVisible,1);
	}
}
-->