// 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;
}

// odkryti potrebnych poli
function showit(value) {
  var pole = new Array("procenta","castka");

  for (i = 1; i <= pole.length; i++) {
    if (value == i) {
      document.getElementById(pole[i-1]).style.display = '';
    }
    else {
      document.getElementById(pole[i-1]).style.display = 'none';
    }
  }
}

// vyber souboru, ktere chceme pripojit
function vybratSoubory(url) {
  popWin(url, 450, 450, 'file');
  if (window.pagefile.focus) window.pagefile.focus();
}

// vyber piktogramu
function vybratPiktogramy(url,pole,pocet,uniqid) {
  var pop_win_params = 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=no,copyhistory=no';
  var i_height = 450;
  var i_width = 450;

  i_height += 16;
  var winl = ((screen.width - i_height)/2);
  var wint = ((screen.height - i_width)/2);

  var cislo = document.getElementById(pole).value;
  if (uniqid > 0) url += "&id="+uniqid;
  if (pocet > 0) url += "&pocet="+pocet; else url += "&pocet=all"; // kolik lze zvolit max piktogramu 
  if (pole != "") url += "&pole="+pole; // do jakeho pole budeme ID piktogramu vracet
  if (cislo != "") url += "&cislo="+cislo;

  eval("pagepikt = window.open('"+url+"','pikt"+pocet+"','"+pop_win_params+",width="+i_height+",height="+i_width+",left="+winl+",top="+wint+"');");
  if (window.pagepikt.focus) window.pagepikt.focus();
}

// otevreni noveho okna
function popWin(url, i_height, i_width, s_title) {
  var pop_win_params = 'toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=no,copyhistory=no';

  i_height += 16;
  var winl = ((screen.width - i_height)/2);
  var wint = ((screen.height - i_width)/2);

  var cislo = document.getElementById('pripojit').value;
  var id = 0;
  url = url+"&id="+id;
  if (cislo != "") url = url+"&cislo="+cislo;

  eval("page"+s_title+" = window.open('"+url+"','"+s_title+"','"+pop_win_params+",width="+i_height+",height="+i_width+",left="+winl+",top="+wint+"');");
}

// 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';
  }
}

// kontrola zakazanych znaku u NICKu
function povolenenick(eX) {
  test = klavesa(eX);
  // seznamy klavesovych zkratek, ktere NESMI byt pouzity
  var seznam = new Array(33,34,35,36,38,40,41,42,43,44,47,58,59,60,61,62,63,64,91,92,93,94,95,96,123,124,125,32,167,180);
  var nalezeno = false;
 
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return false; else return true;
}

// 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;
  }
}
