function QuickSlideControls(){this.mContainer=null;this.mPanel=null;this.mSaveCurrentSlideButton=null;this.mEditCurrentSlide=null;this.mCreateSlide=null;this.mClonePresentationButton=null;this.mJumpToFirstSlideButton=null;this.mJumpToLastSlideButton=null;this.mSlideDialogContainer=null;this.mSlideDialogInstructions=null;this.mDescriptionInput=null;this.mSlideDialogSubmit=null;this.mSlideDialogCancel=null;this.mNextSlideButton=null;this.mPreviousSlideButton=null;this.mConfirmationKeyListener=null;this.mDimmer=null;this.mAnimate=true;this.mSkipConfirmationOnRestore=false;this.mAddControlsOnRestore=true;this.mShowClonePresentation=false;this.mManager;this.mFunctionRequestCreateSlide=null;this.mFunctionRequestEditSlide=null;this.mClonePresentationUrl=null;this.DIMMER_OPACITY=0.6;this.CLASSNAME="presentationControls";this.SAVE_BUTTON_CLASSNAME="saveButton";this.EDIT_BUTTON_CLASSNAME="editButton";this.CREATE_BUTTON_CLASSNAME="createButton";this.SLIDE_DIALOG_CONTAINER_CLASSNAME="slideDialogContainer";this.DIMMER_CLASSNAME="dimmerContainer";this.NEXT_BUTTON_CLASSNAME="nextButton";this.PREVIOUS_BUTTON_CLASSNAME="previousButton";this.CLONE_BUTTON_CLASSNAME="cloneButton";this.FIRST_SLIDE_BUTTON_CLASSNAME="jumpToFirstSlide";this.LAST_SLIDE_BUTTON_CLASSNAME="jumpToLastSlide";this.SAVE_BUTTON_INSTRUCTIONS="Click to save the current slide.";this.EDIT_BUTTON_INSTRUCTIONS="Click to edit the slide description.";this.CREATE_BUTTON_INSTRUCTIONS="Click to create a new slide for this presentation.";this.NEXT_BUTTON_INSTRUCTIONS="Click to view the next slide.";this.PREVIOUS_BUTTON_INSTRUCTIONS="Click to view the previous slide.";this.CREATE_DIALOG_INSTRCUTIONS="Fill in the description field below then click the create button or click cancel to abort.";this.EDIT_DIALOG_INSTRCUTIONS="Edit the description field below then click the save button or click cancel to leave the slide unedited.";this.CLONE_PRESENTATION_INSTRUCTIONS="Click to copy this presentation.";this.JUMP_FIRST_SLIDE_INSTRUCTIONS="Click to jump to the first slide";this.JUMP_LAST_SLIDE_INSTRUCTIONS="Click to jump to the last slide";this.SAVE_CURRENT_SLIDE="Save Slide";this.CREATE_SLIDE="New Slide";this.EDIT_SLIDE="Slide desc";this.CREATE_BUTTON="Create";this.EDIT_BUTTON="Save";this.CANCEL_BUTTON="Cancel";this.init=function(){this.mPanel=$(document.createElement("div"));this.mSaveCurrentSlideButton=$(document.createElement("a"));this.mEditCurrentSlide=$(document.createElement("a"));this.mCreateSlide=$(document.createElement("a"));this.mNextSlideButton=$(document.createElement("a"));this.mPreviousSlideButton=$(document.createElement("a"));this.mDimmer=$(document.createElement("div"));this.mSlideDialogContainer=$(document.createElement("div"));this.mSlideDialogInstructions=$(document.createElement("p"));this.mDescriptionInput=$(document.createElement("textarea"));this.mSlideDialogSubmit=$(document.createElement("a"));this.mSlideDialogCancel=$(document.createElement("a"));this.mClonePresentationButton=$(document.createElement("a"));this.mJumpToFirstSlideButton=$(document.createElement("a"));this.mJumpToLastSlideButton=$(document.createElement("a"));this.mSlideDialogContainer.appendChild(this.mSlideDialogInstructions);this.mSlideDialogContainer.appendChild(this.mDescriptionInput);this.mSlideDialogContainer.appendChild(this.mSlideDialogSubmit);this.mSlideDialogContainer.appendChild(this.mSlideDialogCancel);this.mPanel.appendChild(this.mJumpToFirstSlideButton);this.mPanel.appendChild(this.mPreviousSlideButton);this.mPanel.appendChild(this.mSaveCurrentSlideButton);this.mPanel.appendChild(this.mEditCurrentSlide);this.mPanel.appendChild(this.mCreateSlide);this.mPanel.appendChild(this.mClonePresentationButton);this.mPanel.appendChild(this.mNextSlideButton);this.mPanel.appendChild(this.mJumpToLastSlideButton);this.mContainer.appendChild(this.mSlideDialogContainer);this.mContainer.appendChild(this.mDimmer);this.mSlideDialogSubmit.href="javascript: var button";this.mSlideDialogSubmit.title="";this.mSlideDialogCancel.href="javascript: var button";this.mSlideDialogCancel.title="";this.mSaveCurrentSlideButton.update(this.SAVE_CURRENT_SLIDE);this.mSaveCurrentSlideButton.href="javascript: var saveButton";this.mSaveCurrentSlideButton.title=this.SAVE_BUTTON_INSTRUCTIONS;this.mEditCurrentSlide.update(this.EDIT_SLIDE);this.mEditCurrentSlide.href="javascript: var editButton";this.mEditCurrentSlide.title=this.EDIT_BUTTON_INSTRUCTIONS;this.mCreateSlide.update(this.CREATE_SLIDE);this.mCreateSlide.href="javascript: var createButton";this.mCreateSlide.title=this.CREATE_BUTTON_INSTRUCTIONS;this.mNextSlideButton.update("&nbsp;");this.mNextSlideButton.href="javascript: var button";this.mNextSlideButton.title=this.NEXT_BUTTON_INSTRUCTIONS;this.mPreviousSlideButton.update("&nbsp;");this.mPreviousSlideButton.href="javascript: var button";this.mPreviousSlideButton.title=this.PREVIOUS_BUTTON_INSTRUCTIONS;this.mClonePresentationButton.update("&nbsp;");this.mClonePresentationButton.href="javascript: var button";this.mClonePresentationButton.title=this.CLONE_PRESENTATION_INSTRUCTIONS;this.mJumpToFirstSlideButton.update("&nbsp;");this.mJumpToFirstSlideButton.href="javascript: var button";this.mJumpToFirstSlideButton.title=this.JUMP_FIRST_SLIDE_INSTRUCTIONS;this.mJumpToLastSlideButton.update("&nbsp;");this.mJumpToLastSlideButton.href="javascript: var button";this.mJumpToLastSlideButton.title=this.JUMP_LAST_SLIDE_INSTRUCTIONS;this.mPanel.addClassName(this.CLASSNAME);this.mSaveCurrentSlideButton.addClassName(this.SAVE_BUTTON_CLASSNAME);this.mEditCurrentSlide.addClassName(this.EDIT_BUTTON_CLASSNAME);this.mCreateSlide.addClassName(this.CREATE_BUTTON_CLASSNAME);this.mSlideDialogContainer.addClassName(this.SLIDE_DIALOG_CONTAINER_CLASSNAME);this.mDimmer.addClassName(this.DIMMER_CLASSNAME);this.mNextSlideButton.addClassName(this.NEXT_BUTTON_CLASSNAME);this.mPreviousSlideButton.addClassName(this.PREVIOUS_BUTTON_CLASSNAME);this.mClonePresentationButton.addClassName(this.CLONE_BUTTON_CLASSNAME);this.mJumpToFirstSlideButton.addClassName(this.FIRST_SLIDE_BUTTON_CLASSNAME);this.mJumpToLastSlideButton.addClassName(this.LAST_SLIDE_BUTTON_CLASSNAME);this.mContainer.appendChild(this.mPanel);var A=this;this.mSaveCurrentSlideButton.onclick=function(){A.mManager.saveCurrentSlide()};this.mCreateSlide.onclick=function(){A.mCreateSlide.blur();A.showCreateSlideDialog()};this.mEditCurrentSlide.onclick=function(){A.mEditCurrentSlide.blur();A.showEditSlideDialog()};this.mNextSlideButton.onclick=function(){A.mNextSlideButton.blur();A.mManager.restoreWorkspaceByIndex(A.mManager.getCurrentSlideIndex()+1,A.mSkipConfirmationOnRestore,A.mAddControlsOnRestore);A.update()};this.mPreviousSlideButton.onclick=function(){A.mPreviousSlideButton.blur();A.mManager.restoreWorkspaceByIndex(A.mManager.getCurrentSlideIndex()-1,A.mSkipConfirmationOnRestore,A.mAddControlsOnRestore);A.update()};this.mClonePresentationButton.onclick=function(){if(A.mClonePresentationUrl!=null){document.location.href=A.mClonePresentationUrl+"/"+A.mManager.getCurrentPresentation().id}};this.mJumpToFirstSlideButton.onclick=function(){A.mManager.restoreWorkspaceByIndex(0,A.mSkipConfirmationOnRestore,A.mAddControlsOnRestore);A.update()};this.mJumpToLastSlideButton.onclick=function(){A.mManager.restoreWorkspaceByIndex(A.mManager.getCurrentTotalNumberOfSlides()-1,A.mSkipConfirmationOnRestore,A.mAddControlsOnRestore);A.update()};new YAHOO.util.KeyListener(this.mDescriptionInput,{keys:27},{fn:function(){A.hideSlideDialog()},correctScope:false},"keyup").enable();this.mPanel.style.position="absolute";this.moveTo(5,2);this.mPanel.style.zIndex=99999;jshSetOpacity(this.mSlideDialogContainer,0);this.mSlideDialogContainer.hide();this.mSlideDialogContainer.style.position="absolute";this.mSlideDialogContainer.style.left=0+"px";this.mSlideDialogContainer.style.top=0+"px";this.mSlideDialogContainer.style.zIndex=99999;jshSetOpacity(this.mDimmer,0);this.mDimmer.hide();this.mDimmer.style.position="absolute";this.mDimmer.style.left=0+"px";this.mDimmer.style.top=0+"px";this.mDimmer.style.zIndex=99998;this.hide();this.update()};this.render=function(A){if(A){this.mContainer=A;this.init()}};this.update=function(){this.mSaveCurrentSlideButton.hide();this.mEditCurrentSlide.hide();this.mCreateSlide.hide();this.mNextSlideButton.style.visibility="hidden";this.mPreviousSlideButton.style.visibility="hidden";this.mClonePresentationButton.hide();this.mJumpToFirstSlideButton.style.visibility="hidden";this.mJumpToLastSlideButton.style.visibility="hidden";if(this.mManager){if(this.mShowClonePresentation==true){this.mClonePresentationButton.show()}var C=this.mManager.getCurrentPresentation();var B=this.mManager.getCurrentSlide();if(C&&B){if(this.mFunctionRequestEditSlide){this.mSaveCurrentSlideButton.show();this.mEditCurrentSlide.show()}}if(C){if(this.mFunctionRequestCreateSlide){this.mCreateSlide.show()}var D=this.mManager.getCurrentTotalNumberOfSlides();var A=this.mManager.getCurrentSlideIndex();if(A>0){this.mJumpToFirstSlideButton.style.visibility="";this.mPreviousSlideButton.style.visibility=""}if((A<(D-1))){this.mJumpToLastSlideButton.style.visibility="";this.mNextSlideButton.style.visibility=""}}}};this.hideSlideDialog=function(){if(this.mAnimate==true){var B=this;var A=function(){B.mDimmer.hide();B.mSlideDialogContainer.hide()};ElementEffects.fadeElement(this.mDimmer,0,55,0.2,null);ElementEffects.fadeElement(this.mSlideDialogContainer,0,55,0.2,A)}else{jshSetOpacity(this.mDimmer,0);jshSetOpacity(this.mSlideDialogContainer,0);this.mDimmer.hide();this.mSlideDialogContainer.hide()}};this.showCreateSlideDialog=function(){this.mSlideDialogInstructions.update(this.CREATE_DIALOG_INSTRCUTIONS);this.mDescriptionInput.value="";this.mSlideDialogSubmit.update(this.CREATE_BUTTON);this.mSlideDialogCancel.update(this.CANCEL_BUTTON);var A=this;this.mSlideDialogCancel.onclick=function(){A.mSlideDialogCancel.blur();A.hideSlideDialog()};this.mSlideDialogSubmit.onclick=function(){A.mSlideDialogSubmit.blur();A.requestCreateSlide(A.mDescriptionInput.value,A.mManager.getCurrentSlideIndex())};this.mConfirmationKeyListener=new YAHOO.util.KeyListener(this.mDescriptionInput,{keys:13},{fn:function(B){A.mConfirmationKeyListener.disable();A.requestCreateSlide(A.mDescriptionInput.value,A.mManager.getCurrentSlideIndex())},correctScope:false},"keyup");this.mConfirmationKeyListener.enable();this.showSlideDialog()};this.showEditSlideDialog=function(){var B=this.mManager.getCurrentSlide();this.mSlideDialogInstructions.update(this.EDIT_DIALOG_INSTRCUTIONS);this.mSlideDialogSubmit.update(this.EDIT_BUTTON);this.mSlideDialogCancel.update(this.CANCEL_BUTTON);this.mDescriptionInput.value="";if(B&&B.description){this.mDescriptionInput.value=B.description}var A=this;this.mSlideDialogCancel.onclick=function(){A.mSlideDialogCancel.blur();A.hideSlideDialog()};this.mSlideDialogSubmit.onclick=function(){A.mSlideDialogSubmit.blur();A.requestEditCurrentSlide(A.mDescriptionInput.value)};this.mConfirmationKeyListener=new YAHOO.util.KeyListener(this.mDescriptionInput,{keys:13},{fn:function(C){A.mConfirmationKeyListener.disable();A.requestEditCurrentSlide(A.mDescriptionInput.value)},correctScope:false},"keyup");this.mConfirmationKeyListener.enable();this.showSlideDialog()};this.showSlideDialog=function(){var C=jshGetWindowSize();var E=[0,0];var B=[];B[0]=((C[0]/2)-(E[0]+(this.mSlideDialogContainer.getWidth()/2)));B[1]=((C[1]/2)-(E[1]+(this.mSlideDialogContainer.getHeight()/2)));B[1]/=3;this.mSlideDialogContainer.style.left=Math.round(B[0])+"px";this.mSlideDialogContainer.style.top=Math.round(B[1])+"px";this.mDimmer.style.width=C[0]+"px";this.mDimmer.style.height=C[1]+"px";this.mDimmer.style.left=(E[0]*-1)+"px";this.mDimmer.style.top=(E[1]*-1)+"px";this.mDimmer.show();this.mSlideDialogContainer.show();if(this.mAnimate==true){var D=this;var A=function(){D.mDescriptionInput.focus()};ElementEffects.fadeElement(this.mDimmer,this.DIMMER_OPACITY,55,0.2,null);ElementEffects.fadeElement(this.mSlideDialogContainer,1,55,0.2,A)}};this.requestCreateSlide=function(C,B){this.hideSlideDialog();if(this.mFunctionRequestCreateSlide){var A={};A.description="";if(C){A.description=C}if(this.mManager){this.mManager.startLoadingState()}this.mFunctionRequestCreateSlide(A,B)}else{if(this.mManager){this.mManager.showMessageToUser("Unable to create slide, no current slide information available.")}}};this.requestEditCurrentSlide=function(B){this.hideSlideDialog();var C=this.mManager.getCurrentSlide();if(C&&this.mFunctionRequestEditSlide){var A={};A.id=C.id;A.description="";if(B){C.description=B;A.description=B}this.mManager.startLoadingState();this.mFunctionRequestEditSlide(A)}else{if(this.mManager){this.mManager.showMessageToUser("Unable to edit slide, no current slide information available.")}}};this.moveTo=function(A,B){this.mPanel.style.right=A+"px";this.mPanel.style.top=B+"px"};this.show=function(){this.update();this.mPanel.show()};this.hide=function(){this.mPanel.hide()};this.setManager=function(A){this.mManager=A};this.setRequestCreateSlideFunction=function(A){this.mFunctionRequestCreateSlide=A};this.setRequestEditSlideFunction=function(A){this.mFunctionRequestEditSlide=A};this.setAnimate=function(A){this.mAnimate=A}};