function ThumbnailPanner(){this.mContainer=null;this.mPanel=null;this.mBody=null;this.mPanBox=null;this.mGlassPlate=null;this.mImagePanel=null;this.mIsHidden=false;this.mAnimate=true;this.mCurrentAction=null;this.mActionInProgress=null;this.ACTION_PAN="ACTION_PAN";this.ACTION_MOVE="ACTION_MOVE";this.ACTION_DEFAULT=this.ACTION_MOVE;this.MARGIN=14;this.DEFAULT_SIZE=[120,120];this.CLASSNAME="thumbnailPanner";this.PAN_BOX_CLASSNAME="panBox";this.THUMBNAIL_INSTRCUTIONS="Drag from the edges to move around!";this.PAN_BOX_INSTRCUTIONS="Drag around to pan!";this.init=function(){this.mPanel=$(document.createElement("div"));this.mBody=$(document.createElement("img"));this.mPanBox=$(document.createElement("div"));this.mGlassPlate=$(document.createElement("div"));this.mPanel.appendChild(this.mBody);this.mContainer.appendChild(this.mPanBox);this.mContainer.appendChild(this.mPanel);this.mContainer.appendChild(this.mGlassPlate);this.mPanel.addClassName(this.CLASSNAME);this.mPanBox.addClassName(this.PAN_BOX_CLASSNAME);this.mPanel.title=this.THUMBNAIL_INSTRCUTIONS;this.mPanBox.title=this.PAN_BOX_INSTRCUTIONS;this.mPanel.thumbnailPanner=this;this.mBody.thumbnailPanner=this;this.mPanBox.thumbnailPanner=this;this.mGlassPlate.thumbnailPanner=this;var D=this;this.mPanel.onmousedown=Static_ThumbnailPanner_StartMove;this.mPanBox.onmousedown=Static_ThumbnailPanner_StartMove;this.mPanBox.onmouseover=function(){D.setCurrentAction(D.ACTION_PAN)};this.mPanBox.onmouseout=function(){D.setCurrentAction(null)};this.mPanel.style.position="absolute";this.mPanel.style.top=0+"px";this.mPanel.style.left=0+"px";this.mPanel.style.overflow="hidden";this.mPanel.style.zIndex=8888;this.mPanel.style.cursor="move";this.mBody.style.position="absolute";this.mBody.style.top=this.MARGIN+"px";this.mBody.style.left=this.MARGIN+"px";this.mPanBox.style.position="absolute";this.mPanBox.style.top=0+"px";this.mPanBox.style.left=0+"px";this.mPanBox.style.zIndex=8999;jshSetOpacity(this.mPanBox,0.4);var B=10;var A=jshGetWindowSize();var C=[0,0];this.mGlassPlate.hide();this.mGlassPlate.style.position="absolute";this.mGlassPlate.style.left=(C[0])+"px";this.mGlassPlate.style.top=(C[1])+"px";this.mGlassPlate.style.width=(A[0])+"px";this.mGlassPlate.style.height=(A[1])+"px";this.mGlassPlate.style.zIndex=99999;this.mGlassPlate.style.backgroundColor="black";jshSetOpacity(this.mGlassPlate,0.02);this.resize();this.moveToDefaultPosition();this.updatePanBox();this.mPanel.hide();this.mPanBox.hide();this.hide();this.setCurrentAction(this.ACTION_DEFAULT)};this.render=function(A){if(A){this.mContainer=A;this.init()}};this.update=function(){if(this.mImagePanel&&this.mImagePanel.mediaInfo){if(this.mImagePanel.mediaInfo.urlSize0!=this.mBody.src){var A=this;this.mBody.onload=function(){A.resize();A.updatePanBox()};this.mBody.src=this.mImagePanel.mediaInfo.urlSize0}this.updatePanBox()}else{this.mBody.src=null;this.mBody.hide();this.mPanBox.hide();this.resize()}};this.updatePanBox=function(K){if((K==true)||(this.mIsHidden==false)){var B=this.DEFAULT_SIZE[0];var N=this.DEFAULT_SIZE[1];var M=null;var L=null;if(this.mImagePanel&&this.mBody.width&&this.mBody.height){this.resize();var O=this.mImagePanel.getCurrentImageSize();var H=this.mImagePanel.getDimensions();var I=[(H[0]/O[0]),(H[1]/O[1])];var C=[Math.round(I[0]*this.mBody.width),Math.round(I[1]*this.mBody.height)];var J=this.mImagePanel.getActualViewPoint();I=[(J[0]/O[0]),(J[1]/O[1])];var D=[Math.round(I[0]*this.mBody.width),Math.round(I[1]*this.mBody.height)];C[0]=Math.min(this.mBody.width,C[0]);C[1]=Math.min(this.mBody.height,C[1]);B=C[0];N=C[1];var A=parseInt(this.mPanBox.getStyle("borderLeftWidth"));var G=parseInt(this.mPanBox.getStyle("borderTopWidth"));var E=[this.MARGIN,this.MARGIN];M=E[0]+A;if(B<this.mBody.width){M+=D[0]}L=E[1]+G;if(N<this.mBody.height){L+=D[1]}D[0]*=-1;D[1]*=-1}else{}this.mPanBox.style.width=B+"px";this.mPanBox.style.height=N+"px";if((M!=null)&&(M>0)&&(L!=null)&&(L>0)){var F=Position.cumulativeOffset(this.mPanel);M+=F[0];L+=F[1];this.mPanBox.style.left=M+"px";this.mPanBox.style.top=L+"px";if(this.mPanel.visible()){this.mPanBox.show()}}}};this.setImagePanel=function(A){this.mImagePanel=A;this.update()};this.resize=function(){var B=this.DEFAULT_SIZE[0];var A=this.DEFAULT_SIZE[1];if(this.mBody.src){this.mBody.show();if(this.mBody.width>0){B=this.mBody.width}if(this.mBody.height>0){A=this.mBody.height}}if(B&&A){this.mPanel.style.width=(B+(this.MARGIN*2))+"px";this.mPanel.style.height=(A+(this.MARGIN*2))+"px"}return true};this.moveToDefaultPosition=function(){var B=jshGetWindowSize();var A=[];A[0]=(B[0]-this.DEFAULT_SIZE[0]-40);A[1]=(B[1]-this.DEFAULT_SIZE[1]-10);this.moveTo(A[0],A[1])};this.moveTo=function(A,D){var C=Position.cumulativeOffset(this.mContainer);var B=jshGetWindowSize();A=Math.max(A,C[0]);if((A+this.mPanel.getWidth())>(B[0])){A=(B[0])-this.mPanel.getWidth()}D=Math.max(D,C[1]);if((D+this.mPanel.getHeight())>(B[1])){D=(B[1])-this.mPanel.getHeight()}this.mPanel.style.left=A+"px";this.mPanel.style.top=D+"px";this.updatePanBox();return true};this.getDimensions=function(){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};this.hide=function(){this.mIsHidden=true;this.mPanBox.hide();if(this.mAnimate==true){var B=this;var A=function(){B.mPanel.hide()};ElementEffects.fadeElement(this.mPanel,0,55,0.25,A)}else{this.mPanel.hide()}};this.show=function(){this.mIsHidden=false;this.mPanel.show();this.updatePanBox(true);if(this.mAnimate==true){ElementEffects.fadeElement(this.mPanel,1,55,0.25,null)}};this.toggle=function(){if(this.mIsHidden==true){this.show()}else{this.hide()}};this.isHidden=function(){return this.mIsHidden};this.equalsCurrentAction=function(A){if(A){if(this.mCurrentAction==A){return true}else{if((!this.mCurrentAction)&&(A==this.ACTION_DEFAULT)){return true}}}return false};this.setCurrentAction=function(A){if(this.mActionInProgress!=true){if(!A){A=this.ACTION_DEFAULT}this.mCurrentAction=A}};this.setAnimate=function(A){this.mAnimate=A}}function Static_ThumbnailPanner_EndMove(D,A){var B=jshGetSourceElement(D);if(B.thumbnailPanner){var C=B.thumbnailPanner;if(C.mActionInProgress==true){C.mActionInProgress=null;C.mGlassPlate.hide();C.mGlassPlate.onmouseup=null;C.mGlassPlate.onmousemove=null;C.mGlassPlate.onmousedown=null;C.mGlassPlate.onmouseout=null;C.mContainer.thumbnailPanner=null;C.mContainer.onmousemove=null;C.mContainer.onmouseup=null;if(A==true){}else{}C.setCurrentAction(null);C.mMoveStartingX=null;C.mMoveStartingY=null;C.mResizeStartingWidth=null;C.mResizeStartingHeight=null;C.mOriginalMoveStartingX=null;C.mOriginalMoveStartingY=null;C.mOriginalPanStartingX=null;C.mOriginalPanStartingY=null;C.mOriginalStartingX=null;C.mOriginalStartingY=null;C.mResizeStartingWidth=null;C.mResizeStartingHeight=null;C.mMoveStartingX=null;C.mMoveStartingY=null}}}function Static_ThumbnailPanner_StartMove(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A.thumbnailPanner){var B=A.thumbnailPanner;if(B.equalsCurrentAction(B.ACTION_MOVE)||B.equalsCurrentAction(B.ACTION_PAN)){if(!(B.mActionInProgress==true)){B.mActionInProgress=true;var D=Position.page(B.mPanel);B.mOriginalMoveStartingX=D[0];B.mOriginalMoveStartingY=D[1];B.mMoveStartingX=Event.pointerX(C);B.mMoveStartingY=Event.pointerY(C);B.mOriginalStartingX=Event.pointerX(C);B.mOriginalStartingY=Event.pointerY(C);B.mGlassPlate.show();B.mGlassPlate.thumbnailPanner=B;B.mGlassPlate.onmousemove=Static_ThumbnailPanner_Move;B.mGlassPlate.onmouseup=Static_ThumbnailPanner_EndMove;B.mGlassPlate.onmouseout=Static_ThumbnailPanner_EndMove;B.mContainer.thumbnailPanner=B;B.mContainer.onmousemove=Static_ThumbnailPanner_Move;B.mContainer.onmouseup=Static_ThumbnailPanner_EndMove}}}}function Static_ThumbnailPanner_Move(F){F=jshGetEvent(F);var B=jshGetSourceElement(F);if(B.thumbnailPanner){var A=B.thumbnailPanner;if(A.mActionInProgress==true){var J=Event.pointerX(F);var I=Event.pointerY(F);var C=$([(J-A.mMoveStartingX),(I-A.mMoveStartingY)]);A.mMoveStartingX=J;A.mMoveStartingY=I;if(A.equalsCurrentAction(A.ACTION_MOVE)){var E=Position.cumulativeOffset(A.mPanel);var K=E[0]+C[0];var H=E[1]+C[1];A.moveTo(K,H)}else{if(A.equalsCurrentAction(A.ACTION_PAN)){var L=A.mImagePanel.getCurrentImageSize();var G=[(L[0]/A.mBody.width),(L[1]/A.mBody.height)];C[0]=Math.round(C[0]*G[0]);C[1]=Math.round(C[1]*G[1]);var D=A.mImagePanel.getCurrentViewPoint();A.mImagePanel.panTo((C[0]+D[0]),(C[1]+D[1]))}}}}};