//* <script>
var strReq                    = new Array("- pole '", "' musí být vyplněné.\n");
var strFrmMin                 = new Array("- pole '", "' nesmí být kratší než ", " znaků.\n");
var strFrmMax                 = new Array("- pole '", "' nesmí být delší než ", " znaků.\n");
var strFrmMinMax              = new Array("- pole '", "' musí být mezi ", " a ", " znaky.\n");
var strFrmLen                 = new Array("- pole '", "' musí mít ", " znaků.\n");
var strErrDate                = new Array("- datumy ", " jsou v nesprávném vztahu.\n");
var errNum                    = new Array("- pole '", "' musí být číslo.\n");
var errNumMin                 = new Array("- hodnota pole '", "' musí být minimálně ", ".\n");
var errNumMax                 = new Array("- hodnota pole '", "' může být maximálně ", ".\n");
var errNumMinMax              = new Array("- pole '", "' musí být v rozmezí ", ".\n");
var errAmount                 = new Array("- pole '", "' má nesprávný formát. (123.50).\n");
var errDate                   = new Array("- pole '", "' má nesprávný formát nebo hodnotu (dd.mm.rrrr).\n");
var errShortDate              = new Array("- pole '", "' má nesprávný formát nebo hodnotu (mm.rrrr).\n");
var errPhone                  = new Array("- pole '", "' má nesprávný formát. Číslo pevné linky uveďte v 9 až 14-ti místném tvaru\n  s nebo bez směrového čísla státu bez mezer, např. +420508630235 nebo 508630235.\n");
var errPhoneMobil             = new Array("- pole '", "' má nesprávný formát. Číslo mobilního telefonu uveďte v 9 až 14-ti místném tvaru\n  s nebo bez směrového čísla státu bez mezer s platným předčíslím mobilního operátora,\n  např.+420603325365 nebo 603325365.\n"); 
var errPhoneBlocked           = new Array("- pole '", "' má správný formát, ale jde o nepřípustné číslo.\n");
var errPhoneNonExist          = new Array("- pole '", "' má správný formát, ale jde o neexistující číslo.\n");
var errPhoneAll               = new Array("- pole '", "' má nesprávný formát. Číslo telefonu uveďte v 9 až 14-ti místném tvaru\n  s nebo bez směrového čísla státu bez mezer, např. +420508630235 nebo 508630235.\n");
var errEmail                  = new Array("- pole '", "' není emailová adresa.\n");
var errValues                 = new Array("- pole '", "' muze obsahovat pouze tyto hodnoty: ", "\n");
var errAscii                  = new Array("- pole '", "' může obsahovat pouze znaky bez diakritiky a nesmí obsahovat mezery.", "\n");
var errAlfaNum                = new Array("- pole '", "' může obsahovat pouze alfanumerické znaky bez diakritiky a nesmí obsahovat mezery.", "\n");
var strFrbChar                = new Array("- pole '", "' obsahuje některý z následujících\n  nepovolených znaků: %,<,>,$,../,/..,',\"\n");
var errInteger                = new Array("- pole '", "' musí být celé číslo.\n");
var errMatch                  = new Array("- pole '", "' a pole '", "' se neshodují.\n");
 
var mobileprefixes			  ="#603#604#605#73#608#77#601#602#606#607#72#";
var phoneprefixes		  	  ="#2#3#4#5#";
var strGlobalErrors           = new String("Na stránce se vyskytly následující chyby: \n");

var cal_day = new Array("Po", "Út", "St", "Čt", "Pá", "So", "Ne"); 
var cal_holiday = " 1.1. 1.5. 8.5. 5.7. 6.7. 28.10. 24.12. 25.12. 26.12."; 

var cal_easter = " 5.4.1999 24.4.2000 16.4.2001 1.4.2002 21.4.2003 12.4.2004 28.3.2005 17.4.2006 9/4/2007 24/3/2008 13/4/2009 5/4/2010 25/4/2011 9/4/2012 1/4/2013 21/4/2014 6/4/2015 28/3/2016 17/4/2017 2/4/2018 22/4/2019";
var cal_title = "Kalendář&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
var cal_month = new Array("LEDEN", "ÚNOR", "BŘEZEN", "DUBEN", "KVĚTEN", "ČERVEN", "ČERVENEC", "SRPEN", "ZÁŘÍ", "ŘÍJEN", "LISTOPAD", "PROSINEC");
var cal_close = "ZAVŘÍT OKNO";

function StatusLineClear() {
	window.status = " ";
	setTimeout('StatusLineClear()', 100);
}

function focusFirstField(){
	if (document.forms[0])
		with (document.forms[0])
		{ var fld=null;
		  for(var i=0; i<elements.length; i++)	{
			if ((fld==null) && (elements[i].type !='hidden')) {
			  fld=elements[i];
			  if (fld.type == 'radio') {
			    if (document.getElementsByName) {
				  var colRadio = document.getElementsByName(fld.name);
				  for (var j=0;j<colRadio.length; j++) {
				    if (colRadio[j].checked) {
					  fld=colRadio[j]; break;
					}
				  }
			    }
			  }
			}
			if ((elements[i].style.color) && (elements[i].type !='hidden'))	{

			  fld=elements[i];	break;

			}

		  }

		  if (fld!=null) if (fld.focus) fld.focus();

		}

}

/* prevents to submit form by pressing enter

 --- Codedoc ---

 1. browser does not support window.event - return true (there is nothink else to do)

 2. !e.srcElement - return false (probably event on some strange tag, disable)

 3. e.srcElement.tagName=="A" - return true (event on <a></a> tag, this ENABLE back buttons & help & chngPwdSubmit)

 4. !e.srcElement.type - return false (probably event on some strange tag, disable)

 5. on text area enable everything

 6. enable everythink but enter on image & submit & form (disable submit form by enter key)

*/

function noEnter() {

  var e = window.event;

  if (e){

    if (!e.srcElement) return false;

	if (e.srcElement.tagName && e.srcElement.tagName=="A") return true;

	if (!e.srcElement.type ) return false;

	// to allow enter in multiline text area

	if (e.srcElement.type == 'textarea') { return true;	}

	return ((e.keyCode!=13) ||

			(e.srcElement.type == 'image') ||

			(e.srcElement.type == 'submit') ||

			!(e.srcElement.form)); 

  }

  return true;

}



function getValue(strFieldID_par){

  var strFieldID = strFieldID_par; 

  var elm = document.getElementById(strFieldID);

  if (null==elm){ return null; } else 

    if ('INPUT'==elm.tagName.toUpperCase()){ return elm.value; } else

	  if ('SELECT'==elm.tagName.toUpperCase()){ if (elm.selectedIndex<0) { return null; } else { return (elm.options.item(elm.selectedIndex).value); } } else

        if ('TEXTAREA'==elm.tagName.toUpperCase()){ return elm.value; } else { return null; }

}



function checkRequired(id, val){

  var strErr = new String("");

  if (!isFilled(val))

    strErr+=strReq[0]+getLabel(id)+strReq[1];

  return strErr;

}



function markField(strFieldID, bInvalid){

    var elm = document.getElementById(strFieldID);

    if (bInvalid) {

	elm.style.color="#FF0000";

	elm.style.border="1px solid #FF0000"; }

	else {

	elm.style.color="";

	elm.style.borderColor="";

	elm.style.border="1px solid"; }

    return;

}



function isFilled(s){

    str = new String(s);

    return ((str != null) && (str.length != 0));

}



function getLabel(id){

  var a = document.getElementsByTagName("label");

  for(i=0; i<a.length; i++) {

    if(a[i].htmlFor == id) {

	  var strret = trimString(a[i].innerHTML);

	  strret = removeTags(strret);

	  if(strret.length > 7) {

	    var str = new String(strret);

		var endstr = str.substring(str.length-7, str.length);

		if(endstr=='&nbsp;*'){ return str.substring(0, str.length-7)+' *'; }

	  }

	  return strret;

	}

  }

  return "";

}



function trimString (str) {

  str = (this != window)? this : str;

  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');

}



function removeTags(astr) {

  var str = new String(astr);

  var strret = new String("");

  var i = 0;

  var bracketL = 0;

  var bracketR = 0;

  for (i = 0; true;) {

    bracketL = str.indexOf("<", i);

	bracketR = str.indexOf(">", i);

	if (bracketL == -1 || bracketR == -1 || bracketL > bracketR) {

	  strret += str.substring(i, str.length); break; }

	else { strret += str.substring(i, bracketL); i = bracketR + 1; }

  }

  return strret;

}



function getInt(num) {

  var numStr = new String(num);

  var str = numStr.replace(/^[0]*/g, '');

  if (str.length == 0 && num.length != 0) return "0";

  return str;

}



function isNumber(s){

  if (!isFilled(s)) return true;

  var pattern = /^[0-9. ]+$/;

  var str = getInt(s);

  var result = str.match(pattern);

  return (result!=null);

}



function checkIntErr(id, n) {

  var strErr = new String("");

  if (!isNumber(n)) strErr += errNum[0] + getLabel(id) + errNum[1];

  return strErr;

}



function checkLenErr(id, s, minLength, maxLength) {

  var strErr = new String("");

  if (s.length < minLength || s.length > maxLength)

    if (minLength == maxLength) strErr += strFrmLen[0] + getLabel(id) + strFrmLen[1] + minLength + strFrmLen[2];

  else if (minLength == 0) {

    if (s.length > maxLength) strErr += strFrmMax[0] + getLabel(id) + strFrmMax[1] + maxLength + strFrmMax[2];

    else strErr += strFrmMin[0] + getLabel(id) + strFrmMin[1] + minLength + strFrmMin[2]; }

  else strErr += strFrmMinMax[0] + getLabel(id) + strFrmMinMax[1] + minLength + strFrmMinMax[2] + maxLength + strFrmMinMax[3];

  return strErr;

}



function popupError(strErr) {

  if (strErr != ""){

    alert(strGlobalErrors + strErr);

	bSent=false;focusFirstField();

	return false;}

  else{	return true; }	

}



function checkAscii(id, ps) {

  var strErr = new String("");

  for (i=0; i<ps.length; i++)

    if (ps.charCodeAt(i)<33 || ps.charCodeAt(i)>126) {

	  strErr += errAscii[0] + getLabel(id) + errAscii[1] + errAscii[2];

	  markField(id, true); break; }

  return strErr;

}



function checkPassword(id, ps) {

  var strErr = new String("");

  strErr = checkRequired(id, ps);

  if (strErr != "") return strErr;

  return checkAscii(id, ps);

}



function checkForbiddenCharacters(id, valu) {

  var forbidden_chars = new Array("%","<",">","$","../","/..","..\\","\\..","'","\"");

  var strErr = new String("");

  for(i=0; i<forbidden_chars.length; i++) {

    if (valu.lastIndexOf(forbidden_chars[i])!=-1) {

	  strErr+=strFrbChar[0]+getLabel(id)+strFrbChar[1];

	  return strErr;

	}

  }

  return strErr;

}



function isInteger(s){

  if (!isFilled(s)) return true;

  var pattern = /^[0-9 ]+$/;

  var str = getInt(s);

  var result = str.match(pattern);

  return (result!=null);

}



function checkInteger(id, n) {

  var strErr = new String("");

  if (!isInteger(n)) strErr += errInteger[0] + getLabel(id) + errInteger[1];

  return strErr;

}

//email_fax.js

function checkEmailAddress(id, email) {

  var strErr = new String(errEmail[0] + getLabel(id) + errEmail[1]);

  var strErrOk = new String("");

  if(checkLenErr(id, email, 0, 70) != "") return strErr;

  var array_email = email.split(";");

  var allEmpty = true;

  for(j = 0; j < array_email.length; j++) {

    array_email[j] = array_email[j].replace(/^[\s]+/g,"");

	array_email[j] = array_email[j].replace(/[\s]+$/g,"");

	if(array_email[j]!="") {

	  allEmpty = false;

	  if(checkSingleEmailAddress(id,array_email[j])!="") return strErr;

	}

  }

  if(allEmpty) return strErr;

  return strErrOk;

}



function checkSingleEmailAddress(id, email) {

  var strErr = new String(errEmail[0] + getLabel(id) + errEmail[1]);

  var strErrOk = new String("");

  if (checkLenErr(id, email, 0, 70) != "") return strErr;

  var array_email = email.split("@");

  if (array_email.length != 2) return strErr;

  var name = array_email[0];

  var domains = array_email[1];

  var name_pattern = /[0-9a-zA-Z-+_\.]*/

  var domain_pattern = /[0-9a-zA-Z-+]*/

  // check name part

  if (name.length == 0) return strErr;

  if (name.match(name_pattern) != name) return strErr;

  // check domains

  var array_domains = domains.split(".");

  if (array_domains.length < 2) return strErr;

  var ret = "";

  for (i = 0; i < array_domains.length; i++) {

    if (array_domains[i].length == 0) return strErr;

	if (array_domains[i].match(domain_pattern) != array_domains[i]) return strErr;

  }

  if (array_domains[array_domains.length-1].length != 2) return strErr;

  return strErrOk;

}



function isSpace(arg) {

  var sarg = new String(arg);

  var array_parts = sarg.split(" ");

  return (array_parts.length != 1);

}



function checkPhoneNumberAll(id, s_arg) {

  var strErr = new String("");

  var pfx = new String("");

  var s = new String(s_arg);

  var ptrn = new String(".");

  if (hasPtrn(s, ptrn)) return errPhoneAll[0] + getLabel(id) + errPhoneAll[1];

  strErr = checkLenErr(id, s, 9, 14);

  if (strErr != "") return strErr;

  if (isSpace(s)) { strErr += errPhoneAll[0] + getLabel(id) + errPhoneAll[1]; return strErr; }

  pfx = s.substr(0, s.length-9);

  s = s.substr(s.length-9, 9);

  if (pfx!="00420" && pfx!="00421" && pfx!="+420" && pfx!="+421" && pfx!="") return errPhoneAll[0] + getLabel(id) + errPhoneAll[1];

  strErr = checkIntErr(id, s);

  if (strErr != "") return strErr;

  var prefix = s.substring(0, 3);

  if (s.charAt(0) == '8') {

    if (prefix=="800" || prefix=="844") {return errPhoneBlocked[0] + getLabel(id) + errPhoneBlocked[1];}

  }

  if (s.charAt(0) == '9') {

    if (prefix=="900" || prefix=="906" || prefix=="909" || prefix=="971") {

	  return errPhoneBlocked[0] + getLabel(id) + errPhoneBlocked[1];

	}

  }

  if (window.mobileprefixes) {

    var result = mobileprefixes.match("#"+prefix+"#");

	if (result == null) {

	  prefix = s.substring(0, 2);

	  result = mobileprefixes.match("#"+prefix+"#");

	  if (result == null) {

	    prefix = s.substring(0, 1);

		if (window.phoneprefixes) {

		  result = phoneprefixes.match("#"+prefix+"#");

		  if (result == null) { strErr += errPhoneNonExist[0] + getLabel(id) + errPhoneNonExist[1];	return strErr; }

		}

	  }

	}

  }

  return strErr;

}



function hasPtrn(s_arg, s_pattern) {

  var str = new String(s_arg);

  var ptrn = new String(s_pattern);

  if (str == null || str.lenght == 0) return false;

  if (str.indexOf(ptrn) != -1) return true;

  return false;

}

//  calendar.js  12.8.2002 17:41:55

var pole = new Array();

var new_win = false;



function myKal_nastavPozici() {

  var el = this.inp;

}



function myKal_noveDatum(rok, mes, den) {

  this.rok = rok;

  this.mes = mes;

  this.den = den;

  this.datum = new Date(this.rok, this.mes - 1, this.den);

  this.rok = this.datum.getFullYear();

  this.mes = this.datum.getMonth() + 1;

  this.den = this.datum.getDate();

}



function myKal_prepnividitelnost() {

  this.zobraz();

}



function myKal_zobraz() {

  var theframe;

  var s;

  var i;

  var x, y, pom, pom1, maxDen;

  this.aktDat = this.inp.value;

  s  = "<html>";

  s += "<head>";

  s += "<title>" + cal_title + "</title>";

  s += "<style type=\"text/css\" >";

  s += "body { background-color : #00517C;	font-family : \"Verdana CE\", Verdana, sans-serif; font-size : 10px; color: #FFFFFF; margin : 5px; border-width : 0px; border-style : none;} ";

  s += "table {	background-color : transparent; } ";

  s += "td { margin : 0px;	padding : 0px;	font-size : 10px;	color: #FFFFFF; text-align: center;} ";

  s += "a {	font-size : 10px;	color: #FFFFFF;	text-decoration:none;} ";

  s += "a.close {	font-size : 10px;	color: #D3EAF7;	text-decoration:none;} ";

  s += "a.close:hover {} ";

  s += "img { border:0px;margin:0px;} ";

  s += "th { border-width:1px; border-style:solid; border-color:#D3EAF7; vertical-align:middle; text-align:center; background-color:#D3EAF7; height:22px; color:#00517C; font-size:10px } ";

  s += "td { border-width:1px; border-style:solid; border-color:#00517C;} ";

  s += ".vab { vertical-align:bottom; } ";

  s += ".vat { vertical-align:top; } ";

  s += ".vam { vertical-align:middle; text-align:center; } ";

  s += ".calMoon		{ text-align:center; vertical-align: middle; width:111px; height:19px; } ";

  s += ".imgCell		{ line-height:0px; } ";

  s += ".mainWidth	{ width:168px; height:22px; } ";

  s += ".navigation	{ font-size:8px; font-weight:bold; color: #FFFFFF;vertical-align:middle;} ";

  s += ".height30 	{ height:30px;} ";

  s += ".pracovni		{ cursor: pointer; cursor: hand;border-width:1px; border-style:solid; border-color:#00517C;vertical-align:middle; text-align:center; height:20px;} ";

  s += ".nepracovni	{ cursor: pointer; cursor: hand;border-width:1px; border-style:solid; border-color:#0e5e8a; background-color:#0E5E8A;vertical-align:middle; text-align:center; background-color:#0E5E8A; height:20px;} ";

  s += ".dnes			{ border-width:1px; border-style:dashed; border-color:#D3EAF7} ";

  s += ".aktualni		{ border-width:1px; border-style:solid; border-color:#D3EAF7} ";

  s += ".codeshover	{ cursor: pointer; cursor: hand; border-width:1px; border-style:solid; border-color:#C40000; background-color: #C40000;vertical-align:middle; text-align:center; height:20px;} ";

  s += ".calPopL { width:22px; vertical-align:bottom; background-color:#D3EAF7; height:22px; line-height:0px; } ";

  s += ".hal { text-align:left; padding: 3px 5px 3px 5px;  } ";

  s += ".split {margin:0; padding: -1; color: #0E5E8A} ";

  s += "</style>";

  s += "	<sc" + "ript type='text/javascript'>";

  s += "		var el = window.opener.parent.pole[" + this.poradi + "];";

  s += "";

  s += "function colorIt( xpointer, xstate ) {";

  s += "	if (xstate) {";

  s += "		pom=xpointer.className;";

  s += "		xpointer.className=\"codeshover\";";

  s += "	} else {";

  s += "		xpointer.className=pom;";

  s += "	}";

  s += "}";

  s += "";

  s += "		function novyDen(event) {";

  s += "			if (!el.inp.readOnly) {";

  s += "				el.inp.value = event.innerHTML + \".\" + el.mes + \".\" + el.rok;";

  s += "				if (el.inp.onchange) el.inp.onchange();";

  s += "				el.skry();";

  s += "				el.zmenadata();";

  s += "				window.close();";

  s += "			}";

  s += "		}";

  s += "		function novyMesic(x) {";

  s += "			el.noveDatum(el.rok, el.mes + x, 1);";

  s += "			el.zobraz();";

  s += "		}";

  s += "		function novyRok(x) {";

  s += "			el.noveDatum(el.rok+x, el.mes, 1);";

  s += "			el.zobraz();";

  s += "		}";

  s += "	</sc" + "ript>";

  s += "</head>";

  s += "<body onbeforeunload=\"\"><div style=\" height:200px; text-align: center; vertical-align: bottom;\">";//background-color: red;

  s += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"mainWidth\" ><tr>";

  s += "<td class=\"calMoon\"><a href=\"javascript:novyMesic(-1)\"><span>&lt;&lt;</span></a></td>";

  s += "<td class=\"calMoon\" style=\"width:60%;\"><b>" + cal_month[this.mes - 1] + "</b></td>";

  s += "<td class=\"calMoon\"><a href=\"javascript:novyMesic(1)\"><span>&gt;&gt;</span></a></td>";

  s += "<td class=\"calMoon\"><a href=\"javascript:novyRok(-1)\"><span>&lt;&lt;&nbsp;</span></a></td>";

  s += "<td class=\"calMoon\"><b>" + this.rok + "</b></td>";

  s += "<td class=\"calMoon\"><a href=\"javascript:novyRok(1)\"><span>&nbsp;&gt;&gt;</span></a></td>";

  s += "</tr><tr colspan=\"6\"><td></td></tr></table>";

  s += "<table border='0' cellspacing='0' cellpadding='0' class='mainWidth'>";

  s += "<tr>";

  for (i = 0; i < cal_day.length; i++) { s += "<th>"+cal_day[i]+"</th>"; }

  s += "</tr>";

  s += "<tr><td class=\"imgCell\" colspan=\"7\"></td></tr>";

  i = - this.prvniDen();

  maxDen = this.maxDen();

  for (x = 0; x < 6; x++) {

    s += "<tr>";

	for (y = 0; y < 7; y++) {

	  i++;

	  var cssClass="";

	  pom1 = " " + i + "." + this.mes + ".";

	  pom = new Array((i + "." + this.mes + "." + this.rok),(((i>9)?"":"0") + i + ((this.mes>9)?".":".0") + this.mes + "." + this.rok));

	  if ((0 < i) && (i <= maxDen)) {

	    if ((cal_holiday.indexOf(pom1) + cal_easter.indexOf(" " + pom[0])) != -2 || (y>4)) {cssClass += "nepracovni";}

		else {cssClass += "pracovni";}

		if (this.dnes == pom[0] || this.dnes == pom[1]) {cssClass += " dnes";}

		if (this.aktDat == pom[0] || this.aktDat == pom[1]) {cssClass += " aktualni";}

		s += "<td class=\""+cssClass+"\" onmouseover=\"colorIt(this,true);\" onmouseout=\"colorIt(this,false);\" onclick=\"novyDen(this)\">" + i + "</td>";

	  } else {s += "<td>&nbsp;</td>";}

	}

	s += "</tr>";

  }

  s += "<tr><td colspan=\"7\" class=\"vam height30\"><a class=\"close\" href=\"#\" onfocus=\"window.focus();\" onclick=\"window.close();\">" + cal_close + "</a></td></tr>";

  s += "</table></div>";

  s += "</body>";

  s += "</html>";

  if (new_win && new_win.open && !new_win.closed) {

    theframe = window.new_win.document;

	window.new_win.focus();

  } else {

    if (parseInt(navigator.appVersion) >= 4) { winl = 100, wint = 100; }

	var winl = (screen.width - 180) / 2;

	var wint = (screen.height - 210) / 2;

	new_win = window.open("","w","menubar=no,width=180,height=210,status=no,left="+winl+",top="+wint+"'");

	theframe = new_win.document;

	window.new_win.focus();

  }

  new_w = true;

  theframe.open("text/html");

  theframe.write(s);

  theframe.close();

  this.skryty = false;

}



function myKal_nastavDatum() {

  var re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;

  if (re.exec(this.inp.value)) {this.noveDatum(RegExp.$3, RegExp.$2, RegExp.$1);}

  else {var dt = new Date(); this.noveDatum(dt.getFullYear(),dt.getMonth()+1,dt.getDate()+1);}

}



function myKal_zmenadata() {

  if (self.zmenadata) {	zmenadata(); }

}



function myKal_skry() {

  this.nastavDatum();

  this.skryty = true;

}	



function myKal_prvniDen() {

  var prvniho = new Date(this.rok, this.mes - 1, 1);

  var denvtydnu;

  if (prvniho.getDay() == 0) { denvtydnu = 6; 	//nedele

  } else { denvtydnu = prvniho.getDay() - 1; }	//jiny den

  return denvtydnu;

}



function myKal_maxDen() {

  var d = 28; // minimalne je 28.unor

  var pomden = new Date(this.rok, this.mes - 1, d);

  for (i = d; pomden.getMonth() == this.datum.getMonth(); i++) {pomden.setDate(i);}

  return i - 2;

}



function myKal_mesicRok() {

  return cal_month[this.mes - 1] + " " + this.rok;

}



function myKal_init(inp, img, dat) {

  var frm;

  this.poradi = pole.length;

  frm = "frmdatum" + this.poradi;

  pole[pole.length] = this;

  this.dnes = (new Date().getDate()) + "." + (new Date().getMonth() + 1) + "." + (new Date().getFullYear());

  if (dat) {this.inp.value = dat;} else {}

  this.nastavDatum();

  this.img.onclick = processCalClick;

  this.img.poradi=this.poradi;

  this.img = document.getElementById(img);

  this.iframe = frm;

  this.frm = document.getElementById(frm);

  this.nastavPozici();

}

		

function processCalClick() {

  pole[this.poradi].prepnividitelnost();

  event.cancelBubble = true;	

}



function myKal(inp, img, dat) {

  this.skryty = true;

  this.inp = document.getElementById(inp);

  this.img = document.getElementById(img);

  this.noveDatum = myKal_noveDatum;

  this.nastavPozici = myKal_nastavPozici;

  this.prepnividitelnost = myKal_prepnividitelnost;

  this.zobraz = myKal_zobraz;

  this.skry = myKal_skry;

  this.prvniDen = myKal_prvniDen;

  this.maxDen = myKal_maxDen;

  this.mesicRok = myKal_mesicRok;

  this.nastavDatum = myKal_nastavDatum;

  this.zmenadata = myKal_zmenadata;

  this.init = myKal_init;

  this.init(inp, img, dat);

}



function cal_init(cal_ID){

  if ((cal_ID != null) && (cal_ID.length != 0) && document.getElementById && document.body.innerHTML){

  	var arr_cal = new Array();

	var arr_cal_ID = new Array();

	arr_cal_ID = cal_ID.split('|');

	for(i=0;i<arr_cal_ID.length;i++){

	  if (document.getElementById("ico_"+arr_cal_ID[i]) && !(document.getElementById(arr_cal_ID[i]).readOnly)){

	  	arr_cal[i] = new myKal(arr_cal_ID[i], "ico_"+arr_cal_ID[i],  (document.getElementById(arr_cal_ID[i]).value==""?null:document.getElementById(arr_cal_ID[i]).value));

	  }

	}

  }

}			 



function disablerCheckbox(id_field, id_check) {

  if (!document.getElementById) return;

  el_field = document.getElementById(id_field);

  el_check = document.getElementById(id_check);

  el_field.disabled = !el_check.checked;

}

//spec_validation.js

function isDate(dateStr_par){

  var dateStr = new String(dateStr_par);

  if (!isFilled(dateStr)) return false;

  var array_date = dateStr.split("/");

  if (array_date.length != 3) {

    array_date = dateStr.split(".");

	if (array_date.length != 3) {

	  return false;

    }

  }

  var dayStr   = trimString(array_date[0]);

  var monthStr = trimString(array_date[1]);

  var yearStr  = trimString(array_date[2]);

  var day   = new Number(dayStr);

  var month = new Number(monthStr);

  var year  = new Number(yearStr);

  if (isNaN(day) || isNaN(month) || isNaN(year)) return false;

  if (year < 1900) return false;

  if (month < 1 || month > 12) return false;

  if (day < 1 || day > 31) return false;

  if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;

  if (month == 2) {

    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));

	if (day>29 || (day==29 && !isleap)) { return false; }

  }

  return true;

}

// Date in mm/yyyy format

function isShortDate(dateStr_par){

  var dateStr = new String(dateStr_par);

  if (!isFilled(dateStr)) return false;

  var array_date = dateStr.split("/");

  if (array_date.length != 2) {

    array_date = dateStr.split(".");

    if (array_date.length != 2) { return false; }

  }

  var monthStr = trimString(array_date[0]);

  var yearStr  = trimString(array_date[1]);

  var month = new Number(monthStr);

  var year  = new Number(yearStr);

  if (isNaN(month) || isNaN(year)) return false;

  if (year < 1900) return false;

  if (month < 1 || month > 12) return false;

  return true;

}



function isDay(day_par){

  var day = trimString(day_par);

  var dayNum = parseInt(day);  

  if (isNaN(dayNum) || dayNum < 1 || dayNum > 31) return false;

  return true;

}



function compareDate(date1_par, date2_par){

  // returns -1, 0 or +1

  // if date1 <, == or > then date2

  var date1 = trimString(date1_par);

  var date2 = trimString(date2_par);

  var array_date1 = date1.split(".");

  var array_date2 = date2.split(".");

  if (array_date1[2] != array_date2[2]) return (array_date1[2] < array_date2[2]) ? -1 : +1;

  if (array_date1[1] != array_date2[1]) return (array_date1[1] < array_date2[1]) ? -1 : +1;

  if (array_date1[0] != array_date2[0]) return (array_date1[0] < array_date2[0]) ? -1 : +1;

  return 0;

}



function checkFloatErr(id, np){

  var strErrOk = new String("");

  var strErr = new String(errNum[0] + getLabel(id) + errNum[1]);

  var nstr = np;

  var n = new Number(nstr);

  if (isNaN(n) || n < 0)  return strErr;

  return strErrOk;

}



function checkFloatNegErr(id, np){

  var strErrOk = new String("");

  var strErr = new String(errNum[0] + getLabel(id) + errNum[1]);

  var nstr = np;

  var n = new Number(nstr);

  if (isNaN(n))  return strErr;

  return strErrOk;

}



function checkIntIntervalErr(id, np, from, to){

  var strErrOk = new String("");

  var strErr = new String(errNum[0] + getLabel(id) + errNum[1]);

  var nstr = np;

  var n = new Number(nstr);

  if (isNaN(n)) { errNum[0] + getLabel(id) + errNum[1]; return strErr; }

  if (n < from || n > to) { strErr = errNumMinMax[0] + getLabel(id) + errNumMinMax[1] + from + "-" + to + errNumMinMax[2]; return strErr; }

  return strErrOk;

}



function checkFloatIntervalErr(id, np, from, to){

  var strErrOk = new String("");

  var strErr = new String("");

  var nstr = np;

  var n = new Number(nstr);

  if (isNaN(n)) { strErr = errNum[0] + getLabel(id) + errNum[1]; return strErr; }

  if (n < from || n > to) { strErr += errNumMinMax[0] + getLabel(id) + errNumMinMax[1] + from + "-" + to + errNumMinMax[2]; return strErr; }

  return strErr;

}



function checkDate(id, val){

  var strErr = new String("");

  if (!isDate(val)) strErr += errDate[0] + getLabel(id) + errDate[1];

  return strErr;

}



function checkShortDate(id, val){

  var strErr = new String("");

  if (!isShortDate(val)) strErr += errShortDate[0] + getLabel(id) + errShortDate[1];

  return strErr;

}



function checkAmount(id, amount, min, max){

  if (max == null) { max = 1e12 - 0.01; }

    if (min == null) { min = 0.11; }  

  var strErr = new String("");

  strErr = checkLenErr(id, amount, 0, 15);

  if (strErr != "") return strErr;

  amount = swapCommaToDot(amount);  

  strErr = checkFloatIntervalErr(id, amount, min, max);

  if (strErr != "") return strErr;  

  return strErr;

}



function checkPaymentDate(id, pd){

  var strErr = new String("");

  strErr = checkDate(id, pd);

  if (strErr != "") return strErr;  

  return strErr;

}



function checkActivationDate(id, ad){

  var strErr = new String("");

  strErr = checkDate(id, ad);

  if (strErr != "") return strErr;

  return strErr;

}



function checkDeactivationDate(id, dd){

  var strErr = new String("");

  strErr = checkDate(id, dd);

  if (strErr != "") return strErr;

  return strErr;

}



function checkPhoneNumberMobil(id, s_arg) {

  var strErr = new String("");

  var pfx = new String("");

  var s = new String(s_arg);

  strErr = checkLenErr(id, s, 9, 14);

  if (strErr != "") return strErr;

  if (isSpace(s)) { strErr += errPhoneAll[0] + getLabel(id) + errPhoneAll[1]; return strErr; }

  pfx = s.substr(0, s.length-9);

  s = s.substr(s.length-9, 9);

  if (pfx!="00420" && pfx!="00421" && pfx!="+420" && pfx!="+421" && pfx!="") return errPhoneAll[0] + getLabel(id) + errPhoneAll[1];

  strErr = checkIntErr(id, s);

  if (strErr != "") return strErr;

  var prefix = s.substring(0, 3);

  if (window.mobileprefixes) {

    var result = mobileprefixes.match("#"+prefix+"#");

	if (result == null)	{

	  prefix = s.substring(0, 2);

	  result = mobileprefixes.match("#"+prefix+"#");

	  if (result == null) {	strErr += errPhoneMobil[0] + getLabel(id) + errPhoneMobil[1]; return strErr;}

    }

  }

  return strErr;

}



function checkPaymentDay(id, pd, max){

  var strErr = new String("");

  strErr = checkLenErr(id, pd, 0, 2);

  if (strErr != "") return strErr;

  strErr = checkIntIntervalErr(id, pd, 0, max);

  if (strErr != "") return strErr;

  return strErr;

}



function checkPaymantMonth(id, month){

  var strErr = new String("");

  strErr = checkIntIntervalErr(id, month, 1, 12);

  if (strErr != "") return strErr;

  return strErr;

}

   

function checkDDType(id, type){

  var strErr = new String("");

  strErr = checkLenErr(id, type, 1, 1);

  if (strErr != "") return strErr;

  strErr = checkIntIntervalErr(id, type, 1, 2);

  if (strErr != "") return strErr;

  return strErr;

}



function checkName(id, name){

  var strErr = new String("");

  strErr = checkLenErr(id, name, 2, 20) + checkForbiddenCharacters(id, name);

  if (strErr != "") return strErr;

  return strErr;

}



function checkCompanyName(id, companyname){

  var strErr = new String("");

  strErr = checkLenErr(id, companyname, 0, 40) + checkForbiddenCharacters(id, name);

  if (strErr != "") return strErr;

  return strErr;

}



function checkStreet(id, street){

  var strErr = new String("");

  strErr = checkLenErr(id, street, 0, 60) + checkForbiddenCharacters(id, name);

  if (strErr != "") return strErr;

  return strErr;

}



function checkMunicipality(id, municipality){

  var strErr = new String("");

  strErr = checkLenErr(id, municipality, 3, 40) + checkForbiddenCharacters(id, name);

  if (strErr != "") return strErr;

  return strErr;

}



function checkZipcode(id, zipcode){

  var strErr = new String("");

  strErr = checkLenErr(id, zipcode, 5, 5);

  if (strErr != "") return strErr;

  return strErr;

}



function checkState(id, state){

  var strErr = new String("");

  strErr = checkLenErr(id, state, 2, 2);

  if (strErr != "") return strErr;

  return strErr;

}



function swapCommaToDot(strValue){

	return strValue.replace(/,/gi, ".");

}
