	function prepni_vis(id) 
	{
		if (!document.getElementById) {
			return;
		}
		element = document.getElementById(id);
		if (element.style.display == "none") {
			element.style.display = "";
		} else {
			element.style.display = "none";
		}
	}

	function prepni_visib(id) 
	{
		if (!document.getElementById) {
			return;
		}
		element = document.getElementById(id);
		if (element.style.visibility == "visible") {
			element.style.visibility = "hidden";
		} else {
			element.style.visibility = "visible";
		}
	}

	function emptyvalidation(entered, alertbox) {
	// Emptyfield Validation by Henrik Petersen / NetKontoret
	// Explained at www.echoecho.com/jsforms.htm
	// Please do not remove this line and the two lines above.
		with (entered) {
			entered.style.borderColor='';
			if (value==null || value=="") {
				entered.focus();
				entered.style.borderColor='red';
				if (alertbox!="") {
					alert(alertbox);
				} 
				return false;
			}
			else {
				return true;
			}
		}
	} 
	function dropdownvalidation(choice, alertbox) {
    if (choice.value == 0) {
			choice.style.borderColor='';
			choice.focus();
			choice.style.borderColor='red';
			if (alertbox) {
				alert(alertbox);
			} 
			return false;
		} else {
			return true;
		}
	}    
	function emailvalidation(entered, alertbox) {
	// E-mail Validation by Henrik Petersen / NetKontoret
	// Explained at www.echoecho.com/jsforms.htm
	// Please do not remove this line and the two lines above.
		with (entered) {
			entered.style.borderColor='';
			apos=value.indexOf("@");
			dotpos=value.lastIndexOf(".");
			lastpos=value.length-1;
			if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
				entered.focus();
				entered.style.borderColor='red';
				if (alertbox) {
					alert(alertbox);
				} 
				return false;
			} else {
				return true;
			}
		}
	}

	function timevalidation(entered, alertbox) {

		entered.style.borderColor='';
		// regular expression to match required time format  
		re = /^\d{1,2}:\d{2}([ap]m)?$/; 
		if(entered.value == '') { 
			entered.focus();
			entered.style.borderColor='red';
			if (alertbox) {
				alert(alertbox);
			} 
			return false; 
		} 
		if(entered.value != '' && !entered.value.match(re)) { 
			entered.focus();
			entered.style.borderColor='red';
			alert("Nesprávný formát času: " + entered.value + " Nutno vyplnit hh:mm!");
			return false; 
		} 
	}

	function checkboxvalidation(nazevpole, alertbox) {
		var elems = document.getElementsByTagName("input");
		var lastelem;
		var pocet_elems = elems.length;
		var pattern = new RegExp(nazevpole + ".");
		var validated = false;
		for (i = 0, j = 0; i < pocet_elems; i++) {
			if (pattern.test(elems[i].name)) {
	  			if (elems[i].checked == true) validated = true;
	  			lastelem = elems[i];
			}
		}
		if (validated == false) {
			lastelem.focus();
			if (alertbox) {
				alert(alertbox);
			} 
			return false; 
		}
	}

	function set_row_style (row,oldstyle,newstyle) {
		cells = row.getElementsByTagName('td');
		var num_cells  = cells.length;
		if (newstyle) {
			for (i = 0; i < num_cells; i++) {
				if (cells[i].className == oldstyle) {
					cells[i].className = newstyle;
				}
	    	}
	    }
	}

	function expander(id, val) {
		if (!document.getElementById) {
			return;
		}
		element = document.getElementById(id);
		if (val != null)
		{
			element.style.display = (val == true ? "" : "none");
		}
		else
		{
			element.style.display = (element.style.display == "none" ? "" : "none");
		}
	}

	function zobraz_hrom_upload() {
		for (i=1; i<10; i++) {
			eval ( 'expander("upload_foto_frm_' + i + '", true);' );
		}
		expander("batch_upload", false);
	}
	function zobraz_hrom_upload_img(pocet) {
		for (i=1; i<pocet; i++) {
			eval ( 'expander("upload_img_frm_' + i + '", true);' );
		}
		expander("batch_upload", false);
	}
	function zobraz_hrom_upload_dok(typ, prvni, posledni) {

		for (i=prvni; i<posledni; i++) {
			eval ( 'expander("upload_dok_frm_' + typ + '_' + i + '", true);' );
		}
		eval ( 'expander("batch_upload_dok_' + typ + '", false);' );
	}

	function CheckAll(nazevpole, checkval) {
		var elems = document.getElementsByTagName("input");
		var pocet_elems = elems.length;
		var pattern = new RegExp(nazevpole + ".");
		for (i = 0, j = 0; i < pocet_elems; i++) {
			if (pattern.test(elems[i].name)) {
	  			elems[i].checked = checkval;
			}
		}
	}

	function pwvalidation(cond, pw1, pw2, alertbox) {
		if ( (cond==1) && (pw1 != pw2)) {
			if (alertbox!="") {
				alert(alertbox);
			} 
			return false;
		}
		else {
			return true;
		}
	} 

	function groupcheckboxvalidation(searchClass, alertbox) {
		neco_zatrzeno = zkontroluj_stav_skupiny_dle_class(searchClass);
		if (!neco_zatrzeno) {
			alert(alertbox);
			return false; 
		} else {
			return true;
		}	
	}

	function getElementsByClass(searchClass,tag) {
		var classElements = new Array();
		var els = document.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].className)) {
	  			classElements[j] = els[i];
	  			j++;
			}
		}
		return classElements;
	}
	function getElementsByPartName(searchPartName,tag) {
		var PartNameElements = new Array();
		var els = document.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchPartName+"(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if (pattern.test(els[i].Name)) {
	  			PartNameElements[j] = els[i];
	  			j++;
			}
		}
		return PartNameElements;
	}
	function zkontroluj_stav_skupiny_chkbx_dle_jmena(searchPartName) {
		var skupina_chkbx = new Array();
		skupina_chkbx = getElementsByPartName(searchPartName,'input');
		var skupina_chkbx_checked = false;
		for (i = 0; i < skupina_chkbx.length; i++) {
   			if (skupina_chkbx[i].checked) {
   				skupina_chkbx_checked = true;
   			}
   		}
		return skupina_chkbx_checked;
	}
	function zkontroluj_stav_skupiny_dle_class(searchClass) {
		var skupina_chkbx = new Array();
		skupina_chkbx = getElementsByClass(searchClass,'input');
		var skupina_chkbx_checked = false;
		for (i = 0; i < skupina_chkbx.length; i++) {
   			if (skupina_chkbx[i].checked) {
   				skupina_chkbx_checked = true;
   			}
   		}
		return skupina_chkbx_checked;
    }
    function datepickervalidation(entered, alertbox) {
        // Emptyfield Validation by Henrik Petersen / NetKontoret
        // Explained at www.echoecho.com/jsforms.htm
        // Please do not remove this line and the two lines above.
        with (entered) {
            entered.style.borderColor = '';
            if (value == null || value == "") {
                entered.focus();
                entered.style.borderColor = 'red';
                if (alertbox != "") {
                    alert(alertbox + ' >> ' + entered.name + ' << ');
                }
                return false;
            }
            else {
                return true;
            }
        }
    } 
