//-- kontrola, je-li etzec przdn
	function is_empty_str(str) {
		str = "" + str;
		return (typeof str == "string" && str.length == 0);
	}

//-- kontrola, je-li etzec neprzdn
	function is_not_empty_str(str) {
		return (typeof str == "string" && trim(str));
	}
	
//-- kontrola datumu (bud jeden parametr ve tvaru "dd.mm.rrrr" nebo tri parametry den, mesic, rok)
	function is_valid_date(datum, mesic, rok) {
		if (mesic) datum = datum + "/" + mesic + "/" + rok;
		var err = false;
		if (datum.length >= 8 && datum.length <= 10)
		{
			var text = "";
			var den = "";
			var mesic = "";
			var rok = "";
			var tecka = 0;
			var ch;
			var today = new Date();
			for (var i = 0; i < datum.length; i++) {
				ch = datum.charAt(i);
				if ((ch == "0" || ch == "1" || ch == "2" || ch == "3" || ch == "4" || ch == "5" || ch == "6" || ch == "7" || ch == "8" || ch == "9" || ch == "/") && !err) {
					if (tecka == 0 && ch != "/") mesic = mesic + ch;
					if (tecka == 1 && ch != "/") den = den + ch;
					if (tecka == 2 && ch != "/") rok = rok + ch;
					if (ch == "/" && !err) tecka++;
				}
			}
			if (den<1 || den >31) err = true;
			if (mesic<1 || mesic>12) err = true;
			if ((tecka == 2 && rok == "") || (tecka > 2)) err = true;
			if (mesic == 2 && ((rok % 4 != 0) && (rok % 100 != 0)) && (den>28)) err = true;
			if (mesic == 2 && (rok % 4 == 0) && (den>29)) err = true;		
			if ((mesic == 4 || mesic == 6 || mesic == 9 || mesic == 11) && (den>30)) err = true;	
			if (rok.length != 4 && (rok % 1 == 0)) err = true;
		}
		else err = true;
		return !err;
	}	
	
	//-- kontrola, zda je datum v budoucnosti
	function is_future_date(datum, mesic, rok) {
		if (mesic) datum = datum + "." + mesic + "." + rok;
		if (is_valid_date(datum)) {
			var arr = datum.split(".");
			var date = new Date(arr[2], arr[1]-1, arr[0],"00","00","00"), now = new Date();
			//alert (date.getTime() + "-" + now.getTime() + "-" + date + "-" + now + "--" + arr[2]+ "-" + arr[1]+ "-" + arr[0]);
			return date.getTime() > now.getTime();
		}
		else return false;
	}	
	
	//-- kontrola, je-li hodnota ve stanovenm rozsahu (nahrazuje test roku)
	function is_in_range(value, min_value, max_value) {
		if (!is_number(value)) return false;
		value = c2p(value) - 0;
		min_value = c2p(min_value) - 0;
		max_value = c2p(max_value) - 0;
		return value >= min_value && value <= max_value;
	}
	
		//-- kontrola, zda etzec obsahuje pouze povolen znaky
	function is_valid_str(str, chars) {
		if (!chars) var chars = "";
		for (var i = 0; i < str.length; i++) if (chars.indexOf(str.charAt(i)) < 0) return false;
		return str.length ? true : false;
	}

	//-- kontrola, zda etzec neobsahuje nepovolen znaky
	function is_not_invalid_str(str, chars) {
		if (!chars) var chars = "\t\n\r\\:{}()*&^%$#@'\"-_=+~,";
		for (var i = 0; i < str.length; i++) if (chars.indexOf(str.charAt(i)) >= 0) return false;
		return str.length && trim(str) ? true : false;
	}

	function is_not_invalid_name(str) {
		return is_not_invalid_str(str, "\t\n\r\\:{}()*&^%$#@'\"-_=+~, ");
	}
	
	//-- kontrola, zda je to cel slo
	function is_number(num) {
		return is_valid_str(num, "-0123456789") && num.length;
	}
	
function c2p(num) {
	var num2 = "";
	num += "";
	for (var i=0; i<num.length; i++) num2 += (num.charAt(i) == ",") ? "." : num.charAt(i);
	return num2;
}
function trim(str) {
	var i = 0;
	var j = str.length;
	while (str.charAt(i) == " " && i < str.length) i++;
	while (str.charAt(j - 1) == " " && j >= 0) j--;
	return j > i ? str.substring(i, j) : "";
}
