function chPrzed(wybor) {
	sel_przed = wybor;
	sel_cykl = 0;
	if(wybor == 0) {
		if(sel_poz == 0) {
			showAllPrzed();
			showAllPoz();
			showAllCykl();
		}
		else {
			showPrzed(sel_poz);
			showCykl(0, sel_poz);
		}
	}
	else {
		if(sel_poz == 0) showPoz(wybor);
		showCykl(wybor, sel_poz);
	}
}

function chPoz(wybor) {
	if(sel_przed == 0 || sel_poz != 0) {
		sel_poz = wybor;
		sel_przed = 0;
	}
	sel_cykl = 0;
	showCykl(sel_przed, wybor);
	if(sel_przed == 0 || sel_poz != 0) {
		if(wybor == 0) showAllPrzed();
		else showPrzed(wybor);
	}
}

function showPrzed(poz) {
	var ile = 0;
	var pr = new Array();
	for(a in jx) {
		if(isNaN(a)) continue;
		if(jx[a][poz] != undefined) pr[a] = ile++;
	}
	document.form.elements.przedmiot.options.length = ile+1;
	document.form.przedmiot.options[0] = new Option(przed[0]);
	document.form.przedmiot.options[0].value = 0;
	var i = 1;
	for(var n=0; n<przedPos.length; n++) {//	for(a in przed) {
		var a = przedPos[n];
		if(isNaN(a)) continue;
		if(pr[a] != undefined) {
			document.form.przedmiot.options[i] = new Option(przed[a]);
			document.form.przedmiot.options[i].value = a;
			i++;
		}
	}
}

function showPoz(przed) {
	var ile = 0;
	for(a in jx[przed]) {
		if(isNaN(a)) continue;
		ile++;
	}
	document.form.elements.poziom.options.length = ile+1;
	document.form.poziom.options[0] = new Option(poz[0]);
	document.form.poziom.options[0].value = 0;
	var i = 1;
	for(a in poz) {
		if(isNaN(a)) continue;
		if(jx[przed][a] != undefined) {
			document.form.poziom.options[i] = new Option(poz[a]);
			document.form.poziom.options[i].value = a;
			i++;
		}
	}
}

function showCykl(przed, poz) {
	if(przed == 0) {
		if(poz == 0) showAllCykl();
		else showCk(poz);
		return;
	}

	var ck = new Array();

	var ile = 0;
	for(a in jx[przed]) {
		if(isNaN(a)) continue;
		if(poz != 0 && a != poz) continue;
		for(b in jx[przed][a]) {
			if(isNaN(b)) continue;
			if(ck[jx[przed][a][b]] == undefined) ck[jx[przed][a][b]] = ile++;
		}
	}
	document.form.elements.cykl.options.length = ile+1;
	document.form.cykl.options[0] = new Option(cykl[0]);
	document.form.cykl.options[0].value = 0;
	var i = 1;
	//for(c in cykl) {
	for(var n=0; n<cyklPos.length; n++) {
		var c = cyklPos[n];
		if(isNaN(c)) continue;
		if(ck[c] != undefined) {
			document.form.cykl.options[i] = new Option(cykl[c]);
			document.form.cykl.options[i].value = c;
			i++;
		}
	}
}

function showCk(poz) {
	var ile = 0;

	var ck = new Array();

	for(var a in jx) {
		if(isNaN(a)) continue;
		for(var b in jx[a]) {
			if(isNaN(b)) continue;
			if(b != poz) continue;
			for(var c in jx[a][b]) {
				if(isNaN(c)) continue;
				if(ck[jx[a][b][c]] == undefined) ck[jx[a][b][c]] = ile++;
			}
		}
	}

	document.form.elements.cykl.options.length = ile+1;
	document.form.cykl.options[0] = new Option(cykl[0]);
	document.form.cykl.options[0].value = 0;
	var i = 1;
	//for(var c in cykl) {
	for(var n=0; n<cyklPos.length; n++) {
		var c = cyklPos[n];
		if(isNaN(c)) continue;
		if(ck[c] != undefined) {
			document.form.cykl.options[i] = new Option(cykl[c]); //jx[przed][a][b]
			document.form.cykl.options[i].value = c;
			i++;
		}
	}
}

function showAllPrzed() {
	var pr = new Array();
	var ile = 0;
	for(var a in jx) {
		if(isNaN(a)) continue;
		pr[a] = ile++;
	}
	document.form.elements.przedmiot.options.length = ile+1;
	document.form.przedmiot.options[0] = new Option(przed[0]);
	document.form.przedmiot.options[0].value = 0;
	var i = 1;
	for(var n=0; n<przedPos.length; n++) {//var a in przed) {
		var a = przedPos[n];
		if(isNaN(a)) continue;
		if(pr[a] != undefined) {
			document.form.przedmiot.options[i] = new Option(przed[a]);
			document.form.przedmiot.options[i].value = a;
			i++;
		}
	}
}

function showAllPoz() {
	var pz = new Array();
	var ile = 0;
	for(var a in jx) {
		if(isNaN(a)) continue;
		for(var b in jx[a]) {
			if(isNaN(b)) continue;
			if(pz[b] == undefined) pz[b] = ile++;
		}
	}
	document.form.elements.poziom.options.length = ile+1;
	document.form.poziom.options[0] = new Option(poz[0]);
	document.form.poziom.options[0].value = 0;
	var i = 1;
	for(var a in poz) {
		if(isNaN(a)) continue;
		if(pz[a] != undefined) {
			document.form.poziom.options[i] = new Option(poz[a]);
			document.form.poziom.options[i].value = a;
			i++;
		}
	}
}

function showAllCykl() {
	var ck = new Array();
	var ile = 0;
	var v = 0;
	for(var a in jx) {
		if(isNaN(a)) continue;
		for(var b in jx[a]) {
			if(isNaN(b)) continue;
			for(var c in jx[a][b]) {
				if(isNaN(c)) continue;
				if(ck[jx[a][b][c]] == undefined) ck[jx[a][b][c]] = ile++;
			}
		}
	}
	document.form.elements.cykl.options.length = ile+1;
	document.form.cykl.options[0] = new Option(cykl[0]);
	document.form.cykl.options[0].value = 0;
	var i = 1;
	//for(var a in cykl) {
	for(var n=0; n<cyklPos.length; n++) {
		var a = cyklPos[n];
		if(isNaN(a)) continue;
		if(ck[a] != undefined) {
			document.form.cykl.options[i] = new Option(cykl[a]);
			document.form.cykl.options[i].value = a;
			i++;
		}
	}
}

