// <a href="path_to_big_image" title="title_under_zoomed_image" rel="zoom"><img src="path_to_small_image"></a>
// add: onLoad="ImgZoomOnBodyLoad();" to BODY-tag
//
var includeCaption = true,
    zoomTime = 5,
    zoomSteps = 15,
    includeFade = 1,
    minBorder = 90,
    shadowSettings = '0px 5px 25px rgba(0, 0, 0, ',
    zoomImagesURI = 'images-global/zoom/',
    myWidth = 0,
    myHeight = 0,
    myScroll = 0,
    zoomOpen = false,
    preloadFrame = 1,
    preloadActive = false,
    preloadTime = 0,
    preloadAnimTimer = 0,
    imgPreload = new Image(),
    myScrollWidth = 0,
    myScrollHeight = 0,
    zoomActive = new Array(),
    zoomTimer = new Array(),
    zoomOrigW = new Array(),
    zoomOrigH = new Array(),
    zoomOrigX = new Array(),
    zoomOrigY = new Array(),
    zoomID = "ZoomBox",
    theID = "ZoomImage",
    zoomCaption = "ZoomCaption",
    zoomCaptionDiv = "ZoomCapDiv",
    mx = 0,
    my = 0;
if (navigator.userAgent.indexOf("MSIE") != -1) {
  var browserIsIE = true
}
function ImgZoomOnBodyLoad() {
  prepZooms();
  insertZoomHTML();
  zoomdiv = document.getElementById(zoomID);
  zoomimg = document.getElementById(theID)
}
function prepZooms() {
  if (!document.getElementsByTagName) {
    return
  }
  var links = document.getElementsByTagName("a");
  for (i = 0; i < links.length; i++) {
    if (links[i].getAttribute("href")) {
      if (links[i].getAttribute("href").search(/(.*)\.(jpg|jpeg|gif|png|bmp|tif|tiff)/gi) != -1) {
        if (links[i].getAttribute("rel") == "zoom") {
          links[i].onclick = function(event) {
            return zoomClick(this, event)
          };
          links[i].onmouseover = function() {
            zoomPreload(this)
          }
        }
      }
    }
  }
}
function zoomPreload(from) {
  var theimage = from.getAttribute("href");
  if (imgPreload.src.indexOf(from.getAttribute("href").substr(from.getAttribute("href").lastIndexOf("/"))) == -1) {
    preloadActive = true;
    imgPreload = new Image();
    imgPreload.onload = function() {
      preloadActive = false
    };
    imgPreload.src = theimage
  }
}
function preloadAnimStart() {
  preloadTime = new Date();
  document.getElementById("ZoomSpin").style.left = (myWidth / 2) + 'px';
  document.getElementById("ZoomSpin").style.top = ((myHeight / 2) + myScroll) + 'px';
  document.getElementById("ZoomSpin").style.display = "block";
  preloadFrame = 1;
  document.getElementById("SpinImage").src = zoomImagesURI + 'zoom-spin-' + preloadFrame + '.png';
  preloadAnimTimer = setInterval("preloadAnim()", 100)
}
function preloadAnim(from) {
  if (!preloadActive) {
    document.getElementById("SpinImage").src = zoomImagesURI + 'zoom-spin-' + preloadFrame + '.png';
    preloadFrame++;
    if (preloadFrame > 12) {
      preloadFrame = 1
    }
  } else {
    clearInterval(preloadAnimTimer);
    preloadAnimTimer = 0;
    if (preloadFrom) {
      zoomIn(preloadFrom)
    }
    document.getElementById("ZoomSpin").style.display = "none"
  }
}
function zoomClick(from, evt) {
  var shift = getShift(evt);
  if (!evt && window.event && (window.event.metaKey || window.event.altKey)) {
    return true
  } else if (evt && (evt.metaKey || evt.altKey)) {
    return true
  }
  getSize();
  if (preloadActive == true) {
    if (preloadAnimTimer == 0) {
      preloadFrom = from;
      preloadAnimStart()
    }
  } else {
    zoomIn(from, shift)
  }
  return false
}
function zoomIn(from, shift) {
  zoomimg.src = from.getAttribute("href");
  if (from.childNodes[0].width) {
    startW = from.childNodes[0].width;
    startH = from.childNodes[0].height;
    startPos = findElementPos(from.childNodes[0])
  } else {
    startW = 50;
    startH = 12;
    startPos = findElementPos(from)
  }
  hostX = startPos[0];
  hostY = startPos[1];
  if (document.getElementById('scroller')) {
    hostX = hostX - document.getElementById('scroller').scrollLeft
  }
  endW = imgPreload.width;
  endH = imgPreload.height;
  if (zoomActive[theID] != true) {
    if (document.getElementById("ShadowBox")) {
      document.getElementById("ShadowBox").style.visibility = "hidden"
    } else if (!browserIsIE) {
      if (fadeActive["ZoomImage"]) {
        clearInterval(fadeTimer["ZoomImage"]);
        fadeActive["ZoomImage"] = false;
        fadeTimer["ZoomImage"] = false
      }
      document.getElementById("ZoomImage").style.webkitBoxShadow = shadowSettings + '0.0)'
    }
    document.getElementById("ZoomClose").style.visibility = "hidden";
    if (includeCaption) {
      document.getElementById(zoomCaptionDiv).style.visibility = "hidden";
      if (from.getAttribute('title') && includeCaption) {
        document.getElementById(zoomCaption).innerHTML = from.getAttribute('title')
      } else {
        document.getElementById(zoomCaption).innerHTML = ""
      }
    }
    zoomOrigW[theID] = startW;
    zoomOrigH[theID] = startH;
    zoomOrigX[theID] = hostX;
    zoomOrigY[theID] = hostY;
    zoomimg.style.width = startW + 'px';
    zoomimg.style.height = startH + 'px';
    zoomdiv.style.left = hostX + 'px';
    zoomdiv.style.top = hostY + 'px';
    if (includeFade == 1) {
      setOpacity(0, zoomID)
    }
    zoomdiv.style.visibility = "visible";
    sizeRatio = endW / endH;
    if (endW > myWidth - minBorder) {
      endW = myWidth - minBorder;
      endH = endW / sizeRatio
    }
    if (endH > myHeight - minBorder) {
      endH = myHeight - minBorder;
      endW = endH * sizeRatio
    }
    zoomChangeX = ((myWidth / 2) - (endW / 2) - hostX);
    zoomChangeY = (((myHeight / 2) - (endH / 2) - hostY) + myScroll);
    zoomChangeW = (endW - startW);
    zoomChangeH = (endH - startH);
    if (shift) {
      tempSteps = zoomSteps * 7
    } else {
      tempSteps = zoomSteps
    }
    zoomCurrent = 0;
    if (includeFade == 1) {
      fadeCurrent = 0;
      fadeAmount = (0 - 100) / tempSteps
    } else {
      fadeAmount = 0
    }
    zoomTimer[theID] = setInterval("zoomElement('" + zoomID + "', '" + theID + "', " + zoomCurrent + ", " + startW + ", " + zoomChangeW + ", " + startH + ", " + zoomChangeH + ", " + hostX + ", " + zoomChangeX + ", " + hostY + ", " + zoomChangeY + ", " + tempSteps + ", " + includeFade + ", " + fadeAmount + ", 'zoomDoneIn(zoomID)')", zoomTime);
    zoomActive[theID] = true
  }
}
function zoomOut(from, evt) {
  if (getShift(evt)) {
    tempSteps = zoomSteps * 7
  } else {
    tempSteps = zoomSteps
  }
  if (zoomActive[theID] != true) {
    if (document.getElementById("ShadowBox")) {
      document.getElementById("ShadowBox").style.visibility = "hidden"
    } else if (!browserIsIE) {
      if (fadeActive["ZoomImage"]) {
        clearInterval(fadeTimer["ZoomImage"]);
        fadeActive["ZoomImage"] = false;
        fadeTimer["ZoomImage"] = false
      }
      document.getElementById("ZoomImage").style.webkitBoxShadow = shadowSettings + '0.0)'
    }
    document.getElementById("ZoomClose").style.visibility = "hidden";
    if (includeCaption && document.getElementById(zoomCaption).innerHTML != "") {
      document.getElementById(zoomCaptionDiv).style.visibility = "hidden"
    }
    startX = parseInt(zoomdiv.style.left);
    startY = parseInt(zoomdiv.style.top);
    startW = zoomimg.width;
    startH = zoomimg.height;
    zoomChangeX = zoomOrigX[theID] - startX;
    zoomChangeY = zoomOrigY[theID] - startY;
    zoomChangeW = zoomOrigW[theID] - startW;
    zoomChangeH = zoomOrigH[theID] - startH;
    zoomCurrent = 0;
    if (includeFade == 1) {
      fadeCurrent = 0;
      fadeAmount = (100 - 0) / tempSteps
    } else {
      fadeAmount = 0
    }
    zoomTimer[theID] = setInterval("zoomElement('" + zoomID + "', '" + theID + "', " + zoomCurrent + ", " + startW + ", " + zoomChangeW + ", " + startH + ", " + zoomChangeH + ", " + startX + ", " + zoomChangeX + ", " + startY + ", " + zoomChangeY + ", " + tempSteps + ", " + includeFade + ", " + fadeAmount + ", 'zoomDone(zoomID, theID)')", zoomTime);
    zoomActive[theID] = true
  }
}
function zoomDoneIn(zoomdiv, theID) {
  zoomOpen = true;
  zoomdiv = document.getElementById(zoomdiv);
  if (document.getElementById("ShadowBox")) {
    setOpacity(0, "ShadowBox");
    shadowdiv = document.getElementById("ShadowBox");
    shadowLeft = parseInt(zoomdiv.style.left) - 13;
    shadowTop = parseInt(zoomdiv.style.top) - 8;
    shadowWidth = zoomdiv.offsetWidth + 26;
    shadowHeight = zoomdiv.offsetHeight + 26;
    shadowdiv.style.width = shadowWidth + 'px';
    shadowdiv.style.height = shadowHeight + 'px';
    shadowdiv.style.left = shadowLeft + 'px';
    shadowdiv.style.top = shadowTop + 'px';
    document.getElementById("ShadowBox").style.visibility = "visible";
    fadeElementSetup("ShadowBox", 0, 100, 5)
  } else if (!browserIsIE) {
    fadeElementSetup("ZoomImage", 0, .8, 5, 0, "shadow")
  }
  if (includeCaption && document.getElementById(zoomCaption).innerHTML != "") {
    zoomcapd = document.getElementById(zoomCaptionDiv);
    zoomcapd.style.top = parseInt(zoomdiv.style.top) + (zoomdiv.offsetHeight + 15) + 'px';
    zoomcapd.style.left = (myWidth / 2) - (zoomcapd.offsetWidth / 2) + 'px';
    zoomcapd.style.visibility = "visible"
  }
  if (!browserIsIE) setOpacity(0, "ZoomClose");
  document.getElementById("ZoomClose").style.visibility = "visible";
  if (!browserIsIE) fadeElementSetup("ZoomClose", 0, 100, 5);
  document.onkeypress = getKey
}
function zoomDone(zoomdiv, theID) {
  zoomOpen = false;
  zoomOrigH[theID] = "";
  zoomOrigW[theID] = "";
  document.getElementById(zoomdiv).style.visibility = "hidden";
  zoomActive[theID] == false;
  document.onkeypress = null
}
function zoomElement(zoomdiv, theID, zoomCurrent, zoomStartW, zoomChangeW, zoomStartH, zoomChangeH, zoomStartX, zoomChangeX, zoomStartY, zoomChangeY, zoomSteps, includeFade, fadeAmount, execWhenDone) {
  if (zoomCurrent == (zoomSteps + 1)) {
    zoomActive[theID] = false;
    clearInterval(zoomTimer[theID]);
    if (execWhenDone != "") {
      eval(execWhenDone)
    }
  } else {
    if (includeFade == 1) {
      if (fadeAmount < 0) {
        setOpacity(Math.abs(zoomCurrent * fadeAmount), zoomdiv)
      } else {
        setOpacity(100 - (zoomCurrent * fadeAmount), zoomdiv)
      }
    }
    moveW = cubicInOut(zoomCurrent, zoomStartW, zoomChangeW, zoomSteps);
    moveH = cubicInOut(zoomCurrent, zoomStartH, zoomChangeH, zoomSteps);
    moveX = cubicInOut(zoomCurrent, zoomStartX, zoomChangeX, zoomSteps);
    moveY = cubicInOut(zoomCurrent, zoomStartY, zoomChangeY, zoomSteps);
    document.getElementById(zoomdiv).style.left = moveX + 'px';
    document.getElementById(zoomdiv).style.top = moveY + 'px';
    zoomimg.style.width = moveW + 'px';
    zoomimg.style.height = moveH + 'px';
    zoomCurrent++;
    clearInterval(zoomTimer[theID]);
    zoomTimer[theID] = setInterval("zoomElement('" + zoomdiv + "', '" + theID + "', " + zoomCurrent + ", " + zoomStartW + ", " + zoomChangeW + ", " + zoomStartH + ", " + zoomChangeH + ", " + zoomStartX + ", " + zoomChangeX + ", " + zoomStartY + ", " + zoomChangeY + ", " + zoomSteps + ", " + includeFade + ", " + fadeAmount + ", '" + execWhenDone + "')", zoomTime)
  }
}
function getKey(evt) {
  if (!evt) {
    theKey = event.keyCode
  } else {
    theKey = evt.keyCode
  }
  if (theKey == 27) {
    zoomOut(this, evt)
  }
}
function fadeOut(elem) {
  if (elem.id) {
    fadeElementSetup(elem.id, 100, 0, 10)
  }
}
function fadeIn(elem) {
  if (elem.id) {
    fadeElementSetup(elem.id, 0, 100, 10)
  }
}
var fadeActive = new Array();
var fadeQueue = new Array();
var fadeTimer = new Array();
var fadeClose = new Array();
var fadeMode = new Array();

function fadeElementSetup(theID, fdStart, fdEnd, fdSteps, fdClose, fdMode) {
  if (fadeActive[theID] == true) {
    fadeQueue[theID] = new Array(theID, fdStart, fdEnd, fdSteps)
  } else {
    fadeSteps = fdSteps;
    fadeCurrent = 0;
    fadeAmount = (fdStart - fdEnd) / fadeSteps;
    fadeTimer[theID] = setInterval("fadeElement('" + theID + "', '" + fadeCurrent + "', '" + fadeAmount + "', '" + fadeSteps + "')", 15);
    fadeActive[theID] = true;
    fadeMode[theID] = fdMode;
    if (fdClose == 1) {
      fadeClose[theID] = true
    } else {
      fadeClose[theID] = false
    }
  }
}
function fadeElement(theID, fadeCurrent, fadeAmount, fadeSteps) {
  if (fadeCurrent == fadeSteps) {
    clearInterval(fadeTimer[theID]);
    fadeActive[theID] = false;
    fadeTimer[theID] = false;
    if (fadeClose[theID] == true) {
      document.getElementById(theID).style.visibility = "hidden"
    }
    if (fadeQueue[theID] && fadeQueue[theID] != false) {
      fadeElementSetup(fadeQueue[theID][0], fadeQueue[theID][1], fadeQueue[theID][2], fadeQueue[theID][3]);
      fadeQueue[theID] = false
    }
  } else {
    fadeCurrent++;
    if (fadeMode[theID] == "shadow") {
      if (fadeAmount < 0) {
        document.getElementById(theID).style.webkitBoxShadow = shadowSettings + (Math.abs(fadeCurrent * fadeAmount)) + ')'
      } else {
        document.getElementById(theID).style.webkitBoxShadow = shadowSettings + (100 - (fadeCurrent * fadeAmount)) + ')'
      }
    } else {
      if (fadeAmount < 0) {
        setOpacity(Math.abs(fadeCurrent * fadeAmount), theID)
      } else {
        setOpacity(100 - (fadeCurrent * fadeAmount), theID)
      }
    }
    clearInterval(fadeTimer[theID]);
    fadeTimer[theID] = setInterval("fadeElement('" + theID + "', '" + fadeCurrent + "', '" + fadeAmount + "', '" + fadeSteps + "')", 15)
  }
}
function setOpacity(opacity, theID) {
  var object = document.getElementById(theID).style;
  if (navigator.userAgent.indexOf("Firefox") != -1) {
    if (opacity == 100) {
      opacity = 99.9999
    }
  }
  object.filter = "alpha(opacity=" + opacity + ")";
  object.opacity = (opacity / 100)
}
function linear(t, b, c, d) {
  return c * t / d + b
}
function sineInOut(t, b, c, d) {
  return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b
}
function cubicIn(t, b, c, d) {
  return c * (t /= d) * t * t + b
}
function cubicOut(t, b, c, d) {
  return c * ((t = t / d - 1) * t * t + 1) + b
}
function cubicInOut(t, b, c, d) {
  if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
  return c / 2 * ((t -= 2) * t * t + 2) + b
}
function bounceOut(t, b, c, d) {
  if ((t /= d) < (1 / 2.75)) {
    return c * (7.5625 * t * t) + b
  } else if (t < (2 / 2.75)) {
    return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b
  } else if (t < (2.5 / 2.75)) {
    return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b
  } else {
    return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b
  }
}
function getSize() {
  if (self.innerHeight) {
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
    myScroll = window.pageYOffset
  } else if (document.documentElement && document.documentElement.clientHeight) {
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
    myScroll = document.documentElement.scrollTop
  } else if (document.body) {
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
    myScroll = document.body.scrollTop
  }
  if (window.innerHeight && window.scrollMaxY) {
    myScrollWidth = document.body.scrollWidth;
    myScrollHeight = window.innerHeight + window.scrollMaxY
  } else if (document.body.scrollHeight > document.body.offsetHeight) {
    myScrollWidth = document.body.scrollWidth;
    myScrollHeight = document.body.scrollHeight
  } else {
    myScrollWidth = document.body.offsetWidth;
    myScrollHeight = document.body.offsetHeight
  }
}
function getShift(evt) {
  var shift = false;
  if (!evt && window.event) {
    shift = window.event.shiftKey
  } else if (evt) {
    shift = evt.shiftKey;
    if (shift) evt.stopPropagation()
  }
  return shift
}
function findElementPos(elemFind) {
  var elemX = 0;
  var elemY = 0;
  do {
    elemX += elemFind.offsetLeft;
    elemY += elemFind.offsetTop
  } while (elemFind = elemFind.offsetParent) return Array(elemX, elemY)
}
function insertZoomHTML() {
  var inBody = document.getElementsByTagName("body").item(0);
  var inSpinbox = document.createElement("div");
  inSpinbox.setAttribute('id', 'ZoomSpin');
  inSpinbox.style.position = 'absolute';
  inSpinbox.style.left = '10px';
  inSpinbox.style.top = '10px';
  inSpinbox.style.display = 'none';
  inSpinbox.style.zIndex = '525';
  inBody.insertBefore(inSpinbox, inBody.firstChild);
  var inSpinImage = document.createElement("img");
  inSpinImage.setAttribute('id', 'SpinImage');
  inSpinImage.setAttribute('src', '');
  inSpinbox.appendChild(inSpinImage);
  var inZoombox = document.createElement("div");
  inZoombox.setAttribute('id', 'ZoomBox');
  inZoombox.style.position = 'absolute';
  inZoombox.style.left = '10px';
  inZoombox.style.top = '10px';
  inZoombox.style.visibility = 'hidden';
  inZoombox.style.zIndex = '499';
  inBody.insertBefore(inZoombox, inSpinbox.nextSibling);
  var inImage1 = document.createElement("img");
  inImage1.onclick = function(event) {
    zoomOut(this, event);
    return false
  };
  inImage1.setAttribute('src', zoomImagesURI + 'spacer.gif');
  inImage1.setAttribute('id', 'ZoomImage');
  inImage1.setAttribute('border', '0');
  inImage1.setAttribute('style', '-webkit-box-shadow: ' + shadowSettings + '0.0)');
  inImage1.style.display = 'block';
  inImage1.style.width = '10px';
  inImage1.style.height = '10px';
  inImage1.style.cursor = 'pointer';
  inZoombox.appendChild(inImage1);
  var inClosebox = document.createElement("div");
  inClosebox.setAttribute('id', 'ZoomClose');
  inClosebox.style.position = 'absolute';
  if (browserIsIE) {
    inClosebox.style.left = '-1px';
    inClosebox.style.top = '0px'
  } else {
    inClosebox.style.left = '-15px';
    inClosebox.style.top = '-15px'
  }
  inClosebox.style.visibility = 'hidden';
  inZoombox.appendChild(inClosebox);
  var inImage2 = document.createElement("img");
  inImage2.onclick = function(event) {
    zoomOut(this, event);
    return false
  };
  inImage2.setAttribute('src', zoomImagesURI + 'closebox.png');
  inImage2.setAttribute('width', '30');
  inImage2.setAttribute('height', '30');
  inImage2.setAttribute('border', '0');
  inImage2.style.cursor = 'pointer';
  inClosebox.appendChild(inImage2);
  if (!document.getElementById('ZoomImage').style.webkitBoxShadow && !browserIsIE) {
    var inFixedBox = document.createElement("div");
    inFixedBox.setAttribute('id', 'ShadowBox');
    inFixedBox.style.position = 'absolute';
    inFixedBox.style.left = '50px';
    inFixedBox.style.top = '50px';
    inFixedBox.style.width = '100px';
    inFixedBox.style.height = '100px';
    inFixedBox.style.visibility = 'hidden';
    inFixedBox.style.zIndex = '498';
    inBody.insertBefore(inFixedBox, inZoombox.nextSibling);
    var inShadowTable = document.createElement("table");
    inShadowTable.setAttribute('border', '0');
    inShadowTable.setAttribute('width', '100%');
    inShadowTable.setAttribute('height', '100%');
    inShadowTable.setAttribute('cellpadding', '0');
    inShadowTable.setAttribute('cellspacing', '0');
    inFixedBox.appendChild(inShadowTable);
    var inShadowTbody = document.createElement("tbody");
    inShadowTable.appendChild(inShadowTbody);
    var inRow1 = document.createElement("tr");
    inRow1.style.height = '25px';
    inShadowTbody.appendChild(inRow1);
    var inCol1 = document.createElement("td");
    inCol1.style.width = '27px';
    inRow1.appendChild(inCol1);
    var inShadowImg1 = document.createElement("img");
    inShadowImg1.setAttribute('src', zoomImagesURI + 'zoom-shadow1.png');
    inShadowImg1.setAttribute('width', '27');
    inShadowImg1.setAttribute('height', '25');
    inShadowImg1.style.display = 'block';
    inCol1.appendChild(inShadowImg1);
    var inCol2 = document.createElement("td");
    inCol2.setAttribute('background', zoomImagesURI + 'zoom-shadow2.png');
    inRow1.appendChild(inCol2);
    var inSpacer1 = document.createElement("img");
    inSpacer1.setAttribute('src', zoomImagesURI + 'spacer.gif');
    inSpacer1.setAttribute('height', '1');
    inSpacer1.setAttribute('width', '1');
    inSpacer1.style.display = 'block';
    inCol2.appendChild(inSpacer1);
    var inCol3 = document.createElement("td");
    inCol3.style.width = '27px';
    inRow1.appendChild(inCol3);
    var inShadowImg3 = document.createElement("img");
    inShadowImg3.setAttribute('src', zoomImagesURI + 'zoom-shadow3.png');
    inShadowImg3.setAttribute('width', '27');
    inShadowImg3.setAttribute('height', '25');
    inShadowImg3.style.display = 'block';
    inCol3.appendChild(inShadowImg3);
    inRow2 = document.createElement("tr");
    inShadowTbody.appendChild(inRow2);
    var inCol4 = document.createElement("td");
    inCol4.setAttribute('background', zoomImagesURI + 'zoom-shadow4.png');
    inRow2.appendChild(inCol4);
    var inSpacer2 = document.createElement("img");
    inSpacer2.setAttribute('src', zoomImagesURI + 'spacer.gif');
    inSpacer2.setAttribute('height', '1');
    inSpacer2.setAttribute('width', '1');
    inSpacer2.style.display = 'block';
    inCol4.appendChild(inSpacer2);
    var inCol5 = document.createElement("td");
    inCol5.setAttribute('bgcolor', '#ffffff');
    inRow2.appendChild(inCol5);
    var inSpacer3 = document.createElement("img");
    inSpacer3.setAttribute('src', zoomImagesURI + 'spacer.gif');
    inSpacer3.setAttribute('height', '1');
    inSpacer3.setAttribute('width', '1');
    inSpacer3.style.display = 'block';
    inCol5.appendChild(inSpacer3);
    var inCol6 = document.createElement("td");
    inCol6.setAttribute('background', zoomImagesURI + 'zoom-shadow5.png');
    inRow2.appendChild(inCol6);
    var inSpacer4 = document.createElement("img");
    inSpacer4.setAttribute('src', zoomImagesURI + 'spacer.gif');
    inSpacer4.setAttribute('height', '1');
    inSpacer4.setAttribute('width', '1');
    inSpacer4.style.display = 'block';
    inCol6.appendChild(inSpacer4);
    var inRow3 = document.createElement("tr");
    inRow3.style.height = '26px';
    inShadowTbody.appendChild(inRow3);
    var inCol7 = document.createElement("td");
    inCol7.style.width = '27px';
    inRow3.appendChild(inCol7);
    var inShadowImg7 = document.createElement("img");
    inShadowImg7.setAttribute('src', zoomImagesURI + 'zoom-shadow6.png');
    inShadowImg7.setAttribute('width', '27');
    inShadowImg7.setAttribute('height', '26');
    inShadowImg7.style.display = 'block';
    inCol7.appendChild(inShadowImg7);
    var inCol8 = document.createElement("td");
    inCol8.setAttribute('background', zoomImagesURI + 'zoom-shadow7.png');
    inRow3.appendChild(inCol8);
    var inSpacer5 = document.createElement("img");
    inSpacer5.setAttribute('src', zoomImagesURI + 'spacer.gif');
    inSpacer5.setAttribute('height', '1');
    inSpacer5.setAttribute('width', '1');
    inSpacer5.style.display = 'block';
    inCol8.appendChild(inSpacer5);
    var inCol9 = document.createElement("td");
    inCol9.style.width = '27px';
    inRow3.appendChild(inCol9);
    var inShadowImg9 = document.createElement("img");
    inShadowImg9.setAttribute('src', zoomImagesURI + 'zoom-shadow8.png');
    inShadowImg9.setAttribute('width', '27');
    inShadowImg9.setAttribute('height', '26');
    inShadowImg9.style.display = 'block';
    inCol9.appendChild(inShadowImg9)
  }
  if (includeCaption) {
    var inCapDiv = document.createElement("div");
    inCapDiv.setAttribute('id', 'ZoomCapDiv');
    inCapDiv.style.position = 'absolute';
    inCapDiv.style.visibility = 'hidden';
    inCapDiv.style.marginLeft = 'auto';
    inCapDiv.style.marginRight = 'auto';
    inCapDiv.style.zIndex = '501';
    inBody.insertBefore(inCapDiv, inZoombox.nextSibling);
    var inCapTable = document.createElement("table");
    inCapTable.setAttribute('border', '0');
    inCapTable.setAttribute('cellPadding', '0');
    inCapTable.setAttribute('cellSpacing', '0');
    inCapDiv.appendChild(inCapTable);
    var inTbody = document.createElement("tbody");
    inCapTable.appendChild(inTbody);
    var inCapRow1 = document.createElement("tr");
    inTbody.appendChild(inCapRow1);
    var inCapCol1 = document.createElement("td");
    inCapCol1.setAttribute('align', 'right');
    inCapRow1.appendChild(inCapCol1);
    var inCapImg1 = document.createElement("img");
    inCapImg1.setAttribute('src', zoomImagesURI + 'zoom-caption-l.png');
    inCapImg1.setAttribute('width', '13');
    inCapImg1.setAttribute('height', '26');
    inCapImg1.style.display = 'block';
    inCapCol1.appendChild(inCapImg1);
    var inCapCol2 = document.createElement("td");
    inCapCol2.setAttribute('background', zoomImagesURI + 'zoom-caption-fill.png');
    inCapCol2.setAttribute('id', 'ZoomCaption');
    inCapCol2.setAttribute('valign', 'middle');
    inCapCol2.style.fontSize = '14px';
    inCapCol2.style.fontFamily = 'Helvetica';
    inCapCol2.style.fontWeight = 'bold';
    inCapCol2.style.color = '#ffffff';
    inCapCol2.style.textShadow = '0px 2px 4px #000000';
    inCapCol2.style.whiteSpace = 'nowrap';
    inCapRow1.appendChild(inCapCol2);
    var inCapCol3 = document.createElement("td");
    inCapRow1.appendChild(inCapCol3);
    var inCapImg2 = document.createElement("img");
    inCapImg2.setAttribute('src', zoomImagesURI + 'zoom-caption-r.png');
    inCapImg2.setAttribute('width', '13');
    inCapImg2.setAttribute('height', '26');
    inCapImg2.style.display = 'block';
    inCapCol3.appendChild(inCapImg2)
  }
}
preloadFrom = 0;
