preload1 = new Image();
preload1.src = "/img/bg_top_shop_active.jpg";

preload2 = new Image();
preload2.src = "/img/bg_top_zine_active.jpg";

preload3 = new Image();
preload3.src = "/img/bg_top_forum_active.jpg";

preload4 = new Image();
preload4.src = "/img/bg_top_o_webu_active.jpg";

var str = "";

// Proste trim :)
function trim(string)
{
   return string.replace(/^\s*|\s*$/g,"");
}


// Kontroluje, zda-li je korektne zadana emailova adresa
function kontrolaFormMail(vstup, prim)
{
  var gut = true;
  
  if(prim == true)
    str = "";
  
  var x = trim(vstup.email.value);
  
  var at = x.indexOf("@");
  var lastAt = x.lastIndexOf("@");
  var firstDot = x.indexOf(".");
  var lastDot = x.lastIndexOf(".");
  var doubleDot = x.indexOf("..");
  
  var posLast = x.length - 1;
  
  if( at < 1 || at != lastAt || at > lastDot || firstDot < 1 || lastDot >= posLast || doubleDot >= 0 )
  {
    gut = false;
    str += "\n\tEmailová adresa má špatný formát";
  }
  
  if(gut == false && prim == true)
    alert(str);
    
  return gut;
}


// Kontroluje, zda-li je korektne zadane heslo a jeho kontrolni kopie
function kontrolaFormPasswrd(vstup, prim)
{
  var gut = true;
  
  if(prim == true)
    str = "";
  
  var x = trim(vstup.passwrd.value);
  var y = trim(vstup.passwrd2.value);
  
  if( x.length < 3 )
  {
    gut = false;
    str += "\n\tHeslo musí být dlouhé aspoň 3 znaky";
  }
  if( x != y )
  {
    gut = false;
    str += "\n\tKontrolní heslo se neshoduje s předchozím";
  }
  
  if(gut == false && prim == true)
    alert("Chyba v: " + str);
  
  return gut;
}


// Kontroluje, zda-li je korektne vyplneny formular pro registraci noveho uctu
function kontrolaFormRegistrace(vstup)
{
  var wrong = false;
  var x;
  str = "";
  
  x = trim(vstup.login.value);
  if( x.length < 3 )
  {
    wrong = true;
    str += "\n\tPřihlašovací jméno (musí být dlouhé aspoň 3 znaky)";
  }
  if( x.search(/^[a-zA-Z][a-zA-Z0-9\-\_]*$/i) == -1 )
  {
    wrong = true;
    str += "\n\tPřihlašovací jméno (nesmí obsahovat diakritiku, musí začínat písmenem, " + 
            "\n\t\tdále může obsahovat pouze písmena, číslice a speciální " + 
            "\n\t\t- (pomlčka), _ (podtržítko))";
  }
  
  if( vstup.passwrd && vstup.passwrd2 )
  {
    if( kontrolaFormPasswrd(vstup, false) == false )
      wrong = true;
  }
  
  x = trim(vstup.krestni.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tKřestní jméno";
  }
  
  x = trim(vstup.prijmeni.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tPříjmení jméno";
  }
  
  x = trim(vstup.ulice.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tUlice";
  }
  
  x = trim(vstup.obec.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tObec";
  }
  
  x = trim(vstup.psc.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tPSČ";
  }
  
  x = trim(vstup.zeme.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tZemě";
  }

  x = trim(vstup.tel.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tTelefon";
  }

  if( kontrolaFormMail(vstup, false) == false )
    wrong = true;
  
  x = vstup.check.checked;
  if( x == false )
  {
    wrong = true;
    str += "\n\tSouhlas s podmínkami";
  }
  
  
  if(wrong == true)
  {
    alert("Nebyly zadány nebo nebyly nezadány správně následující údaje:" + str + "\n\nOperace neprovedena.");
    return false;
  }
  else
    return true;
}


function kontrolaFormNeprihlasenyOdesilatel(vstup)
{
  var wrong = false;
  var x;
  str = "";
  
  x = trim(vstup.krestni.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tKřestní jméno";
  }
  
  x = trim(vstup.prijmeni.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tPříjmení jméno";
  }
  
  x = trim(vstup.ulice.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tUlice";
  }
  
  x = trim(vstup.obec.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tObec";
  }
  
  x = trim(vstup.psc.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tPSČ";
  }
  
  x = trim(vstup.zeme.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tZemě";
  }
  
  
  if( kontrolaFormMail(vstup, false) == false )
    wrong = true;
  
  if(wrong == true)
  {
    alert("Nebyly zadány nebo nebyly nezadány správně následující údaje:" + str + "\n\nOperace neprovedena.");
    return false;
  }
  else
    return true;
}


// Kontroluje, zda-li je korektne vyplneny formular pro prihlaseni uctu
function kontrolaFormPrihlasit(vstup)
{
  var wrong = false;
  var x;
  str = "";
  
  x = trim(vstup.login.value);
  if( x.length < 3 )
  {
    wrong = true;
    str += "\n\tPřihlašovací jméno (musí být dlouhé aspoň 3 znaky)";
  }
  if( x.length > 0 && x.search(/^[a-zA-Z][a-zA-Z0-9\-\_\.]*$/i) == -1 )
  {
    wrong = true;
    str += "\n\tPřihlašovací jméno (nemá korektní formát)";
  }
  
  x = trim(vstup.passwrd.value);
  if( x.length < 3 )
  {
    wrong = true;
    str += "\n\tPřihlašovací heslo (musí být dlouhé aspoň 3 znaky)";
  }
  
  
  if(wrong == true)
  {
    alert("Nebyly zadány nebo nebyly nezadány správně následující údaje:" + str + "\n\nOperace neprovedena.");
    return false;
  }
  else
    return true;
}

// Kontroluje, zda-li je korektne vyplneny formular pro zmenu hesla
function kontrolaFormNewPasswrd(vstup)
{
  var wrong = false;
  str = "";
  
  var x = trim(vstup.oldpasswrd.value);
  if( x.length < 3 )
  {
    wrong = true;
    str += "\n\tStaré heslo musí být dlouhé aspoň 3 znaky";
  }
  
  if( kontrolaFormPasswrd(vstup, false) == false )
    wrong = true;
  
  
  if(wrong == true)
  {
    alert("Nebyly zadány nebo nebyly nezadány správně následující údaje:" + str + "\n\nOperace neprovedena.");
    return false;
  }
  else
    return true;
}

// Dotaz na smazani polozky kategorie
function delKategorie(nazev)
{
  return confirm('Skutečně si přejete smazat položku \'' + nazev + '\'?\nS jejím odstraněním se smažou všechny podkategorie a položky!');
}

// Dotaz na smazani polozky
function delPolozka(nazev)
{
  return confirm('Skutečně si přejete smazat položku \'' + nazev + '\'?');
}

// Dotaz na smazani fotky
function delFoto()
{
  return confirm('Skutečně si přejete smazat tento obrázek?');
}


// Kdyz je zaply JS, nepotrebuje se zobrazovat u formulare "razeni" tlacitko...
function form_razeni()
{
  document.getElementById('form_razeni_submit').style.display = 'none';
}
function form_kategorie_barev()
{
  document.getElementById('form_kategorie_barev_submit').style.display = 'none';
}


// ...a muze se potvrzovat jen zmenou
function form_razeni_select(elem)
{
  document.getElementById('form_razeni').submit();
}
function form_kategorie_barev_select(elem)
{
  document.getElementById('form_kategorie_barev').submit();
}


// Odkazy v ramci webu preskakuji horni baner
function href()
{
  var a = document.getElementsByTagName('a');
  // Preskocim odkazy v ramci reklam a topu
  var ad = document.getElementById('ad').getElementsByTagName('a');
  var top = document.getElementById('top').getElementsByTagName('a');
  var topCount = ad.length + top.length;
  
  var bottom = document.getElementById('bottom_ad').getElementsByTagName('a');
  
  var i;
  
  for( i = topCount; i < a.length - bottom.length; i++ )
  {
    try
    {
      if( a[i].href.indexOf('/odhlasit') != -1 )
        continue;
      else if( a[i].href.toLowerCase().indexOf('javascript:') != -1 )
        continue;
      else if( a[i].href.toLowerCase().indexOf('/viewpost') != -1 )
        continue;
      else if( a[i].href.toLowerCase().indexOf('mailto:') != -1 )
        continue;
      else if( a[i].id == "link_vyrobce" || a[i].id == "link_dodavatele" )
        continue;
      else if( a[i] == document.getElementById('odkazy').getElementsByTagName('a')[0] )
      {
        i += document.getElementById('odkazy').getElementsByTagName('a').length - 1;
        continue;
      }
    }
    catch(err) {  }
    
    a[i].href += "#skip";
  }
}



var showFoto = 3;

// Ve formulari pridani polozky schova nadbytecne radky pro upload obrazku
function hide_foto()
{
  var i = showFoto + 1;
  
  if( foto.style )
  {
    while(  foto = document.getElementById('foto' + i++) || i > 1 )
      foto.style.display = 'none';
  }
}


// Ve formulari pridani polozky zobrazim dalsi radek pro upload obrazku
function show_fotoRow()
{
  if( foto = document.getElementById('foto' + ++showFoto) )
    foto.style.display = 'block';
  else
    document.getElementById('addfoto').style.visibility = 'hidden';
}


// Kontroluje, zda-li je korektne vyplneny formular pro pridani / editace polozky
function kontrolaFormPolozka(vstup)
{
  var maxK = 3;
  var flagK = false;
  
  var wrong = false;
  var x;
  str = "";
  
  x = trim(vstup.nazev.value);
  if( x.length == 0 || x.indexOf('_') != -1 || x.indexOf('?') != -1 || x.indexOf('/') != -1 || x.indexOf('\\') != -1 || x.indexOf('#') != -1 )
  {
    wrong = true;
    str += "\n\tNázev";
  }
  
  for( i = 0; ; i++ )
  {
    tmp = "vstup.kategorie" + (i + 1);
    
    if( typeof(eval(tmp)) != 'undefined' )
    {
      x = trim(eval(tmp).value);
      if( parseInt(x) )
      {
        flagK = true;
        break;
      }
    }
    else
      break;
  }
  
  if( flagK == false )
  {
    wrong = true;
    str += "\n\tKategorie";
  }
  
  x = trim(vstup.cena.value);
  if( x.length == 0 || !parseInt(x) )
  {
    wrong = true;
    str += "\n\tCena";
  }
  
  x = trim(vstup.kupni_cena.value);
  if( !parseInt(x) && x.length > 0 )
  {
    wrong = true;
    str += "\n\tNaše nákupní cena";
  }
  
  x = trim(vstup.popisek.value);
  if( x.length == 0 )
  {
    wrong = true;
    str += "\n\tPopisek";
  }
  
  
  if(wrong == true)
  {
    alert("Nebyly zadány, nebo byly zadány nesprávně, následující údaje:" + str + "\n\nOperace neprovedena.");
    return false;
  }
  else
    return true;
}



var actual = 0;

// Posunuti fotky u polozky
function nextFoto(way, fotoPole)
{
  var length = fotoPole.length;
  
  if( way == 'next' )
  {
    if( actual < length - 1 )
      actual++;
    else
      actual = 0;
  }
  else if( way == 'prev' )
  {
    if( actual > 0 )
      actual--;
    else
      actual = length - 1;
  }
  
  document.getElementById('foto_link').href = 'javascript: show_foto_boutique(\'' + fotoPole[actual] + '\');';
  document.getElementById('foto_img').src = '/foto/thumb/t_' + fotoPole[actual] + '.jpg';
  
  document.getElementById('fotoNumber').innerHTML = (actual + 1)%(length + 1) + ' / ' + length;
}

// Zobrazi celou fotku
function show_foto_boutique(foto)
{
  show_foto(foto, "shop");
}

function show_foto_forum(foto)
{
  show_foto(foto, "forumshop");
}


function show_foto(foto, path)
{
  var width = 400;
  var height = 400;
  window.open("/" + path + "/show_foto.php?foto=" + foto, 
              "Fotka", 
              "width = " + width + "px, height = " + height + "px, " + 
                "left = " + ((screen.width - width) / 2) + "px, top = " + ((screen.height - height) / 2) + "px, " + 
                "resizable = no, status = no, toolbar = no, location = no, scrollbars = yes, menubar = no");
}

// Nastavi velikost okna
function set_window_size(width, height)
{
  // FF, Opera, ...
  if( typeof( window.innerWidth ) == 'number' )
  {
    window.innerWidth = width;
    window.innerHeight = height;
  }
  
  // IE 6+
  else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
    resizeTo(width + 30, height + 33);
  
  // IE 4 compatible
  else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
    resizeTo(width + 30, height + 33);
}


function length_control(textarea, counter)
{
  var limit;
  if( textarea.name == "info" )
    limit = 500;
  else
    limit = 2000;
  
  if( textarea.value.length > limit )
     textarea.value = textarea.value.substring(0, limit);
  else
    counter.innerHTML = '(zbývá ' + (limit - textarea.value.length) + ' znaků)';
}
