/* Context menu */ (function (){ var FWDMContextMenu = function(prt, _d){ var _s = this; var prototype = FWDMContextMenu.prototype; _s.prt = prt; _s.buttonsTest_ar = _d.buttons_ar; _s.itemsLabels_ar = _d.contextMenuLabels_ar; _s.items_ar = []; _s.spacers_ar = []; _s.panButton_do = null; _s.rotateButton_do = null; _s.nextButton_do = null; _s.prevButton_do = null; _s.slideShowButton_do = null; _s.infoButton_do = null; _s.linkButton_do = null; _s.fullScreenButton_do = null; _s.zoomInButton_do = null; _s.zoomOutButton_do = null; _s.slideShowButton_do = null; _s.linkButton_do = null; _s.infoButton_do = null; _s.fullScreenButton_do = null; _s.contextMenuItemBackgroundNormalColor = _d.contextMenuItemBackgroundNormalColor; _s.contextMenuItemBackgroundSelectedColor = _d.contextMenuItemBackgroundSelectedColor; _s.borderColor_str = _d.contextMenuBorderColor_str; _s.spacerColor_str = _d.contextMenuSpacerColor_str; _s.itemTextNormalColor_str = _d.contextMenuItemTextNormalColor_str; _s.itemTextSelectedColor_str = _d.contextMenuItemTextSelectedColor_str; _s.itemDisabledColor_str = _d.contextMenuItemDisabledColor_str; _s.draggingMode_str = _d.startDraggingMode_str; _s.link_str = _d.link_str; _s.biggestWidth; _s.totalWidth = 400; _s.totalHeight = 400; _s.sapaceBetweenButtons = 0; _s.padding = 0; _s.getMaxWidthResizeAndPositionId_to; _s.inverseNextAndPrevRotation_bl = _d.inverseNextAndPrevRotation_bl; _s.showScriptDeveloper_bl = _d.showScriptDeveloper_bl; _s.show_bl = false; _s.isActive_bl = false; _s.init = function(){ if(_s.itemsLabels_ar || _s.showScriptDeveloper_bl){ _s.show_bl = true; _s.screen.className = 'fwdm-ctxm'; _s.setWidth(_s.totalWidth); _s.setHeight(_s.totalHeight); _s.setBkColor(_s.backgroundColor_str); _s.getStyle().borderColor = _s.borderColor_str; _s.getStyle().borderStyle = "solid"; _s.getStyle().borderWidth = "1px"; _s.setVisible(false); _s.setY(-2000); _s.prt.main_do.addChild(_s); _s.setupLabels(); _s.setupDeveloperButton(); _s.setupSpacers(); _s.getMaxWidthResizeAndPositionId_to = setTimeout(_s.getMaxWidthResizeAndPosition, 310); } _s.addContextEvent(); }; //##########################################// /* Setup context items. */ //##########################################// _s.setupLabels = function(){ var len = _s.buttonsTest_ar.length; var res; var label1_str = ""; var label2_str = ""; if(!_s.itemsLabels_ar) return; for(var i=0; i _s.totalWidth) _s.totalWidth = item_do.getMaxTextWidth(); }; _s.totalWidth += 30; for(var i=0; i parentWidth - 2) finalX = localX - _s.totalWidth; if(finalX < 0) finalX = parseInt((parentWidth - _s.totalWidth)/2); if(finalX < 0) finalX = 0; if(finalY + _s.totalHeight > parentHeight - 2) finalY = localY - _s.totalHeight; if(finalY < 0) finalY = parseInt((parentHeight - _s.totalHeight)/2); if(finalY < 0) finalY = 0; _s.setX(finalX); _s.setY(finalY); }; //########################################// /* disable / enable */ //########################################// _s.disable = function(){ if(_s.nextButton_do) _s.nextButton_do.disable(); if(_s.prevButton_do) _s.prevButton_do.disable(); if(_s.slideShowButton_do) _s.slideShowButton_do.disable(); if(_s.infoButton_do) _s.infoButton_do.disable(); if(_s.zoomInButton_do) _s.zoomInButton_do.disable(); if(_s.zoomOutButton_do) _s.zoomOutButton_do.disable(); if(_s.slideShowButton_do) _s.slideShowButton_do.disable(); }; _s.enable = function(){ if(_s.nextButton_do) _s.nextButton_do.enable(); if(_s.prevButton_do) _s.prevButton_do.enable(); if(_s.slideShowButton_do) _s.slideShowButton_do.enable(); if(_s.infoButton_do) _s.infoButton_do.enable(); if(_s.zoomInButton_do) _s.zoomInButton_do.enable(); if(_s.zoomOutButton_do) _s.zoomOutButton_do.enable(); if(_s.slideShowButton_do) _s.slideShowButton_do.enable(); }; //######################################// /* remove from DOM */ //######################################// _s.removeFromDOM = function(){ //if(_s.prt.main_do.contains(_s)) _s.prt.main_do.removeChild(_s); _s.setX(-5000); }; //######################################// /* destory */ //######################################// _s.destroy = function(){ var length; clearTimeout(_s.getMaxWidthResizeAndPositionId_to); FWDAnimation.killTweensOf(_s); if(window.removeEventListener){ window.removeEventListener("mousedown", _s.contextMenuWindowOnMouseDownHandler); window.removeEventListener("mouseup", _s.contextMenuWindowOnMouseDownHandler); _s.prt.main_do.screen.removeEventListener("contextmenu", _s.contextMenuHandler); }else{ document.documentElement.detachEvent("onmousedown", _s.contextMenuWindowOnMouseDownHandler); document.documentElement.detachEvent("onmouseup", _s.contextMenuWindowOnMouseDownHandler); _s.prt.main_do.screen.detachEvent("oncontextmenu", _s.contextMenuHandler); } length = _s.items_ar.length; for(var i=0; i