var grafikaZwiniete = new Image(20, 16);
grafikaZwiniete.src = "graf/start.gif";
var grafikaZwinieteStart = new Image(20, 16);
grafikaZwinieteStart.src = "graf/start.gif";
var grafikaZwinieteEnd = new Image(20, 16);
grafikaZwinieteEnd.src = "graf/start.gif";
var grafikaRozwiniete = new Image(20, 16);
grafikaRozwiniete.src = "graf/end.gif";
var grafikaRozwinieteStart = new Image(20, 16);
grafikaRozwinieteStart.src = "graf/end.gif";
var grafikaRozwinieteEnd = new Image(20, 16);
grafikaRozwinieteEnd.src = "graf/end.gif";
var grafikaWezel = new Image(20, 16);
grafikaWezel.src = "graf/link2.gif";
var grafikaWezelEnd = new Image(20, 16);
grafikaWezelEnd.src = "graf/link2.gif";
var grafikaPustyObszar = new Image(20, 16);
grafikaPustyObszar.src = "graf/empty.gif";
var grafikaLacznik = new Image(20, 16);
grafikaLacznik.src = "graf/empty.gif";

var grafikaSzerokosc = "20";
var grafikaWysokosc = "16";
var poczatkowyStan = "";
var biezacyStan = "";
var dataWaznosci = pobierzDateWyg(1, 0, 0);

var stanRozwiniecia = "";
function opcjaMenu(tekst, uri) {
	this.tekst = tekst;
	this.uri = uri;
}
var daneMenu = {
	wezlyPotomne:
		[{opcja:new opcjaMenu("Strona główna", "index.php?ps=001"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Aktualności"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Bieżące", "index.php?ps=a")},
			{opcja:new opcjaMenu("Archiwum 2010", "index.php?ps=a&r=2010")},
			{opcja:new opcjaMenu("Archiwum 2009", "index.php?ps=a&r=2009")},
			{opcja:new opcjaMenu("Archiwum 2008", "index.php?ps=a&r=2008")}
			]},
		{opcja:new opcjaMenu("Prawo"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Ustawy", "index.php?ps=002")},
			{opcja:new opcjaMenu("Rozporządzenia", "index.php?ps=003")},
			{opcja:new opcjaMenu("Akty prawne dotyczące indywidualnych i grupowych praktyk pielęgniarek i położnych", "index.php?ps=004")}
			]},
		{opcja:new opcjaMenu("Samorząd"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Struktura samorządu", "index.php?ps=005")},
			{opcja:new opcjaMenu("Okręgowy Zjazd", "index.php?ps=006")},
			{opcja:new opcjaMenu("Okręgowa Rada", "index.php?ps=007")},
			{opcja:new opcjaMenu("Prezydium Okręgowej Rady", "index.php?ps=008")},
			{opcja:new opcjaMenu("Okregowy Sąd", "index.php?ps=009")},
			{opcja:new opcjaMenu("Okregowy Rzecznik Odpowiedzialności Zdrowotnej", "index.php?ps=010")},
			{opcja:new opcjaMenu("Okregowa Komisja Rewizyjna", "index.php?ps=011")}
			]},
		{opcja:new opcjaMenu("Uchwały i stanowiska"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Uchwały i stanowiska Okręgowego Zjazdu", "index.php?ps=012")},
			{opcja:new opcjaMenu("Uchwały i stanowiska Okręgowej Rady", "index.php?ps=013")}
			]},
		{opcja:new opcjaMenu("Komisje i Zespoły"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Komisje", "index.php?ps=014")},
			{opcja:new opcjaMenu("Zespoły", "index.php?ps=015")}
			]},
		{opcja:new opcjaMenu("Kodeks etyki", "index.php?ps=016"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Kształcenie podyplomowe"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Regulamin", "index.php?ps=017")},
			{opcja:new opcjaMenu("Wniosek o refundację", "index.php?ps=018")}
			]},
		{opcja:new opcjaMenu("Indywidualne i grupowe praktyki"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Ważne informacje", "index.php?ps=019")},
			{opcja:new opcjaMenu("Wniosek o wpis grupowej praktyki", "index.php?ps=020")},
			{opcja:new opcjaMenu("Wniosek o wpis indywidualnej praktyki", "index.php?ps=021")}
			]},
		{opcja:new opcjaMenu("Członkostwo"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Wpis do rejestru i skreślenie z rejestru", "?ps=022")},
			{opcja:new opcjaMenu("Składki członkowskie", "?ps=023")}
			]},
		{opcja:new opcjaMenu("Ośrodek Informacyjno - Edukacyjny"),
		wezlyPotomne:
			[{opcja:new opcjaMenu("Podstawa prawna", "index.php?ps=024")},
			{opcja:new opcjaMenu("Zadania Ośrodka", "index.php?ps=025")},
			{opcja:new opcjaMenu("Adresy Okręgowych Izb w Polsce", "index.php?ps=026")},
			{opcja:new opcjaMenu("Wykaz Ośrodków Informacyjnych na terenie Unii Europejskiej", "index.php?ps=027")}
			]},
		{opcja:new opcjaMenu("Pielegniarki i Położne w UE", "index.php?ps=028"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Praca - oferty", "index.php?ps=035"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Biuletyn OIPiP", "index.php?ps=042"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Ważne linki", "index.php?ps=045"),
		wezlyPotomne:
			[
			]},
		{opcja:new opcjaMenu("Biblioteka OIPiP", "index.php?ps=049"),
		wezlyPotomne:
			[
			]}
		]
};

function zmienStan (biezacyStan, biezacaWartosc, n) {
	var nowyStan = biezacyStan.substring(0,n);
	nowyStan += biezacaWartosc ^ 1;
	nowyStan += biezacyStan.substring(n+1,biezacyStan.length);
	ustawCookie("stanMenu", nowyStan, dataWaznosci);
	return nowyStan;
}

function pobierzStanGrafikiRozwinietaOpc (urlObrazka) {
	if (urlObrazka.indexOf("Start") != -1) {
		return grafikaRozwinieteStart.src;
	}
	if (urlObrazka.indexOf("End") != -1) {
		return grafikaRozwinieteEnd.src;
	}
	return grafikaRozwiniete.src;
}

function pobierzStanGrafikiZwinietaOpc (urlObrazka) {
		if (urlObrazka.indexOf("Start") != -1) {
		return grafikaZwinieteStart.src;
	}
	if (urlObrazka.indexOf("End") != -1) {
		return grafikaZwinieteEnd.src;
	}
	return grafikaZwiniete.src;
}

function przelacz (obrazek, numerBloku) {
	var nowyLancuch = "";
	var rozwiniete, n;
	rozwiniete = biezacyStan.charAt(numerBloku);
	biezacyStan = zmienStan(biezacyStan, rozwiniete, numerBloku);
	if (rozwiniete == "0") {
		document.getElementById("OLBlock" + numerBloku).style.display = "block";
		obrazek.src = pobierzStanGrafikiRozwinietaOpc(obrazek.src);
	} else {
		document.getElementById("OLBlock" + numerBloku).style.display = "none";
		obrazek.src = pobierzStanGrafikiZwinietaOpc(obrazek.src);
	}
}

function rozwinWszystko() {
	var nowyStan = "";
	while (nowyStan.length < biezacyStan.length) {
		nowyStan += "1";
	}
	biezacyStan = nowyStan;
	inicjujRozwijanie();
}

function zwinWszystko() {
	var nowyStan = "";
	while (nowyStan.length < biezacyStan.length) {
		nowyStan += "0";
	}
	biezacyStan = nowyStan;
	inicjujRozwijanie();
}

function okreslStanBloku(n) {
	var rozwiniecieDane = (stanRozwiniecia.length > 0) ? stanRozwiniecia.split(",") : null;
	if (rozwiniecieDane) {
		for (var j = 0; j < rozwiniecieDane.length; j++) {
			if (n == rozwiniecieDane[j] - 1) {
				return "1";
			}
		}
	}
	return "0";
}

var identyfikatorOpcji = 0;
var identyfikatorBloku = 0;
var licznik = 0;

function generujMenu(ol, prefiks) {
	var wyniki = "";
	var iloscZagn, hiperlacze, prefiksZagn, ostatniWezelDziecka;
	prefiks = (prefiks) ? prefiks : "";
	licznik++;
	for (var i = 0; i < ol.wezlyPotomne.length; i++) {
		iloscZagn = (ol.wezlyPotomne[i].wezlyPotomne) ? ol.wezlyPotomne[i].wezlyPotomne.length : 0;
		wyniki += "<div class='OLRow' id='line" + identyfikatorOpcji++ + "'>\n";
		if (iloscZagn > 0) {
			wyniki += prefiks;
			wyniki += "<img id='widget" + (identyfikatorOpcji-1) + "' src='" + ((i == ol.wezlyPotomne.length-1 && identyfikatorBloku != 0) ? 
			grafikaZwinieteEnd.src : (identyfikatorBloku == 0) ? grafikaZwinieteStart.src : grafikaZwiniete.src);
			wyniki += "' height=" + grafikaWysokosc + " width=" + grafikaSzerokosc;
			wyniki += " title='Kliknij aby rozwinać lub zwinać podrzedne elementy.' onClick='przelacz(this," + identyfikatorBloku + ")'>&nbsp;";

				wyniki += "<div style=\"margin:-15px 0 0 20px\"><span style='position:relative; height:11px'>" + ol.wezlyPotomne[i].opcja.tekst + "</span></div>";
			biezacyStan += okreslStanBloku(identyfikatorOpcji-1);
			wyniki += "<span class='OLBlock' blocknum='" + identyfikatorBloku + "' id='OLBlock" + identyfikatorBloku++ + "'>";
			prefiksZagn = prefiks;
			prefiksZagn += (i == ol.wezlyPotomne.length - 1) ? "<img src='" + grafikaPustyObszar.src + "' height=" + grafikaWysokosc + " width=" + 
			grafikaSzerokosc + ">" : "<img src='" + grafikaLacznik.src + "' height=" + grafikaWysokosc + " width=" + grafikaSzerokosc + ">";
			wyniki += generujMenu(ol.wezlyPotomne[i], prefiksZagn);
			wyniki += "</span></div>\n";
			licznik++;
		} else {
			wyniki += prefiks;
			wyniki += "<img id='widget" + (identyfikatorOpcji-1) + "' src='" + ((i == ol.wezlyPotomne - 1) ? grafikaWezelEnd.src : grafikaWezel.src);
			wyniki += "' height=" + grafikaWysokosc + " width=" + grafikaSzerokosc + ">";
			hiperlacze = (ol.wezlyPotomne[i].opcja.uri) ? ol.wezlyPotomne[i].opcja.uri : "";
			if (hiperlacze) {
				wyniki += "&nbsp;<div style=\"margin:-15px 0 0 " + (licznik*20) + "px\"><a href='" + hiperlacze + "' class='itemTitle' title='" + hiperlacze + "'>";
			} else {
				wyniki += "&nbsp;<div style=\"margin:-15px 0 0 " + (licznik*20) + "px\"><a class='itemTitle' title='" + hiperlacze + "'>";
			}
			wyniki += "<span style='position:relative; height:11px'>" + ol.wezlyPotomne[i].opcja.tekst + "</span></a></div>";
			wyniki += "</div>\n";
		}
	}
	licznik = 0;
	return wyniki;
}

function inicjujRozwijanie() {
	for (var i = 0; i < biezacyStan.length; i++) {
		if (biezacyStan.charAt(i) == 1) {
			document.getElementById("OLBlock" + i).style.display = "block";
		} else {
			document.getElementById("OLBlock" + i).style.display = "none";
		}
	}
}

function inicjujMenuRozwijane() {
	poczatkowyStan = pobierzCookie("stanMenu");
	if(poczatkowyStan)
		biezacyStan = poczatkowyStan; 
	var olHTML = "<span id='spanMenu'>" + generujMenu(daneMenu) + "</span>";
	document.getElementById("zawartoscMenu").innerHTML = olHTML;
	inicjujRozwijanie();
}
