function bjemailtest(src) {
  var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
  var regex = new RegExp(emailReg);
  return regex.test(src);
}

function addListener(element, type, expression, bubbling)
{
	bubbling = bubbling || false;

	if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, function() { expression(event) });
		return true;
	} else return false;
}

function validate(frm) {
  if(bjemailtest(frm.email.value)) {
    return true;
  } else {
    alert("Chybně zadaný e-mail.");
    return false;
  }
}

function createElem (elem) {
  return document.createElementNS ?
         document.createElementNS("http://www.w3.org/1999/xhtml", elem) :
         document.createElement(elem)
}

function killOverlayImg() {
  var o = document.getElementById("overlayimage");
  if(o)
    o.parentNode.removeChild(o);
  o = document.getElementById("overlayprev");
  if(o)
    o.parentNode.removeChild(o);
  o = document.getElementById("overlaynext");
  if(o)
    o.parentNode.removeChild(o);
}

function killOverlay() {
  var o = document.getElementById("overlay");
  if(o)
    o.parentNode.removeChild(o);
  killOverlayImg(o);
}

function windowWidth() {
  var de = document.documentElement;
  return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
}

function windowHeight() {
  var de = document.documentElement;
  return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
}

function centerimg() {
  var o = document.getElementById("overlayimage");
  if(o) {
    o.style.display = "block";
    var w = o.width;
    var h = o.height;
    var ww = windowWidth() - 16; // left scroll bar
    var wh = windowHeight();
    var sizew = (ww-62.0)/w;
    var sizeh = (wh-20.0)/h;
    var size = (sizeh > sizew) ? sizew : sizeh;
    w = Math.round(w*size);
    h = Math.round(h*size);
    o.style["width"] = w+"px";
    o.style["height"] = h+"px";
    o.style["left"] = Math.round((ww-w)/2)+"px";
    o.style["top"] = Math.round((wh-h)/2)+"px";

    var prev = document.getElementById("overlayprev");
    if(prev) {
      prev.style["left"] = Math.round((ww-w)/2-29)+"px";
      prev.style["top"] = Math.round((wh-150)/2)+"px";
      prev.style.display = "block";
    }

    var next = document.getElementById("overlaynext");
    if(next) {
      next.style["left"] = Math.round((ww-w)/2+w-31)+"px";
      next.style["top"] = Math.round((wh-150)/2)+"px";
      next.style.display = "block";
    }
  }
}
function showprevpic(src) {
  showpic(PrevPic);
}

function shownextpic(src) {
  showpic(NextPic);
}

function showpic(src) {
  var o = document.body;

  killOverlayImg();
  if(!document.getElementById("overlay")) {
    var ovr = createElem("div");
    ovr.id = "overlay";
    ovr.style.cssText = "cursor:pointer; background-color: #000000;background-image:url(\"obrazky/loading.gif\"); background-repeat:no-repeat; background-position: center; opacity:0.7; position:fixed; top:0px; left:0px; display:block; width: 100%; height: 100%; z-index:100;";
    addListener(ovr, "click", killOverlay, false );
    o.appendChild(ovr);
  }

  var img = createElem("img");
  img.id = "overlayimage";
  img.style.cssText = "cursor:pointer; background: #000000;color:#ffffff; position:fixed; display:none; z-index:101;";
  addListener(img, "click", killOverlay, false );
  addListener(img, "load", centerimg, false );
  img.setAttribute("title","Kliknutím zavřete obrázek");
  img.src = src;
  o.appendChild(img);

  var prevhref = null;
  var thishref;
  var sr = document.getElementById("content"); {
    ch = sr.firstChild;
    while (ch) {
      if(((ch.nodeName.toLowerCase()) == "a") && (ch.className=="thumb")) {
        thishref = ch.getAttribute("href", 2);
        if((thishref == src) && (prevhref != null)) {
          var prev = createElem("a");
          prev.id = "overlayprev";
          prev.style.cssText = "cursor:pointer; background-image: url(\"obrazky/prev.gif\");width:60px;height:150px;color:#ffffff; position:fixed; display:none; z-index:102;";
          PrevPic = prevhref;
          addListener(prev, "click", showprevpic, false );
          prev.setAttribute("title","Předchozí");
          o.appendChild(prev);
        }

        if((prevhref == src)) {
          var next = createElem("a");
          next.id = "overlaynext";
          next.style.cssText = "cursor:pointer; background-image: url(\"obrazky/next.gif\");width:60px;height:150px;color:#ffffff; position:fixed; display:none; z-index:102;";
          NextPic = thishref;
          addListener(next, "click", shownextpic, false );
          next.setAttribute("title","Další");
          o.appendChild(next);
          break;
        }

        prevhref = thishref;
      }
      ch = ch.nextSibling;
    }
  }
  if(img.complete)
    centerimg();

  addListener(window, "resize", centerimg, false );
}

