/* BASIC */

function center(sirka, vyska) {
	x = (window.screen.width/2) - (sirka/2 + 10);
	y = (window.screen.height/2) - (vyska/2 + 25);
	window.open("", "center", "width="+sirka+", height="+vyska+", left="+x+", top="+y+", status");
}

function display(hidden) {
	for (i = 1; i <= 5; i++) {
		if (document.getElementById("reseni-" + i)) {
			document.getElementById("reseni-" + i).style.display = "none";
			document.getElementById("menu-top" + i).className = "";
		}
	}
	document.getElementById("reseni-" + hidden).style.display = "block";
	document.getElementById("menu-top" + hidden).className = "selected";
}

function animace(vysledku) {
	p = []
	x = [];
	for(i = 0; i < vysledku; i++) p[i] = i;
	for(i = 0; i < vysledku; i++) x[i] = p.splice(Math.floor(Math.random() * p.length), 1)[0] + 1;
	pole = x;

	animace2();

	function animace2() {
		for (i = 0; i < pole.length; i++) {
			y = i + 1;
			fid = pole[i];
			nid = i == pole.length - 1 ? pole[0] : pole[y];
			setTimeout(changes(fid, nid), 6000 * i);
			if (i == pole.length - 1) {
				setTimeout(function() {
					animace2();
				}, 6000 * vysledku)
			}
		}

		function changes(fid, nid) {
			return function() {
				change(fid, nid);
			}
		}

		function change(fid, nid) {	
			function opacity(opacity) {
				return function() {
					document.getElementById("img-"+nid).style.opacity = opacity;
					document.getElementById("img-"+nid).style.filter = "alpha(opacity=" + opacity * 100 + ")";
				}
			}
			for (i = 1; i <= vysledku; i++) {
				document.getElementById("img-"+i).style.display = "none";
				document.getElementById("img-"+i).style.opacity = 0;
				document.getElementById("img-"+i).style.filter = "alpha(opacity=0)";
			}
			document.getElementById("img-"+nid).style.display = "block";
			for (i = 1; i <= 20; i++) {
				setTimeout(opacity(i / 20), i * 20);
			}
			setTimeout(function() {
				document.getElementById("image").style.background = "url("+document.getElementById("img-"+nid).src+")";
			}, 400);
		}
	}
}

function scroll(id, absolute, relative) {
	var vyska = 396;
	var pozice = relative - absolute;
	var puvodni = vyska - pozice;

	if (puvodni < vyska) {
		function move(move) {
			return function() {
				window.scrollTo(puvodni, puvodni + move);
			}
		}
		for (i = 1; i <= Math.ceil((vyska - puvodni) / 20); i++) {
			krok = i * 20;
			if (krok + puvodni > vyska) krok = vyska - puvodni;
			setTimeout(move(krok), i * 20);
		}
		setTimeout(function() {
			slide(id);
		}, i * 20);
	}
	else slide(id);
}

function slide(id) {
	plus = 0;
	puvodni = 0;

	function disable(i, stav) {
		return function() {
			if (stav == "on") {
				if (i != id) document.getElementById("menu-top" + i).className = "";
				document.getElementById("menu-top" + i).onclick = function(){slide(i);return false};
			}
			else if (stav == "off") {
				if (i != id) document.getElementById("menu-top" + i).className = "disabled";
				document.getElementById("menu-top" + i).onclick = function(){return false};
			}
		}
	}

	if (!document.getElementById("reseni-" + id).style.height || document.getElementById("reseni-" + id).style.height == puvodni + "px") {
		for (i = 1; i <= 5; i++) {
			if (document.getElementById("reseni-" + i).style.height && document.getElementById("reseni-" + i).style.height != puvodni + "px") {
				slidein(i, "sbalit", 0);
				plus = 400;
			}
		}
		for (i = 1; i <= 5; i++) {
			setTimeout(disable(i, "off"), 0);
			setTimeout(disable(i, "on"), 400 + plus);
		}
		slidein(id, "rozbalit", plus);
	}
	else slidein(id, "sbalit", 0);

	function slidein(id, akce, plus) {

	var element = document.getElementById("reseni-" + id);
	var menu = document.getElementById("menu-top" + id);
	if (akce == "sbalit") {
		vyska = parseInt(element.style.height);
	}
	else {
		element.style.display = "block";
		element.style.height = "auto";
		vyska = element.offsetHeight;
		element.style.height = puvodni + "px";
	}

	function height(height) {
		return function() {
			element.style.height = puvodni + height + "px";
		}
	}
	x = Math.ceil((vyska - puvodni) / 20);
	for (i = 1; i <= 20; i++) {
		if (akce == "sbalit") {
			krok = vyska - puvodni - i * x;
			if (krok < 0) krok = 0;
		}
		else {
			krok = i * x;
			if (krok + puvodni > vyska) krok = vyska - puvodni;
		}
		setTimeout(height(krok), i * 20 + plus);
	}

	if (akce == "rozbalit") {
		menu.className = "selected";
	}

	setTimeout(function() {
		if (akce == "sbalit") {
			menu.className = "";
			element.style.display = "none";
		}
	}, 400 + plus);

	}
}

function administrace(klavesa) {
	if (klavesa == 113) window.location.href = '/admin/';
}

/* FORM */

function kontrola_stranky(formular) {
	var chyba = "";
	var vysledek = true;
	if (formular.nazev.value=="") chyba += "- název\n";
	if (formular.popis && formular.popis.value=="") chyba += "- popis\n";
	if (formular.moduly && formular.moduly.value=="") chyba += "- moduly\n";
	if (formular.cena && formular.cena.value=="") chyba += "- cena\n";
	if (formular.schema && formular.schema.value=="") chyba += "- schema\n";
	if (formular.mesto && formular.mesto.value=="") chyba += "- město\n";
	if (formular.odkaz && formular.odkaz.value=="") chyba += "- odkaz\n";
	if (formular.fotka && formular.fotka.value=="") chyba += "- fotka\n";
	if (formular.nahled && formular.nahled.value=="") chyba += "- náhled\n";
	if (chyba != "") {
		vysledek = false;
		alert("Níže uvedená pole nejsou vyplněna:\n\n" + chyba);
	}
	return vysledek;
}

function kontrola_zahlavi(formular) {
	if (!formular.zahlavi.value) return false;
	else return true;
}

function kontrola_heslo(formular) {
	var chyba = "";
	var vysledek = true;
	if (formular.heslo.value=="") chyba += "- nové heslo\n";
	if (formular.kontrola.value=="") chyba += "- nové heslo znovu (pro kontrolu)\n";
	if (chyba != "") {
		vysledek = false;
		alert("Níže uvedená pole nejsou vyplněna:\n\n" + chyba);
	}
	return vysledek;
}

function ckmail(formular) {
	var chyba = "";
	var get = "";
	povinne = " ;" + formular.povinne.value + ";";
	typ = new Array("input", "select", "textarea");
	for (x = 0; x <= typ.length - 1; x++) {
		input = formular.getElementsByTagName(typ[x]);
		for (i = 0; i <= input.length - 1; i++) {
			if (typ[x] != "input" || (input[i].type == "text" || input[i].type == "checkbox")) {
				if ((povinne.indexOf(";" + input[i].name + ";") != -1 || povinne == " ;vse;") && !input[i].value) chyba += "- " + input[i].name + "\n";
			}
			if (input[i].name != "povinne") get += "&" + input[i].name + "=" + input[i].value.replace("\n", "<br />");
		}
	}
	if (!chyba) {
		formular.style.height = formular.offsetHeight + "px";
		if (typeof window.ActiveXObject != "undefined") httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
		else httpRequest = new XMLHttpRequest();
		httpRequest.open("GET", "/ckmail.php?url=" + window.location.href + get, true);
		httpRequest.onreadystatechange = function() {
			setTimeout(function() {
					formular.innerHTML = httpRequest.responseText;
			}, 500)
		}
		httpRequest.send(null);
	}
	else alert("Níže uvedená pole nejsou vyplněna:\n\n" + chyba);
	return false;
}
