/* FWDMController */ (function(){ var FWDMController = function( _d, prt ){ var _s = this; var prototype = FWDMController.prototype; _s.buttonsTest_ar = _d.buttons_ar; _s.buttonsLabels_ar = _d.buttonsLabels_ar; _s.markersList_ar = []; _s.markersPosition_ar = []; _s.buttons_ar = []; _s.backgroundLeft_img = _d.controllerBackgroundLeft_img; _s.backgroundRight_img = _d.controllerBackgroundRight_img; _s.downN_img = _d.controllerMoveDownN_img; _s.downS_img = _d.controllerMoveDownS_img; _s.downD_img = _d.controllerMoveDownD_img; _s.upN_img = _d.controllerMoveUpN_img; _s.upS_img = _d.controllerMoveUpS_img; _s.upD_img = _d.controllerMoveUpD_img; _s.nextN_img = _d.controllerNextN_img; _s.nextS_img = _d.controllerNextS_img; _s.nextD_img = _d.controllerNextD_img; _s.prevN_img = _d.controllerPrevN_img; _s.prevS_img = _d.controllerPrevS_img; _s.prevD_img = _d.controllerPrevD_img; _s.controllerHideMarkersN_img = _d.controllerHideMarkersN_img; _s.controllerHideMarkersS_img = _d.controllerHideMarkersS_img; _s.controllerShowMarkersN_img = _d.controllerShowMarkersN_img; _s.controllerShowMarkersS_img = _d.controllerShowMarkersS_img; _s.infoN_img = _d.controllerInfoN_img; _s.infoS_img = _d.controllerInfoS_img; _s.controllerHideN_img = _d.controllerHideN_img;; _s.controllerHideS_img = _d.controllerHideS_img; _s.controllerShowN_img = _d.controllerShowN_img; _s.controllerShowS_img = _d.controllerShowS_img; _s.fullScreenNormalN_img = _d.controllerFullScreenNormalN_img; _s.fullScreenNormalS_img = _d.controllerFullScreenNormalS_img; _s.fullScreenFullN_img = _d.controllerFullScreenFullN_img; _s.fullScreenFullS_img = _d.controllerFullScreenFullS_img; _s.zoomInN_img = _d.zoomInN_img; _s.zoomInS_img = _d.zoomInS_img; _s.zoomOutN_img = _d.zoomOutN_img; _s.zoomOutS_img = _d.zoomOutS_img; _s.scrollBarHandlerN_img = _d.scrollBarHandlerN_img; _s.scrollBarHandlerS_img = _d.scrollBarHandlerS_img; _s.scrollBarLeft_img = _d.scrollBarLeft_img; _s.scrollBarRight_img = _d.scrollBarRight_img; _s.toolTipLeft_img = _d.toolTipLeft_img; _s.toolTipPointer_img = _d.toolTipPointer_img; _s.scrollBarProgressMiddlePath_str = _d.scrollBarProgressMiddlePath_str; _s.isSkin2 = _d.skinPath_str.indexOf('skin2') != -1 ? true : false; _s.hider = null; _s.mainHolder_do = null; _s.backgroundLeft_sdo = null; _s.backgroundMiddle_sdo = null; _s.backgroundRight_sdo = null; _s.moveDownButton_do = null; _s.moveUpButton_do = null; _s.moveRightButton_do = null; _s.moveLeftButton_do = null; _s.hideOrShowMarkersButton_do = null; _s.infoButton_do = null; _s.hideShowControllerButton_do = null; _s.fullScreenButton_do = null; _s.zoomIn_do = null; _s.zoomOut_do = null; _s.scrollBar_do = null; _s.scrollBarLeft_sdo = null; _s.scrollBarRight_sdo = null; _s.scrollBarMiddle_sdo = null; _s.scrollBarHandler_do = null; _s.scrollBarHandlerN_sdo = null; _s.scrollBarHandlerS_sdo = null; _s.moveDownButtonTooTipLabel_do = null; _s.scrollBarHandlerToolTip_do = null; _s.moveUpButtonToolTip_do = null; _s.nextButtonToolTip_do = null; _s.moveLeftButtonToolTip_do = null; _s.hideOrShowMarkersToolTip_do = null; _s.infoToolTip_do = null; _s.hideOrShowControllerToolTip_do = null; _s.fullscreenToolTip_do = null; _s.backgroundMiddlePath_str = _d.controllerBackgroundMiddlePath_str; _s.scrollBarMiddlePath_str = _d.scrollBarMiddlePath_str; _s.draggingMode_str = _d.startDraggingMode_str; _s.controllerHorizontalPosition_str = _d.controllerHorizontalPosition_str; _s.controllerVerticalPosition_str = _d.controllerVerticalPosition_str; _s.buttonToolTipLeft_str = _d.buttonToolTipLeft_str; _s.buttonToolTipMiddle_str = _d.buttonToolTipMiddle_str; _s.buttonToolTipRight_str = _d.buttonToolTipRight_str; _s.link_str = _d.link_str;; _s.buttonToolTipBackgroundColor = _d.buttonToolTipBackgroundColor; _s.buttonToolTipFontColor = _d.buttonToolTipFontColor; _s.buttonToolTipBottomPointer_str = _d.buttonToolTipBottomPointer_str; _s.buttonToolTipTopPointer_str = _d.buttonToolTipTopPointer_str; _s.controllerOffsetWidth = _d.controllerOffsetWidth; _s.startSpaceForScrollBar = _d.startSpaceForScrollBar; _s.scrollBarPosition = FWDMUtils.indexOfArray(_s.buttonsTest_ar, "scrollbar"); _s.leftPos = FWDMUtils.indexOfArray(_s.buttonsTest_ar, "moveleft"); _s.rightPos = FWDMUtils.indexOfArray(_s.buttonsTest_ar, "moveright"); _s.downPos = FWDMUtils.indexOfArray(_s.buttonsTest_ar, "movedown"); _s.upPos = FWDMUtils.indexOfArray(_s.buttonsTest_ar, "moveup"); _s.controllerBackgroundOpacity = _d.controllerBackgroundOpacity; _s.panSpeed = _d.buttonsPanSpeed; _s.scrollBarHandlerOffsetX = _d.scrollBarHandlerOffsetX; _s.slideShowDelay = _d.slideShowDelay; _s.stageWidth; _s.setHeight; _s.controllerOffsetY = _d.controllerOffsetY; _s.scrollBarOffsetX = _d.scrollBarOffsetX; _s.startSpaceBetweenButtons = _d.startSpaceBetweenButtons; _s.spaceBetweenButtons = _d.spaceBetweenButtons; _s.curHeight = 0; _s.finalHandlerX; _s.startSpaceForScrollBarButtons = _d.startSpaceForScrollBarButtons; _s.smallSpaceForScrollBar = _d.startSpaceForScrollBar; _s.curWidth; _s.maxWidth = _d.controllerMaxWidth; _s.minWidth; _s.scrollBarTotalWidth; _s.scrollBarHandlerXPositionOnPress; _s.lastPresedX; _s.scrollBarHandlerToolTipOffsetY = _d.scrollBarHandlerToolTipOffsetY; _s.zoomInAndOutToolTipOffsetY = _d.zoomInAndOutToolTipOffsetY; _s.buttonsToolTipOffsetY = _d.buttonsToolTipOffsetY; _s.hideControllerOffsetY = _d.hideControllerOffsetY; _s.hideCtrlBtnY = 0; _s.panImageId_int; _s.zoomWithButtonsId_int; _s.slideShowId_int; _s.gotoImageId_to; _s.zoomWithButtonsId_to; _s.showId_to; _s.disableForAWhileHideOrShowControllerToolTipId_to; _s.showScrollBar_bl = false; if(FWDMUtils.indexOfArray(_s.buttonsTest_ar, "scrollbar") != -1) _s.showScrollBar_bl = true; _s.isMobile_bl = _d.isMobile_bl; _s.inverseNextAndPrevRotation_bl = _d.inverseNextAndPrevRotation_bl; _s.addKeyboardSupport_bl = _d.addKeyboardSupport_bl; _s.isScrollBarActive_bl = false; _s.isZoomInOrOutPressed_bl = false; _s.isHiddenForGood_bl = false; _s.disableHideOrShowControllerToolTip_bl = false; _s.showButtonsLabels_bl = Boolean(_s.buttonsLabels_ar); _s.hasPointerEvent_bl = FWDMUtils.hasPointerEvent; //##########################################// /* initialize _s */ //##########################################// _s.init = function(){ _s.setOverflow("visible"); _s.setSelectable(false); _s.setupMainHolder(); _s.setupBackground(); if(_s.addKeyboardSupport_bl) _s.addKeyboardSupport(); if(_d.useVectorIcons){ _s.mainHolder_do.setAlpha(0); _s.hide(); _s.setupButtons(); setTimeout(function(){ _s.setButtonSize(); _s.positionButtons(); _s.mainHolder_do.setVisible(false); _s.hide(); _s.show(); _s.mainHolder_do.setAlpha(1); }, 350); }else{ _s.curHeight = _s.backgroundLeft_img.height; _s.setButtonSize(); _s.setupButtons(); _s.hide(); _s.show(); } if(_s.showScrollBar_bl) _s.setupScrollBar(); if(_s.buttonsTest_ar.length == 0 && !_s.showScrollBar_bl) _s.setVisible(false); _s.screen.onmousedown = function(){ _s.dispatchEvent(FWDMController.MOUSE_DOWN); }; }; _s.setButtonSize = function(){ if(_d.useVectorIcons){ _s.curHeight = _s.background_sdo.getHeight() || 0; prt.imageManager_do.resizeAndPosition(); if(_s.scrollBar_do){ _s.scrollBarHeight = _s.scrollBar_do.getHeight(); _s.scrollBarHandlerWidth = _s.scrollBarHandler_do.w; _s.scrollBarHandlerHeight = _s.scrollBarHandler_do.h; var x = parseInt((_s.scrollBarHeight - _s.scrollBarHandlerHeight)/2) - 1; _s.scrollBarHandler_do.getStyle().top = x + 'px'; } if(_s.buttons_ar.length && _s.buttons_ar[0]){ _s.buttonWidth = _s.zoomButtonWidth = _s.buttons_ar[0].w; _s.buttonHeight = _s.zoomButtonHeight = _s.buttons_ar[0].h; }else if(_s.zoomIn_do){ _s.buttonWidth = _s.zoomButtonWidth = _s.zoomIn_do.w; _s.buttonHeight = _s.zoomButtonHeight = _s.zoomIn_do.h; } }else{ for(var i=0; i<_d.buttons_ar.length; i++){ if(_d.buttons_ar[i] == "scrollbar"){ _s.scrollBarRightPartWidth = _s.scrollBarRight_img.width; _s.scrollBarHeight = _s.scrollBarLeft_img.height; _s.scrollBarHandlerWidth = _s.scrollBarHandlerN_img.width; _s.scrollBarHandlerHeight = _s.scrollBarHandlerN_img.height; _s.buttonWidth = _s.zoomButtonWidth = _s.zoomOutN_img.width; _s.buttonHeight = _s.zoomButtonHeight = _s.zoomOutN_img.height; } if(_d.buttons_ar[i] == "moveleft"){ _s.buttonWidth = _d.controllerPrevN_img.width; _s.buttonHeight = _d.controllerPrevN_img.height; } if(_d.buttons_ar[i] == "moveright"){ _s.buttonWidth = _d.controllerNextN_img.width; _s.buttonHeight = _d.controllerNextN_img.height; } if(_d.buttons_ar[i] == "moveup"){ _s.buttonWidth = _d.controllerMoveUpN_img.width; _s.buttonHeight = _d.controllerMoveUpN_img.height; } if(_d.buttons_ar[i] == "movedown"){ _s.buttonWidth = _d.controllerMoveDownN_img.width; _s.buttonHeight = _d.controllerMoveDownN_img.height; } if(_d.buttons_ar[i] == "hideOrShowMarkers"){ _s.buttonWidth = _d.controllerHideMarkersN_img.width; _s.buttonHeight = _d.controllerHideMarkersN_img.height; } if(_d.buttons_ar[i] == "hideorshowcontroller"){ _s.buttonWidth = _d.controllerHideN_img.width; _s.buttonHeight = _d.controllerHideN_img.height; } if(_d.buttons_ar[i] == "info"){ _s.buttonWidth = _d.controllerInfoN_img.width; _s.buttonHeight = _d.controllerInfoN_img.height; } if(_d.buttons_ar[i] == "fullscreen"){ _s.buttonWidth = _d.controllerFullScreenNormalN_img.width; _s.buttonHeight = _d.controllerFullScreenNormalN_img.height; } } } } //###########################################// // Resize and position _s... //###########################################// _s.resizeAndPosition = function(){ //if(prt.stageWidth == _s.stageWidth && prt.stageHeight == _s.stageHeight) return; _s.stageWidth = prt.stageWidth; _s.stageHeight = prt.stageHeight; //_s.setWidth(_s.stageWidth); //_s.setHeight(_s.stageHeight); _s.positionButtons(); }; //##########################################// //Setup main container. //##########################################// _s.setupMainHolder = function(){ _s.mainHolder_do = new FWDMDisplayObject("div"); _s.mainHolder_do.setOverflow("visible"); _s.addChild(_s.mainHolder_do); }; //##########################################// //Setup hider. //##########################################// _s.setupHider = function(hider){ _s.hider = hider; _s.hider.addListener(FWDMHider.SHOW, _s.onHiderShow); _s.hider.addListener(FWDMHider.HIDE, _s.onHiderHide); }; _s.onHiderShow = function(){ if(_s.isHiddenForGood_bl) return; _s.show(); }; _s.onHiderHide = function(){ if(_s.isHiddenForGood_bl) return; if(FWDMUtils.hitTest(_s.mainHolder_do.screen, _s.hider.globalX, _s.hider.globalY)){ _s.hider.reset(); return; }else{ _s.hide(true); } }; //##########################################// /* Setup buttons. */ //##########################################// _s.setupButtons = function(){ var len = _s.buttonsTest_ar.length; var res; var label1_str = ""; var label2_str = ""; for(var i=0; i= 500){ //} if(_s.showScrollBar_bl){ _s.isScrollBarActive_bl = true; _s.curWidth = _s.stageWidth - _s.controllerOffsetWidth * 2; var scroOffsetW = 0; indexToAddZoomButtons = FWDMUtils.indexOfArray(_s.buttons_ar, _s.zoomIn_do); if(indexToAddZoomButtons != -1){ _s.buttons_ar.splice(indexToAddZoomButtons, 1); len--; } indexToAddZoomButtons = FWDMUtils.indexOfArray(_s.buttons_ar, _s.zoomOut_do); if(indexToAddZoomButtons != -1){ _s.buttons_ar.splice(indexToAddZoomButtons, 1); len--; } if(_s.scrollBarPosition > len) _s.scrollBarPosition = len; if(_s.scrollBarPosition < 0) _s.scrollBarPosition = 0; if(_s.curWidth > _s.maxWidth) _s.curWidth = _s.maxWidth; if(len == 0){ _s.scrollBarTotalWidth = (_s.startSpaceBetweenButtons * 2) + (_s.startSpaceForScrollBar * 2) + (_s.zoomButtonWidth * 2); }else if(len > 1 && _s.scrollBarPosition != 0 && _s.scrollBarPosition != len){ _s.scrollBarTotalWidth = (_s.startSpaceBetweenButtons * 2) + (len * _s.buttonWidth) + (_s.spaceBetweenButtons * (len - 2)) + (_s.startSpaceForScrollBarButtons * 2) + (_s.startSpaceForScrollBar * 2) + (_s.zoomButtonWidth * 2); }else if(len > 1 && (_s.scrollBarPosition == 0 || _s.scrollBarPosition == len)){ _s.scrollBarTotalWidth = (_s.startSpaceBetweenButtons * 2) + (len * _s.buttonWidth) + (_s.spaceBetweenButtons * (len)) + (_s.startSpaceForScrollBar * 2) + (_s.zoomButtonWidth * 2); }else{ _s.scrollBarTotalWidth = (_s.startSpaceBetweenButtons * 2) + (len * _s.buttonWidth) + (_s.startSpaceForScrollBar * 2) + (_s.zoomButtonWidth * 2) + (_s.spaceBetweenButtons * (len)) } _s.scrollBarTotalWidth = _s.curWidth - _s.scrollBarTotalWidth; if(_s.scrollBarTotalWidth < 100) _s.isScrollBarActive_bl = false; } if(isNaN(_s.scrollBarTotalWidth)) _s.scrollBarTotalWidth = 0; if(_s.scrollBarTotalWidth < 50) _s.scrollBarTotalWidth = 100; if(_s.isScrollBarActive_bl){ _s.scrollBar_do.setVisible(true); for(var i=0; i<_s.scrollBarPosition; i++){ button = _s.buttons_ar[i]; if(button){ button = _s.buttons_ar[i]; finalX = _s.startSpaceBetweenButtons + (i * (tempSpacerBetweenButtons + _s.buttonWidth)); finalX = _s.startSpaceBetweenButtons + (i * (tempSpacerBetweenButtons + _s.buttonWidth)); finalY = parseInt((_s.curHeight - _s.buttonHeight)/2); if(button != _s.hideShowControllerButton_do){ button.setX(finalX); button.setY(finalY); }else{ button.finalX = finalX; button.finalY = finalY; } button.setX(finalX); button.setY(finalY); } } for(var i = len + 1; i>=_s.scrollBarPosition; i--){ button = _s.buttons_ar[i]; if(button){ button = _s.buttons_ar[i]; finalX = _s.curWidth - _s.startSpaceBetweenButtons - _s.buttonWidth - (Math.abs(i - len + 1) * (tempSpacerBetweenButtons + _s.buttonWidth)); finalY = parseInt((_s.curHeight - _s.buttonHeight)/2); if(button != _s.hideShowControllerButton_do){ button.setX(finalX); button.setY(finalY); }else{ button.finalX = finalX; button.finalY = finalY; } } } if(len == 0){ startZoomX = _s.startSpaceBetweenButtons; }else if(len > 1 && _s.scrollBarPosition != 0 && _s.scrollBarPosition != len){ startZoomX = _s.buttons_ar[_s.scrollBarPosition - 1].getX() + _s.buttonWidth + _s.startSpaceForScrollBarButtons; }else if(len > 1 && _s.scrollBarPosition == 0){ startZoomX = _s.startSpaceBetweenButtons; }else if(len > 1 && _s.scrollBarPosition == len){ startZoomX = _s.buttons_ar[_s.scrollBarPosition - 1].getX() + _s.buttonWidth + _s.spaceBetweenButtons; }else if(len == 1 && _s.scrollBarPosition > 0){ startZoomX = _s.startSpaceBetweenButtons + _s.buttonWidth + _s.spaceBetweenButtons; }else if(len == 1 && _s.scrollBarPosition == 0){ startZoomX = _s.startSpaceBetweenButtons; } startZoomX += _s.scrollBarOffsetX; _s.zoomOut_do.setX(startZoomX); _s.zoomOut_do.setY(parseInt((_s.curHeight - _s.zoomButtonHeight)/2)); _s.zoomIn_do.setX(_s.zoomOut_do.getX() + _s.zoomButtonWidth + (_s.startSpaceForScrollBar * 2) + _s.scrollBarTotalWidth); _s.zoomIn_do.setY(parseInt((_s.curHeight - _s.zoomButtonHeight)/2)); _s.scrollBar_do.setX(_s.zoomOut_do.getX() + _s.startSpaceForScrollBar + _s.zoomButtonWidth); _s.scrollBar_do.setY(parseInt((_s.curHeight - _s.scrollBarHeight)/2) + 1); _s.scrollBar_do.setWidth(_s.scrollBarTotalWidth); if(_s.scrollBarMiddle_do){ _s.scrollBarMiddle_do.setX(_s.scrollBarRightPartWidth - 1); _s.scrollBarMiddle_do.setWidth(_s.scrollBarTotalWidth - (_s.scrollBarRightPartWidth * 2) + 2); _s.scrollBarRight_do.setX(_s.scrollBarTotalWidth - _s.scrollBarRightPartWidth); } if(_s.isSkin2){ if(_s.backgroundRight_sdo){ _s.backgroundRight_sdo.setVisible(true); _s.backgroundMiddle_sdo.setVisible(true); _s.backgroundLeft_sdo.setVisible(true); } if(_s.background_sdo){ _s.background_sdo.setVisible(true); } } }else{ var tempStartSpaceBetweenButtons = _s.startSpaceBetweenButtons; if(_s.stageWidth < 500){ if(tempStartSpaceBetweenButtons >= 20){ tempStartSpaceBetweenButtons = 20; if(!_d.isSkin1){ tempStartSpaceBetweenButtons = 0; } } if(tempControllerOffsetWidth >= 10){ tempControllerOffsetWidth = 10; } if(_s.tempControllerOffsetY >= 10){ _s.tempControllerOffsetY = 10; } } //_s.scrollBar_do.setVisible(false); indexToAddZoomButtons = _s.scrollBarPosition; if((_s.moveLeftButton_do || _s.moveRightButton_do || _s.moveUpButton_do || _s.moveDownButton_do) && _s.stageWidth < 500){ if(_s.moveLeftButton_do){ var index = FWDMUtils.indexOfArray(_s.buttons_ar, _s.moveLeftButton_do); if(index != -1) _s.buttons_ar.splice(index, 1); _s.moveLeftButton_do.setX(-5000); indexToAddZoomButtons --; } if(_s.moveRightButton_do){ var index = FWDMUtils.indexOfArray(_s.buttons_ar, _s.moveRightButton_do); if(index != -1) _s.buttons_ar.splice(index, 1); _s.moveRightButton_do.setX(-5000); indexToAddZoomButtons --; } if(_s.moveUpButton_do){ var index = FWDMUtils.indexOfArray(_s.buttons_ar, _s.moveUpButton_do); if(index != -1) _s.buttons_ar.splice(index, 1); _s.moveUpButton_do.setX(-5000); indexToAddZoomButtons --; } if(_s.moveDownButton_do){ var index = FWDMUtils.indexOfArray(_s.buttons_ar, _s.moveDownButton_do); if(index != -1) _s.buttons_ar.splice(index, 1); _s.moveDownButton_do.setX(-5000); indexToAddZoomButtons --; } } if(FWDMUtils.indexOfArray(_s.buttons_ar, _s.zoomIn_do) == -1){ _s.buttons_ar.splice(indexToAddZoomButtons, 0, _s.zoomIn_do); _s.buttons_ar.splice(indexToAddZoomButtons, 0, _s.zoomOut_do); } len = _s.buttons_ar.length; if(_s.showScrollBar_bl){ _s.scrollBar_do.setVisible(false); /*if(_s.buttons_ar.length > 6 && _s.stageWidth < 500){ _s.zoomIn_do.setX(-5000); _s.zoomOut_do.setY(-5000); }else{ if(FWDMUtils.indexOfArray(_s.buttons_ar, _s.zoomIn_do) == -1){ indexToAddZoomButtons = _s.scrollBarPosition; _s.buttons_ar.splice(indexToAddZoomButtons, 0, _s.zoomIn_do); _s.buttons_ar.splice(indexToAddZoomButtons, 0, _s.zoomOut_do); } } len = _s.buttons_ar.length;*/ //_s.scrollBar_do.setWidth(_s.scrollBarTotalWidth); } _s.minWidth = (len * _s.buttonWidth) + (tempControllerOffsetWidth * 2) + (tempStartSpaceBetweenButtons * 2) + (_s.spaceBetweenButtons * len) - _s.spaceBetweenButtons; if(_s.minWidth > _s.stageWidth){ _s.minWidth = _s.stageWidth ; //if(_s.minWidth < 320) _s.minWidth = 320; totalButtonsWidth = _s.buttonWidth * len + (tempControllerOffsetWidth * 2); tempSpacerBetweenButtons = ((_s.minWidth - (tempStartSpaceBetweenButtons * 2)) - totalButtonsWidth)/(len - 1); } _s.curWidth = _s.minWidth - (tempControllerOffsetWidth * 2); for(var i=0; i", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.moveDownButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.moveDownButton_do = new FWDMSimpleButton(_s.downN_img, _s.downS_img); } _s.moveDownButton_do.setX(-5000); _s.moveDownButton_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.moveDownOnMouseOverHandler); _s.moveDownButton_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.moveDownButtonOnMouseOutHandler); _s.moveDownButton_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.moveDownButtonStartHandler); _s.moveDownButton_do.disable(); _s.mainHolder_do.addChild(_s.moveDownButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.moveDownButtonTooTipLabel_do = new FWDMButtonToolTip( toolTipLabel, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.moveDownButtonTooTipLabel_do); } }; _s.moveDownOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.moveDownButton_do, _s.moveDownButtonTooTipLabel_do, _s.buttonsToolTipOffsetY); }; _s.moveDownButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.moveDownButtonTooTipLabel_do.hide(true); }; _s.moveDownButtonStartHandler = function(e){ var e = e.e == undefined ? e : e.e; if(e.touches){ if(_s.scrollBarHandler_do){ _s.zoomInWithButtonsEndHandler(e); _s.zoomOutWithButtonsEndHandler(e); _s.handlerDragEndHandler(e); } } clearInterval(_s.panImageId_int); //clearTimeout(_s.gotoImageId_to); _s.moveDownImageInWithDelay(); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.panEndHandler); }else{ window.addEventListener("touchend", _s.panEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.panEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.panEndHandler); } } }; _s.moveDownImageInWithDelay = function(){ _s.panImageId_int = setInterval(_s.panDown, 16); }; _s.panDown = function(){ _s.dispatchEvent(FWDMController.PAN, {dir:"down"}); }; //##############################// /* setup move up button */ //##############################// _s.setupUpButton = function(toolTipLabel){ FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.moveUpButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.moveUpButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.moveUpButton_do = new FWDMSimpleButton(_s.upN_img, _s.upS_img); } _s.moveUpButton_do.setX(-5000); _s.moveUpButton_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.moveUpOnMouseOverHandler); _s.moveUpButton_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.moveUpButtonOnMouseOutHandler); _s.moveUpButton_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.moveUpButtonStartHandler); _s.moveUpButton_do.disable(); _s.mainHolder_do.addChild(_s.moveUpButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.moveUpButtonTooTipLabel_do = new FWDMButtonToolTip( toolTipLabel, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.moveUpButtonTooTipLabel_do); } }; _s.moveUpOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.moveUpButton_do, _s.moveUpButtonTooTipLabel_do, _s.buttonsToolTipOffsetY); }; _s.moveUpButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.moveUpButtonTooTipLabel_do.hide(true); }; _s.moveUpButtonStartHandler = function(e){ var e = e.e == undefined ? e : e.e; if(e.touches){ if(_s.scrollBarHandler_do){ _s.zoomInWithButtonsEndHandler(e); _s.zoomOutWithButtonsEndHandler(e); _s.handlerDragEndHandler(e); } } clearInterval(_s.panImageId_int); //clearTimeout(_s.gotoImageId_to); _s.moveUpImageInWithDelay(); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.panEndHandler); }else{ window.addEventListener("touchend", _s.panEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.panEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.panEndHandler); } } }; _s.moveUpImageInWithDelay = function(){ _s.panImageId_int = setInterval(_s.panUp, 16); }; _s.panUp = function(){ _s.dispatchEvent(FWDMController.PAN, {dir:"up"}); }; //##############################// /* setup next button */ //##############################// _s.setupMoveRightButton = function(toolTipLabel){ FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.moveRightButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.moveRightButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.moveRightButton_do = new FWDMSimpleButton(_s.nextN_img, _s.nextS_img); } _s.moveRightButton_do.setX(-5000); _s.moveRightButton_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.moveRightOnMouseOverHandler); _s.moveRightButton_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.moveRightButtonOnMouseOutHandler); _s.moveRightButton_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.moveRightButtonStartHandler); _s.moveRightButton_do.disable(); _s.mainHolder_do.addChild(_s.moveRightButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.nextButtonToolTip_do = new FWDMButtonToolTip( toolTipLabel, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.nextButtonToolTip_do); } }; _s.moveRightOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.moveRightButton_do, _s.nextButtonToolTip_do, _s.buttonsToolTipOffsetY); }; _s.moveRightButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.nextButtonToolTip_do.hide(true); }; _s.moveRightButtonStartHandler = function(e){ var e = e.e == undefined ? e : e.e; if(e.touches){ if(_s.scrollBarHandler_do){ _s.zoomInWithButtonsEndHandler(e); _s.zoomOutWithButtonsEndHandler(e); _s.handlerDragEndHandler(e); } } clearInterval(_s.panImageId_int); //clearTimeout(_s.gotoImageId_to); _s.moveRightImageInWithDelay(); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.panEndHandler); }else{ window.addEventListener("touchend", _s.panEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.panEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.panEndHandler); } } }; _s.panEndHandler = function(){ clearInterval(_s.panImageId_int); clearTimeout(_s.gotoImageId_to); _s.dispatchEvent(FWDMController.ENABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.removeEventListener("MSPointerUp", _s.panEndHandler); }else{ window.removeEventListener("touchend", _s.panEndHandler); } }else{ if(window.removeEventListener){ window.removeEventListener("mouseup", _s.panEndHandler); }else if(document.detachEvent){ document.detachEvent("onmouseup", _s.panEndHandler); } } }; _s.moveRightImageInWithDelay = function(){ _s.panImageId_int = setInterval(_s.panRight, 16); }; _s.panRight = function(){ _s.dispatchEvent(FWDMController.PAN, {dir:"right"}); }; //##############################// /* setup prev button */ //##############################// _s.setupMoveLeftButton = function(toolTipLabel){ FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.moveLeftButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.moveLeftButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.moveLeftButton_do = new FWDMSimpleButton(_s.prevN_img, _s.prevS_img); } _s.moveLeftButton_do.setX(-5000); _s.moveLeftButton_do.addListener(FWDMComplexButton.MOUSE_OVER, _s.moveLeftButtonOnMouseOverHandler); _s.moveLeftButton_do.addListener(FWDMComplexButton.MOUSE_OUT, _s.moveLeftButtonOnMouseOutHandler); _s.moveLeftButton_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.moveLeftButtonStartHandler); _s.moveLeftButton_do.disable(); _s.mainHolder_do.addChild(_s.moveLeftButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.moveLeftButtonToolTip_do = new FWDMButtonToolTip( toolTipLabel, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.moveLeftButtonToolTip_do); } }; _s.moveLeftButtonOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.moveLeftButton_do, _s.moveLeftButtonToolTip_do, _s.buttonsToolTipOffsetY); }; _s.moveLeftButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.moveLeftButtonToolTip_do.hide(true); }; _s.moveLeftButtonStartHandler = function(e){ var e = e.e == undefined ? e : e.e; if(e.touches){ if(_s.scrollBarHandler_do){ _s.zoomInWithButtonsEndHandler(e); _s.zoomOutWithButtonsEndHandler(e); _s.handlerDragEndHandler(e); } } clearInterval(_s.panImageId_int); //clearTimeout(_s.gotoImageId_to); _s.moveLeftImageInWithDelay(); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.panEndHandler); }else{ window.addEventListener("touchend", _s.panEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.panEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.panEndHandler); } } }; _s.moveLeftImageInWithDelay = function(){ _s.panImageId_int = setInterval(_s.panLeft, 16); }; _s.panLeft = function(){ _s.dispatchEvent(FWDMController.PAN, {dir:"left"}); }; //##############################// /* setup slideshow button */ //##############################// _s.setupHideOrShowMarkersButton = function(toolTipLabel1, toolTipLabel2){ FWDMComplexButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.hideOrShowMarkersButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.hideOrShowMarkersButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.hideOrShowMarkersButton_do = new FWDMComplexButton( _s.controllerHideMarkersN_img, _s.controllerHideMarkersS_img, _s.controllerShowMarkersN_img, _s.controllerShowMarkersS_img, true); } _s.hideOrShowMarkersButton_do.addListener(FWDMComplexButton.MOUSE_OVER, _s.hideOrShowButtonOnMouseOverHandler); _s.hideOrShowMarkersButton_do.addListener(FWDMComplexButton.MOUSE_OUT, _s.hideOrShowButtonOnMouseOutHandler); _s.hideOrShowMarkersButton_do.addListener(FWDMComplexButton.MOUSE_DOWN, _s.hideOrShowButtonStartHandler); _s.mainHolder_do.addChild(_s.hideOrShowMarkersButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.hideOrShowMarkersToolTip_do = new FWDMButtonToolTip( toolTipLabel1, toolTipLabel2, _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.hideOrShowMarkersToolTip_do); } }; _s.hideOrShowButtonOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.hideOrShowMarkersButton_do, _s.hideOrShowMarkersToolTip_do, _s.buttonsToolTipOffsetY); }; _s.hideOrShowButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.hideOrShowMarkersToolTip_do.hide(true); }; _s.hideOrShowButtonStartHandler = function(addEvent){ if(_s.showButtonsLabels_bl) _s.hideOrShowMarkersToolTip_do.hide(); if(_s.hideOrShowMarkersButton_do.currentState == 1){ _s.dispatchEvent(FWDMController.HIDE_MARKERS); }else{ _s.dispatchEvent(FWDMController.SHOW_MARKERS); } }; this.updateHideOrShowButtonTooltip = function(show){ if(!_s.hideOrShowMarkersButton_do) return; if(_s.hideOrShowMarkersButton_do.currentState == 1){ _s.hideOrShowMarkersButton_do.setButtonState(0); if(_s.showButtonsLabels_bl){ _s.hideOrShowMarkersToolTip_do.setLabel(_s.hideOrShowMarkersToolTip_do.toolTipLabel2_str); if(show){ setTimeout(function(){ _s.showToolTipButton(_s.hideOrShowMarkersButton_do, _s.hideOrShowMarkersToolTip_do, _s.buttonsToolTipOffsetY); }, 51); } } }else{ _s.hideOrShowMarkersButton_do.setButtonState(1); if(_s.showButtonsLabels_bl){ _s.hideOrShowMarkersToolTip_do.setLabel(_s.hideOrShowMarkersToolTip_do.toolTipLabel_str); if(show){ setTimeout(function(){ _s.showToolTipButton(_s.hideOrShowMarkersButton_do, _s.hideOrShowMarkersToolTip_do, _s.buttonsToolTipOffsetY); }, 51); } } } } //##############################// /* setup info button */ //##############################// _s.setupInfoButton = function(toolTipLabel){ FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.infoButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.infoButton_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.infoButton_do = new FWDMSimpleButton(_s.infoN_img, _s.infoS_img); } _s.infoButton_do.addListener(FWDMComplexButton.MOUSE_OVER, _s.infoButtonOnMouseOverHandler); _s.infoButton_do.addListener(FWDMComplexButton.MOUSE_OUT, _s.infoButtonOnMouseOutHandler); _s.infoButton_do.addListener(FWDMComplexButton.MOUSE_DOWN, _s.infoButtonStartHandler); _s.mainHolder_do.addChild(_s.infoButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.infoToolTip_do = new FWDMButtonToolTip( toolTipLabel, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.infoToolTip_do); } }; _s.infoButtonOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.infoButton_do, _s.infoToolTip_do, _s.buttonsToolTipOffsetY); }; _s.infoButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.infoToolTip_do.hide(true); }; _s.infoButtonStartHandler = function(e){ _s.dispatchEvent(FWDMController.SHOW_INFO); }; //##############################// /* setup link button */ //##############################// _s.setupHideOrShowController = function(toolTipLabel1, toolTipLabel2){ FWDMComplexButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.hideShowControllerButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.hideShowControllerButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.hideShowControllerButton_do = new FWDMComplexButton( _s.controllerHideN_img, _s.controllerHideS_img, _s.controllerShowN_img, _s.controllerShowS_img, true); } _s.hideShowControllerButton_do.addListener(FWDMComplexButton.MOUSE_OVER, _s.linkButtonOnMouseOverHandler); _s.hideShowControllerButton_do.addListener(FWDMComplexButton.MOUSE_OUT, _s.linkButtonOnMouseOutHandler); _s.hideShowControllerButton_do.addListener(FWDMComplexButton.MOUSE_DOWN, _s.hideOrShowControllerStartHandler); _s.mainHolder_do.addChild(_s.hideShowControllerButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.hideOrShowControllerToolTip_do = new FWDMButtonToolTip( toolTipLabel1, toolTipLabel2, _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.hideOrShowControllerToolTip_do); _s.hideOrShowControllerToolTip_do.getStyle().zIndex = 100; } }; _s.linkButtonOnMouseOverHandler = function(e){ if(_s.disableHideOrShowControllerToolTip_bl) return; if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.hideShowControllerButton_do, _s.hideOrShowControllerToolTip_do, _s.buttonsToolTipOffsetY); }; _s.linkButtonOnMouseOutHandler = function(e){ if(_s.disableHideOrShowControllerToolTip_bl) return; if(_s.showButtonsLabels_bl) _s.hideOrShowControllerToolTip_do.hide(true); }; _s.hideOrShowControllerStartHandler = function(e){ if(_s.disableHideOrShowControllerToolTip_bl) return; if(_s.hider) _s.hider.reset(); if(_s.showButtonsLabels_bl) _s.hideOrShowControllerToolTip_do.hide(); _s.hideShowControllerButton_do.isDisabled_bl = true; setTimeout(function(){ if(_s == null) return; if(!_s.isMobile_bl) _s.hideShowControllerButton_do.setNormalState(true); _s.hideShowControllerButton_do.isDisabled_bl = false; }, 400); _s.disableHideOrShowControllerToolTip_bl = true; clearTimeout(_s.disableForAWhileHideOrShowControllerToolTipId_to); _s.disableForAWhileHideOrShowControllerToolTipId_to = setTimeout( function(){ _s.disableHideOrShowControllerToolTip_bl = false; } ,400); if(_s.hideShowControllerButton_do.currentState == 1){ _s.setHideOrShowControllerAndToolTipState(1); _s.dispatchEvent(FWDMController.HIDE_CONTROLLER); }else{ _s.setHideOrShowControllerAndToolTipState(0); _s.dispatchEvent(FWDMController.SHOW_CONTROLLER); } }; _s.setHideOrShowControllerAndToolTipState = function(state){ if(state == 1){ _s.isHiddenForGood_bl = true; _s.hideShowControllerButton_do.setButtonState(0); if(_s.showButtonsLabels_bl) _s.hideOrShowControllerToolTip_do.setLabel(_s.hideOrShowControllerToolTip_do.toolTipLabel2_str); _s.hide(true); }else{ _s.isHiddenForGood_bl = false; _s.hideShowControllerButton_do.setButtonState(1); if(_s.showButtonsLabels_bl) _s.hideOrShowControllerToolTip_do.setLabel(_s.hideOrShowControllerToolTip_do.toolTipLabel_str); _s.show(true); } _s.positionHideOrShowControllerButton(true); }; //##############################// /* setup link button */ //##############################// _s.setupFullScreenButton = function(toolTipLabel1, toolTipLabel2){ FWDMComplexButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.fullScreenButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.fullScreenButton_do = new FWDMComplexButton( 0,0,0,0,true, "", "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.fullScreenButton_do = new FWDMComplexButton(_s.fullScreenFullN_img, _s.fullScreenFullS_img, _s.fullScreenNormalN_img, _s.fullScreenNormalS_img, true); } _s.fullScreenButton_do.addListener(FWDMComplexButton.MOUSE_OVER, _s.fullscreenButtonOnMouseOverHandler); _s.fullScreenButton_do.addListener(FWDMComplexButton.MOUSE_OUT, _s.fullscreenButtonOnMouseOutHandler); _s.fullScreenButton_do.addListener(FWDMComplexButton.MOUSE_DOWN, _s.fullScreenButtonStartHandler); _s.mainHolder_do.addChild(_s.fullScreenButton_do); if(_s.showButtonsLabels_bl){ FWDMButtonToolTip.setPrototype(); _s.fullscreenToolTip_do = new FWDMButtonToolTip( toolTipLabel1, toolTipLabel2, _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.fullscreenToolTip_do); } }; _s.fullscreenButtonOnMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl) _s.showToolTipButton(_s.fullScreenButton_do, _s.fullscreenToolTip_do, _s.buttonsToolTipOffsetY); }; _s.fullscreenButtonOnMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.fullscreenToolTip_do.hide(true); }; _s.fullScreenButtonStartHandler = function(e){ if(_s.fullScreenButton_do.currentState == 1){ if(_s.showButtonsLabels_bl) _s.fullscreenToolTip_do.setLabel(_s.fullscreenToolTip_do.toolTipLabel2_str); _s.fullScreenButton_do.setButtonState(0); _s.dispatchEvent(FWDMController.GO_FULL_SCREEN); }else if(_s.fullScreenButton_do.currentState == 0){ if(_s.showButtonsLabels_bl) _s.fullscreenToolTip_do.setLabel(_s.fullscreenToolTip_do.toolTipLabel_str); _s.fullScreenButton_do.setButtonState(1); _s.dispatchEvent(FWDMController.GO_NORMAL_SCREEN); } setTimeout(function(){ if(_s == null) return; _s.fullScreenButton_do.onMouseOut(e); }, 50); }; _s.setFullScreenButtonState = function(state){ if(!_s.fullScreenButton_do) return; if(state == 0){ _s.fullScreenButton_do.setButtonState(0); if(_s.showButtonsLabels_bl) _s.fullscreenToolTip_do.setLabel(_s.fullscreenToolTip_do.toolTipLabel2_str); }else if(state == 1){ _s.fullScreenButton_do.setButtonState(1); if(_s.showButtonsLabels_bl) _s.fullscreenToolTip_do.setLabel(_s.fullscreenToolTip_do.toolTipLabel_str); } }; //##############################// /* setup scrollbar */ //##############################// _s.setupScrollBar = function(){ FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.zoomIn_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.zoomIn_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.zoomIn_do = new FWDMSimpleButton(_s.zoomInN_img, _s.zoomInS_img); } _s.zoomIn_do.setX(-5000); _s.zoomIn_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.zoomInMouseOverHandler); _s.zoomIn_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.zoomInOrOutMouseOutHandler); _s.zoomIn_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.zoomInStartHandler); _s.mainHolder_do.addChild(_s.zoomIn_do); FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ if(_d.isSkin1){ _s.zoomOut_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin1-vector-button-icon-normal", "fwdm-skin1-vector-button-icon-selected" ); }else{ _s.zoomOut_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin2-vector-button-icon-normal", "fwdm-skin2-vector-button-icon-selected", "fwdm-skin2-vector-button-backround-normal", "fwdm-skin2-vector-button-backround-selected" ); } }else{ _s.zoomOut_do = new FWDMSimpleButton(_s.zoomOutN_img, _s.zoomOutS_img); } _s.zoomOut_do.setX(-5000); _s.zoomOut_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.zoomOutMouseOverHandler); _s.zoomOut_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.zoomInOrOutMouseOutHandler); _s.zoomOut_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.zoomOutStartHandler); _s.mainHolder_do.addChild(_s.zoomOut_do); _s.scrollBar_do = new FWDMDisplayObject("div"); _s.scrollBar_do.setOverflow("visible"); _s.scrollBar_do.setHeight(_s.scrollBarHeight); _s.mainHolder_do.addChild(_s.scrollBar_do); if(_d.useVectorIcons){ _s.scrollBar_do.screen.className = 'fwdm-vector-scrollbar-background'; _s.scrollBar_do.getStyle().width = '100%'; _s.scrollBarProgres_do = new FWDMSimpleDisplayObject("div"); _s.scrollBarProgres_do.screen.className = 'fwdm-vector-scrollbar-progress'; _s.scrollBarProgres_do.getStyle().height = '100%'; _s.scrollBar_do.addChild(_s.scrollBarProgres_do); }else{ _s.scrollBarLeft_do = new FWDMSimpleDisplayObject("img"); _s.scrollBarLeft_do.setScreen(_d.scrollBarProgressLeft_img); _s.scrollBar_do.addChild(_s.scrollBarLeft_do); _s.scrollBarMiddle_do = new FWDMSimpleDisplayObject("div"); _s.scrollBarMiddle_do.setHeight(_s.scrollBarHeight); _s.scrollBarMiddle_do.getStyle().background = "url('" + _s.scrollBarMiddlePath_str + "')"; _s.scrollBarMiddle_do.getStyle().backgroundRepeat = "repeat-x"; _s.scrollBar_do.addChild(_s.scrollBarMiddle_do); _s.scrollBarProgressLeft_do = new FWDMSimpleDisplayObject("img"); _s.scrollBarProgressLeft_do.setScreen(_d.scrollBarProgressLeft_img); _s.scrollBar_do.addChild(_s.scrollBarProgressLeft_do); _s.scrollBarProgressMiddle_do = new FWDMSimpleDisplayObject("div"); _s.scrollBarProgressMiddle_do.setHeight(_s.scrollBarHeight); _s.scrollBarProgressMiddle_do.getStyle().background = "url('" + _s.scrollBarProgressMiddlePath_str + "')"; _s.scrollBarProgressMiddle_do.getStyle().backgroundRepeat = "repeat-x"; _s.scrollBarProgressMiddle_do.setX(_s.scrollBarProgressLeft_do.w); _s.scrollBar_do.addChild(_s.scrollBarProgressMiddle_do); _s.scrollBarRight_do = new FWDMSimpleDisplayObject("img"); _s.scrollBarRight_do.setScreen(_s.scrollBarRight_img); _s.scrollBar_do.addChild(_s.scrollBarRight_do); } FWDMSimpleButton.setPrototype(); if(_d.useVectorIcons){ _s.scrollBarHandler_do = new FWDMSimpleButton( 0, 0, "", "fwdm-vector-scrollbar-handler-normal", "fwdm-vector-scrollbar-handler-selected" ); }else{ _s.scrollBarHandler_do = new FWDMSimpleButton(_s.scrollBarHandlerN_img, _s.scrollBarHandlerS_img); _s.scrollBarHandler_do.setY(parseInt((_s.scrollBarHeight - _s.scrollBarHandlerHeight)/2) - 1); } _s.scrollBarHandler_do.addListener(FWDMSimpleButton.MOUSE_OVER, _s.handlerOnMouseOver); _s.scrollBarHandler_do.addListener(FWDMSimpleButton.MOUSE_OUT, _s.handlerOnMouseOut); _s.scrollBarHandler_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.handlerDragStartHandler); _s.scrollBar_do.addChild(_s.scrollBarHandler_do); if(_s.showButtonsLabels_bl){ var label_str1 = _s.buttonsLabels_ar[_s.scrollBarPosition] || "tooltip is not defined!"; FWDMButtonToolTip.setPrototype(); _s.scrollBarHandlerToolTip_do = new FWDMButtonToolTip( label_str1, "", _s.controllerVerticalPosition_str, _s.buttonToolTipTopPointer_str, _s.buttonToolTipBottomPointer_str, _s.buttonToolTipBackgroundColor, _s.buttonToolTipFontColor); _s.mainHolder_do.addChild(_s.scrollBarHandlerToolTip_do); _s.scrollBarHandlerToolTip_do.setLabel(label_str1 + '0%'); } }; //##########################################// // zoom in / out handler... //##########################################// _s.zoomInMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl){ _s.scrollBarHandlerToolTip_do.show(); if(_s.isScrollBarActive_bl){ _s.positionAndSetLabelScrollBarHandler(); }else{ if(!_s.isScrollBarActive_bl && _s.showButtonsLabels_bl){ setTimeout(function(){ if(_s == null) return; var percent = (_s.finalHandlerX + _s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); _s.scrollBarHandlerToolTip_do.setLabel(_s.scrollBarHandlerToolTip_do.toolTipLabel_str + (Math.round(percent * 100)) + "%"); _s.showZoomInOrOutToolTipButton(_s.zoomIn_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 50); } } } }; _s.zoomInOrOutMouseOutHandler = function(e){ if(_s.showButtonsLabels_bl) _s.scrollBarHandlerToolTip_do.hide(true); }; _s.zoomInStartHandler = function(e){ if(e){ e = e.e; if(e.touches){ _s.handlerDragEndHandler(e); } } clearInterval(_s.zoomWithButtonsId_int); clearTimeout(_s.zoomWithButtonsId_to); _s.zoomWithButtonsId_to = setTimeout(_s.startZoomInWithDelay, 400); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); _s.zoomInWithButtonsDispatchEvent(true); if(_s.slideShowButton_do) _s.stopSlideShow(); if(_s.zoomIn_do) _s.zoomIn_do.isSelectedFinal_bl = true; _s.isZoomInOrOutPressed_bl = true; if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.zoomInWithButtonsEndHandler); }else{ window.addEventListener("touchend", _s.zoomInWithButtonsEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.zoomInWithButtonsEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.zoomInWithButtonsEndHandler); } } if(!_s.isScrollBarActive_bl){ setTimeout(function(){ if(_s.showZoomInOrOutToolTipButton) _s.showZoomInOrOutToolTipButton(_s.zoomIn_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 80); } }; _s.startZoomInWithDelay = function(){ _s.zoomWithButtonsId_int = setInterval(_s.zoomInWithButtonsDispatchEvent, 16); }; _s.zoomInWithButtonsDispatchEvent = function(withPause){ if(withPause){ _s.dispatchEvent(FWDMController.ZOOM_WITH_BUTTONS, {dir:1, withPause:true}); }else{ _s.dispatchEvent(FWDMController.ZOOM_WITH_BUTTONS, {dir:1, withPause:false}); } if(!_s.isScrollBarActive_bl && _s.showButtonsLabels_bl){ setTimeout(function(){ if(_s == null) return; var percent = (_s.finalHandlerX + _s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); if(_s.scrollBarHandlerToolTip_do) _s.scrollBarHandlerToolTip_do.setLabel(_s.scrollBarHandlerToolTip_do.toolTipLabel_str + (Math.round(percent * 100)) + "%"); if(_s.showZoomInOrOutToolTipButton) _s.showZoomInOrOutToolTipButton(_s.zoomIn_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 50); } }; _s.zoomInWithButtonsEndHandler = function(e){ var viewportMouseCoordinates; clearInterval(_s.zoomWithButtonsId_int); clearTimeout(_s.zoomWithButtonsId_to); _s.isZoomInOrOutPressed_bl = false; if(_s.zoomIn_do && e){ _s.zoomIn_do.isSelectedFinal_bl = false; viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); if(!FWDMUtils.hitTest(_s.zoomIn_do.screen, viewportMouseCoordinates.screenX, viewportMouseCoordinates.screenY)){ _s.zoomIn_do.onMouseOut(e); } } _s.dispatchEvent(FWDMController.ENABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.removeEventListener("MSPointerUp", _s.zoomInWithButtonsEndHandler); }else{ window.removeEventListener("touchend", _s.zoomInWithButtonsEndHandler); } }else{ if(window.removeEventListener){ window.removeEventListener("mouseup", _s.zoomInWithButtonsEndHandler); }else if(document.detachEvent){ document.detachEvent("onmouseup", _s.zoomInWithButtonsEndHandler); } } }; ////////////////////////////////////////////////////// ///////////////////////////////////////////////////// _s.zoomOutMouseOverHandler = function(e){ if(_s.showButtonsLabels_bl){ _s.scrollBarHandlerToolTip_do.show(); if(_s.isScrollBarActive_bl){ _s.positionAndSetLabelScrollBarHandler(); }else{ if(!_s.isScrollBarActive_bl && _s.showButtonsLabels_bl){ setTimeout(function(){ if(_s == null) return; var percent = (_s.finalHandlerX + _s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); _s.scrollBarHandlerToolTip_do.setLabel(_s.scrollBarHandlerToolTip_do.toolTipLabel_str + (Math.round(percent * 100)) + "%"); _s.showZoomInOrOutToolTipButton(_s.zoomOut_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 50); } } } }; _s.zoomOutStartHandler = function(e){ if(e){ e = e.e; if(e.touches){ _s.handlerDragEndHandler(e); } } clearInterval(_s.zoomWithButtonsId_int); clearTimeout(_s.zoomWithButtonsId_to); _s.zoomWithButtonsId_to = setTimeout(_s.startZoomOutWithDelay, 400); _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); _s.zoomOutWithButtonsDispatchEvent(true); if(_s.slideShowButton_do) _s.stopSlideShow(); if(_s.zoomOut_do) _s.zoomOut_do.isSelectedFinal_bl = true; _s.isZoomInOrOutPressed_bl = true; if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.zoomOutWithButtonsEndHandler); }else{ window.addEventListener("touchend", _s.zoomOutWithButtonsEndHandler); } }else{ if(window.addEventListener){ window.addEventListener("mouseup", _s.zoomOutWithButtonsEndHandler); }else if(document.attachEvent){ document.attachEvent("onmouseup", _s.zoomOutWithButtonsEndHandler); } } if(!_s.isScrollBarActive_bl){ setTimeout(function(){ if(_s.showZoomInOrOutToolTipButton) _s.showZoomInOrOutToolTipButton(_s.zoomOut_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 80); } }; _s.startZoomOutWithDelay = function(){ _s.zoomWithButtonsId_int = setInterval(_s.zoomOutWithButtonsDispatchEvent, 16); }; _s.zoomOutWithButtonsDispatchEvent = function(withPause){ if(!_s.isScrollBarActive_bl && _s.showButtonsLabels_bl){ setTimeout(function(){ if(_s == null) return; var percent = (_s.finalHandlerX + _s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); if(_s.scrollBarHandlerToolTip_do) _s.scrollBarHandlerToolTip_do.setLabel(_s.scrollBarHandlerToolTip_do.toolTipLabel_str + (Math.round(percent * 100)) + "%"); if(_s.showZoomInOrOutToolTipButton) _s.showZoomInOrOutToolTipButton(_s.zoomOut_do, _s.scrollBarHandlerToolTip_do, _s.zoomInAndOutToolTipOffsetY); }, 50); }; if(withPause){ _s.dispatchEvent(FWDMController.ZOOM_WITH_BUTTONS, {dir:-1, withPause:true}); }else{ _s.dispatchEvent(FWDMController.ZOOM_WITH_BUTTONS, {dir:-1, withPause:false}); } }; _s.zoomOutWithButtonsEndHandler = function(e){ var viewportMouseCoordinates; clearInterval(_s.zoomWithButtonsId_int); clearTimeout(_s.zoomWithButtonsId_to); _s.isZoomInOrOutPressed_bl = false; if(_s.zoomOut_do && e){ _s.zoomOut_do.isSelectedFinal_bl = false; viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); if(!FWDMUtils.hitTest(_s.zoomOut_do.screen, viewportMouseCoordinates.screenX, viewportMouseCoordinates.screenY)){ _s.zoomOut_do.onMouseOut(e); } } _s.dispatchEvent(FWDMController.ENABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.removeEventListener("MSPointerUp", _s.zoomOutWithButtonsEndHandler); }else{ window.removeEventListener("touchend", _s.zoomOutWithButtonsEndHandler); } }else{ if(window.removeEventListener){ window.removeEventListener("mouseup", _s.zoomOutWithButtonsEndHandler); }else if(document.detachEvent){ document.detachEvent("onmouseup", _s.zoomOutWithButtonsEndHandler); } } }; //##########################################// // Scrollbar handler... //##########################################// _s.handlerOnMouseOver = function(e){ if(_s.showButtonsLabels_bl){ _s.positionAndSetLabelScrollBarHandler(); _s.scrollBarHandlerToolTip_do.show(); } }; _s.handlerOnMouseOut = function(e){ if(_s.showButtonsLabels_bl && !_s.isHandlerClicked_bl) _s.scrollBarHandlerToolTip_do.hide(); }; _s.handlerDragStartHandler = function(e){ e = e.e; if(_s.isMobile_bl){ _s.handlerDragEndHandler(e); if(_s.moveLeftButton_do || _s.moveLeftButton_do) _s.panEndHandler(e); } var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.lastPresedX = viewportMouseCoordinates.screenX; _s.scrollBarHandlerXPositionOnPress = _s.scrollBarHandler_do.getX(); _s.scrollBarHandler_do.isSelectedFinal_bl = true; _s.dispatchEvent(FWDMController.DISABLE_PAN_OR_MOVE); if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerMove", _s.handlerDragMoveHandler); window.addEventListener("MSPointerUp", _s.handlerDragEndHandler); }else{ window.addEventListener("touchmove", _s.handlerDragMoveHandler); window.addEventListener("touchend", _s.handlerDragEndHandler); } }else{ _s.scrollBarHandler_do.isSelectedFinal_bl = true; if(window.addEventListener){ window.addEventListener("mousemove", _s.handlerDragMoveHandler); window.addEventListener("mouseup", _s.handlerDragEndHandler); }else if(document.attachEvent){ document.attachEvent("onmousemove", _s.handlerDragMoveHandler); document.attachEvent("onmouseup", _s.handlerDragEndHandler); } } }; _s.handlerDragMoveHandler = function(e){ if(e.preventDefault) e.preventDefault(); _s.isHandlerClicked_bl = true; var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.finalHandlerX = Math.round(_s.scrollBarHandlerXPositionOnPress + viewportMouseCoordinates.screenX - _s.lastPresedX); if(_s.finalHandlerX <= -_s.scrollBarHandlerOffsetX){ _s.finalHandlerX = -_s.scrollBarHandlerOffsetX; }else if(_s.finalHandlerX >= _s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX){ _s.finalHandlerX = _s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX; } var percent = (_s.finalHandlerX+_s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); if(_s.scrollBarProgres_do){ _s.scrollBarProgres_do.setWidth(Math.max(0,_s.finalHandlerX + 10)); }else{ _s.scrollBarProgressMiddle_do.setWidth(Math.max(0,_s.finalHandlerX)); } _s.scrollBarHandler_do.setX(_s.finalHandlerX); _s.positionAndSetLabelScrollBarHandler(); _s.dispatchEvent(FWDMController.SCROLL_BAR_UPDATE, {percent:percent}); }; _s.handlerDragEndHandler = function(e){ var viewportMouseCoordinates; _s.isHandlerClicked_bl = false; _s.dispatchEvent(FWDMController.ENABLE_PAN_OR_MOVE); viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); if(!FWDMUtils.hitTest(_s.scrollBarHandler_do.screen, viewportMouseCoordinates.screenX, viewportMouseCoordinates.screenY)){ _s.scrollBarHandler_do.onMouseOut(e); if(_s.showButtonsLabels_bl) _s.scrollBarHandlerToolTip_do.hide(); _s.scrollBarHandler_do.setUnselctedFinal(); } _s.scrollBarHandler_do.isSelectedFinal_bl = false; if(_s.isMobile_bl){ if(_s.hasPointerEvent_bl){ window.removeEventListener("MSPointerMove", _s.handlerDragMoveHandler); window.removeEventListener("MSPointerUp", _s.handlerDragEndHandler); }else{ window.removeEventListener("touchmove", _s.handlerDragMoveHandler); window.removeEventListener("touchend", _s.handlerDragEndHandler); } }else{ if(window.removeEventListener){ window.removeEventListener("mousemove", _s.handlerDragMoveHandler); window.removeEventListener("mouseup", _s.handlerDragEndHandler); }else if(document.detachEvent){ document.detachEvent("onmousemove", _s.handlerDragMoveHandler); document.detachEvent("onmouseup", _s.handlerDragEndHandler); } } }; _s.updateScrollBar = function(percent, animate){ if(!_s.scrollBarHandler_do) return; _s.finalHandlerX = -_s.scrollBarHandlerOffsetX + Math.round(percent * (_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2)); if(!_s.isScrollBarActive_bl) return if(_s.finalHandlerX <= -_s.scrollBarHandlerOffsetX){ _s.finalHandlerX = -_s.scrollBarHandlerOffsetX; }else if(_s.finalHandlerX >= _s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX){ _s.finalHandlerX = _s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX; } FWDAnimation.killTweensOf(_s.scrollBarHandler_do); FWDAnimation.killTweensOf(_s.scrollBarProgressMiddle_do); if(animate){ FWDAnimation.to(_s.scrollBarHandler_do, .2, {x:_s.finalHandlerX, onUpdate:_s.positionAndSetLabelScrollBarHandler, onComplete:_s.positionAndSetLabelScrollBarHandler}); if(_s.scrollBarProgres_do){ FWDAnimation.to(_s.scrollBarProgres_do, .2, {w:Math.max(0,_s.finalHandlerX + 10)}); }else{ FWDAnimation.to(_s.scrollBarProgressMiddle_do, .2, {w:Math.max(0,_s.finalHandlerX)}); } }else{ FWDAnimation.killTweensOf(_s.scrollBarHandler_do); _s.scrollBarHandler_do.setX(_s.finalHandlerX); if(_s.scrollBarProgres_do){ _s.scrollBarProgres_do.setWidth(Math.max(0,_s.finalHandlerX + 10)); }else{ _s.scrollBarProgressMiddle_do.setWidth(Math.max(0,_s.finalHandlerX)); } } }; //###############################// //Position scrollbar handler. //###############################// _s.positionAndSetLabelScrollBarHandler = function(){ if(!_s.showButtonsLabels_bl || !_s.isScrollBarActive_bl) return; var finalX = 0; var finalY = 0; var percent = (_s.finalHandlerX + _s.scrollBarHandlerOffsetX)/(_s.scrollBarTotalWidth - _s.scrollBarHandlerWidth + _s.scrollBarHandlerOffsetX * 2); var globalX = _s.getGlobalX(); _s.scrollBarHandlerToolTip_do.setLabel(_s.scrollBarHandlerToolTip_do.toolTipLabel_str + (Math.round(percent * 100)) + "%"); setTimeout(function(){ if(_s == null || !_s.scrollBarHandlerToolTip_do.isShowed_bl) return finalX = parseInt(_s.scrollBarHandler_do.getX() + _s.scrollBar_do.getX() + (_s.scrollBarHandlerWidth - _s.scrollBarHandlerToolTip_do.totalWidth)/2); if(_s.controllerVerticalPosition_str == FWDMController.POSITION_BOTTOM){ finalY = - _s.scrollBarHandlerToolTip_do.totalHeight - _s.scrollBarHandlerToolTipOffsetY; }else{ finalY = _s.curHeight + _s.scrollBarHandlerToolTipOffsetY; } if(globalX + finalX < 0) finalX = 0; _s.scrollBarHandlerToolTip_do.setX(finalX); _s.scrollBarHandlerToolTip_do.setY(finalY); }, 51); }; //#####################################// /* add keyboard support */ //####################################// _s.addKeyboardSupport = function(){ if(document.addEventListener){ window.addEventListener("keydown", _s.onKeyDownHandler); window.addEventListener("keyup", _s.onKeyUpHandler); }else if(document.attachEvent){ document.attachEvent("onkeydown", _s.onKeyDownHandler); document.attachEvent("onkeyup", _s.onKeyUpHandler); } }; _s.onKeyDownHandler = function(e){ if(prt.hibernate_bl) return; if(_s.isKeyPressed_bl) return; if(e && e.keyCode == 39){ _s.isKeyPressed_bl = true; _s.moveRightButtonStartHandler(e); if(e.preventDefault){ e.preventDefault(); }else{ return false; } }else if(e.keyCode == 37){ _s.isKeyPressed_bl = true; _s.moveLeftButtonStartHandler(e); if(e.preventDefault){ e.preventDefault(); }else{ return false; } }if(e && e.keyCode == 38){ _s.isKeyPressed_bl = true; _s.moveUpButtonStartHandler(e); if(e.preventDefault){ e.preventDefault(); }else{ return false; } }else if(e.keyCode == 40){ _s.isKeyPressed_bl = true; _s.moveDownButtonStartHandler(e); if(e.preventDefault){ e.preventDefault(); }else{ return false; } } }; _s.onKeyUpHandler = function(e){ _s.isKeyPressed_bl = false; _s.panEndHandler(e); }; //###############################// //Hide / show. //###############################// _s.hide = function(animate){ if(_s.controllerVerticalPosition_str == FWDMController.POSITION_BOTTOM){ if(animate){ FWDAnimation.to(_s.mainHolder_do, 1, {y:_s.curHeight + _s.controllerOffsetY, ease:Expo.easeInOut}); }else{ _s.mainHolder_do.setY(_s.curHeight + _s.controllerOffsetY); } }else if(_s.controllerVerticalPosition_str == FWDMController.POSITION_TOP){ if(animate){ FWDAnimation.to(_s.mainHolder_do, 1, {y:-_s.curHeight - _s.controllerOffsetY, ease:Expo.easeInOut}); }else{ _s.mainHolder_do.setY(-_s.curHeight - _s.controllerOffsetY); } } }; _s.show = function(){ _s.mainHolder_do.setVisible(true); FWDAnimation.to(_s.mainHolder_do, 1, {y:0, ease:Expo.easeInOut}); }; //######################################################// /* show tool tip */ //######################################################// _s.showToolTipButton = function(button, toolTip, offsetY){ if(_s.showButtonsLabels_bl){ var finalX; var finalY; var globalX = _s.mainHolder_do.getX(); var pointerOffsetX = 0; if(_s.showButtonsLabels_bl) toolTip.show(); setTimeout(function(){ if(_s == null || !toolTip.isShowed_bl) return finalX = parseInt(button.getX() + (_s.buttonWidth - toolTip.totalWidth)/2); if(_s.controllerVerticalPosition_str == FWDMController.POSITION_BOTTOM){ finalY = -toolTip.totalHeight - offsetY + _s.hideCtrlBtnY; }else{ finalY = _s.curHeight + offsetY + _s.hideCtrlBtnY; } if(globalX + finalX < 0){ pointerOffsetX = globalX + finalX; finalX = finalX + Math.abs((globalX + finalX)); }else if(globalX + _s.curWidth - finalX - toolTip.totalWidth < 0){ pointerOffsetX = -(globalX + _s.curWidth - finalX - toolTip.totalWidth); finalX = finalX + globalX + _s.curWidth - finalX - toolTip.totalWidth; } toolTip.setX(finalX); toolTip.setY(finalY); toolTip.positionPointer(pointerOffsetX); }, 51); } }; _s.showZoomInOrOutToolTipButton = function(button, toolTip, offsetY){ if(_s.showButtonsLabels_bl){ var finalX; var finalY; var globalX = _s.mainHolder_do.getX(); var pointerOffsetX = 0; setTimeout(function(){ if(_s == null) return finalX = parseInt(button.getX() + (_s.zoomButtonHeight - toolTip.totalWidth)/2); if(_s.controllerVerticalPosition_str == FWDMController.POSITION_BOTTOM){ finalY = - toolTip.totalHeight - offsetY; }else{ finalY = _s.curHeight + offsetY; } if(globalX + finalX < 0){ pointerOffsetX = globalX + finalX; finalX = finalX + Math.abs((globalX + finalX)); }else if(globalX + _s.curWidth - finalX - toolTip.totalWidth < 0){ pointerOffsetX = -(globalX + _s.curWidth - finalX - toolTip.totalWidth); finalX = finalX + globalX + _s.curWidth - finalX - toolTip.totalWidth; } toolTip.setX(finalX); toolTip.setY(finalY); toolTip.positionPointer(pointerOffsetX); }, 51); } }; //#####################################// /* Disable / enable the move buttons */ //#####################################// _s.disableUpAndDownButtons = function(){ if(_s.moveUpButton_do) _s.moveUpButton_do.disable(); if(_s.moveDownButton_do) _s.moveDownButton_do.disable(); }; _s.enableUpAndDownButtons = function(){ if(_s.moveUpButton_do) _s.moveUpButton_do.enable(); if(_s.moveDownButton_do) _s.moveDownButton_do.enable(); }; _s.disableLeftAndRightButtons = function(){ if(_s.moveLeftButton_do) _s.moveLeftButton_do.disable(); if(_s.moveRightButton_do) _s.moveRightButton_do.disable(); }; _s.enableLeftAndRightButtons = function(){ if(_s.moveLeftButton_do) _s.moveLeftButton_do.enable(); if(_s.moveRightButton_do) _s.moveRightButton_do.enable(); }; //###############################// //Clean main events. //###############################// _s.cleanMainEvents = function(){ clearInterval(_s.panImageId_int); clearInterval(_s.zoomWithButtonsId_int); clearInterval(_s.slideShowId_int); clearTimeout(_s.gotoImageId_to); clearTimeout(_s.zoomWithButtonsId_to); clearTimeout(_s.showId_to); clearTimeout(_s.disableForAWhileHideOrShowControllerToolTipId_to); if(_s.hider){ _s.hider.removeListener(FWDMHider.SHOW, _s.onHiderShow); _s.hider.removeListener(FWDMHider.HIDE, _s.onHiderHide); } _s.screen.onmousedown = null; if(_s.isMobile_bl){ window.removeEventListener("touchend", _s.panEndHandler); window.removeEventListener("MSPointerUp", _s.panEndHandler); window.removeEventListener("touchend", _s.zoomInWithButtonsEndHandler); window.removeEventListener("MSPointerUp", _s.zoomInWithButtonsEndHandler); window.removeEventListener("touchend", _s.zoomOutWithButtonsEndHandler); window.removeEventListener("MSPointerUp", _s.zoomOutWithButtonsEndHandler); window.removeEventListener("touchmove", _s.handlerDragMoveHandler); window.removeEventListener("touchend", _s.handlerDragEndHandler); window.removeEventListener("MSPointerMove", _s.handlerDragMoveHandler); window.removeEventListener("MSPointerUp", _s.handlerDragEndHandler); }else{ if(window.removeEventListener){ window.removeEventListener("mouseup", _s.panEndHandler); window.removeEventListener("mouseup", _s.zoomInWithButtonsEndHandler); window.removeEventListener("mouseup", _s.zoomOutWithButtonsEndHandler); window.removeEventListener("mousemove", _s.handlerDragMoveHandler); window.removeEventListener("mouseup", _s.handlerDragEndHandler); window.removeEventListener("keydown", _s.onKeyDownHandler); window.removeEventListener("keyup", _s.onKeyUpHandler); }else if(document.detachEvent){ document.detachEvent("onmouseup", _s.panEndHandler); document.detachEvent("onmouseup", _s.zoomInWithButtonsEndHandler); document.detachEvent("onmouseup", _s.zoomOutWithButtonsEndHandler); document.detachEvent("onmousemove", _s.handlerDragMoveHandler); document.detachEvent("onmouseup", _s.handlerDragEndHandler); document.detachEvent("onkeydown", _s.onKeyDownHandler); document.detachEvent("onkeyup", _s.onKeyUpHandler); } } }; //##############################// /* destroy */ //##############################// _s.destroy = function(){ _s.cleanMainEvents(); FWDAnimation.killTweensOf(_s.mainHolder_do); _s.mainHolder_do.destroy(); if(_s.backgroundLeft_sdo){ _s.backgroundLeft_sdo.destroy(); _s.backgroundMiddle_sdo.destroy(); _s.backgroundRight_sdo.destroy(); } if(_s.moveDownButton_do) _s.moveDownButton_do.destroy(); if(_s.moveUpButton_do) _s.moveUpButton_do.destroy(); if(_s.moveRightButton_do) _s.moveRightButton_do.destroy(); if(_s.moveLeftButton_do) _s.moveLeftButton_do.destroy(); if(_s.hideOrShowMarkersButton_do) _s.hideOrShowMarkersButton_do.destroy(); if(_s.infoButton_do) _s.infoButton_do.destroy(); if(_s.hideShowControllerButton_do){ FWDAnimation.killTweensOf(_s.hideShowControllerButton_do); _s.hideShowControllerButton_do.destroy(); } if(_s.fullScreenButton_do) _s.fullScreenButton_do.destroy(); if(_s.zoomIn_do) _s.zoomIn_do.destroy(); if(_s.zoomOut_do) _s.zoomOut_do.destroy(); if(_s.scrollBar_do) _s.scrollBar_do.destroy(); if(_s.scrollBarLeft_sdo) _s.scrollBarLeft_sdo.destroy(); if(_s.scrollBarRight_sdo) _s.scrollBarRight_sdo.destroy(); if(_s.scrollBarMiddle_sdo) _s.scrollBarMiddle_sdo.destroy(); if(_s.scrollBarHandler_do){ FWDAnimation.killTweensOf(_s.scrollBarHandler_do); _s.scrollBarHandler_do.destroy(); } if(_s.scrollBarHandlerN_sdo) _s.scrollBarHandlerN_sdo.destroy(); if(_s.scrollBarHandlerS_sdo) _s.scrollBarHandlerS_sdo.destroy(); if(_s.moveDownButtonTooTipLabel_do) _s.moveDownButtonTooTipLabel_do.destroy(); if(_s.scrollBarHandlerToolTip_do) _s.scrollBarHandlerToolTip_do.destroy(); if(_s.moveUpButtonToolTip_do) _s.moveUpButtonToolTip_do.destroy(); if(_s.nextButtonToolTip_do) _s.nextButtonToolTip_do.destroy(); if(_s.moveLeftButtonToolTip_do) _s.moveLeftButtonToolTip_do.destroy(); if(_s.hideOrShowMarkersToolTip_do) _s.hideOrShowMarkersToolTip_do.destroy(); if(_s.infoToolTip_do) _s.infoToolTip_do.destroy(); if(_s.hideOrShowControllerToolTip_do) _s.hideOrShowControllerToolTip_do.destroy(); if(_s.fullscreenToolTip_do) _s.fullscreenToolTip_do.destroy(); _s.buttonsTest_ar = null; _s.buttons_ar = null; _s.hider = null; _s.mainHolder_do = null; _s.backgroundLeft_sdo = null; _s.backgroundMiddle_sdo = null; _s.backgroundRight_sdo = null; _s.moveDownButton_do = null; _s.moveUpButton_do = null; _s.moveRightButton_do = null; _s.moveLeftButton_do = null; _s.hideOrShowMarkersButton_do = null; _s.infoButton_do = null; _s.hideShowControllerButton_do = null; _s.fullScreenButton_do = null; _s.zoomIn_do = null; _s.zoomOut_do = null; _s.scrollBar_do = null; _s.scrollBarLeft_sdo = null; _s.scrollBarRight_sdo = null; _s.scrollBarMiddle_sdo = null; _s.scrollBarHandler_do = null; _s.scrollBarHandlerN_sdo = null; _s.scrollBarHandlerS_sdo = null; _s.moveDownButtonTooTipLabel_do = null; _s.scrollBarHandlerToolTip_do = null; _s.moveUpButtonToolTip_do = null; _s.nextButtonToolTip_do = null; _s.moveLeftButtonToolTip_do = null; _s.hideOrShowMarkersToolTip_do = null; _s.infoToolTip_do = null; _s.hideOrShowControllerToolTip_do = null; _s.fullscreenToolTip_do = null; _s.backgroundLeft_img = null; _s.backgroundRight_img = null; _s.downN_img = null; _s.downS_img = null; _s.upN_img = null; _s.upS_img = null; _s.nextN_img = null; _s.nextS_img = null; _s.prevN_img = null; _s.prevS_img = null; _s.controllerHideMarkersN_img = null; _s.controllerHideMarkersS_img = null; _s.controllerShowMarkersN_img = null; _s.controllerShowMarkersS_img = null; _s.infoN_img = null; _s.infoS_img = null; _s.linkN_img = null; _s.linkS_img = null; _s.fullScreenNormalN_img = null; _s.fullScreenNormalS_img = null; _s.fullScreenFullN_img = null; _s.fullScreenFullS_img = null; _s.zoomInN_img = null; _s.zoomInS_img = null; _s.zoomOutN_img = null; _s.zoomOutS_img = null; _s.scrollBarHandlerN_img = null; _s.scrollBarHandlerS_img = null; _s.scrollBarLeft_img = null; _s.scrollBarRight_img = null; _s.toolTipLeft_img = null; _s.toolTipPointer_img = null; _s.backgroundMiddlePath_str = null; _s.scrollBarMiddlePath_str = null; _s.draggingMode_str = null; _s.controllerVerticalPosition_str = null; _s.buttonToolTipLeft_str = null; _s.buttonToolTipMiddle_str = null; _s.buttonToolTipRight_str = null; _s.link_str = null; _d = null; prt = null; _s.setInnerHTML(""); prototype.destroy(); _s = null; prototype = null; FWDMController.prototype = null; }; _s.init(); }; /* set prototype */ FWDMController.setPrototype = function(){ FWDMController.prototype = new FWDMDisplayObject("div"); }; FWDMController.SHOW_INFO = "showInfo"; FWDMController.POSITION_TOP = "top"; FWDMController.POSITION_BOTTOM = "bottom"; FWDMController.PAN = "pan"; FWDMController.DISABLE_PAN_OR_MOVE = "disablePanOrMove"; FWDMController.ENABLE_PAN_OR_MOVE = "enablePanOrMove"; FWDMController.SCROLL_BAR_UPDATE = "scrollBarUpdate"; FWDMController.ZOOM_WITH_BUTTONS = "zoomWithButtons"; FWDMController.ZOOM_IN = "zoomIn"; FWDMController.ZOOM_OUT = "zoomOut"; FWDMController.PAN = "pan"; FWDMController.ROTATE = "rotate"; FWDMController.HIDE_MARKERS = "hideMarkers"; FWDMController.SHOW_MARKERS = "showMarkers"; FWDMController.GO_FULL_SCREEN = "goFullScreen"; FWDMController.GO_NORMAL_SCREEN = "goNormalScreen"; FWDMController.MOUSE_DOWN = "controllerOnMouseDown"; FWDMController.HIDE_CONTROLLER = "hideController"; FWDMController.SHOW_CONTROLLER = "showController"; FWDMController.prototype = null; window.FWDMController = FWDMController; }());