function openWindow() {
  window.open("","chata",'toolbar=0,location=0,status=0,scrollbars=1,width=600,height=430,resizable=1,left=50');
}// end openWindow

function picview(pageName)
{
	var popWindow=window.open(pageName,"okno","width=800,height=600,status=yes,scrollbars=yes,resizable=yes,toolbar=yes,location=yes");
	popWindow.creator = self;
	 if (window.focus) {popWindow.focus();}
}//end picview

function TestElement(ele,tx){
if (ele.value=="") {alert(tx);ele.style.background="#ff6666";ele.focus();return false;}
else {ele.style.background="#99ccff";return true;}}

function Hesla(h1,h2,tx)
{if (h1.value==h2.value) {h1.style.background="#99ccff";h2.style.background="#99ccff";return true;}
else {alert(tx);h2.style.background="#ff6666";h1.style.background="#ff6666";h1.focus();return false;}}

function MeneDelka(co,kolik,tx,trim)
{if (trim) {str=Trim(co.value);l=str.length-1;}
 else {l=co.value.length;}
if (l<kolik){alert(tx);co.style.background="#ff6666";co.focus();return false;}
else{co.style.background="#99ccff";return true;}}

function Prs(obj){obj.style.background="#99ccff";return true;}
function Fls(obj){obj.style.background="#ff6666";obj.focus();return false;}

function KontrolujPlatneZnaky(slovo, znaky)
{for (var i = 0; i <= slovo.length; i++){
if (znaky.indexOf(slovo.substr(i,1))<0){return false;}}
return true;}

function isPSC(str,tx)
{len = str.value.length;
 if (len<5 || len>6){str.style.background="#ff6666";str.focus();alert(tx);return false;}
 if (!KontrolujPlatneZnaky(str.value,'1234567890 ')){str.style.background="#ff6666";str.focus();alert(tx);return false;}
 if (len>5 && str.value.charAt(3)!=' ')
 {str.style.background="#ff6666";str.focus();alert(tx);return false;}    
 else {str.style.background="#99ccff";return true;}}

function isTel(tel,tx)
{if (!(KontrolujPlatneZnaky (tel.value,'1234567890()/- ')))
{tel.style.background="#ff6666";tel.focus();alert(tx);return false;}
else{tel.style.background="#99ccff";return true;}}

function isNum(cis,tx)
{if (!(KontrolujPlatneZnaky (cis.value,'1234567890')))
{cis.style.background="#ff6666";cis.focus();alert(tx);return false;}
else{cis.style.background="#99ccff";return true;}}

function isPosNum(cis,tx){
  if (!(KontrolujPlatneZnaky (cis.value,'1234567890.'))){
    cis.style.background="#ff6666";cis.focus();alert(tx);return false;}
  else{if(cis.value>0){cis.style.background="#99ccff";return true;}
  else{cis.style.background="#ff6666";cis.focus();alert(tx);return false;}}
}

function isLimit(cis,min,max,tx){
  if ( cis.value>max || cis.value<min ){
    cis.style.background="#ff6666";cis.focus();alert(tx);return false;
  }else{
    cis.style.background="#99ccff";return true;
  }
}//end isBigger


function isEmail(emailik,tx)
{var valid = true; var myCharAt = 0; var myCharDot = 0;var email;
email=emailik.value;
if (email==''){return true;}{
if (!(KontrolujPlatneZnaky (email, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.@')))
 valid = false
 var ch = " ";var i = 1;
 while (( i <= email.length ) && (valid))
	{ch = email.charAt(i-1);i++;
		if (ch == ' ') valid = false;
		if (ch > unescape('%7F')) valid = false;
		if (myCharAt > 0)
		{if (ch == '.')
			{if (i == email.length) valid = false;
				if (myCharDot == i-1) valid = false;
				if (myCharAt == i-1) valid = false;
				myCharDot = i;}}
 		if (ch == '@')
		{if (myCharAt > 0) valid = false;
		 if (i == 1) valid = false;
		 myCharAt = i;}}
    if (email.charAt(email.length-1)=='.') valid = false;
	if (myCharAt == 0) valid = false;
	if (myCharDot == 0) valid = false;
if (valid){emailik.style.background="#99ccff";return true;}	
else{emailik.style.background="#ff6666";alert(tx);emailik.focus();return false}}}  

function plICO(str)
{var s = 0;var len = str.length-2;
	if (len<6){return false}
	for (i=len; i>=0; i-- )
	{s = s + (len-i+2)*str.substr(i,1);}
	var n = s % 11;n = 11 - n;
	if ( n > 9 )
	{n = n - 10;}	
	if ( n == str.substr(str.length-1,1) )
	{return true;}
	else{return false;}}
	
function LTrim(str){
var mystr
mystr = str;
while (mystr.substr(0,1) == ' ') {mystr = mystr.substr(1);}return mystr;}

function RTrim(str){
var mystr
mystr = str;
while (mystr.substr(mystr.length-1,1) == ' ') { mystr = mystr.substr(0,mystr.length-1);}return mystr;}

function Trim(str){
var mystr
mystr = LTrim(RTrim(str));return mystr;}

function isICO(ico,tx){
if (ico.value=="") {return Prs(ico);}
if (!(KontrolujPlatneZnaky (ico.value,'1234567890'))){alert(tx); return Fls(ico);}
if (plICO(ico.value)) {return Prs(ico);}
else {alert(tx);return Fls(ico);}
}

function isDIC(str,tx)
{if (!KontrolujPlatneZnaky(str.value,'1234567890 -')){alert(tx);return Fls(str);}
 else {return Prs(str);}
}

function DateCompare(Date1,Date2){
  var Date1arr = Date1.split(".");
  var Date2arr = Date2.split(".");
  var r1,r2,m1,m2,d1,d2;
  d1 = parseInt(Date1arr[0]);
  m1 = parseInt(Date1arr[1]);
  r1 = parseInt(Date1arr[2]);
  d2 = parseInt(Date2arr[0]);
  m2 = parseInt(Date2arr[1]);
  r2 = parseInt(Date2arr[2]);
  if ((r1-r2)==0){//nelze rozhodnout
    if((m1-m2)==0){
        return(d1-d2);
    }else{
      return(m1-m2);
    }
  }else{
    return (r1-r2); //vrati kladne cislo pro Date1>Date2
  }
}//end datecompare


function isDate(obj){
  if(obj.value==""){
    alert ("Datum je prázdný!");
    return Fls(obj);
  }
  obj.value = Trim(obj.value);
  if(!obj.value.match(/^[0-9]{1,2}\.[ ]{0,1}[0-9]{1,2}\.[ ]{0,1}[0-9]{4}$/)){
    alert("Datum je v nesprávném formátu (dd. mm. rrrr)");
    return Fls(obj);
  }
  var parse_datum = obj.value.split(/\.[ ]{0,1}/g);
  var d = 0 + parse_datum(0);
  var m = 0 + parse_datum(1);
  var r = 0 + parse_datum(2);
  if(m<1 || m>12 || d<1 || d>31 || r<1){
    alert("Zadali jste neexistující datum.");
    return Fls(obj);
  }
  if((m==4 || m==6 || m==9 || m==11) && (d>30)){
    alert("Zadali jste neexistující datum.");
    return Fls(obj);
  }
  if( (m==2) && ( (isPresRok(r) && (d>29) ) || (!isPresRok(r) && (d>28)) ) ){
    alert("Zadali jste neexistující datum.");
    return Fls(obj);
  }else{
    return Prs(obj);
  }
}//isDate2

function isPresRok(rok){
  if( (rok%4==0) && ( (rok%100!=0) || ( (rok%100==0) && (rok%400!=0)) ) ){
    return true;
  }else{
    return false;
  }
}//isPresRok

function isCas(obj){
if (obj.value==""){
  alert ("Čas nesmí zůstat prázdný!");
  obj.focus();
  return false} 

if (obj.value.length!=5){
  alert ("Čas nemá správnou délku! \n"+"Pozor na tvar 09:01!" );
  obj.focus();
  return false} 

if (obj.value.charAt(2) !=":") {
  alert (obj.value + " není čas!");
  obj.focus();
  return false}     

for(i=obj.value.length-1;i>=0;i--) {
   ch=obj.value.charAt(i);
   if (ch != "0" && ch != "1" && ch != "2" && ch != "3" && ch != "4" && 
       ch != "5" && ch != "6" && ch != "7" && ch != "8" && ch != "9") 
       {
    if (i!=2){   
     alert ("Čas neobsahuje správné znaky: \n"+
            "Na pozici " +(i+1)+ " je nepovolený znak  "+ch+" .");
     obj.focus();
     return false}
    else {
     if (ch!=":")
     {
     alert ("Čas neobsahuje správné znaky: \n"+
            "Na pozici " +(i+1)+ " je nepovolený znak  "+ch+" .");
     obj.focus();
     return false}}
    }
  } 
    
i=obj.value.charAt(0)+obj.value.charAt(1)-0;
if ((i<0) || (i>24)) {
  alert (obj.value + " není čas! \n"+ "Hodiny nejsou správné.");
  obj.focus();
  return false}     
i=obj.value.charAt(3)+obj.value.charAt(4)-0;
if ((i<0) || (i>59)) {
  alert (obj.value + " není čas! \n"+ "Minuty nejsou správné.");
  obj.focus();
  return false;}
return true;  }     

//formulare
//vyhldevani.asp
function TestFormVyhl(form, str_pocet_osob){
  return TestElement(form.pocet_osob_id,str_pocet_osob) && isNum(form.pocet_osob_id,str_pocet_osob);
}  
//podrobne-vyhledavani.asp
function TestFormPodrVyhl(form, str_pocet_osob, str_pocet_loznic){
  return TestElement(form.pocet_osob,str_pocet_osob)&& 
    isNum(form.pocet_osob,str_pocet_osob)&&
    isNum(form.pocet_loznic,str_pocet_loznic);
}  
//dotazy k objektu
function TestFormDotazy(form, str_nesmi_zustat_prazdne, str_neni_email, str_neni_telefon){
  return TestElement(form.fjmeno, str_nesmi_zustat_prazdne) &&
    TestElement(form.femail, str_nesmi_zustat_prazdne) &&
    isEmail(form.femail, str_neni_email) &&
    isTel(form.ftelefon, str_neni_telefon) && 
    TestElement(form.fstrucne, str_nesmi_zustat_prazdne) &&
    TestElement(form.fdotaz, str_nesmi_zustat_prazdne) &&
    TestElement(form.controlId, str_nesmi_zustat_prazdne);
}