var waitImage;function initModal(){waitImage=new Image();waitImage.src="http://www.webpagesthatsuck.com/modalimgkit_wait.gif";var links=document.getElementsByTagName("a");for(var i=0;i<links.length;i++){if(links[i].getAttribute("href")&&/gif|jpe?g|png$/.test(links[i].getAttribute("href"))){links[i].onclick=function(){showModal(this);return false}}}var docFragment=document.createDocumentFragment();var elemModalWin=document.createElement("div");elemModalWin.setAttribute("id","modalwin");elemModalWin.style.display="none";docFragment.appendChild(elemModalWin);var elemModalContent=document.createElement("div");elemModalContent.setAttribute("id","modalcontent");elemModalContent.onclick=function(){hideModal();return false};elemModalContent.style.display="none";var elemModalImg=document.createElement("img");elemModalImg.setAttribute("id","modalimg");elemModalImg.setAttribute("alt","Click to close.");elemModalContent.appendChild(elemModalImg);docFragment.insertBefore(elemModalContent,elemModalWin.nextSibling);var elemBody=document.getElementsByTagName("body")[0];elemBody.insertBefore(docFragment,elemBody.firstChild);self.onresize=handleResize;self.onscroll=handleScroll}function showModal(elemLink){var elemModalWin=document.getElementById("modalwin");elemModalWin.style.left=getClientLeft()+"px";elemModalWin.style.top=getClientTop()+"px";elemModalWin.style.width=getClientWidth()+"px";elemModalWin.style.height=getClientHeight()+"px";elemModalWin.style.display="block";var image=new Image();image.onload=function(){showImage(image);document.onkeypress=handleKeyPress;return false};image.src=elemLink.href;if(!image.complete)showImage(waitImage)}function showImage(image){document.getElementById("modalimg").src=image.src;var left=getClientLeft()+((getClientWidth()-image.width)/2);var top=getClientTop()+((getClientHeight()-image.height)/2);var elemModalContent=document.getElementById("modalcontent");elemModalContent.style.left=(left<0?0:left)+"px";elemModalContent.style.top=(top<0?0:top)+"px";elemModalContent.style.display="block"}function hideModal(){document.getElementById("modalwin").style.display="none";document.getElementById("modalcontent").style.display="none";document.onkeypress=""}function handleKeyPress(evt){evt=evt?evt:(event?event:null);if(evt){var key=evt.charCode?evt.charCode:evt.keyCode;if(key==13||key==32)hideModal()}return false}function handleResize(){document.getElementById("modalwin").style.width=getClientWidth()+"px";document.getElementById("modalwin").style.height=getClientHeight()+"px"}function handleScroll(){document.getElementById("modalwin").style.left=getClientLeft()+"px";document.getElementById("modalwin").style.top=getClientTop()+"px"}