<!--

/* funkce vrati prefix pro manipulaci objektu */
function get_prefix()
{
	/* prohlizec (opera a IE se chovaji stejne) */
	if (navigator.appName.indexOf("Explorer") != -1 || navigator.appName.indexOf("Opera") != -1) {
		adresa = document.all;
	}
	else {
		adresa = document.layers;
	}
	return adresa;
}

/* funkce naparsuje datum na cisla */
function datum_parse(datum, cisla)
{
	var i = 0;
	if (!isNaN(cisla[0] = parseInt(datum.substring(i, i+2))) && !isNaN(parseInt(datum.substring(i+1, i+2))) ) i+=2;
	else if (!isNaN(cisla[0] = parseInt(datum.substring(i, i+1)))) i++;
	else return false;
	if (datum.substring(i, i+1) != "." && datum.substring(i, i+1) != "-") return datum.substring(i, i+1);
	else i++;
	if (!isNaN(cisla[1] = parseInt(datum.substring(i, i+2))) && !isNaN(parseInt(datum.substring(i+1, i+2))) ) i+=2;
	else if (!isNaN(cisla[1] = parseInt(datum.substring(i, i+1)))) i++;
	else return false;
	if (datum.substring(i, i+1) != "." && datum.substring(i, i+1) != "-") return false;
	else i++;
	if (!isNaN(cisla[2] = parseInt(datum.substring(i, i+4)))) i+=4;
	else return false;
	return true;
}

/* funkce pro zjisteni, zda je retezec datum */
function is_datum(datum)
{
	var d, m, y, cisla = new Array();
	if (!datum_parse(datum, cisla)) return false;
	d = cisla[0]; m = cisla[1]; y = cisla[2];
	dny = new Array(0, 31, (y % 4 == 0 ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	if (d < 1 || d > dny[m]) return false;
	if (m < 1 || m > 12) return false;
	if (y < 1970) return false;
	/* vse ok */
	return true;
}

/* funkce pricte x dni k datumu a vrati nove datum */
/* nejsou osetreny vyjimky z prestupnych roku, ale to je detail (+- jeden den :) ) */
function datum_pricti_dny(datum, pocet_dnu)
{
	var d, m, y, cisla = new Array();
	if (!datum_parse(datum, cisla)) return false;
	d = cisla[0]; m = cisla[1]; y = cisla[2];
	/* posun */
	dny = new Array(0, 31, (y % 4 == 0 ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	while (pocet_dnu > 0) {
		if (d + pocet_dnu <= dny[m]) {
			d += pocet_dnu;
			pocet_dnu = 0;
		}
		else {
			pocet_dnu -= dny[m] - d + 1;
			d = 1;
			if (m < 12) {
				m++;
			}
			else {
				m = 1;
				y++;
			}
		}
	}
	/* vraceni hodnoty */
	return (d + "." + m + "." + y);
}

/* funkce pro porovnani datumu
 * 1 > 2 => 1
 * 1 = 2 => 0
 * 1 < 2 => -1 */
function datum_compare(datum1, datum2)
{
	var cisla1 = new Array();
	var cisla2 = new Array();
	if (!datum_parse(datum1, cisla1)) return 0;
	d1 = cisla1[0] + cisla1[1] * 100 + cisla1[2] * 10000;
	if (!datum_parse(datum2, cisla2)) return 0;
	d2 = cisla2[0] + cisla2[1] * 100 + cisla2[2] * 10000;
	if (d1 > d2) return 1;
	else if (d1 == d2) return 0;
	else return -1;
}

/* funkce pro nahrazeni & sekvenci <AMP> pro ukladani obrazku z www */
function replace_ampersant(str)
{
	while ((i = str.indexOf("&")) != -1) {
		str = str.substring(0, i) + "<AMP>" + str.substring(i + 1);
	}
	return str;
}

/*******************************************************************************/
/************************ FUNKCE PRO POTVRZOVANI ODKAZU ************************/
/*******************************************************************************/

/* dotaz na odstraneni polozky nastaveni */
function odstran_nastaveni(url)
{
	if (confirm("Opravdu chcete odstranit položku nastavení z databáze?\nPo odstranění nemusí některá část systému fungovat!"))
		window.location = url;
}

/*******************************************************************************/
/*************************** FORMULAROVE KONTROLY ******************************/
/*******************************************************************************/

/* funkce pro zjisteni prazdnosti stringu */
function empty(str)
{
	if (str.length == 0) return true;
	jen_mezery = true;
	for (i = 0; i < str.length; i++) {
		if (str.substring(i, i+1) != " ") {
			jen_mezery = false;
			break;
		}
	}
	if (jen_mezery) return true;
	return false;
}

/* kontrola formulare editace / pridani polozky nastaveni */
function CheckFormNastaveni()
{
	var nazev = document.forms.formular.nazev.value;

	if (empty(nazev)) {
		alert('Vyplňte prosím název.');
		document.forms.formular.nazev.select();
		return false;
	}
	return true;
}

/* kontrola formulare "zapomnel jsem heslo" */
function CheckFormForgotpass()
{
	var email = document.forms.formular.email.value;

	if(empty(email) || email.length < 4) {
		alert('Vyplňte prosím e-mail.');
		document.forms.formular.email.select();
		return false;
	}
	return true;
}

/* pokud je prohlizec IE, vrati true */
function isIE()
{
	if (navigator.appName.indexOf("Explorer") == -1) {
		return false;
	}
	else {
		return true;
	}
}

/* funkce pro konstrolu typu */
function checktype(inputvar, type)
{
	switch (type.toLowerCase()) {
		case "integer":
			var regexp = new RegExp('^-?[0-9]+$', 'i');
			return (regexp.test(inputvar) && !isNaN(parseInt(inputvar)));
			break;

		case "email":
			var regexp = new RegExp('^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*(\.[a-z]{2,4})$', 'i');
			return (regexp.test(inputvar));
			break;

		case "float":
			var regexp = new RegExp('^-?[0-9]*([.,][0-9]+)?$', 'i');
			return (regexp.test(inputvar) && !isNaN(parseFloat(inputvar)));
			break;

		case "date":
			var regexp1 = new RegExp('^([0-9]{4})[./-]([0-9]{1,2})[./-]([0-9]{1,2})$', 'i');
			var regexp2 = new RegExp('^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$', 'i');
			return (regexp1.test(inputvar) || regexp2.test(inputvar));
			break;

		case "string":
			return true;	// :-)
			break;
	}
	return false;
}

//-->

