function TemplatedPanel(A,B){this.mContainer=null;this.mGlassPlate=null;this.mPanel=null;this.mBody=null;this.mIsCurrentPanel=false;this.mControl=null;this.mManager=null;this.mSourceUrl=null;this.mFlashPlayerUrl=null;this.mTemplateUrlPrefix=null;this.mLoadInProgress=null;this.mActionInProgress=null;this.mMoveStartingX=null;this.mMoveStartingY=null;this.mMaximizeOnLoad=false;this.mInitialized=false;this.mConfirmBeforeClose=true;this.mAnimate=true;this.isTemplatedPanel=true;this.CLASSNAME="templatedPanel";this.CURRENT_PANEL_CLASSNAME="current";this.MOVE_CURSOR_CLASSNAME="moveCursor";this.MOVE_ACTIVE_CURSOR_CLASSNAME="activeMoveCursor";this.DEFAULT_WIDTH=240;this.DEFAULT_HEIGHT=230;this.MIN_SIZE=50;this.MAX_LOAD_TEMPLATE_ATTEMPTS=10;this.init=function(C,F){this.mPanel=$(document.createElement("div"));this.mGlassPlate=$(document.createElement("div"));this.mBody=$(document.createElement("iframe"));this.mPanel.appendChild(this.mBody);this.mPanel.mediaPanel=this;this.mGlassPlate.mediaPanel=this;this.mBody.mediaPanel=this;this.mPanel.onmousedown=Static_TemplatedPanel_StartMove;this.mPanel.onmouseover=Static_TemplatedPanel_MouseIn;this.mPanel.onmouseout=Static_TemplatedPanel_MouseOut;this.mBody.onmousedown=Static_TemplatedPanel_StartMove;this.mBody.onmouseover=Static_TemplatedPanel_MouseIn;this.mBody.onmouseout=Static_TemplatedPanel_MouseOut;this.mContainer.appendChild(this.mPanel);this.mContainer.appendChild(this.mGlassPlate);this.mPanel.style.position="absolute";this.mPanel.style.overflow="hidden";var D=10;var E=Position.page(this.mContainer);this.mGlassPlate.hide();this.mGlassPlate.style.position="absolute";this.mGlassPlate.style.left=(E[0]+D)+"px";this.mGlassPlate.style.top=(E[1]+D)+"px";this.mGlassPlate.style.width=(this.mContainer.getWidth()-(2*D))+"px";this.mGlassPlate.style.height=(this.mContainer.getHeight()-(2*D))+"px";this.mGlassPlate.style.zIndex=99999;this.mGlassPlate.style.backgroundColor="black";jshSetOpacity(this.mGlassPlate,0.01);this.mBody.style.position="absolute";this.mBody.style.border="0";this.mBody.frameborder="0";this.mBody.style.width="100%";this.mBody.style.height="100%";this.mBody.scrolling="no";this.hideControls();this.resize(this.DEFAULT_WIDTH,this.DEFAULT_HEIGHT);if(C&&F){this.moveTo(C,F)}this.mBody.src=this.getTemplateUrl();Static_TemplatedPanel_LoadTemplate(this,this.MAX_LOAD_TEMPLATE_ATTEMPTS)};this.render=function(D,C,E){if(D){this.mContainer=D;this.init(C,E)}};this.resize=function(E,C,D){var F=true;if(E&&C){E=Math.min(E,(this.mContainer.getWidth()-20));C=Math.min(C,(this.mContainer.getHeight()-20));E=Math.max(E,this.MIN_SIZE);C=Math.max(C,this.MIN_SIZE);this.mPanel.style.width=E+"px";this.mPanel.style.height=C+"px";if(this.mManager){this.mManager.imagePanelChanged(this)}}return F};this.moveTo=function(C,E){var D=Position.cumulativeOffset(this.mContainer);C=Math.max(C,D[0]);if((C+this.mPanel.getWidth())>(D[0]+this.mContainer.getWidth())){C=(D[0]+this.mContainer.getWidth())-this.mPanel.getWidth()}E=Math.max(E,D[1]);if((E+this.mPanel.getHeight())>(D[1]+this.mContainer.getHeight())){E=(D[1]+this.mContainer.getHeight())-this.mPanel.getHeight()}this.mPanel.style.left=C+"px";this.mPanel.style.top=E+"px";return true};this.close=function(C){if((C==true)||(!this.mConfirmBeforeClose)||(confirm(this.CONFIRMATION_BEFORE_CLOSE_MESSAGE))){this.hideControls();this.mManager.removeImagePanel(this);this.mContainer.removeChild(this.mPanel);this.mContainer.removeChild(this.mGlassPlate);if(this.mPostDestoryFunction){this.mPostDestoryFunction(this)}}};this.maximizePanelToContainer=function(C){if(this.mContainer){var D=[this.mContainer.getWidth(),this.mContainer.getHeight()];this.resize(D[0],D[1]);this.centerOnContainer()}};this.centerOnContainer=function(){if(this.mContainer){var F=Position.cumulativeOffset(this.mContainer);var E=[this.mContainer.getWidth(),this.mContainer.getHeight()];var D=this.getDimensions();var C=Math.round((E[0]/2)-(D[0]/2))+F[0];var G=Math.round((E[1]/2)-(D[1]/2))+F[1];this.moveTo(C,G)}};this.updateCursor=function(C){if(this.equalsCurrentAction(this.mControl.ACTION_MOVE)){if(C==true){if(!this.mGlassPlate.hasClassName(this.MOVE_ACTIVE_CURSOR_CLASSNAME)){this.setCurrentImagePanel(this.mIsCurrentPanel);this.mPanel.className+=" "+this.MOVE_ACTIVE_CURSOR_CLASSNAME;this.mGlassPlate.className=this.MOVE_ACTIVE_CURSOR_CLASSNAME}}else{this.setCurrentImagePanel(this.mIsCurrentPanel);this.mPanel.className+=" "+this.MOVE_CURSOR_CLASSNAME;this.mGlassPlate.className=this.MOVE_CURSOR_CLASSNAME}}};this.bringToFront=function(){if(this.mManager){this.mManager.setCurrentImagePanel(this)}};this.reset=function(){};this.maximizePanelToImage=function(){};this.hideControls=function(){if(this.mControl){this.mControl.hideControls()}};this.showControls=function(){if(this.mControl){this.mControl.showControls()}};this.setControl=function(C){this.mControl=C};this.setManager=function(C){this.mManager=C};this.setConfirmBeforeClose=function(C){this.mConfirmBeforeClose=C};this.setCurrentImagePanel=function(C){this.mIsCurrentPanel=C;if(this.mIsCurrentPanel){this.mPanel.className=this.CLASSNAME+" "+this.CURRENT_PANEL_CLASSNAME}else{this.mPanel.className=this.CLASSNAME}};this.setStackOrder=function(C){if((C>=0)||(C<0)){this.mPanel.style.zIndex=C}};this.setFlashPlayerUrl=function(C){this.mFlashPlayerUrl=C};this.currentActionHasChanged=function(C){};this.endCurrentAction=function(C){var D=new Object();D.srcElement=new Object();D.srcElement.mediaPanel=this;if(this.mActionInProgress==true){Static_TemplatedPanel_EndMove(D,C)}};this.equalsCurrentAction=function(C){if(this.mControl&&(this.mControl.getCurrentAction()==C)){return true}return false};this.getDimensions=function(){var D=new Array();var C=jshBorderOffset(this.mPanel,[0,0]);D[0]=this.mPanel.getWidth()-C[0];D[1]=this.mPanel.getHeight()-C[1];return D};this.getPosition=function(){var C=new Array();C[0]=parseInt(this.mPanel.getStyle("left"));C[1]=parseInt(this.mPanel.getStyle("top"));return C};this.getStackOrder=function(){return parseInt(this.mPanel.getStyle("zIndex"))};this.setSourceUrl=function(C){if(C){this.mSourceUrl=C}};this.getTemplateUrl=function(){var D=jshGetExtensionFromUrl(this.mSourceUrl,null,"default");var C=this.mTemplateUrlPrefix;C+=D;C+="&rand="+Math.random();return C};this.getAdditionalSaveAttributes=function(){if(this.mBody.contentWindow.getAdditionalSaveAttributes){return this.mBody.contentWindow.getAdditionalSaveAttributes()}return{}};this.restoreFromState=function(C){if(this.mBody.contentWindow.restoreFromState){this.mBody.contentWindow.restoreFromState(C,debug)}else{var D=this;var E=C;setTimeout(function(){D.restoreFromState(E)},400)}};this.setTemplateUrlPrefix=function(C){this.mTemplateUrlPrefix=C}}function Static_TemplatedPanel_EndMove(E,A){var C=jshGetSourceElement(E);if(C.mediaPanel){var B=C.mediaPanel;if(B.mActionInProgress==true){B.mActionInProgress=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_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_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.mBody.show();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}}}function Static_TemplatedPanel_StartMove(D){D=jshGetEvent(D);var B=jshGetSourceElement(D);debug("Static_TemplatedPanel_StartMove:",B," ; ",B.mediaPanel," ; ",B.mediaPanel.mControl.getCurrentAction());if(B.mediaPanel){var A=B.mediaPanel;if(A.mControl){if(A.equalsCurrentAction(A.mControl.ACTION_MOVE)||A.equalsCurrentAction(A.mControl.ACTION_RESIZE_TOP_LEFT)||A.equalsCurrentAction(A.mControl.ACTION_RESIZE_TOP_RIGHT)||A.equalsCurrentAction(A.mControl.ACTION_RESIZE_BOTTOM_RIGHT)||A.equalsCurrentAction(A.mControl.ACTION_RESIZE_BOTTOM_LEFT)){if(!(A.mActionInProgress==true)){A.bringToFront();A.updateCursor(true);A.mActionInProgress=true;if(jshIsFF3()){A.mBody.hide()}var E=Position.page(A.mPanel);A.mOriginalMoveStartingX=E[0];A.mOriginalMoveStartingY=E[1];var C=A.getDimensions();A.mResizeStartingWidth=C[0];A.mResizeStartingHeight=C[1];A.mMoveStartingX=Event.pointerX(D);A.mMoveStartingY=Event.pointerY(D);A.mOriginalStartingX=Event.pointerX(D);A.mOriginalStartingY=Event.pointerY(D);A.mGlassPlate.show();A.mGlassPlate.mediaPanel=A;A.mGlassPlate.onmousemove=Static_TemplatedPanel_Move;A.mGlassPlate.onmouseup=Static_TemplatedPanel_EndMove;A.mGlassPlate.onmouseout=Static_TemplatedPanel_EndMove;A.mContainer.mediaPanel=A;A.mContainer.onmousemove=Static_TemplatedPanel_Move;A.mContainer.onmouseup=Static_TemplatedPanel_EndMove}}}}}function Static_TemplatedPanel_Move(F){F=jshGetEvent(F);var B=jshGetSourceElement(F);if(B.mediaPanel){var K=B.mediaPanel;if(K.mActionInProgress==true){var I=Event.pointerX(F);var H=Event.pointerY(F);var C=$([(I-K.mMoveStartingX),(H-K.mMoveStartingY)]);K.mMoveStartingX=I;K.mMoveStartingY=H;K.updateCursor(true);if(K.equalsCurrentAction(K.mControl.ACTION_MOVE)){var D=Position.cumulativeOffset(K.mPanel);var J=D[0]+C[0];var G=D[1]+C[1];K.moveTo(J,G);if(K.mControl){K.mControl.positionControls()}}else{if(K.equalsCurrentAction(K.mControl.ACTION_RESIZE_TOP_LEFT)){var E=K.getPosition();var A=K.getDimensions();K.resize((A[0]-C[0]),(A[1]-C[1]));K.moveTo((E[0]+C[0]),(E[1]+C[1]));if(K.mControl){K.mControl.positionControls()}}else{if(K.equalsCurrentAction(K.mControl.ACTION_RESIZE_TOP_RIGHT)){var E=K.getPosition();var A=K.getDimensions();K.resize((A[0]+C[0]),(A[1]-C[1]));K.moveTo(E[0],(E[1]+C[1]));if(K.mControl){K.mControl.positionControls()}}else{if(K.equalsCurrentAction(K.mControl.ACTION_RESIZE_BOTTOM_RIGHT)){var A=K.getDimensions();K.resize((A[0]+C[0]),(A[1]+C[1]));if(K.mControl){K.mControl.positionControls()}}else{if(K.equalsCurrentAction(K.mControl.ACTION_RESIZE_BOTTOM_LEFT)){var E=K.getPosition();var A=K.getDimensions();K.resize((A[0]-C[0]),(A[1]+C[1]));K.moveTo((E[0]+C[0]),E[1]);if(K.mControl){K.mControl.positionControls()}}}}}}}}}function Static_TemplatedPanel_MouseIn(C){C=jshGetEvent(C);var B=jshGetSourceElement(C);if(!B.mediaPanel){B=B.up()}if(B.mediaPanel){var A=B.mediaPanel;A.showControls()}}function Static_TemplatedPanel_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_TemplatedPanel_LoadTemplate(B,C){if(B){if(B.mBody&&B.mBody.contentWindow&&B.mBody.contentWindow.initalizeTemplate){B.mBody.contentWindow.initalizeTemplate(B.mContainer,B.mediaInfo,B.mAnimate,B)}else{if(B&&(C>0)){var E=B;var A=C--;var D=function(){Static_TemplatedPanel_LoadTemplate(E,A)};setTimeout(D,500)}}}};