//-----------------NOVINKY-----------------------//
function validate_news(form) {
  var zverejneno_od = form.zverejneno_od.value;
  var zverejneno_do = form.zverejneno_do.value;
  var nadpis = form.nadpis.value;
  if(zverejneno_od == "") {
    inlineMsg('zverejneno_od','Od kedy má byť novinka zverejnená?',2);
    return false;
  }
  else if(zverejneno_do == "") {
    inlineMsg('zverejneno_do','Do kedy má byť novinka zverejnená?',2);
    return false;
  }
  else if(nadpis == "") {
    inlineMsg('nadpis','Vyplňte názov novinky!',2);
    return false;
  }
  return true;
}
//-----------------FOTOGALERIE-----------------------//
function validate_fotogalerie_kat(form) {
  var nazev = form.nazev.value;
  if(nazev == "") {
    inlineMsg('nazev','Vyplňte názov Vašej fotogaléria!',2);
    return false;
  }
  return true;
}
function validate_fotogalerie(form) {
  var galerie = form.galerie.value;
  var file = form.main_file.value;
  if(galerie == "") {
    inlineMsg('galerie','Vyberte fotogalériu!',2);
    return false;
  }
  if(file == "") {
    inlineMsg('main_file','Vyberte súbor (y)!',2);
    return false;
  }
  return true;
}
function validate_fotogalerie_update(form) {
  var galerie = form.galerie.value;
  if(galerie == "") {
    inlineMsg('galerie','Vyberte fotogalériu!',2);
    return false;
  }
  return true;
}
//-----------------UŽIVATELÉ-----------------------//
function validate_users(form) {
  var nick = form.nick.value;
  var heslo = form.heslo.value;
  
  if(nick == "") {
    inlineMsg('nick','Vyplňte prosím užívateľské meno!',2);
    return false;
  }
  if(heslo == "") {
    inlineMsg('heslo','Vyplňte prosím heslo!',2);
    return false;
  }
  if(heslo.length <= 3) {
    inlineMsg('heslo','Heslo musí mať aspoň 4 znaky!',2);
    return false;
  }
  return true;
}
function validate_usersedit(form) {
  var nick = form.nick.value;  
  if(nick == "") {
    inlineMsg('nick','Vyplňte prosím užívateľské meno!',2);
    return false;
  }
  return true;
}

//-----------------KONTAKT FORM-----------------------//
function validate_kontakt_form(form) {
  var id_name = form.id_name.value;
  var id_mail = form.id_mail.value;
  var id_subj = form.id_subj.value;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var id_msg = form.id_msg.value;
  
  if(id_name == "") {
    inlineMsg('id_name','Vyplňte Vaše meno!',2);
    return false;
  }
  else if(id_mail == "") {
    inlineMsg('id_mail','Vyplňte Vašu e-mailovú adresu!',2);
    return false;
  }
  else if(!id_mail.match(emailRegex)) {
    inlineMsg('id_mail','Zlý formát e-mailu.',2);
    return false;
  }
  else if(id_msg == "") {
    inlineMsg('id_msg','Vyplňte text!',2);
    return false;
  }
  else if(id_subj == "") {
    inlineMsg('id_subj','Vyplňte predmet zprávy!',2);
    return false;
  }
  return true;
}
//-----------------DISKUZE U PRODUKTU - FORM-----------------------//
function validate_discuss(form) {
  var predmet_diskuze = form.predmet_diskuze.value;
  var text_diskuze = form.text_diskuze.value;
  if(predmet_diskuze == "") {
    inlineMsg('predmet_diskuze','Vyplňte predmet správy!',2);
    return false;
  }
  if(text_diskuze == "") {
    inlineMsg('text_diskuze','Vyplňte text!',2);
    return false;
  }

  return true;
}

function validate_send_link(form) {
  var jmeno = form.jmeno.value;
  var email = form.email.value;
  var text = form.text.value;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  if(jmeno == "") {
    inlineMsg('jmeno','Vyplňte Vaše meno!',2);
    return false;
  }
  if(email == "") {
    inlineMsg('email','Vyplňte Vašu e-mailovú adresu alebo telefón!',2);
    return false;
  }
  else if(!email.match(emailRegex) && email != "") {
    inlineMsg('email','Zlý formát e-mailu.',2);
    return false;
  }
  else if(text == "") {
    inlineMsg('text','Vyplňte text!',2);
    return false;
  }
  return true;
}
function validate_question(form) {
  var jmeno = form.jmeno.value;
  var email = form.email.value;
  var text = form.text.value;
  var telefon = form.telefon.value;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  if(jmeno == "") {
    inlineMsg('jmeno','Vyplňte Vaše meno!',2);
    return false;
  }
  if(email == "" && telefon == "") {
    inlineMsg('email','Vyplňte Vašu e-mailovú adresu alebo telefón!',2);
    return false;
  }
  if(!email.match(emailRegex) && email != "") {
    inlineMsg('email','Zlý formát e-mailu.',2);
    return false;
  }
  if(text == "") {
    inlineMsg('text','Vyplňte text!',2);
    return false;
  }
  return true;
}
//-----------------Objednávka-----------------------//
function validate_order(form) {
  var jmeno = form.jmeno.value;
  var email = form.email.value;
  var prijmeni = form.prijmeni.value;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var ulice = form.ulice.value;
  var cp = form.cp.value;
  var obec = form.obec.value;
  var psc = form.psc.value;
  var ulice2 = form.ulice2.value;
  var cp2 = form.cp2.value;
  var obec2 = form.obec2.value;
  var psc2 = form.psc2.value;
  var telefon = form.telefon.value;
  
  if(jmeno == "") {
    inlineMsg('jmeno','Vyplňte Vaše krstné meno!',2);
    return false;
  }
  else if(prijmeni == "") {
    inlineMsg('prijmeni','Vyplňte Vaše priezvisko!',2);
    return false;
  }
  else if(email == "") {
    inlineMsg('email','Vyplňte Vašu e-mailovú adresu!',2);
    return false;
  }
  else if(!email.match(emailRegex) || !bezDiakrit(email)) {
    inlineMsg('email','Zlý formát e-mailové adresy.',2);
    return false;
  }
  else if(telefon != "" && !validPhone(telefon)) {
    inlineMsg('telefon','Zlý formát telefonního čísla!',2);
    return false;
  }
  else if(ulice == "" && ulice2 == "") {
    inlineMsg('ulice','Vyplňte názov vašej ulice!',2);
    return false;
  }
  else if(cp == "" && cp2 == "") {
    inlineMsg('cp','Vyplňte Vaše číslo popisné!',2);
    return false;
  }
  else if(obec == "" && obec2 == "") {
    inlineMsg('obec','Vyplňte Vaše mesto!',2);
    return false;
  }
  else if(psc == "" && psc2 == "") {
    inlineMsg('psc','Vyplňte Vaše poštové smerovacie číslo!',2);
    return false;
  }
  else if(document.getElementById('podminky').checked == false) {
    inlineMsg('podminky','Musíte súhlasiť so všeobecnými obchodnými podmienkami!',2);
    return false;
  }
  return true;
}
//-----------------Registrace-----------------------//
function validate_reg(form) {
  var jmeno = form.jmeno.value;
  var email = form.email.value;
  var prijmeni = form.prijmeni.value;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var ulice = form.ulice.value;
  var cp = form.cp.value;
  var obec = form.obec.value;
  var psc = form.psc.value;
  var heslo = form.heslo.value;
  var heslo2 = form.heslo2.value;
  var telefon = form.telefon.value;
  
  if(email == "") {
    inlineMsg('email','Vyplňte Vašu e-mailovú adresu!',2);
    return false;
  }
  else if(!email.match(emailRegex) || !bezDiakrit(email)) {
    inlineMsg('email','Zlý formát e-mailové adresy.',2);
    return false;
  }
  else if(jmeno == "") {
    inlineMsg('jmeno','Vyplňte Vaše krstné meno!',2);
    return false;
  }
  else if(prijmeni == "") {
    inlineMsg('prijmeni','Vyplňte Vaše priezvisko!',2);
    return false;
  }
  else if(telefon != "" && !validPhone(telefon)) {
    inlineMsg('telefon','Zlý formát telefonního čísla!',2);
    return false;
  }
  else if(ulice == "") {
    inlineMsg('ulice','Vyplňte názov vašej ulice!',2);
    return false;
  }
  else if(cp == "") {
    inlineMsg('cp','Vyplňte Vaše číslo popisné!',2);
    return false;
  }
  else if(obec == "") {
    inlineMsg('obec','Vyplňte Vaše mesto!',2);
    return false;
  }
  else if(psc == "") {
    inlineMsg('psc','Vyplňte Vaše poštové smerovacie číslo!',2);
    return false;
  }
  else if(heslo == "" || heslo.length < 5) {
    inlineMsg('heslo','Vyplňte Vaše heslo (najmenej 5 znakov)!',2);
    return false;
  }
  else if(heslo2 == ""  || heslo2.length < 5) {
    inlineMsg('heslo2','Vyplňte Vaše heslo znova!',2);
    return false;
  }
  else if(heslo != heslo2) {
    inlineMsg('heslo','Zadané heslá sa nezhodujú!',2);
    return false;
  }
  return true;
}
//-----------------TODO-----------------------//
function validate_todo(form) {
  var name = form.name.value;
  if(name == "") {
    alert('Vyplňte text článku!');
    return false;
  }
  return true;
}
// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

function inlineMsg2(target,string,autohide) {
  var msg2;
  var msgcontent2;
  if(!document.getElementById('msg2')) {
    msg2 = document.createElement('div');
    msg2.id = 'msg2';
    msgcontent2 = document.createElement('div');
    msgcontent2.id = 'msgcontent2';
    document.body.appendChild(msg2);
    msg2.appendChild(msgcontent2);
    msg2.style.filter = 'alpha(opacity=0)';
    msg2.style.opacity = 0;
    msg2.style.background = "white";
    msg2.style.color = "black";
    msg2.alpha = 0;
  } else {
    msg2 = document.getElementById('msg2');
    msgcontent2 = document.getElementById('msgcontent2');
  }
  msgcontent2.innerHTML = string;
  msg2.style.display = 'block';
  var msgheight2 = msg2.offsetHeight;
  var targetdiv2 = document.getElementById(target);
  targetdiv2.focus();
  var targetheight2 = targetdiv2.offsetHeight;
  var targetwidth2 = targetdiv2.offsetWidth;
  var topposition2 = topPosition(targetdiv2) - ((msgheight2 - targetheight2) / 2);
  var leftposition2 = leftPosition(targetdiv2) + targetwidth2 + MSGOFFSET;
  msg2.style.top = topposition2 + 'px';
  msg2.style.left = leftposition2 + 'px';
  clearInterval(msg2.timer);
  msg2.timer = setInterval("fadeMsg2(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg2()", (autohide * 1000));
}
// hide the form alert //
function hideMsg2(msg2) {
  var msg2 = document.getElementById('msg2');
  if(!msg2.timer) {
    msg2.timer = setInterval("fadeMsg2(0)", MSGTIMER);
  }
}
// face the message box //
function fadeMsg2(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg2 = document.getElementById('msg2');
  var value;
  if(flag == 1) {
    value = msg2.alpha + MSGSPEED;
  } else {
    value = msg2.alpha - MSGSPEED;
  }
  msg2.alpha = value;
  msg2.style.opacity = (value / 100);
  msg2.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg2.timer);
    msg2.timer = null;
  } else if(value <= 1) {
    msg2.style.display = "none";
    clearInterval(msg2.timer);
  }
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = "msg_arrow.gif"; 
}

function bezDiakrit(string)
{
  var sdiak = "áäčďéěíĺžňóôőöŕúůűüýřÁÄČĎÉĚÍĹźŇÓÔŐÖŔÚŮŰÜÝŘ";

  var spravne = 1;  // 1 = bez diakritiky, 2 = s diakritikou

  for(p = 0; p < string.length; p++)
  { // proverim, jestli v nazvu neni znak s diakritikou...

    if(sdiak.indexOf(string.charAt(p)) != -1)
    {
      spravne = 2;
      break;
    }
    else continue;
  } // end for

  if(spravne > 1) return false;
  else return true;
} 

function validPhone(phonenumber)
{
vyraz = /^[+]?[()/0-9. -]{9,}$/
if (vyraz.test(phonenumber)==true)
  return true;
else 
  return false;
}
