/* FWDMDescriptionWindow */ (function (window){ var FWDMDescriptionWindow = function(parent, data){ var _s = this; var prototype = FWDMDescriptionWindow.prototype; if(!data.showInfoWindow) return; _s.infoWindowCloseNormal_img = data.infoWindowCloseNormal_img; _s.infoWindowCloseSelected_img = data.infoWindowCloseSelected_img; _s.close_do = null; _s.background_sdo = null; _s.mainContentHolder_do = null; _s.dumyHolder_do = null; _s.contentHolder_do = null; _s.scrollBar_do = null; _s.scrollBarTrack_sdo = null; _s.scrollBarHandler_sdo = null; _s.mainBackgroundColor_str = data.infoWindowBackgroundColor_str; _s.scrollBarHandlerColor = data.infoWindowScrollBarColor_str; _s.scrollBarTrackColor = data.infoWindowScrollBarColor_str; _s.scrollBarTrackOpacity = .6; _s.toolTipWindowId = "none"; _s.backgroundOpacity = data.infoWindowBackgroundOpacity; _s.mainContentHolderWidth; _s.mainContentHolderHeight; _s.contentHolderHeight; _s.scrollBarHandlerFinalY; _s.mainContentFinalX = 0; _s.mainContentFinalY = 0; _s.contentFinalX = 0; _s.contentFinalY = 0; _s.headerFinalY = 0; _s.contentHeight; _s.maxWidth = data.infoWindowWidth; _s.offestWidth = 0; _s.offsetHeight = 0; _s.stageWidth; _s.stageHeight; _s.scrollBarHeight = 0; _s.scrollBarWidth = 4; _s.scrollBarHandlerHeight; _s.scrollBarBorderRadius = 15; _s.yPositionOnPress; _s.lastPresedY; _s.closeButtonWidth = 0; _s.closeButtonHeight = 0; _s.vy = 0; _s.vy2 = 0; _s.friction = .9; _s.hideWithDelayId_do; _s.showOrHideWithDelayId_to; _s.hideCompleteId_to; _s.updateMobileScrollBarId_int; _s.isShowed_bl = true; _s.isDragging_bl = false; _s.allowToScroll_bl = true; _s.isMobile_bl = FWDMUtils.isMobile; _s.hasPointerEvent_bl = FWDMUtils.hasPointerEvent; //##########################################// /* initialize _s */ //##########################################// _s.init = function(){ _s.setOverflow("visible"); _s.setupMainContainers(); if(_s.isMobile_bl){ _s.setupMobileScrollbar(); }else{ _s.setupPCScrollBar(); _s.addMouseWheelSupport(); } _s.setupCloseButton(); _s.hide(false); }; //##########################################// /* position and resize */ //##########################################// _s.resizeAndPosition = function(){ if(_s.stageWidth == parent.stageWidth && _s.stageHeight == parent.stageHeight) return; _s.stageWidth = parent.stageWidth; _s.stageHeight = parent.stageHeight; _s.background_sdo.setWidth(_s.stageWidth); _s.background_sdo.setHeight(_s.stageHeight); _s.updateSize(); }; //##########################################// /* setup main containers */ //##########################################// _s.setupMainContainers = function(){ _s.background_sdo = new FWDMSimpleDisplayObject("div"); _s.background_sdo.setBkColor(_s.mainBackgroundColor_str); _s.addChild(_s.background_sdo); _s.mainContentHolder_do = new FWDMDisplayObject("div"); _s.mainContentHolder_do.setBackfaceVisibility(); _s.dumyHolder_do = new FWDMDisplayObject("div"); _s.dumyHolder_do.setBackfaceVisibility(); _s.addChild(_s.dumyHolder_do); _s.dumyHolder_do.addChild(_s.mainContentHolder_do); _s.contentHolder_do = new FWDMDisplayObject("div"); _s.contentHolder_do.getStyle().width = '100%'; _s.contentHolder_do.setOverflow("visible"); _s.in1_do = new FWDMDisplayObject('div', 'relative'); _s.in1_do.screen.className = 'fwdm-info-window'; _s.in1_do.getStyle().overflow = 'visible'; _s.in1_do.getStyle().boxSizing = 'border-box'; _s.in1_do.getStyle().width = '100%'; _s.in1_do.getStyle().padding = '20px'; _s.in2_do = new FWDMDisplayObject("div", 'relative'); _s.in2_do.screen.className = 'fwdm-info-window-in'; _s.in2_do.getStyle().boxSizing = 'border-box'; _s.in2_do.getStyle().width = '100%'; _s.in2_do.getStyle().padding = '30px'; _s.in1_do.addChild(_s.in2_do); _s.contentHolder_do.addChild(_s.in1_do); _s.contentHolder_do.setBackfaceVisibility(); _s.mainContentHolder_do.addChild(_s.contentHolder_do); }; //########################################// /* Setup close button */ //#######################################// _s.setupCloseButton = function(){ FWDMSimpleButton.setPrototype(); if(data.useVectorIcons){ _s.close_do = new FWDMSimpleButton( 0, 0, "", "fwdm-skin-vector-close-button-icon-normal", "fwdm-skin-vector-close-button-icon-selected" ); setTimeout(function(){ if(_s == null) return; _s.closeButtonWidth = _s.close_do.w; _s.closeButtonHeight = _s.close_do.h; }, 351); }else{ _s.close_do = new FWDMSimpleButton(_s.infoWindowCloseNormal_img, _s.infoWindowCloseSelected_img); _s.closeButtonWidth = _s.infoWindowCloseNormal_img.width; _s.closeButtonHeight = _s.infoWindowCloseNormal_img.height; } _s.close_do.addListener(FWDMSimpleButton.MOUSE_DOWN, _s.closeButtonStartHandler); _s.mainContentHolder_do.addChild(_s.close_do); }; _s.closeButtonStartHandler = function(e){ if(!_s.isShowed_bl) return; _s.hide(true); }; //########################################// /* update content size */ //########################################// _s.updateSize = function(){ _s.mainContentHolderWidth = _s.stageWidth - _s.offestWidth; if(_s.mainContentHolderWidth > _s.maxWidth) _s.mainContentHolderWidth = _s.maxWidth; _s.mainContentHolder_do.setWidth(_s.mainContentHolderWidth); _s.dumyHolder_do.setWidth(_s.stageWidth); _s.dumyHolder_do.setHeight(_s.stageHeight); if(_s.isMobile_bl){ setTimeout(function(){ if(_s == null) return; FWDAnimation.killTweensOf(_s.mainContentHolder_do); _s.contentHolderHeight = _s.contentHolder_do.getHeight(); _s.mainContentHolderHeight = Math.min(_s.stageHeight, _s.contentHolderHeight); _s.mainContentFinalX = Math.round((_s.stageWidth - _s.mainContentHolderWidth)/2); if(_s.stageHeight > _s.contentHolderHeight){ _s.mainContentFinalY = Math.round((_s.stageHeight - _s.contentHolderHeight)/2); _s.allowToScroll_bl = false; }else{ _s.mainContentFinalY = 0; _s.allowToScroll_bl = true; } _s.updateMobileScrollBarWithoutAnimation(); FWDAnimation.killTweensOf(_s.mainContentHolder_do); _s.mainContentHolder_do.setX(_s.mainContentFinalX); _s.mainContentHolder_do.setY(_s.mainContentFinalY); _s.mainContentHolder_do.setHeight(_s.mainContentHolderHeight); }, 50); }else{ setTimeout(function(){ if(_s == null) return; FWDAnimation.killTweensOf(_s.mainContentHolder_do); _s.contentHolderHeight = _s.contentHolder_do.getHeight(); _s.mainContentHolderHeight = _s.stageHeight; _s.mainContentFinalX = Math.round((_s.stageWidth - _s.mainContentHolderWidth)/2); _s.scrollBarHeight = Math.min(_s.contentHolderHeight - 20 - _s.closeButtonHeight, _s.stageHeight - 20 - _s.closeButtonHeight); if(_s.stageHeight > _s.contentHolderHeight){ _s.scrollBar_do.setOverflow("hidden"); _s.mainContentHolderHeight = _s.contentHolderHeight; _s.scrollBarHandler_sdo.setY(0); _s.mainContentFinalY = Math.round((_s.stageHeight - _s.contentHolderHeight)/2) ; _s.allowToScroll_bl = false; }else{ _s.mainContentFinalY = 0; _s.scrollBar_do.setOverflow("visible"); _s.scrollBar_do.setY(_s.closeButtonHeight - 3); _s.allowToScroll_bl = true; } if(_s.stageHeight < 120) _s.mainContentFinalY = 0; _s.scrollBarHandlerHeight = Math.min((_s.scrollBarHeight - 20), (_s.stageHeight/_s.contentHolderHeight) * (_s.scrollBarHeight - 20)); if(_s.scrollBarHandlerHeight > 500){ _s.scrollBarHandlerHeight = 500; } _s.scrollBar_do.setX(_s.mainContentHolderWidth - _s.scrollBarWidth - 2); _s.scrollBarTrack_sdo.setHeight(Math.max(_s.scrollBarHeight, _s.scrollBarHandlerHeight)); _s.scrollBarHandler_sdo.setHeight(_s.scrollBarHandlerHeight); FWDAnimation.killTweensOf(_s.mainContentHolder_do); _s.mainContentHolder_do.setX(_s.mainContentFinalX); _s.mainContentHolder_do.setY(_s.mainContentFinalY); _s.mainContentHolder_do.setHeight(_s.mainContentHolderHeight); _s.updatePCHandler(false); }, 50); } //if(_s.stageHeight > _s.contentHolderHeight){ _s.close_do.setX(_s.mainContentHolderWidth - _s.closeButtonWidth - 30); _s.close_do.setY(30); //}else{ // _s.close_do.setX(_s.mainContentHolderWidth - _s.closeButtonWidth - 23); // _s.close_do.setY(23); //} }; //##########################################// /* set label */ //##########################################// _s.setText = function(text){ if(_s == null) return; _s.updateSize(); _s.in2_do.setInnerHTML(text); setTimeout(_s.updateSize, 200); }; //#########################################// /* Setup PC scrollbar */ //#########################################// _s.setupPCScrollBar = function(){ _s.scrollBar_do = new FWDMDisplayObject("div"); _s.scrollBar_do.setOverflow("visible"); _s.mainContentHolder_do.addChild(_s.scrollBar_do); _s.scrollBarTrack_sdo = new FWDMSimpleDisplayObject("div"); _s.scrollBarTrack_sdo.setWidth(_s.scrollBarWidth); _s.scrollBarTrack_sdo.setBkColor(_s.scrollBarTrackColor); _s.scrollBarTrack_sdo.setAlpha(0); _s.scrollBarTrack_sdo.getStyle().borderRadius = _s.scrollBarBorderRadius + "px"; _s.scrollBar_do.addChild(_s.scrollBarTrack_sdo); _s.scrollBarHandler_sdo = new FWDMSimpleDisplayObject("div"); _s.scrollBarHandler_sdo.setButtonMode(true); _s.scrollBarHandler_sdo.setWidth(_s.scrollBarWidth); _s.scrollBarHandler_sdo.getStyle().borderRadius = _s.scrollBarBorderRadius + "px"; _s.scrollBarHandler_sdo.setBkColor(_s.scrollBarHandlerColor); _s.scrollBarHandler_sdo.setAlpha(.5); if(_s.scrollBarHandler_sdo.screen.addEventListener){ _s.scrollBarHandler_sdo.screen.addEventListener("mouseover", _s.scrollBarHandlerOnMouseOver); _s.scrollBarHandler_sdo.screen.addEventListener("mouseout", _s.scrollBarHandlerOnMouseOut); _s.scrollBarHandler_sdo.screen.addEventListener("mousedown", _s.scrollBarHandlerOnMouseDown); }else if(_s.screen.attachEvent){ _s.scrollBarHandler_sdo.screen.attachEvent("onmouseover", _s.scrollBarHandlerOnMouseOver); _s.scrollBarHandler_sdo.screen.attachEvent("onmouseout", _s.scrollBarHandlerOnMouseOut); _s.scrollBarHandler_sdo.screen.attachEvent("onmousedown", _s.scrollBarHandlerOnMouseDown); } _s.scrollBar_do.addChild(_s.scrollBarHandler_sdo); }; //descktop handler _s.scrollBarHandlerOnMouseOver = function(){ FWDAnimation.to(_s.scrollBarHandler_sdo, .2, {alpha:1, w:10}); FWDAnimation.to(_s.scrollBarTrack_sdo, .2, {alpha:.4, w:10}); FWDAnimation.to(_s.scrollBar_do, .2, {x:_s.mainContentHolderWidth - _s.scrollBarWidth - 6}); }; _s.scrollBarHandlerOnMouseOut = function(){ if(_s.isDragging_bl) return; FWDAnimation.to(_s.scrollBarHandler_sdo, .3, {alpha:.5, w:_s.scrollBarWidth}); FWDAnimation.to(_s.scrollBarTrack_sdo, .3, {alpha:0, w:_s.scrollBarWidth}); FWDAnimation.to(_s.scrollBar_do, .3, {x:_s.mainContentHolderWidth - _s.scrollBarWidth - 2}); }; _s.scrollBarHandlerOnMouseDown = function(e){ //if(_s.stageHeight < 120) return; if(!_s.allowToScroll_bl) return; var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.isDragging_bl = true; _s.yPositionOnPress = _s.scrollBarHandler_sdo.getY(); _s.lastPresedY = viewportMouseCoordinates.screenY; if(window.addEventListener){ window.addEventListener("mousemove", _s.scrollBarHandlerMoveHandler); window.addEventListener("mouseup", _s.scrollBarHandlerEndHandler); }else if(document.attachEvent){ document.attachEvent("onmousemove", _s.scrollBarHandlerMoveHandler); document.attachEvent("onmouseup", _s.scrollBarHandlerEndHandler); } }; _s.scrollBarHandlerMoveHandler = function(e){ if(e.preventDefault) e.preventDefault(); var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.scrollBarHandlerFinalY = Math.round(_s.yPositionOnPress + viewportMouseCoordinates.screenY - _s.lastPresedY); if(_s.scrollBarHandlerFinalY >= _s.scrollBarHeight - _s.scrollBarHandlerHeight){ _s.scrollBarHandlerFinalY = _s.scrollBarHeight - _s.scrollBarHandlerHeight; } if(_s.scrollBarHandlerFinalY <= 0) _s.scrollBarHandlerFinalY = 0; _s.scrollBarHandler_sdo.setY(_s.scrollBarHandlerFinalY); _s.updatePCHandler(true); }; _s.scrollBarHandlerEndHandler = function(e){ var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.isDragging_bl = false; if(!FWDMUtils.hitTest(_s.scrollBarHandler_sdo.screen, viewportMouseCoordinates.screenX, viewportMouseCoordinates.screenY)){ _s.scrollBarHandlerOnMouseOut(); } if(window.removeEventListener){ window.removeEventListener("mousemove", _s.scrollBarHandlerMoveHandler); window.removeEventListener("mouseup", _s.scrollBarHandlerEndHandler); }else if(document.detachEvent){ document.detachEvent("onmousemove", _s.scrollBarHandlerMoveHandler); document.detachEvent("onmouseup", _s.scrollBarHandlerEndHandler); } }; _s.updatePCHandler = function(animate){ var percent; var scrollPercent; //if(_s.stageHeight < 120) return; scrollPercent = (_s.scrollBarHandlerFinalY/(_s.scrollBarHeight - _s.scrollBarHandlerHeight)); if(scrollPercent == "Infinity") scrollPercent = 0; if(scrollPercent >= 1) scrollPercent = 1; if(_s.isDragging_bl){ _s.contentFinalY = parseInt(scrollPercent * (_s.stageHeight - _s.contentHolderHeight)); }else{ if(_s.scrollBarHandler_sdo.getY() < 0){ _s.scrollBarHandler_sdo.setY(0); }else if(_s.scrollBarHandler_sdo.getY() > _s.scrollBarHeight - _s.scrollBarHandlerHeight ){ _s.scrollBarHandler_sdo.setY(_s.scrollBarHeight - _s.scrollBarHandlerHeight); } percent = _s.scrollBarHandler_sdo.getY()/(_s.scrollBarHeight - _s.scrollBarHandlerHeight); if(isNaN(percent)) percent = 0; if(_s.stageHeight > _s.contentHolderHeight){ _s.contentFinalY = 0; }else{ _s.contentFinalY = Math.round((percent * (_s.scrollBarHeight - _s.scrollBarHandlerHeight))); _s.contentFinalY = Math.round(percent * (_s.stageHeight - _s.contentHolderHeight)); } } if(animate){ FWDAnimation.to(_s.contentHolder_do, .3, {y:Math.round(_s.contentFinalY)}); }else{ _s.contentHolder_do.setY(Math.round(_s.contentFinalY)); } }; //######################################// /* add mouse wheel support */ //######################################// _s.addMouseWheelSupport = function(){ if(window.addEventListener){ _s.screen.addEventListener ("mousewheel", _s.mouseWheelHandler); _s.screen.addEventListener('DOMMouseScroll', _s.mouseWheelHandler); }else if(document.attachEvent){ _s.screen.attachEvent ("onmousewheel", _s.mouseWheelHandler); } }; _s.mouseWheelHandler = function(e){ if(!_s.isShowed_bl) return; //if(_s.stageHeight < 120) return; if(_s.isDragging_bl) return; if(_s.stageHeight > _s.contentHolderHeight) return; var speedPercent = (_s.stageHeight/_s.contentHolderHeight); var dir = e.detail || e.wheelDelta; if(e.wheelDelta) dir *= -1; if(FWDMUtils.isOpera) dir *= -1; if(dir > 0){ _s.scrollBarHandler_sdo.setY(_s.scrollBarHandler_sdo.getY() + (45 * speedPercent)); }else if(dir < 0){ _s.scrollBarHandler_sdo.setY(_s.scrollBarHandler_sdo.getY() - (45 * speedPercent)); } _s.updatePCHandler(true); if(e.preventDefault){ e.preventDefault(); }else{ return false; } return; }; //##########################################// /* setup mobile scrollbar */ //##########################################// _s.setupMobileScrollbar = function(){ if(_s.hasPointerEvent_bl){ _s.screen.addEventListener("MSPointerDown", _s.scrollBarTouchStartHandler); }else{ _s.screen.addEventListener("touchstart", _s.scrollBarTouchStartHandler); } }; _s.scrollBarTouchStartHandler = function(e){ //if(e.preventDefault) e.preventDefault(); if(!_s.allowToScroll_bl) return; var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); _s.isDragging_bl = true; _s.lastPresedY = viewportMouseCoordinates.screenY; if(_s.hasPointerEvent_bl){ window.addEventListener("MSPointerUp", _s.scrollBarTouchEndHandler); window.addEventListener("MSPointerMove", _s.scrollBarTouchMoveHandler, {passive:false}); }else{ window.addEventListener("touchend", _s.scrollBarTouchEndHandler); window.addEventListener("touchmove", _s.scrollBarTouchMoveHandler, {passive:false}); } }; _s.scrollBarTouchMoveHandler = function(e){ if(e.preventDefault) e.preventDefault(); var viewportMouseCoordinates = FWDMUtils.getViewportMouseCoordinates(e); var toAdd = viewportMouseCoordinates.screenY - _s.lastPresedY; _s.contentFinalY += toAdd; _s.contentFinalY = Math.round(_s.contentFinalY); _s.contentHolder_do.setY(_s.contentFinalY); _s.lastPresedY = viewportMouseCoordinates.screenY; _s.vy = toAdd * 2; }; _s.scrollBarTouchEndHandler = function(e){ _s.isDragging_bl = false; if(_s.hasPointerEvent_bl){ window.removeEventListener("MSPointerUp", _s.scrollBarTouchEndHandler); window.removeEventListener("MSPointerMove", _s.scrollBarTouchMoveHandler); }else{ window.removeEventListener("touchend", _s.scrollBarTouchEndHandler); window.removeEventListener("touchmove", _s.scrollBarTouchMoveHandler); } }; _s.updateMobileScrollBar = function(animate){ if(!_s.isDragging_bl){ _s.vy *= _s.friction; _s.contentFinalY += _s.vy; if(_s.contentFinalY > 0){ _s.vy2 = (0 - _s.contentFinalY) * .3; _s.vy *= _s.friction; _s.contentFinalY += _s.vy2; }else if(_s.contentFinalY < _s.mainContentHolderHeight - _s.contentHolderHeight){ _s.vy2 = (_s.mainContentHolderHeight - _s.contentHolderHeight - _s.contentFinalY) * .3; _s.vy *= _s.friction; _s.contentFinalY += _s.vy2; } _s.contentHolder_do.setY(Math.round(_s.contentFinalY)); } }; _s.updateMobileScrollBarWithoutAnimation = function(){ if(_s.contentFinalY > 0){ _s.contentFinalY = 0; }else if(_s.contentFinalY < _s.mainContentHolderHeight - _s.contentHolderHeight){ _s.contentFinalY = _s.mainContentHolderHeight - _s.contentHolderHeight; } _s.contentHolder_do.setY(Math.round(_s.contentFinalY)); }; _s.activateScrollBar = function(){ if(_s.isMobile_bl){ _s.updateMobileScrollBarId_int = setInterval(_s.updateMobileScrollBar, 16); } }; //##########################################// /* show / hide*/ //##########################################// _s.show = function(text){ if(_s.isShowed_bl) return; _s.isShowed_bl = true; _s.resizeAndPosition(); _s.setText(text); _s.activateScrollBar(); if(FWDMUtils.isMobile){ FWDAnimation.to(_s.background_sdo, .8, {alpha:_s.backgroundOpacity, delay:.2}); _s.showOrHideWithDelayId_to = setTimeout(_s.showWithDelay, 1800); }else{ FWDAnimation.to(_s.background_sdo, .6, {alpha:_s.backgroundOpacity}); _s.showOrHideWithDelayId_to = setTimeout(_s.showWithDelay, 600); } _s.dispatchEvent(FWDMDescriptionWindow.SHOW_START); }; _s.showWithDelay = function(){ _s.dumyHolder_do.setX(0); if(_s.scrollBarHandler_sdo) _s.scrollBarHandler_sdo.setVisible(true); _s.mainContentHolder_do.setY(-_s.mainContentHolderHeight); FWDAnimation.to(_s.mainContentHolder_do, .8, {y:_s.mainContentFinalY, ease:Expo.easeInOut, onComplete:_s.showComplete}); }; _s.hide = function(animate, overwrite){ if(!_s.isShowed_bl && !overwrite) return; FWDAnimation.killTweensOf(_s.background_sdo); if(animate){ FWDAnimation.to(_s.mainContentHolder_do, .8, {y:_s.stageHeight, ease:Expo.easeInOut}); _s.showOrHideWithDelayId_to = setTimeout(_s.hideWithDelay, 800); }else{ _s.dumyHolder_do.setX(-3000); if(_s.scrollBarHandler_sdo) _s.scrollBarHandler_sdo.setVisible(false); _s.background_sdo.setAlpha(0); } clearInterval(_s.updateMobileScrollBarId_int); _s.isShowed_bl = false; }; _s.hideWithDelay = function(){ _s.in2_do.setInnerHTML(""); FWDAnimation.to(_s.background_sdo, .6, {alpha:0}); _s.hideCompleteId_to = setTimeout(_s.hideWithDelayComplete, 600); }; _s.hideWithDelayComplete = function(){ _s.contentFinalY = 0; if(_s.scrollBarHandler_sdo) _s.scrollBarHandler_sdo.setY(0); _s.dispatchEvent(FWDMDescriptionWindow.HIDE_COMPLETE); }; //###############################// /* clean main events */ //###############################// _s.cleanMainEvents = function(){ if(_s.screen.removeEventListener){ if(_s.scrollBarHandler_sdo){ _s.scrollBarHandler_sdo.screen.removeEventListener("mouseover", _s.scrollBarHandlerOnMouseOver); _s.scrollBarHandler_sdo.screen.removeEventListener("mouseout", _s.scrollBarHandlerOnMouseOut); _s.scrollBarHandler_sdo.screen.removeEventListener("mousedown", _s.scrollBarHandlerOnMouseDown); } window.removeEventListener("mousemove", _s.scrollBarHandlerMoveHandler); window.removeEventListener("mouseup", _s.scrollBarHandlerEndHandler); _s.screen.removeEventListener ("mousewheel", _s.mouseWheelHandler); _s.screen.removeEventListener('DOMMouseScroll', _s.mouseWheelHandler); _s.screen.addEventListener("MSPointerDown", _s.scrollBarTouchStartHandler); _s.screen.addEventListener("touchstart", _s.scrollBarTouchStartHandler); window.removeEventListener("MSPointerUp", _s.scrollBarTouchEndHandler); window.removeEventListener("MSPointerMove", _s.scrollBarTouchMoveHandler); window.removeEventListener("touchend", _s.scrollBarTouchEndHandler); window.removeEventListener("touchmove", _s.scrollBarTouchMoveHandler); }else if(_s.screen.detachEvent){ _s.scrollBarHandler_sdo.screen.detachEvent("onmouseover", _s.scrollBarHandlerOnMouseOver); _s.scrollBarHandler_sdo.screen.detachEvent("onmouseout", _s.scrollBarHandlerOnMouseOut); _s.scrollBarHandler_sdo.screen.detachEvent("onmousedown", _s.scrollBarHandlerOnMouseDown); document.detachEvent("onmousemove", _s.scrollBarHandlerMoveHandler); document.detachEvent("onmouseup", _s.scrollBarHandlerEndHandler); _s.screen.detachEvent("onmousewheel", _s.mouseWheelHandler); } clearTimeout(_s.hideWithDelayId_do); clearTimeout(_s.showOrHideWithDelayId_to); clearTimeout(_s.hideCompleteId_to); clearInterval(_s.updateMobileScrollBarId_int); }; //##############################// /* destroy */ //##############################// _s.destroy = function(){ _s.cleanMainEvents(); if(_s.scrollBar_do){ FWDAnimation.killTweensOf(_s.scrollBar_do); FWDAnimation.killTweensOf(_s.scrollBarHandler_sdo); FWDAnimation.killTweensOf(_s.scrollBarTrack_sdo); _s.scrollBar_do.destroy(); _s.scrollBarHandler_sdo.destroy(); _s.scrollBarTrack_sdo.destroy(); } FWDAnimation.killTweensOf(_s.contentHolder_do); _s.contentHolder_do.destroy(); FWDAnimation.killTweensOf(_s.background_sdo); _s.background_sdo.destroy(); FWDAnimation.killTweensOf(_s.mainContentHolder_do); _s.mainContentHolder_do.destroy(); _s.close_do.destroy(); _s.infoWindowCloseNormal_img = null; _s.infoWindowCloseSelected_img = null; _s.close_do = null; _s.background_sdo = null; _s.mainContentHolder_do = null; _s.contentHolder_do = null; _s.scrollBar_do = null; _s.scrollBarTrack_sdo = null; _s.scrollBarHandler_sdo = null; _s.mainBackgroundColor_str = null; _s.scrollBarHandlerColor = null; _s.scrollBarTrackColor = null; _s.scrollBarTrackOpacity = null; parent = null; data = null; _s.setInnerHTML(""); prototype.destroy(); _s = null; prototype = null; FWDMDescriptionWindow.prototype = null; }; _s.init(); }; /* set prototype */ FWDMDescriptionWindow.setPrototype = function(){ FWDMDescriptionWindow.prototype = new FWDMDisplayObject("div"); }; FWDMDescriptionWindow.HIDE_COMPLETE = "hideComplete"; FWDMDescriptionWindow.SHOW_START = "showStart"; FWDMDescriptionWindow.prototype = null; window.FWDMDescriptionWindow = FWDMDescriptionWindow; }(window));