function CheckEmpty(element, chyba) {
 if (arguments.length<2) chyba="";

 var v;
 if (element.type=="select-one")
  v=element.options[element.selectedIndex].text;
 else
  v=element.value;

 if (v=="") {
  if (chyba!="") {
   alert("Prosím zadaj "+chyba+" !");
   element.focus();
  }
  return false;
 }
 return true;
}

function CheckEmail(email) {
 if (window.RegExp)
  if (email.value!="") {
   var re1=/^(.+)@(.+)$/
   var rep=re1.exec(email.value);
   if (rep!=null) {
    var ename  =rep[1];
    var edomain=rep[2];
    var re2a=/^[0-9a-z\_\.\-\&\~]+$/i;
    var re2b=/^"[^"]*"$/;
    var re3a=/^[0-9a-z]+[0-9a-z\-]*(\.[0-9a-z]+[0-9a-z\-]*)*\.[a-z]{2,4}$/i;
    var re3b=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    if ((re2a.test(ename) || re2b.test(ename)) &&
        (re3a.test(edomain) || re3b.test(edomain))) return true;
   }
   alert("Zadaná adresa nie je správnou adresou elektronickej pošty!");
   email.focus();
   return false;
  }
 return true;
}
function CheckContact(c) {
 if (c.value.indexOf("@") != -1)
  return (CheckEmail(c));
 else
  return true;
}
function CheckPhone(phone) {
 if (phone.value!="") {
  var re=new RegExp("^[0-9\+\/\ \-]{7,20}$");
  if (!re.test(phone.value)) {
   alert("Zadané telefónne číslo je nesprávne alebo obsahuje nepovolené znaky !");
   phone.focus();
   return false;
  }
 }
 return true;
}

function CheckPassword(password1,password2) {
 if (password1.value!=password2.value) {
  alert("Heslá nie sú rovnaké ! Zadaj ich ešte raz !");
  password1.focus();
  return (false);
 }
 return (true);
}

function CheckDate(d) {
 var dnes=new Date();
 if (d.value.length>=4 && d.value.length<=6) d.value=d.value+dnes.getFullYear(); //prida rok

 var re=new RegExp("^([0-9]{1,2})\\s*[\\.\\,\\/\\-]\\s*([0-9]{1,2})\\s*[\\.\\,\\/\\-]\\s*([0-9]{2,4})$");
 if (!re.test(d.value)) {
  alert("Formát dátumu musí byť den.mesiac.rok !");
  d.focus();
  return false;
 }

 var a=re.exec(d.value);
 var dd=parseInt(a[1],10);
 var mm=parseInt(a[2],10);
 var rr=parseInt(a[3],10);
 if (rr>1 && rr<100) rr=2000+rr; //rok je dvojmiestny
 if ((dd<1) || (dd>31) || (mm<1) || (mm>12) || (rr<dnes.getFullYear()) || (rr>dnes.getFullYear()+99)) {
  alert("Dátum je neplatný ! ["+dd+"."+mm+"."+rr+"]");
  d.focus();
  return false;
 }
 d.value=dd+"."+mm+"."+rr;
 return true;

 //var usdate=d.value.replace(re, "$2/$1/$3");
 //alert(usdate);

 //d1 = new Date();
 //d1.setTime(Date.parse(d.value));
 //var s = d1.toLocaleString();
 //alert(s);
}
function CheckDateE(d) {
 return (d.value=="" || CheckDate(d));
}


function CheckDateTime(dt) {
 var dnes=new Date();
 if (dt.value.length>=4 && dt.value.length<=6) dt.value=dt.value+dnes.getFullYear(); //prida rok

 var re = /^([0-9]{1,2})\s*[\.\,\/\-]\s*([0-9]{1,2})\s*[\.\,\/\-]\s*([0-9]{4})( \s*([0-9]{1,2}):([0-9]{1,2})(:([0-9]{1,2}))?)?$/;
 if (!re.test(dt.value)) {
  alert("Formát údaja musí byť den.mesiac.rok hodiny:minuty:sekundy !");
  dt.focus();
  return false;
 }

 var a=re.exec(dt.value);
 var dd=parseInt(a[1],10);
 var mm=parseInt(a[2],10);
 var rr=parseInt(a[3],10);
 var hh=parseInt(a[5],10);
 var ii=parseInt(a[6],10);
 var ss=parseInt(a[8],10);
 if ((dd<1) || (dd>31) || (mm<1) || (mm>12) || (rr<dnes.getFullYear()) || (rr>dnes.getFullYear()+99)) {
  alert("Dátum je neplatný ! ["+dd+"."+mm+"."+rr+"]");
  dt.focus();
  return false;
 }
 if ((hh<0) || (hh>23) || (ii<0) || (ii>59) || (ss<0) || (ss>59)) {
  alert("Čas je neplatný !");
  dt.focus();
  return false;
 }
 return true;
}
function CheckDateTimeE(dt) {
 return (dt.value=="" || CheckDateTime(dt));
}

function CheckWWW(www) {
 if (www.value=="") return true;
 if (www.value=="http://") {www.value=""; return true;}

 www.value=www.value.toLowerCase();
 if (www.value.indexOf("://")==-1) www.value="http://"+www.value;

 var re=new RegExp("^(http|https)://\\w+[0-9a-z\-]*(\\.\\w+[0-9a-z\-]*)*\\.[a-z]{2,4}(/[0-9a-z\~\_\-]+(\\.[a-z]+)?)*/?$","gi");
 if (!re.test(www.value)) {
  alert("Zadaná adresa WWW nie je platnou adresou !");
  www.focus();
  return false;
 }
 return true;
}

function NowDateTime() {
 var d= new Date();
 return (d.getDate()+"."+(d.getMonth()+1)+"."+d.getFullYear()+" "+d.getHours()+":"+d.getMinutes());
}

function okno(url,meno,sirka,vyska,posuvniky) {
 if (arguments.length<5) posuvniky='no';
 var w=window.open(url,meno,
  'toolbar=no,directories=no,menubar=no,status=no,scrollbars='+posuvniky+',resizable='+posuvniky+
  ', width='+sirka+', height='+vyska+
  ', top='+Math.round((screen.height/2)-(vyska/2))+', left='+Math.round((screen.width/2)-(sirka/2)));
 return (w);
}

function showStatus(s) {
 if (arguments.length==0) s="";
 window.status=s;
 return true;
}

function help(id) {
 if (arguments.length==0) id=location.pathname.slice(location.pathname.lastIndexOf("/")+1,-4);
 okno("/help.php?id="+id, "Pomoc", 550,450,"yes");
}

function getId(name) {
 if (document.getElementById)
  return document.getElementById(name);
 else if (document.all)
  return document.all.item(name);
 else if (document.layers)
  return document.layer[name];
 else
  return null;
}

function preload() {
 var imgarr=new Array(arguments.length);
 for (var i=0; i<arguments.length; i++) {
  imgarr[i]=new Image();
  imgarr[i].src=arguments[i];
 }
}

/* Win-1250 char code method for String object */
function Win1250CodeAt(i) {
 var c=this.charCodeAt(i); //UNICODE
 switch (c) {
  case 268: return(200); //Č
  case 269: return(232); //č
  case 270: return(207); //Ď
  case 271: return(239); //ď
  case 283: return(236); //ě
  case 317: return(188); //Ľ
  case 318: return(190); //ľ
  case 327: return(210); //Ň
  case 328: return(242); //ň
  case 344: return(216); //Ř
  case 345: return(248); //ř
  case 352: return(138); //Š
  case 353: return(154); //š
  case 356: return(141); //Ť
  case 357: return(157); //ť
  case 381: return(142); //Ž
  case 382: return(158); //ž
  default : return(c);
 }
}
String.prototype.Win1250CodeAt=Win1250CodeAt;