function ImagePanelControls(A,B){this.mContainer=null;this.mControls=null;this.mButtonContainer=null;this.mGrip=null;this.mMoveButton=null;this.mPanButton=null;this.mZoomInButton=null;this.mZoomOutButton=null;this.mResetButton=null;this.mTogglePositionButton=null;this.mHelpButton=null;this.mShowGrip=false;this.mPosition=null;this.mOriginalSize=null;this.mCurrentAction=null;this.mNotifyOfActionChange=A;this.mNotifyOfCancelAction=B;this.CLASSNAME="controls";this.CLASSNAME_ACTIVE="active";this.GRIP_CLASSNAME="grip";this.POSITION_TOP="top";this.POSITION_RIGHT="right";this.ACTION_MOVE="ACTION_MOVE";this.ACTION_PAN="ACTION_PAN";this.ACTION_ZOOM_IN="ACTION_ZOOM_IN";this.ACTION_ZOOM_OUT="ACTION_ZOOM_OUT";this.ACTION_RESET="ACTION_RESET";this.ACTION_TOGGLE_POSITION="ACTION_TOGGLE_POSITION";this.ACTION_HELP="ACTION_HELP";this.ACTION_INSTRUCTION_MOVE="Move Tool (m)";this.ACTION_INSTRUCTION_PAN="Pan Tool (p)";this.ACTION_INSTRUCTION_ZOOM_IN="Zoom-in Tool (+)";this.ACTION_INSTRUCTION_ZOOM_OUT="Zoom-out Tool (-)";this.ACTION_INSTRUCTION_RESET="Reset Image Tool (r)";this.ACTION_INSTRUCTION_TOGGLE="Toggle Controls Position Tool (t)";this.ACTION_INSTRUCTION_HELP="Help (h)";this.init=ImagePanelControls_Init;this.render=ImagePanelControls_Render;this.hideControls=ImagePanelControls_HideControls;this.showControls=ImagePanelControls_ShowControls;this.isHidden=ImagePanelControls_IsHidden;this.setCurrentAction=ImagePanelControls_SetCurrentAction;this.getCurrentAction=ImagePanelControls_GetCurrentAction;this.reposition=ImagePanelControls_Reposition;this.positionGrip=ImagePanelControls_PositionGrip}function ImagePanelControls_Init(){this.mControls=document.createElement("div");this.mButtonContainer=document.createElement("div");this.mGrip=document.createElement("div");this.mMoveButton=document.createElement("a");this.mPanButton=document.createElement("a");this.mHideButton=document.createElement("a");this.mZoomOutButton=document.createElement("a");this.mZoomInButton=document.createElement("a");this.mResetButton=document.createElement("a");this.mTogglePositionButton=document.createElement("a");this.mHelpButton=document.createElement("a");this.mButtonContainer.appendChild(this.mMoveButton);this.mButtonContainer.appendChild(this.mPanButton);this.mButtonContainer.appendChild(this.mZoomOutButton);this.mButtonContainer.appendChild(this.mZoomInButton);this.mButtonContainer.appendChild(this.mResetButton);this.mButtonContainer.appendChild(this.mTogglePositionButton);this.mButtonContainer.appendChild(this.mHelpButton);this.mControls.appendChild(this.mButtonContainer);this.mControls.appendChild(this.mGrip);this.mContainer=$(this.mContainer);this.mGrip=$(this.mGrip);this.mHideButton=$(this.mHideButton);this.mMoveButton=$(this.mMoveButton);this.mPanButton=$(this.mPanButton);this.mZoomOutButton=$(this.mZoomOutButton);this.mZoomInButton=$(this.mZoomInButton);this.mResetButton=$(this.mResetButton);this.mTogglePositionButton=$(this.mTogglePositionButton);this.mHelpButton=$(this.mHelpButton);this.mGrip.imagePanelControls=this;this.mHideButton.imagePanelControls=this;this.mMoveButton.imagePanelControls=this;this.mPanButton.imagePanelControls=this;this.mZoomOutButton.imagePanelControls=this;this.mZoomInButton.imagePanelControls=this;this.mResetButton.imagePanelControls=this;this.mTogglePositionButton.imagePanelControls=this;this.mHelpButton.imagePanelControls=this;this.mMoveButton.actionName=this.ACTION_MOVE;this.mMoveButton.href="javascript:var move";this.mMoveButton.title=this.ACTION_INSTRUCTION_MOVE;this.mPanButton.actionName=this.ACTION_PAN;this.mPanButton.href="javascript:var Pan";this.mPanButton.title=this.ACTION_INSTRUCTION_PAN;this.mZoomOutButton.href="javascript:var ZoomOut";this.mZoomOutButton.actionName=this.ACTION_ZOOM_OUT;this.mZoomOutButton.title=this.ACTION_INSTRUCTION_ZOOM_OUT;this.mZoomInButton.href="javascript:var ZoomIn";this.mZoomInButton.actionName=this.ACTION_ZOOM_IN;this.mZoomInButton.title=this.ACTION_INSTRUCTION_ZOOM_IN;this.mResetButton.href="javascript:var Reset";this.mResetButton.actionName=this.ACTION_RESET;this.mResetButton.title=this.ACTION_INSTRUCTION_RESET;this.mTogglePositionButton.href="javascript:var TogglePosition";this.mTogglePositionButton.actionName=this.ACTION_TOGGLE_POSITION;this.mTogglePositionButton.title=this.ACTION_INSTRUCTION_TOGGLE;this.mHelpButton.href="javascript:var Help";this.mHelpButton.actionName=this.ACTION_HELP;this.mHelpButton.title=this.ACTION_INSTRUCTION_HELP;this.mMoveButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mPanButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mZoomOutButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mZoomInButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mResetButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mTogglePositionButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mHelpButton.onclick=Static_ImagePanelControls_ButtonPressed;this.mGrip.onclick=Static_ImagePanelControls_ToggleDisplay;this.mMapActionNameToButton={ACTION_PAN:this.mPanButton,ACTION_MOVE:this.mMoveButton,ACTION_ZOOM_OUT:this.mZoomOutButton,ACTION_ZOOM_IN:this.mZoomInButton,ACTION_RESET:this.mResetButton,ACTION_HELP:this.mHelpButton};$(this.mControls).addClassName(this.CLASSNAME);this.mGrip.addClassName(this.GRIP_CLASSNAME);this.mMoveButton.addClassName("move");this.mPanButton.addClassName("pan");this.mZoomOutButton.addClassName("zoomOut");this.mZoomInButton.addClassName("zoomIn");this.mResetButton.addClassName("reset");this.mTogglePositionButton.addClassName("toggle");this.mHelpButton.addClassName("help");this.mMoveButton.mOgClassName=this.mMoveButton.className;this.mPanButton.mOgClassName=this.mPanButton.className;this.mZoomOutButton.mOgClassName=this.mZoomOutButton.className;this.mZoomInButton.mOgClassName=this.mZoomInButton.className;this.mResetButton.mOgClassName=this.mResetButton.className;this.mTogglePositionButton.mOgClassName=this.mTogglePositionButton.className;this.mHelpButton.mOgClassName=this.mHelpButton.className;document.body.appendChild(this.mControls);this.mControls.style.overflow="hidden";this.mControls.style.position="absolute";this.mGrip.style.position="absolute";this.reposition(this.POSITION_TOP);this.setCurrentAction(this.ACTION_MOVE);jshSetOpacity(this.mControls,0.9);this.mGrip.title="Click to show/hide";var A=this;new YAHOO.util.KeyListener(document,{keys:77},{fn:function(){A.setCurrentAction(A.ACTION_MOVE)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:86},{fn:function(){A.setCurrentAction(A.ACTION_MOVE)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:80},{fn:function(){A.setCurrentAction(A.ACTION_PAN)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:72},{fn:function(){A.setCurrentAction(A.ACTION_PAN)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:82},{fn:function(){A.setCurrentAction(A.ACTION_RESET)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:43},{fn:function(){A.setCurrentAction(A.ACTION_ZOOM_IN)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:61},{fn:function(){A.setCurrentAction(A.ACTION_ZOOM_IN)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:22},{fn:function(){A.setCurrentAction(A.ACTION_ZOOM_IN)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:189},{fn:function(){A.setCurrentAction(A.ACTION_ZOOM_OUT)},correctScope:false},"keyup").enable();new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){A.mNotifyOfCancelAction(A)},correctScope:false},"keyup").enable()}function ImagePanelControls_Render(A){if(A){this.mContainer=A;this.init()}}function ImagePanelControls_ShowControls(){if(this.mPosition==this.POSITION_TOP){this.mControls.style.height=this.mOriginalSize+"px";this.mButtonContainer.style.display=""}else{this.mControls.style.width=this.mOriginalSize+"px";this.mButtonContainer.style.display=""}this.mOriginalSize=null}function ImagePanelControls_HideControls(){if(this.mPosition==this.POSITION_TOP){this.mOriginalSize=this.mControls.getHeight();this.mButtonContainer.style.display="none";this.mControls.style.height=this.mGrip.getHeight()+"px"}else{this.mOriginalSize=this.mControls.getWidth();this.mButtonContainer.style.display="none";this.mControls.style.width=this.mGrip.getWidth()+"px"}}function ImagePanelControls_IsHidden(){if(this.mOriginalSize!=null){return true}return false}function ImagePanelControls_Reposition(A){this.mPosition=A;this.mControls.style.zIndex="1000";if(this.mPosition==this.POSITION_TOP){var B=Position.positionedOffset(this.mContainer);this.mControls.style.top=B[1]+"px";this.mControls.style.right="5px";this.mControls.style.width="160px";this.mControls.style.height="25px"}else{this.mControls.style.top="10%";this.mControls.style.right="0";this.mControls.style.width="30px";this.mControls.style.height="155px"}this.positionGrip()}function ImagePanelControls_PositionGrip(A){if(this.mShowGrip!=true){this.mGrip.hide()}else{if(A){this.mPosition=A}var B=Position.positionedOffset(this.mControls);if(this.mPosition==this.POSITION_TOP){this.mGrip.style.width=(this.mControls.getWidth()-8)+"px";this.mGrip.style.height="5px";this.mGrip.style.bottom="0";this.mGrip.style.left="0"}else{}}}function ImagePanelControls_SetCurrentAction(B){var D=this.mCurrentAction;this.mCurrentAction=B;if(B==this.ACTION_TOGGLE_POSITION){var A=(this.mPosition==this.POSITION_TOP)?this.POSITION_RIGHT:this.POSITION_TOP;this.reposition(A)}else{for(var C in this.mMapActionNameToButton){if(C==this.mCurrentAction){this.mMapActionNameToButton[C].addClassName(this.CLASSNAME_ACTIVE)}else{this.mMapActionNameToButton[C].className=this.mMapActionNameToButton[C].mOgClassName}}this.mNotifyOfActionChange(this,D,this.mCurrentAction)}}function ImagePanelControls_GetCurrentAction(){return this.mCurrentAction}function Static_ImagePanelControls_ButtonPressed(C){var A=jshGetSourceElement(C);if(A.imagePanelControls){var B=A.imagePanelControls;B.setCurrentAction(A.actionName);A.blur()}}function Static_ImagePanelControls_Show(C){C=jshGetEvent(C);var A=jshGetSourceElement(C);if(A.imagePanelControls){var B=A.imagePanelControls;if(B.isHidden()){B.showControls()}}}function Static_ImagePanelControls_Hide(C){var A=jshGetSourceElement(C);if(A.imagePanelControls){var B=A.imagePanelControls;if(!B.isHidden()){B.hideControls()}}}function Static_ImagePanelControls_ToggleDisplay(C){var A=jshGetSourceElement(C);if(A.imagePanelControls){var B=A.imagePanelControls;if(!B.isHidden()){B.hideControls()}else{B.showControls()}}};