// otevirani do novych oken
function bar(url) {
  wasOpen = false;
  win = window.open(url);    
  return (typeof(win) == 'object')?true:false;
}
function popup(url) {
  wasOpen = false;
  win = window.open(url);    
  return (typeof(win) == 'object')?true:false;
}

// vypocet maximalniho poctu znaku pro txt pole
function countit(delka,pole,text) {
  var formular = document.getElementById('formular');
  var policko = eval("formular."+pole);
  var running = false;
  var lock = false;
  var charleft;
  var netscape = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4); 
  var str = policko.value;
  var strlength = str.length;
  if ((!netscape || !lock) && strlength > delka) {
    lock = true;
  	policko.value = str.substring(0,delka);
  	alert(text+": "+delka);
  	charleft = "!0!";
  	lock = false;
  }
  else {
    charleft = delka - strlength;
    formular.cntr1.value = charleft;
    formular.cntr2.value = strlength;
  }
}

// kontrola pro vkladani
function kontrola(form,pole) {
var chyba = false;
var element;
  for (var i = 0; i < pole.length; i++) {
    element = "form."+pole[i];
    element = eval(element);
    if (element.value == "") {
      alert("Nevyplnili jste povinný údaj!\n("+pole[i]+")");
      element.focus();
      i = pole.length;
      chyba = true;
  	}
  }

  if (!chyba) {
    if (form.sendbutton) form.sendbutton.disabled=true;
    return true;
  }
  else {
    return false;
  }
}

// zjistime si, co uzivatel macka na klavese
function klavesa(e) {
  var code;
  if (!e) var e = window.event; // nastaveni pro IE
  if (e.keyCode) code = e.keyCode; // IE a Mozilla
  else {
    if (e.which) code = e.which; // NN4?
  }

  return code; 
}

// povoleni pouze numerickych klaves
function numericke(eX) {
  test = klavesa(eX);
  // seznamy klavesovych zkratek, ktere mohou byt pouzity
  // (backspace, TAB, ENTER, HOME, END, doleva, doprava, carka, tecka a pak numericke znaky)
  var seznam = new Array(8,9,13,35,36,37,39,44,46,48,49,50,51,52,53,54,55,56,57);
  var nalezeno = false;
    
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return true; else return false;
}

// povoleni pouze numerickych klaves (bez carek a tecek)
function numericke2(eX) {
  test = klavesa(eX);
  // seznamy klavesovych zkratek, ktere mohou byt pouzity
  // (backspace, TAB, ENTER, HOME, END, doleva, doprava a pak numericke znaky)
  var seznam = new Array(8,9,13,35,36,37,39,48,49,50,51,52,53,54,55,56,57);
  var nalezeno = false;
    
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return true; else return false;
}

// cookies - ulozeni
function setCookie(c_name,value,expiredays) {
  var exdate = new Date();
  exdate.setDate(exdate.getDate()+expiredays);
  document.cookie = c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
// cookies - precteni
function getCookie(c_name) {
  if (document.cookie.length > 0) {
    c_start = document.cookie.indexOf(c_name + "=");
    if (c_start != -1) { 
      c_start = c_start + c_name.length+1; 
      c_end = document.cookie.indexOf(";",c_start);
      if (c_end == -1) c_end = document.cookie.length;
      return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
  return "";
}

// str_replace
function replace(f,r,s) {
	var ra = r instanceof Array, sa = s instanceof Array, l = (f = [].concat(f)).length, r = [].concat(r), i = (s = [].concat(s)).length;
	while(j = 0, i--)
		while(s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j < l);
	return sa ? s : s[0];
}

// "otevirani"/"zavirani" elementu (hide/show)
function otevirej(nazev,checked) {
  element = document.getElementById(nazev);
  
  if (checked) {
    element.style.display = '';
  }
  else {
    element.style.display = 'none';
  }
}

// intval for JS
function intval(mixed_var,base) {
  // odstraneni carek a tecek
  mixed_var = replace(',','',mixed_var);
  mixed_var = replace('.','',mixed_var);
  
  var tmp;
  var type = typeof(mixed_var);

  if (type == 'boolean') {
    if (mixed_var == true) {
      return 1;
    }
    else {
      return 0;
    }
  }
  else if (type == 'string') {
    tmp = parseInt(mixed_var * 1,10);
    if (isNaN(tmp) || !isFinite(tmp)) {
      return 0;
    }
    else {
      return tmp.toString(base || 10);
    }
  }
  else if (type == 'number' && isFinite(mixed_var)) {
    return Math.floor(mixed_var);
  }
  else {
    return 0;
  }
}
