function Zoomify(container){var DIVNAME="zoomify";var DOFADE=true;var TIMERSTEPS=20;var TIMERINTERVAL=5;var FADEINMETHOD="cubicInOut";var FADEOUTMETHOD="cubicOut";var MINMARGIN=20;var ZINDEX=500000;var PREVSRC="/WebObjects/webpages.woa/Contents/WebServerResources/arrLeft.png";var NEXTSRC="/WebObjects/webpages.woa/Contents/WebServerResources/arrRight.png";if(document.getElementsByTagName("body")[0].style.opacity===undefined){DOFADE=false;}var allLinks;if(document.getElementById(container)){allLinks=document.getElementById(container).getElementsByTagName("a");}else{allLinks=document.getElementsByTagName("a");}var preloadPrev=document.createElement("img");var preloadNext=document.createElement("img");preloadPrev.src=PREVSRC;preloadNext.src=NEXTSRC;var images=[];var timers=[];for(var i=0;i<allLinks.length;i++){var imgLink=allLinks[i].getAttribute("href")===null?"":allLinks[i].getAttribute("href");if(imgLink.search(/(.*)\.(jpg|jpeg|gif|png|bmp|tif|tiff)/gi)!=-1){var index=images.length;var currentImg=new Image();currentImg.src=imgLink;images[index]=new ZoomifyImage(index,currentImg,allLinks[i].firstChild);eval("timers["+index+"] = setInterval(function() {images["+index+"].setDimensions("+index+");}, 100);");images[index].timer=timers[index];eval("allLinks[i].onclick = function(event) {return showImage("+images[index].index+");};");}}showImage=function(imgIdx){var clickedImg=images[imgIdx];if(!clickedImg.isBusy()&&!clickedImg.isActive()){clickedImg.setActive(true);var zoomifyDiv=clickedImg.setupDiv();clickedImg.calculateTarget(MINMARGIN);zoomifyDiv.style.display="block";eval("clickedImg.timerID = setInterval(function() {images["+imgIdx+"].fadeInOut(true);}, "+TIMERINTERVAL+");");}return false;};changeImg=function(current,next){var index=next===true?current+1:current-1;if(!images[current].isBusy()&&!images[index].isBusy()){images[current].hideImage();images[index].setActive(false);showImage(index);}};function ZoomifyImage(index,image,thumb){!ZoomifyImage.lengthValue?ZoomifyImage.lengthValue=1:ZoomifyImage.lengthValue++;this.index=index;this.image=image;this.thumb=thumb;this.timer=0;this.width=0;this.height=0;this.thumbWidth=0;this.thumbHeight=0;this.thumbX=0;this.thumbY=0;this.targetWidth=0;this.targetHeight=0;this.targetX=0;this.targetY=0;this.timerID=0;this.currentStep=0;this.divRef=null;this.leftDiv=null;this.rightDiv=null;var busy=false;this.isBusy=function(){return busy;};this.setBusy=function(value){busy=value;return true;};ZoomifyImage.active=false;this.isActive=function(){return ZoomifyImage.active;};this.setActive=function(value){ZoomifyImage.active=value;return true;};this.setupDiv=function(){this.divRef=document.getElementById(DIVNAME+this.index);if(!this.divRef){this.divRef=document.createElement("div");this.divRef.id=DIVNAME+this.index;this.divRef.style.display="none";this.divRef.style.position="absolute";this.divRef.style.opacity=DOFADE?"0":"1";this.divRef.style.filter="alpha(opacity="+DOFADE?"0":"1"+")";this.divRef.style.zIndex=ZINDEX;document.getElementsByTagName("body")[0].appendChild(this.divRef);this.leftDiv=this.buildArrows(preloadPrev,false);this.divRef.appendChild(this.leftDiv);this.rightDiv=this.buildArrows(preloadNext,true);this.divRef.appendChild(this.rightDiv);if(ZoomifyImage.lengthValue>1){switch(this.index){case 0:this.rightDiv.style.display="block";break;case ZoomifyImage.lengthValue-1:this.leftDiv.style.display="block";break;default:this.leftDiv.style.display="block";this.rightDiv.style.display="block";break;}}var imgRef=document.createElement("img");imgRef.id=DIVNAME+"_image"+index;imgRef.src=this.image.src;imgRef.style.width="100%";imgRef.style.height="100%";this.divRef.appendChild(imgRef);eval("imgRef.onclick = function(event) {return images["+this.index+"].hideImage();};");return this.divRef;}return this.divRef;};this.buildArrows=function(srcImg,next){var div=document.createElement("div");var link=document.createElement("a");link.href="javascript:changeImg("+this.index+","+next+");";var linkImage=document.createElement("img");linkImage.src=srcImg.src;linkImage.style.border="none";div.appendChild(link);link.appendChild(linkImage);div.style.display="none";div.style.position="absolute";div.style.zIndex=ZINDEX+10000;div.style.width=srcImg.width+"px";div.style.height=srcImg.height+"px";div.style.opacity=DOFADE?"0":"1";div.style.filter="alpha(opacity=100)";if(next){div.style.right=-(srcImg.width/2)+"px";}else{div.style.left=-(srcImg.width/2)+"px";}return div;};this.positionArrows=function(div,value){div.style.top=50-((preloadPrev.height/value)*100)/2+"%";return true;};function getPosition(oElement){function getNextAncestor(oElement){var actualStyle;if(window.getComputedStyle){actualStyle=getComputedStyle(oElement,null).position;}else if(oElement.currentStyle){actualStyle=oElement.currentStyle.position;}else{actualStyle=oElement.style.position;}if(actualStyle=='absolute'||actualStyle=='fixed'){return oElement.offsetParent;}return oElement.parentNode;}if(typeof(oElement.offsetParent)!='undefined'){var originalElement=oElement;for(var posX=0,posY=0;oElement;oElement=oElement.offsetParent){posX+=oElement.offsetLeft;posY+=oElement.offsetTop;}if(!originalElement.parentNode||!originalElement.style||typeof(originalElement.scrollTop)=='undefined'){return[posX,posY];}oElement=getNextAncestor(originalElement);while(oElement&&oElement!=document.body&&oElement!=document.documentElement){posX-=oElement.scrollLeft;posY-=oElement.scrollTop;oElement=getNextAncestor(oElement);}return[posX,posY];}else{return[oElement.x,oElement.y];}}this.setDimensions=function(idx){if(this.image.width!=0){this.width=this.image.width;this.height=this.image.height;this.thumbWidth=this.thumb.width;this.thumbHeight=this.thumb.height;clearInterval(this.timer);return true;}return false;};this.calculateTarget=function(margin){var viewPort=new WinDim();var screenWidth=viewPort.width();var screenHeight=viewPort.height();var screenXScroll=viewPort.xScroll();var screenYScroll=viewPort.yScroll();var ratio=this.width/this.height;var positions=getPosition(this.thumb);this.thumbX=positions[0];this.thumbY=positions[1];this.targetWidth=this.width;this.targetHeight=this.height;if(this.targetWidth>screenWidth-margin){this.targetWidth=screenWidth-margin;this.targetHeight=this.targetWidth/ratio;}if(this.targetHeight>screenHeight-margin){this.targetHeight=screenHeight-margin;this.targetWidth=this.targetHeight*ratio;}this.targetX=((screenWidth-this.targetWidth)/2)+screenXScroll;this.targetY=((screenHeight-this.targetHeight)/2)+screenYScroll;this.divRef.style.left=this.thumbX+"px";this.divRef.style.top=this.thumbY+"px";this.divRef.style.width=this.thumbWidth+"px";this.divRef.style.height=this.thumbHeight+"px";this.positionArrows(this.leftDiv,this.thumbHeight);this.positionArrows(this.rightDiv,this.thumbHeight);return true;};this.fadeInOut=function(increase){this.setBusy(true);this.setActive(true);var method=increase?FADEINMETHOD:FADEOUTMETHOD;var xSize=eval(method)(this.currentStep,this.thumbWidth,this.targetWidth-this.thumbWidth,TIMERSTEPS);var ySize=eval(method)(this.currentStep,this.thumbHeight,this.targetHeight-this.thumbHeight,TIMERSTEPS);var xMove=eval(method)(this.currentStep,this.thumbX,this.targetX-this.thumbX,TIMERSTEPS);var yMove=eval(method)(this.currentStep,this.thumbY,this.targetY-this.thumbY,TIMERSTEPS);this.positionArrows(this.leftDiv,ySize);this.positionArrows(this.rightDiv,ySize);this.divRef.style.left=xMove+"px";this.divRef.style.width=xSize+"px";this.divRef.style.top=yMove+"px";this.divRef.style.height=ySize+"px";if(DOFADE){var fade=eval(method)(this.currentStep,0,1,TIMERSTEPS);this.divRef.style.opacity=fade;this.divRef.style.filter="alpha(opacity="+(fade*100)+")";this.leftDiv.style.opacity=fade;this.rightDiv.style.opacity=fade;}switch(increase){case true:this.currentStep++;this.divRef.style.zIndex++;if(this.currentStep>TIMERSTEPS){this.divRef.style.zIndex=ZINDEX+TIMERSTEPS;this.currentStep--;clearInterval(this.timerID);this.timerID=0;this.setBusy(false);}break;case false:this.currentStep-=2;this.divRef.style.zIndex-=2;if(this.currentStep<=0){this.divRef.style.zIndex=ZINDEX;this.divRef.style.display="none";clearInterval(this.timerID);this.timerID=0;this.setBusy(false);this.setActive(false);}break;default:break;}return true;};this.hideImage=function(){if(!this.isBusy()){eval("images["+this.index+"].timerID = setInterval(function() {images["+this.index+"].fadeInOut(false);}, "+TIMERINTERVAL+");");return true;}};return true;}function WinDim(){this.width=function(){if(self.innerHeight){return window.innerWidth;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientWidth;}else if(document.body){return document.body.clientWidth;}};this.height=function(){if(self.innerHeight){return window.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body){return document.body.clientHeight;}};this.yScroll=function(){if(self.innerHeight){return window.pageYOffset;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.scrollTop;}else if(document.body){return document.body.scrollTop;}};this.xScroll=function(){if(self.innerHeight){return window.pageXOffset;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.scrollLeft;}else if(document.body){return document.body.scrollLeft;}};}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;}}return true;}if(!window.addEventListener){window.attachEvent("onload",setup);}else{window.addEventListener("load",setup,false);}function setup(){var setupZoom=new Zoomify();}