function correctAlignment() {
  i = 0;
  while (document.images[i]) {
    document.images[i].parentNode.style.marginTop = (192 - document.images[i].height) / 2 + "px";
    document.images[i].parentNode.style.marginLeft = (192 - document.images[i].width - 16) / 2 + "px";
    i++;
  }
}

function highlight(el) {
  el.className = el.className + "Hover";
}

function unhighlight(el) {
  hoverBegin = el.className.indexOf("Hover");
  if (hoverBegin > 0) {
    el.className = el.className.substring(0, hoverBegin);
  }
}

function fixFooter() {
  if (document.body.clientHeight > document.body.offsetHeight ) {
    document.body.style.overflow = "hidden";
    with (document.getElementById("footer").style) {
      position = "absolute";
      left = "0px";
      bottom = "0px";
      width = "100%";
    }
    topMargin = window.getComputedStyle(document.getElementById("mainImg"), "").getPropertyValue("height");
    topMargin = topMargin.substring(0, topMargin.indexOf("px"));
    topMargin = (document.body.clientHeight - topMargin ) / 3 + "px";
    document.getElementById("mainImg").style.marginTop = topMargin;
    document.body.style.paddingBottom = "15px";
  } else {
    document.body.style.overflow = "auto";
    with (document.getElementById("footer").style) {
      position = "relative";
      left = "0px";
      bottom = "0px";
      width = "auto";
    }
    document.body.style.paddingBottom = "0px";
    document.getElementById("mainImg").style.marginTop = "20px";
  }
}

function toggleNextPreview(ev) {
  minX = document.getElementById("nextLink").offsetLeft;
  maxX = minX + document.getElementById("nextLink").offsetWidth - 1;
  minY = document.getElementById("nextLink").offsetTop;
  maxY = minY + document.getElementById("nextLink").offsetHeight + document.getElementById("nextPreview").offsetHeight;
  mouseX = ev.pageX;
  mouseY = ev.pageY;
  if (document.getElementById("nextPreview")) {
    if (window.getComputedStyle(document.getElementById("nextPreview"), "").getPropertyValue("display") == "none") {
      document.getElementById("nextPreview").style.left = document.getElementById("nextLink").offsetLeft - 7 + "px";
      document.getElementById("nextPreview").style.display = "block";
    } else if (mouseX < minX || mouseX > maxX || mouseY < minY || mouseY > maxY) {
      document.getElementById("nextPreview").style.display = "none";
    }
  }
}

function togglePrevPreview(ev) {
  minX = document.getElementById("prevLink").offsetLeft;
  maxX = minX + document.getElementById("prevLink").offsetWidth - 1;
  minY = document.getElementById("prevLink").offsetTop;
  maxY = minY + document.getElementById("prevLink").offsetHeight + document.getElementById("prevPreview").offsetHeight;
  mouseX = ev.pageX;
  mouseY = ev.pageY;
  if (document.getElementById("prevPreview")) {
    if (window.getComputedStyle(document.getElementById("prevPreview"), "").getPropertyValue("display") == "none") {
      document.getElementById("prevPreview").style.left = document.getElementById("prevLink").offsetLeft - 7 + "px";
      document.getElementById("prevPreview").style.display = "block";
    } else if (mouseX < minX || mouseX > maxX || mouseY < minY || mouseY > maxY) {
      document.getElementById("prevPreview").style.display = "none";
    }
  }
}

/* Centers image when sidescrolling disabled:
    if (document.getElementById("mainImg")) {
      document.getElementById("mainImg").style.marginLeft = (document.body.offsetWidth - 800) / 2 + "px";
    }
*/
