function expandableThumb() {
    images = document.getElementsByTagName("img");
    for(i = 0; i < images.length; i++) {
        image = images.item(i);
        if (image.className == "expandableImage") {
            image.onclick = displayFullImage;
            p = document.createElement('p');
            p.appendChild(document.createTextNode("click image to expand"));
            par = image.parentNode;
            nextSib = image.nextSibling;
            par.insertBefore(p, nextSib)        }
    }
}

function displayFullImage(e) {
   var posX = 0;
   var posY = 0;
   var e = (!e) ? window.event : e;
   if (e.pageX || e.pageY) {
      posX = e.pageX;
      posY = e.pageY;
   }
   else if (e.clientX || e.clientY) {
      if (document.body.scrollLeft || document.body.scrollTop) {
         posX = e.clientX + document.body.scrollLeft;
         posY = e.clientY + document.body.scrollTop;
      }
      else {
         posX = e.clientX + document.documentElement.scrollLeft;
         posY = e.clientY + document.documentElement.scrollTop;
      }
   }
        
        
   img = document.createElement("img");
   
   srcString = this.src;
   thumbString = "_thumbnail"
   
   i = srcString.indexOf("_thumbnail");
   if (i != -1) {
      srcString = srcString.substring(0,i) 
                        + remove(srcString.substring(i + thumbString.length), thumbString)
   }

   img.src = srcString;
   img.className = "imagePopUp";
   img.onclick = closeImage;
   img.title = "Click To Close";
   img.style.position = "absolute";
   img.style.top  = (posY - 50) + "px";

   document.body.appendChild(img);
}

/*
**  Remove all occurrences of a token in a string
**    s  string to be processed
**    t  token to be removed
**  returns new string
*/
function remove(s, t) {

    i = s.indexOf(t);
    r = "";
    if (i == -1) return s;
    r += s.substring(0,i) + remove(s.substring(i + t.length), t);
    return r;
}

function closeImage() {
   this.parentNode.removeChild(this);
}

var mouse_x = 0;
var mouse_y = 0;
function getMouseXY(e) {
   var posX = 0;
   var posY = 0;
   var e = (!e) ? window.event : e;
   if (e.pageX || e.pageY) {
      posX = e.pageX;
      posY = e.pageY;
   }
   else if (e.clientX || e.clientY) {
      if (document.body.scrollLeft || document.body.scrollTop) {
         posX = e.clientX + document.body.scrollLeft;
         posY = e.clientY + document.body.scrollTop;
      }
      else {
         posX = e.clientX + document.documentElement.scrollLeft;
         posY = e.clientY + document.documentElement.scrollTop;
      }
   }
   mouse_x = posX;
   mouse_y = posY;
}


window.onload=function() {
   expandableThumb();
}
