var Static_ImagePanel_EXTERNAL_ADDITIONAL_LEVELS=2;var Static_ImagePanel_EXTERNAL_MEDIA_STARTING_LEVEL=2;function ImagePanel(A,B){this.mContainer=null;this.mGlassPlate=null;this.mImageCover=null;this.mPanel=null;this.mBody=null;this.mImage=null;this.mZoomBox=null;this.mIsCurrentImagePanel=false;this.mControl=null;this.mManager=null;this.mTiles=null;this.mFullImageUrls=null;this.mLunaSourceUrl=null;this.mThumbnailUrl=null;this.mLunaLevel=null;this.mLunaMaxLevel=null;this.mResizeStartingWidth=null;this.mResizeStartingHeight=null;this.mBaseRatio=null;this.mPostResizeFunction=A;this.mPostDestoryFunction=B;this.mConfirmBeforeClose=true;this.mCurrentViewPoint=null;this.mLastIdleTime=null;this.mScaleFactor=null;this.mThumbnailDimensions=null;this.mLoadInProgress=null;this.mActionInProgress=null;this.mCurrentActionInProgress=null;this.mMoveStartingX=null;this.mMoveStartingY=null;this.mIgnoreSizeConstraints=null;this.mMaximizeOnLoad=false;this.mInitialized=false;this.CLASSNAME="imagePanel";this.CURRENT_IMAGE_PANEL_CLASSNAME="current";this.PAN_CURSOR_CLASSNAME="panCursor";this.PAN_ACTIVE_CURSOR_CLASSNAME="activePanCursor";this.MOVE_CURSOR_CLASSNAME="moveCursor";this.MOVE_ACTIVE_CURSOR_CLASSNAME="activeMoveCursor";this.ZOOM_BOX_CLASSNAME="zoomBox";this.DEFAULT_WIDTH=240;this.DEFAULT_HEIGHT=230;this.MIN_SIZE=50;this.DEFAULT_LUNA_LEVEL=5;this.DEFAULT_MAX_IMAGE_WIDTH=1000;this.DEFAULT_MAX_IMAGE_HEIGHT=1000;this.MAX_PANEL_WIDTH=1500;this.MAX_PANEL_HEIGHT=1000;this.MAX_INITIAL_TILES=8;this.MAX_STARTING_SIZE=384;this.EXTERNAL_MEDIA_STARTING_LEVEL=Static_ImagePanel_EXTERNAL_MEDIA_STARTING_LEVEL;this.EXTERNAL_ADDITIONAL_LEVELS=Static_ImagePanel_EXTERNAL_ADDITIONAL_LEVELS;this.TILE_UPDATE_DELAY=500;this.CONFIRMATION_BEFORE_CLOSE_MESSAGE="Do you want remove this image?";this.init=ImagePanel_Init;this.render=ImagePanel_Render;this.reset=ImagePanel_Reset;this.close=ImagePanel_Close;this.resize=ImagePanel_Resize;this.constructBody=ImagePanel_ConstructBody;this.updateTiles=ImagePanel_UpdateTiles;this.constructTile=ImagePanel_ConstructTile;this.moveTo=ImagePanel_MoveTo;this.panTo=ImagePanel_PanTo;this.boxZoomImage=ImagePanel_BoxZoomImage;this.maximizePanelToImage=ImagePanel_MaximizePanelToImage;this.maximizeImageToPanel=ImagePanel_MaximizeImageToPanel;this.maximizePanelToContainer=ImagePanel_MaximizePanelToContainer;this.centerOnContainer=ImagePanel_CenterOnContainer;this.bringToFront=ImagePanel_BringToFront;this.updateCursor=ImagePanel_UpdateCursor;this.currentActionHasChanged=ImagePanel_CurrentActionHasChanged;this.endCurrentAction=ImagePanel_EndCurrentAction;this.getPosition=ImagePanel_GetPosition;this.getDimensions=ImagePanel_GetDimensions;this.getCurrentImageSize=ImagePanel_GetCurrentImageSize;this.getAdjustedDimensions=ImagePanel_GetAdjustedDimensions;this.getAdjustedOrigin=ImagePanel_GetAdjustedOrigin;this.getActualViewPoint=ImagePanel_GetActualViewPoint;this.getCurrentViewPoint=ImagePanel_GetCurrentViewPoint;this.getLunaLevel=ImagePanel_GetLunaLevel;this.getStackOrder=ImagePanel_GetStackOrder;this.setStackOrder=ImagePanel_SetStackOrder;this.getScaleFactor=ImagePanel_GetScaleFactor;this.getDefaultLevel=ImagePanel_GetDefaultLevel;this.getLunaLevelRange=ImagePanel_GetLunaLevelRange;this.isImageFullyVisible=ImagePanel_IsImageFullyVisible;this.isPartialImage=ImagePanel_IsPartialImage;this.canFetchEntireImage=ImagePanel_CanFetchEntireImage;this.calculateTileDimensions=ImagePanel_CalculateTileDimensions;this.equalsCurrentAction=ImagePanel_EqualsCurrentAction;this.showControls=ImagePanel_ShowControls;this.hideControls=ImagePanel_HideControls;this.setLunaSourceUrl=ImagePanel_SetSourceUrl;this.setThumbnailUrl=ImagePanel_SetThumbnailUrl;this.setIgnoreSizeConstraints=ImagePanel_SetIgnoreSizeConstraints;this.setLunaLevel=ImagePanel_SetLunaLevel;this.setMaxLunaLevel=ImagePanel_SetMaxLunaLevel;this.setControl=ImagePanel_SetControl;this.setManager=ImagePanel_SetManager;this.setCurrentImagePanel=ImagePanel_SetIsCurrentImagePanel;this.setBaseRatio=ImagePanel_SetBaseRatio;this.setToolTip=ImagePanel_SetToolTip;this.setConfirmBeforeClose=ImagePanel_SetConfirmBeforeClose;this.setFullImageUrls=ImagePanel_SetFullImageUrls;this.updateImageCover=ImagePanel_UpdateImageCover}function ImagePanel_Init(A,F){this.mPanel=document.createElement("div");this.mBody=document.createElement("div");this.mImage=document.createElement("img");this.mZoomBox=document.createElement("div");this.mGlassPlate=$(document.createElement("div"));this.mImageCover=$(document.createElement("div"));this.mPanel.appendChild(this.mImage);this.mPanel.appendChild(this.mBody);this.mPanel.appendChild(this.mImageCover);this.mPanel.appendChild(this.mZoomBox);this.mPanel=$(this.mPanel);this.mImage=$(this.mImage);this.mBody=$(this.mBody);this.mImageCover=$(this.mImageCover);this.mZoomBox=$(this.mZoomBox);this.mPanel.mediaPanel=this;this.mGlassPlate.mediaPanel=this;this.mImageCover.mediaPanel=this;this.mImage.mediaPanel=this;this.mBody.mediaPanel=this;this.mZoomBox.mediaPanel=this;this.mPanel.onmousedown=Static_ImagePanel_StartMove;this.mPanel.onmouseover=Static_ImagePanel_MouseIn;this.mPanel.onmouseout=Static_ImagePanel_MouseOut;this.mPanel.addClassName(this.CLASSNAME);this.mZoomBox.className=this.ZOOM_BOX_CLASSNAME;this.mGlassPlate.addClassName("glassPlate");this.mContainer.appendChild(this.mPanel);this.mContainer.appendChild(this.mGlassPlate);this.mPanel.style.position="absolute";this.mPanel.style.overflow="hidden";var B=10;var D=Position.page(this.mContainer);this.mGlassPlate.hide();this.mGlassPlate.style.position="absolute";this.mGlassPlate.style.left=(D[0]+B)+"px";this.mGlassPlate.style.top=(D[1]+B)+"px";this.mGlassPlate.style.width=(this.mContainer.getWidth()-(2*B))+"px";this.mGlassPlate.style.height=(this.mContainer.getHeight()-(2*B))+"px";this.mGlassPlate.style.zIndex=99999;YAHOO.util.Event.addListener(this.mGlassPlate,"mousemove",Static_ImagePanel_GlassPlate_Move);YAHOO.util.Event.addListener(this.mGlassPlate,"mouseup",Static_ImagePanel_GlassPlate_MouseUp);this.mGlassPlate.style.backgroundColor="black";jshSetOpacity(this.mGlassPlate,0.01);this.mBody.style.position="absolute";this.mBody.style.top="0px";this.mBody.style.left="0px";this.mBody.style.overflow="hidden";this.mImageCover.style.position="absolute";this.mImageCover.style.top="0px";this.mImageCover.style.left="0px";this.mImageCover.style.overflow="hidden";this.mImageCover.style.background="black";jshSetOpacity(this.mImageCover,0.01);this.mImage.style.position="absolute";this.mImage.style.top="0px";this.mImage.style.left="0px";this.mBody.style.width="100%";this.mBody.style.height="100%";this.mZoomBox.style.position="absolute";this.mZoomBox.style.display="none";this.mZoomBox.style.overflow="hidden";jshSetOpacity(this.mZoomBox,0.4);this.hideControls();this.mCurrentViewPoint=$([0,0]);this.mLunaLevel=this.getDefaultLevel();var E=this.mMaximizeOnLoad;this.resize(this.DEFAULT_WIDTH,this.DEFAULT_HEIGHT);this.mMaximizeOnLoad=E;this.panTo(0,0);if(A&&F){this.moveTo(A,F)}var C=this;this.mImage.onload=function(K){if(C.mLunaSourceUrl==null){var H=Static_ImagePanel_GetExternalMediaBaseRatio(C.mImage.width,C.mImage.height);C.setBaseRatio(H[0],H[1]);C.setMaxLunaLevel(C.EXTERNAL_MEDIA_STARTING_LEVEL+C.EXTERNAL_ADDITIONAL_LEVELS);if(C.mMaximizeOnLoad==true){C.mLunaLevel=C.EXTERNAL_MEDIA_STARTING_LEVEL;C.setLunaLevel(C.mLunaMaxLevel);C.maximizePanelToImage()}if(C.deducedState){var G=C.deducedState;var I=G.actualImageSizeWidth;var J=C.mBaseRatio[0];if(C.mBaseRatio[1]>C.mBaseRatio[0]){I=G.actualImageSizeHeight;J=C.mBaseRatio[1]}G.level=Math.round(Math.LN2*Math.log(J/I));G.level=Math.min(G.level,(Static_ImagePanel_EXTERNAL_ADDITIONAL_LEVELS+Static_ImagePanel_EXTERNAL_MEDIA_STARTING_LEVEL));G.level=Math.max(0,G.level);G.scaleFactorX=((G.actualImageSizeWidth*Math.pow(2,G.level))/C.mBaseRatio[0]);G.scaleFactorY=((G.actualImageSizeHeight*Math.pow(2,G.level))/C.mBaseRatio[1]);G.scaleFactor[0]=G.scaleFactorX;G.scaleFactor[1]=G.scaleFactorY;C.setLunaLevel(G.level,G.centerPoint,null,G.scaleFactor)}}C.mInitialized=true};this.mImage.src=this.mThumbnailUrl}function ImagePanel_GetLunaLevelRange(){var A=$([0,this.getDefaultLevel()]);if(this.mLunaSourceUrl==null){A[1]=this.EXTERNAL_MEDIA_STARTING_LEVEL+this.EXTERNAL_ADDITIONAL_LEVELS}return A}function ImagePanel_GetDefaultLevel(B){if(this.mLunaSourceUrl==null){B=this.EXTERNAL_MEDIA_STARTING_LEVEL}else{if(this.mLunaMaxLevel>0){B=this.mLunaMaxLevel-2}else{if(!B){B=this.mLunaMaxLevel}if((B>=0)&&(B<=this.mLunaMaxLevel)){var A=Static_ImagePanel_CalculateRatio(this.mBaseRatio,B);if(!((A[0]>=this.MIN_SIZE)&&(A[1]>=this.MIN_SIZE))){return this.getDefaultLevel(B-1)}}}}return B}function ImagePanel_UpdateTiles(){if(this.mTiles){if(this.mDelayTiles==null){if(this.mLunaSourceUrl!=null){var F=this.getCurrentImageSize();var E=[Math.ceil(F[0]/this.DEFAULT_MAX_IMAGE_WIDTH),Math.ceil(F[1]/this.DEFAULT_MAX_IMAGE_HEIGHT)];var H=this.getActualViewPoint();var A=this.DEFAULT_MAX_IMAGE_WIDTH;if(this.mScaleFactor&&this.mScaleFactor[0]){A*=this.mScaleFactor[0]}var I=this.DEFAULT_MAX_IMAGE_HEIGHT;if(this.mScaleFactor&&this.mScaleFactor[1]){I*=this.mScaleFactor[1]}A=Math.floor(A);I=Math.floor(I);var G=Math.floor(H[0]/A);G=Math.max(G,0);var J=Math.ceil((H[0]+this.mPanel.getWidth())/A);J=Math.min(J,E[0]-1);J=Math.max(J,0);var B=Math.floor(H[1]/I);B=Math.max(B,0);var D=Math.ceil((H[1]+this.mPanel.getHeight())/I);D=Math.min(D,E[1]-1);D=Math.max(D,0);for(var K=B;K<=D;K++){for(var C=G;C<=J;C++){this.constructTile(K,C)}}}else{if((this.mFullImageUrls!=null)&&(this.mFullImageUrls.length>0)){this.constructTile(0,0)}}}}}function ImagePanel_ConstructBody(){if(this.mBody){this.mBody.update("");var A=this.getCurrentImageSize();this.mBody.style.width=A[0]+"px";this.mBody.style.height=A[1]+"px";this.mImage.width=A[0];this.mImage.height=A[1];this.mTiles=$(new Array())}}function ImagePanel_ConstructTile(I,B){var G=0;var E=0;var H=0;var F=0;if(this.mLunaSourceUrl==null){I=0;B=0;if((this.mTiles[I]==null)||(this.mTiles[I][B]==null)){if((this.mFullImageUrls!=null)&&(this.getLunaLevel()<this.EXTERNAL_MEDIA_STARTING_LEVEL)){this.mTiles[I]=$(new Array());this.mTiles[I][B]=$(document.createElement("img"));this.mBody.appendChild(this.mTiles[I][B]);this.mTiles[I][B].src=this.mFullImageUrls[this.mFullImageUrls.length-1];this.mTiles[I][B].mediaPanel=this;this.mTiles[I][B].width=this.mImage.width;this.mTiles[I][B].height=this.mImage.height;this.mTiles[I][B].style.position="absolute";this.mTiles[I][B].style.left=0+"px";this.mTiles[I][B].style.top=0+"px"}}}else{if(this.mLunaSourceUrl!=null){var C=null;G=(B*this.DEFAULT_MAX_IMAGE_WIDTH);E=(I*this.DEFAULT_MAX_IMAGE_HEIGHT);if(!this.mTiles[I]){this.mTiles[I]=$(new Array())}if(!this.mTiles[I][B]){var D=this.getCurrentImageSize();if((G>D[0])||(E>D[1])){return }this.mTiles[I][B]=$(document.createElement("img"));this.mTiles[I][B].onerror=function(){this.onerror=null;this.style.display="none"};this.mBody.appendChild(this.mTiles[I][B]);this.mTiles[I][B].mediaPanel=this;var A=this.calculateTileDimensions(B,I);this.mTiles[I][B].sourceUrl=Static_ImagePanel_GetLunaImageUrl(this.mLunaSourceUrl,G,E,A[0],A[1],this.mLunaLevel);if(this.mTiles[I][B].sourceUrl==""){this.mTiles[I][B].sourceUrl=null}this.mTiles[I][B].src=this.mTiles[I][B].sourceUrl;if(this.mScaleFactor){if(this.mScaleFactor[0]!=0){this.mTiles[I][B].width=(A[0]*this.mScaleFactor[0]);G=Math.round(G*this.mScaleFactor[0])}if(this.mScaleFactor[1]!=0){this.mTiles[I][B].height=(A[1]*this.mScaleFactor[1]);E=Math.round(E*this.mScaleFactor[1])}}this.mTiles[I][B].style.position="absolute";this.mTiles[I][B].style.left=G+"px";this.mTiles[I][B].style.top=E+"px";C=this.mTiles[I][B]}}}return C}function ImagePanel_CalculateTileDimensions(B,E){var C=[this.DEFAULT_MAX_IMAGE_WIDTH,this.DEFAULT_MAX_IMAGE_HEIGHT];var A=[(C[0]*B),(C[1]*E)];var D=Static_ImagePanel_CalculateRatio(this.mBaseRatio,this.mLunaLevel);if((A[0]+C[0])>D[0]){C[0]=D[0]-A[0]}if((A[1]+C[1])>D[1]){C[1]=D[1]-A[1]}return C}function ImagePanel_Render(B,A,C){if(B){this.mContainer=B;this.init(A,C)}}function ImagePanel_Close(A){if((A==true)||(!this.mConfirmBeforeClose)||(confirm(this.CONFIRMATION_BEFORE_CLOSE_MESSAGE))){this.mManager.removeImagePanel(this);this.mContainer.removeChild(this.mPanel);this.mContainer.removeChild(this.mGlassPlate);if(this.mPostDestoryFunction){this.mPostDestoryFunction(this)}}}function ImagePanel_HideControls(A){if(this.mControl){this.mControl.hideControls()}}function ImagePanel_ShowControls(){if(this.mControl){this.mControl.showControls()}}function ImagePanel_SetControl(A){this.mControl=A}function ImagePanel_SetManager(A){this.mManager=A}function ImagePanel_SetIsCurrentImagePanel(A){this.mIsCurrentImagePanel=A;if(this.mIsCurrentImagePanel){this.mPanel.className=this.CLASSNAME+" "+this.CURRENT_IMAGE_PANEL_CLASSNAME}else{this.mPanel.className=this.CLASSNAME}}function ImagePanel_SetBaseRatio(B,A){this.mBaseRatio=new Array();this.mBaseRatio[0]=B;this.mBaseRatio[1]=A}function ImagePanel_SetToolTip(A){if(!A){A="[]"}this.mImageCover.title=A}function ImagePanel_SetConfirmBeforeClose(A){this.mConfirmBeforeClose=A}function ImagePanel_MoveTo(A,C){var B=Position.cumulativeOffset(this.mContainer);A=Math.max(A,B[0]);if((A+this.mPanel.getWidth())>(B[0]+this.mContainer.getWidth())){A=(B[0]+this.mContainer.getWidth())-this.mPanel.getWidth()}C=Math.max(C,B[1]);if((C+this.mPanel.getHeight())>(B[1]+this.mContainer.getHeight())){C=(B[1]+this.mContainer.getHeight())-this.mPanel.getHeight()}this.mPanel.style.left=A+"px";this.mPanel.style.top=C+"px";return true}function ImagePanel_PanTo(F,E){var A=this.getDimensions();var C=this.getCurrentImageSize();var G=$([(A[0]>C[0]),(A[1]>C[1])]);var H=this.getAdjustedOrigin();var B=this.getAdjustedDimensions();if(G[0]){F=(A[0]/2)}else{if((F==NaN)||(F<H[0])){F=H[0]}else{if(F>(H[0]+B[0])){F=(H[0]+B[0])}}}if(G[1]){E=(A[1]/2)}else{if((E==NaN)||(E<H[1])){E=H[1]}else{if(E>(H[1]+B[1])){E=(H[1]+B[1])}}}F=Math.round(F);E=Math.round(E);this.mCurrentViewPoint[0]=F;this.mCurrentViewPoint[1]=E;var I=this.getActualViewPoint();if(!G[0]){I[0]*=-1}if(!G[1]){I[1]*=-1}this.mBody.style.left=(I[0])+"px";this.mBody.style.top=(I[1])+"px";this.mImage.style.left=(I[0])+"px";this.mImage.style.top=(I[1])+"px";var D=this;if(this.mDelayTiles!=null){clearTimeout(this.mDelayTiles)}this.mDelayTiles=setTimeout(function(){D.mDelayTiles=null;D.updateTiles()},this.TILE_UPDATE_DELAY);if(this.mManager){this.mManager.imagePanelChanged(this)}return true}function ImagePanel_UpdateImageCover(){this.mImageCover.style.left=0+"px";this.mImageCover.style.top=0+"px";var A=this.getDimensions();this.mImageCover.style.width=A[0]+"px";this.mImageCover.style.height=A[1]+"px"}function ImagePanel_SetLunaLevel(A,G,D,F){if((A>=0)&&(A<=this.mLunaMaxLevel)){var C=Static_ImagePanel_CalculateRatio(this.mBaseRatio,A);if((C[0]>=this.MIN_SIZE)&&(C[1]>=this.MIN_SIZE)){if(G&&D){G=Static_ImagePanel_TranslatePoint(G,this.mLunaLevel,A,this.mBaseRatio)}else{if(!G){G=Static_ImagePanel_TranslatePoint(this.mCurrentViewPoint,this.mLunaLevel,A,this.mBaseRatio)}}if(F){this.mScaleFactor=F}else{this.mScaleFactor=null}this.mLunaLevel=A;if(this.mBody){this.constructBody();var B=this;if(this.mDelayTiles!=null){clearTimeout(this.mDelayTiles)}this.mDelayTiles=setTimeout(function(){B.mDelayTiles=null;B.updateTiles()},this.TILE_UPDATE_DELAY);this.panTo(G[0],G[1]);var E=this.getDimensions();this.resize(E[0],E[1]);this.updateImageCover();if(this.mManager){this.mManager.imagePanelChanged(this)}}}else{this.setLunaLevel(A-1,G,D)}}}function ImagePanel_Reset(){this.panTo(0,0);this.setLunaLevel(this.getDefaultLevel());this.maximizePanelToImage()}function ImagePanel_SetMaxLunaLevel(A){this.mLunaMaxLevel=A}function ImagePanel_SetSourceUrl(A){if(A){this.mLunaSourceUrl=A}}function ImagePanel_SetFullImageUrls(A){this.mFullImageUrls=A}function ImagePanel_SetThumbnailUrl(A){if(A){this.mThumbnailUrl=A}}function ImagePanel_SetIgnoreSizeConstraints(A){if(A==true){this.mIgnoreSizeConstraints=true}else{this.mIgnoreSizeConstraints=false}}function ImagePanel_GetActualViewPoint(){var E=$(new Array());var A=[];var C=this.getDimensions();var D=this.getCurrentImageSize();var B=$([(C[0]>D[0]),(C[1]>D[1])]);if(B[0]){A[0]=D[0]}else{A[0]=C[0]}if(B[1]){A[1]=D[1]}else{A[1]=C[1]}E[0]=Math.round(this.mCurrentViewPoint[0]-(A[0]/2));E[1]=Math.round(this.mCurrentViewPoint[1]-(A[1]/2));if((E[0]==NaN)){E[0]=0}if((E[1]==NaN)){E[1]=0}return E}function ImagePanel_GetCurrentViewPoint(){return this.mCurrentViewPoint}function ImagePanel_GetAdjustedOrigin(){var A=$(new Array());A[0]=(this.mPanel.getWidth()/2);A[1]=(this.mPanel.getHeight()/2);return A}function ImagePanel_GetAdjustedDimensions(){var B=$(new Array());var A=this.getCurrentImageSize();B[0]=A[0]-this.mPanel.getWidth();B[1]=A[1]-this.mPanel.getHeight();return B}function ImagePanel_GetLunaLevel(){return this.mLunaLevel}function ImagePanel_GetStackOrder(){return parseInt(this.mPanel.getStyle("zIndex"))}function ImagePanel_SetStackOrder(A){if((A>=0)||(A<0)){this.mPanel.style.zIndex=A}}function ImagePanel_GetScaleFactor(){return this.mScaleFactor}function ImagePanel_BoxZoomImage(E,D,O,M){var L=$([Math.abs(O-E),Math.abs(M-D)]);var C=0;var A=(L[0]+L[1])/2;var F=this.getDimensions();var J=(F[0]>F[1])?0:1;var H=Static_ImagePanel_CalculateRatio(this.mBaseRatio,this.mLunaLevel);var N=A/H[J];var G=Static_ImagePanel_CalculateRatio(this.mBaseRatio,C);while((C<=this.mLunaMaxLevel)&&((G[J]*N)>F[J])){C++;G=Static_ImagePanel_CalculateRatio(this.mBaseRatio,C)}var B=Position.cumulativeOffset(this.mPanel);var K=this.getActualViewPoint();var I=$(new Array());I[0]=Math.round(K[0]+(Math.min(E,O)-B[0])+(L[0]/2));I[1]=Math.round(K[1]+(Math.min(D,M)-B[1])+(L[1]/2));this.setLunaLevel(C,I,true)}function ImagePanel_MaximizePanelToImage(){if(this.mBody){if(!this.mLunaLevel){this.mLunaLevel=this.getDefaultLevel()}var A=this.getCurrentImageSize();this.resize(A[0],A[1],null,false)}}function ImagePanel_MaximizeImageToPanel(C){if(this.mBody){var A=this.getDimensions();var G=A;var D=null;var B=0;B=this.getLunaLevel();G=Static_ImagePanel_CalculateRatio(this.mBaseRatio,B);while((B>=0)&&!((G[0]>=A[0])||(G[1]>=A[1]))){B--;G=Static_ImagePanel_CalculateRatio(this.mBaseRatio,B)}G=Static_ImagePanel_CalculateRatio(this.mBaseRatio,B);D=Static_ImagePanel_CalculateRatio(this.mBaseRatio,B);if(C!=false){var I=(D[0]>D[1])?0:1;var E=(I==0)?1:0;var F=D[E]/D[I];D[I]=A[I];D[E]=Math.round(D[I]*F);if(D[E]>A[E]){F=D[I]/D[E];D[E]=A[E];D[I]=Math.round(D[E]*F)}A=D;this.resize(A[0],A[1])}var H=$([(A[0]/G[0]),(A[1]/G[1])]);this.setLunaLevel(B,null,null,H)}}function ImagePanel_MaximizePanelToContainer(A){if(this.mContainer){var B=[this.mContainer.getWidth(),this.mContainer.getHeight()];this.resize(B[0],B[1]);this.maximizeImageToPanel(A);this.centerOnContainer()}}function ImagePanel_CenterOnContainer(){if(this.mContainer){var D=Position.cumulativeOffset(this.mContainer);var C=[this.mContainer.getWidth(),this.mContainer.getHeight()];var B=this.getDimensions();var A=Math.round((C[0]/2)-(B[0]/2))+D[0];var E=Math.round((C[1]/2)-(B[1]/2))+D[1];this.moveTo(A,E)}}function ImagePanel_Resize(F,A,D){var G=true;if(F&&A){var E=this.getDimensions();var H=[Math.abs(parseInt(this.mBody.style.left)),Math.abs(parseInt(this.mBody.style.top))];if((D!=false)&&(this.mIgnoreSizeConstraints!=true)){F=Math.min(F,E[0]);A=Math.min(A,E[1])}F=Math.min(F,(this.mContainer.getWidth()-20));A=Math.min(A,(this.mContainer.getHeight()-20));F=Math.max(F,this.MIN_SIZE);A=Math.max(A,this.MIN_SIZE);var C=parseInt(this.mPanel.getStyle("borderLeftWidth"))+parseInt(this.mPanel.getStyle("borderRightWidth"));var B=parseInt(this.mPanel.getStyle("borderBottomWidth"))+parseInt(this.mPanel.getStyle("borderTopWidth"));this.mCurrentViewPoint[0]+=((F+C-this.mPanel.getWidth())/2);this.mCurrentViewPoint[1]+=((A+B-this.mPanel.getHeight())/2);this.mPanel.style.width=F+"px";this.mPanel.style.height=A+"px";this.updateImageCover();if((F>(E[0]-H[0]))||(A>(E[1]-H[1]))){this.panTo(this.mCurrentViewPoint[0],this.mCurrentViewPoint[1])}if(this.mManager){this.mManager.imagePanelChanged(this)}this.mMaximizeOnLoad=false}return G}function ImagePanel_BringToFront(){if(this.mManager){this.mManager.setCurrentImagePanel(this)}}function ImagePanel_UpdateCursor(A){if(this.equalsCurrentAction(this.mControl.ACTION_PAN)){if(A==true){if(!this.mGlassPlate.hasClassName(this.PAN_ACTIVE_CURSOR_CLASSNAME)){this.setCurrentImagePanel(this.mIsCurrentImagePanel);this.mPanel.className+=" "+this.PAN_ACTIVE_CURSOR_CLASSNAME;this.mGlassPlate.className=this.PAN_ACTIVE_CURSOR_CLASSNAME;this.mBody.className=this.PAN_ACTIVE_CURSOR_CLASSNAME}}else{this.setCurrentImagePanel(this.mIsCurrentImagePanel);this.mPanel.className+=" "+this.PAN_CURSOR_CLASSNAME;this.mGlassPlate.className=this.PAN_CURSOR_CLASSNAME;this.mBody.className=this.PAN_CURSOR_CLASSNAME}}else{if(this.equalsCurrentAction(this.mControl.ACTION_MOVE)){if(A==true){if(!this.mGlassPlate.hasClassName(this.MOVE_ACTIVE_CURSOR_CLASSNAME)){this.setCurrentImagePanel(this.mIsCurrentImagePanel);this.mPanel.className+=" "+this.MOVE_ACTIVE_CURSOR_CLASSNAME;this.mGlassPlate.className=this.MOVE_ACTIVE_CURSOR_CLASSNAME;this.mBody.className=this.MOVE_ACTIVE_CURSOR_CLASSNAME}}else{this.setCurrentImagePanel(this.mIsCurrentImagePanel);this.mPanel.className+=" "+this.MOVE_CURSOR_CLASSNAME;this.mGlassPlate.className=this.MOVE_CURSOR_CLASSNAME;this.mBody.className=this.MOVE_CURSOR_CLASSNAME}}}}function ImagePanel_CurrentActionHasChanged(A){this.updateCursor(false)}function ImagePanel_EndCurrentAction(A){var B=new Object();B.srcElement=new Object();B.srcElement.mediaPanel=this;if(this.mActionInProgress==true){Static_ImagePanel_EndMove(B,A)}}function Static_ImagePanel_EndMove(E,A){var C=jshGetSourceElement(E);if(C.mediaPanel){var B=C.mediaPanel;if(B.mActionInProgress==true){B.mActionInProgress=null;B.mCurrentActionInProgress=null;if(B.mControl){B.mControl.setAction(null)}B.updateCursor(false);B.mGlassPlate.hide();B.mGlassPlate.onmouseup=null;B.mGlassPlate.onmousemove=null;B.mGlassPlate.onmousedown=null;B.mGlassPlate.onmouseout=null;B.mContainer.onmouseup=null;B.mContainer.onmousemove=null;B.mContainer.onmousedown=null;B.mContainer.mediaPanel=null;B.mContainer.onmouseout=null;if(A==true){if(B.equalsCurrentAction(B.mControl.ACTION_MOVE)){B.moveTo(B.mOriginalMoveStartingX,B.mOriginalMoveStartingY)}else{if(B.equalsCurrentAction(B.mControl.ACTION_PAN)){B.panTo(B.mOriginalPanStartingX,B.mOriginalPanStartingY)}else{if(B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_LEFT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_LEFT)){}}}}else{if(B.equalsCurrentAction(B.mControl.ACTION_ZOOM_BOX)){B.boxZoomImage(B.mOriginalStartingX,B.mOriginalStartingY,B.mMoveStartingX,B.mMoveStartingY)}else{if(B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_LEFT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_LEFT)){if(B.mPostResizeFunction){var D=B.getDimensions();if(!((B.mResizeStartingWidth==D[0])&&(B.mResizeStartingHeight==D[1]))){B.mPostResizeFunction(B,D)}}}}}B.mMoveStartingX=null;B.mMoveStartingY=null;B.mResizeStartingWidth=null;B.mResizeStartingHeight=null;B.mOriginalMoveStartingX=null;B.mOriginalMoveStartingY=null;B.mOriginalPanStartingX=null;B.mOriginalPanStartingY=null;B.mOriginalStartingX=null;B.mOriginalStartingY=null;B.mResizeStartingWidth=null;B.mResizeStartingHeight=null;B.mMoveStartingX=null;B.mMoveStartingY=null;B.mZoomBox.hide()}}}function Static_ImagePanel_StartMove(E){E=jshGetEvent(E);var C=jshGetSourceElement(E);if(C.mediaPanel){var B=C.mediaPanel;if(B.mControl){if(B.equalsCurrentAction(B.mControl.ACTION_MOVE)||B.equalsCurrentAction(B.mControl.ACTION_PAN)||B.equalsCurrentAction(B.mControl.ACTION_ZOOM_BOX)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_LEFT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_TOP_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_RIGHT)||B.equalsCurrentAction(B.mControl.ACTION_RESIZE_BOTTOM_LEFT)){if(!(B.mActionInProgress==true)){B.bringToFront();B.updateCursor(true);B.mActionInProgress=true;B.mCurrentActionInProgress=B.mControl.getCurrentAction();var F=Position.page(B.mPanel);B.mOriginalMoveStartingX=F[0];B.mOriginalMoveStartingY=F[1];var A=B.getCurrentViewPoint();B.mOriginalPanStartingX=A[0];B.mOriginalPanStartingY=A[1];var D=B.getDimensions();B.mResizeStartingWidth=D[0];B.mResizeStartingHeight=D[1];B.mMoveStartingX=Event.pointerX(E);B.mMoveStartingY=Event.pointerY(E);B.mOriginalStartingX=Event.pointerX(E);B.mOriginalStartingY=Event.pointerY(E);B.mGlassPlate.show();B.mGlassPlate.mediaPanel=B;B.mGlassPlate.onmousemove=Static_ImagePanel_Move;B.mGlassPlate.onmouseup=Static_ImagePanel_EndMove;B.mGlassPlate.onmouseout=Static_ImagePanel_EndMove;B.mContainer.mediaPanel=B;B.mContainer.onmousemove=Static_ImagePanel_Move;B.mContainer.onmouseup=Static_ImagePanel_EndMove}}}}}function Static_ImagePanel_Move(G){G=jshGetEvent(G);var C=jshGetSourceElement(G);if(C.mediaPanel){var M=C.mediaPanel;if(M.mActionInProgress==true){if(M.mCurrentActionInProgress&&M.mCurrentActionInProgress!=null){M.mControl.setAction(M.mCurrentActionInProgress)}var J=Event.pointerX(G);var I=Event.pointerY(G);var D=$([(J-M.mMoveStartingX),(I-M.mMoveStartingY)]);M.mMoveStartingX=J;M.mMoveStartingY=I;M.updateCursor(true);if(M.equalsCurrentAction(M.mControl.ACTION_MOVE)){var E=Position.cumulativeOffset(M.mPanel);var K=E[0]+D[0];var H=E[1]+D[1];M.moveTo(K,H)}else{if(M.equalsCurrentAction(M.mControl.ACTION_PAN)){var K=M.mCurrentViewPoint[0]-D[0];var H=M.mCurrentViewPoint[1]-D[1];M.panTo(K,H)}else{if(M.equalsCurrentAction(M.mControl.ACTION_ZOOM_BOX)){var E=Position.cumulativeOffset(M.mPanel);var K=Math.min(M.mOriginalStartingX,J)-E[0];var H=Math.min(M.mOriginalStartingY,I)-E[1];var B=Math.abs(J-M.mOriginalStartingX);var L=Math.abs(I-M.mOriginalStartingY);M.mZoomBox.style.left=(K)+"px";M.mZoomBox.style.top=(H)+"px";M.mZoomBox.style.width=B+"px";M.mZoomBox.style.height=L+"px";M.mZoomBox.style.display="block"}else{if(M.equalsCurrentAction(M.mControl.ACTION_RESIZE_TOP_LEFT)){var F=M.getPosition();var A=M.getDimensions();M.resize((A[0]-D[0]),(A[1]-D[1]));M.moveTo((F[0]+D[0]),(F[1]+D[1]))}else{if(M.equalsCurrentAction(M.mControl.ACTION_RESIZE_TOP_RIGHT)){var F=M.getPosition();var A=M.getDimensions();M.resize((A[0]+D[0]),(A[1]-D[1]));M.moveTo(F[0],(F[1]+D[1]))}else{if(M.equalsCurrentAction(M.mControl.ACTION_RESIZE_BOTTOM_RIGHT)){var A=M.getDimensions();M.resize((A[0]+D[0]),(A[1]+D[1]))}else{if(M.equalsCurrentAction(M.mControl.ACTION_RESIZE_BOTTOM_LEFT)){var F=M.getPosition();var A=M.getDimensions();M.resize((A[0]-D[0]),(A[1]+D[1]));M.moveTo((F[0]+D[0]),F[1])}}}}}}}}}}function Static_ImagePanel_EndZoom(H,B){H=jshGetEvent(H);var C=jshGetSourceElement(H);if(C.mediaPanel){var M=C.mediaPanel;if(M.mZoomInProgress==true){M.mZoomBox.style.display="none";if(!(B==true)){var A=((M.mMoveStartingX==Event.pointerX(H))&&(M.mMoveStartingY==Event.pointerY(H)));if(A){var F=0;if(M.equalsCurrentAction(M.mControl.ACTION_ZOOM_IN)){F=(M.mLunaLevel-1)}else{if(M.equalsCurrentAction(M.mControl.ACTION_ZOOM_OUT)){F=(M.mLunaLevel+1)}}var K=$(new Array());var E=M.getActualViewPoint();K[0]=E[0]+Event.pointerX(H);K[1]=E[1]+Event.pointerY(H);M.setLunaLevel(F,K,true)}else{var E=Position.page(M.mPanel);var L=M.getActualViewPoint();var G=L[0]+(M.mMoveStartingX-E[0]);var D=L[1]+(M.mMoveStartingY-E[1]);var J=L[0]+Event.pointerX(H);var I=L[1]+Event.pointerY(H);M.boxZoom(G,D,J,I)}}M.mZoomInProgress=null;M.mMoveStartingX=null;M.mMoveStartingY=null;M.mContainer.mediaPanel=null;M.mContainer.onmousemove=null;M.mContainer.onmousedown=null;M.mBody.onmousemove=null;M.mZoomBox.onmousemove=null}}}function Static_ImagePanel_StartZoom(C){C=jshGetEvent(C);var B=jshGetSourceElement(C);if(B.mediaPanel){var A=B.mediaPanel;if(!(A.mResizeInProgress==true)&&!(A.mMoveInProgress==true)){A.bringToFront();A.mZoomInProgress=true;A.mMoveStartingX=Event.pointerX(C);A.mMoveStartingY=Event.pointerY(C);A.mContainer.mediaPanel=A;A.mBody.onmousemove=Static_ImagePanel_Zoom;A.mZoomBox.onmousemove=Static_ImagePanel_Zoom;A.mContainer.onmouseup=Static_ImagePanel_EndZoom;var D=Position.page(A.mPanel);A.mZoomBox.style.left=(A.mMoveStartingX-D[0])+"px";A.mZoomBox.style.top=(A.mMoveStartingY-D[1])+"px"}}}function Static_ImagePanel_Zoom(E){E=jshGetEvent(E);var C=jshGetSourceElement(E);if(C.mediaPanel){var B=C.mediaPanel;var F=Position.page(B.mPanel);var D=Math.min(B.mMoveStartingX,Event.pointerX(E));var A=Math.min(B.mMoveStartingY,Event.pointerY(E));B.mZoomBox.style.left=(D-F[0])+"px";B.mZoomBox.style.top=(A-F[1])+"px";B.mZoomBox.style.width=Math.abs(Event.pointerX(E)-B.mMoveStartingX)+"px";B.mZoomBox.style.height=Math.abs(Event.pointerY(E)-B.mMoveStartingY)+"px";B.mZoomBox.style.display="block"}}function ImagePanel_GetPosition(){var A=new Array();A[0]=parseInt(this.mPanel.getStyle("left"));A[1]=parseInt(this.mPanel.getStyle("top"));return A}function ImagePanel_GetDimensions(){var C=new Array();var B=parseInt(this.mPanel.getStyle("borderLeftWidth"))+parseInt(this.mPanel.getStyle("borderRightWidth"));var A=parseInt(this.mPanel.getStyle("borderBottomWidth"))+parseInt(this.mPanel.getStyle("borderTopWidth"));C[0]=this.mPanel.getWidth()-B;C[1]=this.mPanel.getHeight()-A;return C}function ImagePanel_GetCurrentImageSize(){var A=Static_ImagePanel_CalculateRatio(this.mBaseRatio,this.mLunaLevel);if(this.mScaleFactor){if(this.mScaleFactor[0]){A[0]*=this.mScaleFactor[0]}if(this.mScaleFactor[1]){A[1]*=this.mScaleFactor[1]}}return A}function ImagePanel_IsImageFullyVisible(B){var A=this.getDimensions();var C=this.getCurrentImageSize();if(B==true){if(A[0]>=C[0]||A[1]>=C[1]){return true}}else{if(A[0]>=C[0]&&A[1]>=C[1]){return true}}return false}function ImagePanel_IsPartialImage(B){var A=this.getDimensions();var C=this.getCurrentImageSize();if(B==true){if(A[0]<C[0]||A[1]<C[1]){return true}}else{if(A[0]<C[0]&&A[1]<C[1]){return true}}return false}function ImagePanel_CanFetchEntireImage(){return false}function ImagePanel_EqualsCurrentAction(A){if(this.mControl.getCurrentAction()==A){return true}return false}function Static_ImagePanel_MouseIn(D){D=jshGetEvent(D);var C=jshGetSourceElement(D);if(!C.mediaPanel){C=C.up()}if(C.mediaPanel){var B=C.mediaPanel;if((B.mActionInProgress!=true)){if(B.mControl){B.mLastIdleTime=new Date();var A=B.mControl;setTimeout(function(){A.hideIfIdle()},A.IDLE_TIME)}B.showControls()}}}function Static_ImagePanel_MouseOut(C){var C=jshGetEvent(C);var B=jshGetSourceElement(C);if(B.mediaPanel){var A=B.mediaPanel;if((A.mActionInProgress!=true)){A.hideControls()}}}function Static_ImagePanel_GetLunaImageUrl(F,I,H,J,E,B){var G="";if(F){var D=0;var C=0;var A=F.toLowerCase();if(A.indexOf(".sid")>=0){D=(I+(J/2))*(1<<B);C=(H+(E/2))*(1<<B)}else{if(A.indexOf(".jp2")>=0){D=(I)*(1<<B);C=(H)*(1<<B)}else{return""}}G=F+"&x="+D+"&y="+C+"&width="+J+"&height="+E+"&level="+B}return G}function Static_ImagePanel_CalculateRatio(A,D){var B=$(new Array());if((D>=0)&&(A)){var C=Math.pow(2,D);B[0]=Math.floor(A[0]/C);B[1]=Math.floor(A[1]/C)}return B}function Static_ImagePanel_GetExternalMediaBaseRatio(B,A){var C=[];if(B&&A){C=[(B*Math.pow(Static_ImagePanel_EXTERNAL_ADDITIONAL_LEVELS,Static_ImagePanel_EXTERNAL_MEDIA_STARTING_LEVEL)),(A*Math.pow(Static_ImagePanel_EXTERNAL_ADDITIONAL_LEVELS,Static_ImagePanel_EXTERNAL_MEDIA_STARTING_LEVEL))]}return C}function Static_ImagePanel_TranslatePoint(C,F,B,D){var G=$(new Array());if(C&&D){var A=Static_ImagePanel_CalculateRatio(D,F);var E=Static_ImagePanel_CalculateRatio(D,B);G[0]=Math.round(E[0]*(C[0]/A[0]));G[1]=Math.round(E[1]*(C[1]/A[1]))}return G}function Static_ImagePanel_GlassPlate_Move(C){var C=jshGetEvent(C);var B=jshGetSourceElement(C);if(B.mediaPanel){var A=B.mediaPanel;A.mLastIdleTime=null}}function Static_ImagePanel_GlassPlate_MouseUp(D){var D=jshGetEvent(D);var C=jshGetSourceElement(D);if(C.mediaPanel){var B=C.mediaPanel;B.mLastIdleTime=new Date();var A=B.mControl;setTimeout(function(){A.hideIfIdle()},A.IDLE_TIME)}};