var globalZoomMouseX;var globalZoomMouseY;var distanceFromThumbnail=50;var distanceFromBottom=10;var Zoom={startZoomTooltip:function(e,f,c,d,b,a){clearTimeout(this.timerTooltip);this.timerTooltip=setTimeout(function(){Zoom.startZoom(b,a,"Preview.PreviewServlet;jsessionid="+e+"?recordView=recordCollectionPreviewView&catalogID="+f+"&recordID="+c+"&random="+new Date().getTime(),d,d)}.bind(this),500)},stopZoomTooltip:function(){clearTimeout(this.timerTooltip)},getElementPos:function(a){var b=$(a).cumulativeOffset();return{x:b.left,y:b.top}},getEventMousePos:function(a){var b=this.getElementPos(a);return{x:globalZoomMouseX-b.x,y:globalZoomMouseY-b.y}},startZoom:function(c,a,b,e,f){if(this.hoveredImageID!=c){this.hoveredImageID=c;this.img=$(c);this.zoomHeight=f;this.zoomWidth=e;this.width=this.img.offsetWidth;this.height=this.img.offsetHeight;var i=this.img.parentNode;this.imgLeft=this.img.offsetLeft;this.imgTop=this.img.offsetTop;this.offset=this.img.cumulativeOffset();this.imgPos=this.getElementPos(this.img);this.popupContainer=$(this.hoveredImageID+"popupContainer");if(!this.popupContainer){var d;if(i.nodeName!="DIV"){d=Builder.node("div");i.replaceChild(d,this.img);d.appendChild(this.img)}else{d=$(i)}this.zoomMarkerInput=i;d.setStyle({display:"block",left:0});if(d.getStyle("position")!="relative"&&d.getStyle("position")!="absolute"){d.setStyle({position:"relative"})}this.zoomMarker=Builder.node("div",{id:this.img.id+"zoomMarker",className:"zoomMarker"});this.zoomMarkerContainer=$(this.hoveredImageID+"zoomMarkerContainer");if(!this.zoomMarkerContainer){this.zoomMarkerContainer=Builder.node("div",{id:this.img.id+"zoomMarkerContainer",className:"zoomMarkerContainer"});this.zoomMarkerContainer.appendChild(this.zoomMarker);d.appendChild(this.zoomMarkerContainer)}this.zoomMarkerContainer.setStyle({position:"absolute",left:this.imgLeft+"px",top:this.imgTop+"px",width:this.width+"px",height:this.height+"px",overflow:"hidden",display:"none"});this.popupContainer=Builder.node("div",{id:this.img.id+"popupContainer",className:"popupContainerClass"});var j=Builder.node("div",{className:"popupBorderTop"});this.popupContainer.appendChild(j);var k=Builder.node("div",{className:"popupBorderLeft"});j.appendChild(k);var g=Builder.node("div",{className:"popupBorderRight"});k.appendChild(g);var h=Builder.node("div",{className:"popupBorderBottom"});this.popupContainer.appendChild(h);this.anchorContainer=$(a);this.anchorContainer.appendChild(this.popupContainer);this.popupContainer.setStyle({position:"absolute",top:this.imgPos.y+"px",visibility:"hidden"});this.popupContentWrapper=Builder.node("div",{id:this.img.id+"popupContentWrapper",className:"popupContentWrapper"});this.popupContentWrapper.setStyle({position:"relative",width:this.zoomWidth+"px",height:this.zoomHeight+"px",overflow:"hidden"});if((this.imgPos.x+distanceFromThumbnail)>(document.viewport.getWidth()/2)){this.popupContainer.style.left=(this.imgPos.x-this.popupContentWrapper.offsetWidth-distanceFromThumbnail)+"px"}else{this.popupContainer.style.left=(this.imgPos.x+this.width+distanceFromThumbnail)+"px"}this.highResolutionImage=Builder.node("img",{id:this.img.id+"highResolutionImage"});this.highResolutionImage.setStyle({position:"absolute",padding:0,border:0,zIndex:10000});this.popupContentWrapper.appendChild(this.highResolutionImage);g.appendChild(this.popupContentWrapper);this.highResolutionImage.onload=function(){this.zoomMarkerInput.onmousemove=function(){this.positionZoom(true)}.bind(this);this.popupContainer.addClassName("visibleZoomPopup");this.positionZoom(false)}.bind(this);this.highResolutionImage.src=b}else{this.zoomMarkerInput=i;this.zoomMarkerInput.setStyle({display:"block",left:0});if(this.zoomMarkerInput.getStyle("position")!="relative"&&this.zoomMarkerInput.getStyle("position")!="absolute"){this.zoomMarkerInput.setStyle({position:"relative"})}this.zoomMarker=$(this.img.id+"zoomMarker");this.zoomMarkerContainer=$(this.hoveredImageID+"zoomMarkerContainer");this.popupContainer=$(this.img.id+"popupContainer");if((this.imgPos.x+distanceFromThumbnail)>(document.viewport.getWidth()/2)){this.popupContainer.style.left=(this.imgPos.x-this.popupContentWrapper.offsetWidth-distanceFromThumbnail)+"px"}else{this.popupContainer.style.left=(this.imgPos.x+this.width+distanceFromThumbnail)+"px"}this.popupContentWrapper=$(this.img.id+"popupContentWrapper");this.highResolutionImage=$(this.img.id+"highResolutionImage");this.anchorContainer=$(a);this.popupContainer.addClassName("visibleZoomPopup");this.positionZoom(false)}}if(document.body.onmousemove==undefined){document.body.onmousemove=function(l){if(!l){l=window.event}globalZoomMouseX=Event.pointerX(l);globalZoomMouseY=Event.pointerY(l);if(globalZoomMouseX<this.offset.left||globalZoomMouseX>this.offset.left+this.width||globalZoomMouseY<this.offset.top||globalZoomMouseY>this.offset.top+this.height){this.hideTooltips()}}.bind(this)}},positionZoom:function(s){var m=this.highResolutionImage.offsetWidth?this.highResolutionImage.offsetWidth:this.highResolutionImage.naturalWidth;var i=this.highResolutionImage.offsetHeight?this.highResolutionImage.offsetHeight:this.highResolutionImage.naturalHeight;var e=Math.min(m,i);var p=2;var g=this.popupContentWrapper.offsetWidth-p;var q=this.popupContentWrapper.offsetHeight-p;if(e<g){g=e;this.popupContentWrapper.setStyle({width:g+"px"})}if(e<q){q=e;this.popupContentWrapper.setStyle({height:q+"px"})}var l=document.viewport.getDimensions();var f=document.viewport.getScrollOffsets().top;var c=f+l.height;if((this.imgPos.x+distanceFromThumbnail)>(document.viewport.getWidth()/2)){this.popupContainer.style.left=(this.imgPos.x-g-distanceFromThumbnail)+"px"}else{this.popupContainer.style.left=(this.imgPos.x+this.width+distanceFromThumbnail)+"px"}var n=$("popupFrame");if((q+this.imgPos.y)>c){if(n.visible()){this.popupContainer.style.top=(c-q-distanceFromBottom-n.cumulativeOffset().top)+"px"}else{this.popupContainer.style.top=(c-q-distanceFromBottom)+"px"}}else{if(n.visible()){this.popupContainer.style.top=(this.imgPos.y-n.cumulativeOffset().top)+"px"}else{this.popupContainer.style.top=this.imgPos.y+"px"}}if(!s){this.zoomMarkerContainer.style.display="block";if(app.isIE){this.popupContainer.setStyle({visibility:"visible",zIndex:10000})}else{this.popupContainer.setOpacity(0);this.popupContainer.setStyle({visibility:"visible",zIndex:10000});new Effect.Opacity(this.popupContainer.id,{from:0,to:1,duration:0.3})}}var d=this.getEventMousePos(this.zoomMarkerInput);var b=m/this.width;var k=i/this.height;var r=Math.round(g/b);var o=Math.round(q/k);var a=2;this.zoomMarker.setStyle({width:(r-a)+"px",height:(o-a)+"px"});var j=r/2;var h=o/2;d.x-=this.imgLeft;d.y-=this.imgTop;if(d.x<j){d.x=j}if(d.x>this.width-j){d.x=this.width-j}if(d.y<h){d.y=h}if(d.y>this.height-h){d.y=this.height-h}this.zoomMarker.style.left=((d.x-j)|0)+"px";this.zoomMarker.style.top=((d.y-h)|0)+"px";this.highResolutionImage.style.left=-((d.x*b-g/2)|0)+"px";this.highResolutionImage.style.top=-((d.y*k-q/2)|0)+"px"},hideTooltips:function(){this.hoveredImageID=undefined;$$(".popupContainerClass.visibleZoomPopup").each(function(b){b.removeClassName("visibleZoomPopup");if(app.isIE){b.setStyle({visibility:"hidden"})}else{new Effect.Opacity(b.id,{from:1,to:0,duration:0.3,afterFinish:function(){b.setStyle({visibility:"hidden"})}})}var a=b.id.replace("popupContainer","zoomMarkerContainer");$(a).hide()}.bind(this))}};
