WDPRO_LOADER.require("wdprodom");WDPRO_LOADER.require("event");WDPRO_LOADER.require("container");WDPRO_LOADER.require("animation");WDPRO_LOADER.require("menu");WDPRO_LOADER.require("tabview");WDPRO_LOADER.require("stringUtils");if(typeof DCL==="undefined"){DCL={};}if(typeof DCL.header==="undefined"){DCL.header={};}if(typeof DCL.header.config==="undefined"){DCL.header.config={loginFormElementId:"loginRegForm",fadeDuration:0.25,loginLinkId:"GlobalHeaderLoginUIElement",loginToggleControllClass:"loginOverlayLink",flyoutVeticalOffset:20,clickEventName:"dcl_header_click_event",temporarilyHiddenSelectElementClass:"dcl_header_temp_hidden_select",jsRoot:"/static/js/"};}var deweyRoot=WDPRO_LOADER.getLibraryRoot();var rootRE=/^(http.*?)\/dewey\/.*/gi;var matches=rootRE.exec(deweyRoot);if(matches&&matches.length==2){if(matches[1].lastIndexOf("/")!=(matches[1].length-1)){DCL.header.config.jsRoot=matches[1]+"/";}else{DCL.header.config.jsRoot=matches[1];}}WDPRO_LOADER.addModule({name:"eventDispatcher",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/tools/eventDispatcher.js",varName:"WDPRO.util.EventDispatcher",requires:["event"]});WDPRO_LOADER.addModule({name:"stringUtils",type:"js",fullpath:DCL.header.config.jsRoot+"global/stringUtils.js"});WDPRO_LOADER.addModule({name:"validators",type:"js",fullpath:DCL.header.config.jsRoot+"global/stringUtils.js"});WDPRO_LOADER.addModule({name:"formUtils",type:"js",fullpath:DCL.header.config.jsRoot+"global/formUtils.js"});WDPRO_LOADER.addModule({name:"centralEventProvider",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/tools/centralEventProvider.js",varName:"DCL.CentralEventProvider",requires:["event"]});WDPRO_LOADER.addModule({name:"dclConfig",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/tools/dclConfig.js",varName:"DCL.Config",requires:[]});WDPRO_LOADER.addModule({name:"simpleValidator",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/tools/simpleValidator.js",varName:"DCL.SimpleValidator ",requires:["stringUtils","validators","formUtils","dom","event"]});WDPRO_LOADER.addModule({name:"wishlist",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/tools/wishlist.js",varName:"DCL.Wishlist",requires:["dclConfig","connection","dom","event","centralEventProvider"]});WDPRO_LOADER.addModule({name:"wishlistView",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/wishlist/wishlistView.js",varName:"DCL.View.Wishlist",requires:["dclConfig","connection","dom","event","centralEventProvider","container","cookie","wishlist"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchPaginationView",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchPaginationView.js",varName:"DCL.facetedsearch.PaginationView",requires:["eventDispatcher","dom","dclConfig"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchDataModel",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchDataModel.js",varName:"DCL.facetedsearch.FacetedSearchDataModel",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchPaginationModel",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchPaginationModel.js",varName:"DCL.facetedsearch.PaginationModel",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchSelectedFacetValuesListingView",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchSelectedFacetValuesListingView.js",varName:"DCL.facetedsearch.SelectedFacetValuesListingView",requires:["eventDispatcher","dom","stringUtils"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchSelectedFacetValuesModel",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchSelectedFacetValuesModel.js",varName:"DCL.facetedsearch.SelectedFacetValuesModel",requires:["eventDispatcher","dom","dclConfig","privateFacetedSearchStatePreserver"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchResultView",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchResultView.js",varName:"DCL.facetedsearch.ResultView",requires:["eventDispatcher","dom","stringUtils","dclConfig"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchPaginationController",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchPaginationController.js",varName:"DCL.facetedsearch.PaginationController",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchResultSet",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchResultSet.js",varName:"DCL.facetedsearch.ResultSet",requires:[]});WDPRO_LOADER.addModule({name:"privateFacetedSearchFacetTogglePanelView",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchFacetTogglePanelView.js",varName:"DCL.facetedsearch.FacetTogglePanelView",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchSelectedFacetValuesListingController",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchSelectedFacetValuesListingController.js",varName:"DCL.facetedsearch.SelectedFacetValuesListingController",requires:["eventDispatcher","dom"]});
WDPRO_LOADER.addModule({name:"privateFacetedSearchFacetTogglePanelController",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchFacetTogglePanelController.js",varName:"DCL.facetedsearch.FacetTogglePanelController",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchFacetedSearchManager",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchFacetedSearchManager.js",varName:"DCL.facetedsearch.FacetedSearchManager",requires:["eventDispatcher","dom"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchStatePreserver",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchStatePreserver.js",varName:"DCL.facetedsearch.StatePreserver",requires:["cookie","centralEventProvider","dclConfig","json"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchViewModeToggleController",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchViewModeToggleController.js",varName:"DCL.facetedsearch.ViewModeToggleController",requires:["centralEventProvider","dclConfig","dom","event"]});WDPRO_LOADER.addModule({name:"privateFacetedSearchRelatedModulesReinitializer",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearchRelatedModulesReinitializer.js",varName:"DCL.facetedsearch.RelatedModulesReinitializer",requires:["centralEventProvider","wishlist","dom","event","eventDispatcher"]});WDPRO_LOADER.addModule({name:"facetedSearch",type:"js",fullpath:DCL.header.config.jsRoot+"_lib/modules/facetedSearch/facetedSearch.js",varName:"DCL.facetedsearch.FacetedSearchDataModel",requires:["privateFacetedSearchPaginationView","privateFacetedSearchDataModel","privateFacetedSearchPaginationModel","privateFacetedSearchSelectedFacetValuesListingView","privateFacetedSearchSelectedFacetValuesModel","privateFacetedSearchResultView","privateFacetedSearchPaginationController","privateFacetedSearchResultSet","privateFacetedSearchFacetTogglePanelView","privateFacetedSearchSelectedFacetValuesListingController","privateFacetedSearchFacetTogglePanelController","privateFacetedSearchFacetedSearchManager","privateFacetedSearchViewModeToggleController","privateFacetedSearchRelatedModulesReinitializer","eventDispatcher","dom","event","dclConfig","privateFacetedSearchStatePreserver"]});if(typeof DCL.header.eventProvider==="undefined"){DCL.header.eventProvider=new YAHOO.util.EventProvider();DCL.header.eventProvider.createEvent(DCL.header.config.clickEventName);}if(typeof DCL.header.LoginFlyout==="undefined"){DCL.header.LoginFlyout=function(){var $D=WDPRO.util.Dom;var $E=YAHOO.util.Event;var $CFG=DCL.header.config;var _self=this;this._flyout=null;this._isVisible=false;this._flyoutOverlay=null;this._lastDisplayContext=null;this._init=function(){_self._flyout=document.getElementById($CFG.loginFormElementId);if(!_self._flyout){return ;}var forms=$D.getElementsBy(function(){return true;},"form",_self._flyout);for(var i=0;i<forms.length;i++){var form=forms[i];if(form.action.indexOf("http")==0){form.action=form.action.replace("http:","https:");}else{form.action="https://"+window.location.host+form.action;}var inputElements=form.getElementsByTagName("input");for(var inputElesIdx=0;inputElesIdx<inputElements.length;inputElesIdx++){var inputEle=inputElements[inputElesIdx];var submitter=function(form){return function(){form.submit();};}(form);var keyListener=new YAHOO.util.KeyListener(inputEle,{keys:[13]},{fn:submitter});keyListener.enable();}}var yearField=document.getElementById("flyoutBirthYear");yearField.onclick=function(){if(!WDPRO.util.StringUtils.isInteger(yearField.value)){yearField.value="";}};var loginRegTabs=new YAHOO.widget.TabView(_self._flyout);var fadeConfig={effect:YAHOO.widget.ContainerEffect.FADE,duration:DCL.header.config.fadeDuration};var flyoutConfig={visible:false,constraintoviewport:false,zIndex:1000,effect:fadeConfig};_self._flyoutOverlay=new YAHOO.widget.Overlay(_self._flyout,flyoutConfig);_self._flyoutOverlay.render();DCL.header.eventProvider.subscribe($CFG.clickEventName,_self.handleClick);};this._reposition=function(displayContext){_self._lastDisplayContext=displayContext;var xPos=_self._getFinalXPos(displayContext);var yPos=$D.getY(displayContext)+$CFG.flyoutVeticalOffset;_self._flyoutOverlay.moveTo(xPos,yPos);_self._flyoutOverlay.show();};this._hide=function(){_self._isVisible=false;_self._flyoutOverlay.hide();};this._show=function(displayContext){var xPos=_self._getFinalXPos(displayContext);var yPos=$D.getY(displayContext)+$CFG.flyoutVeticalOffset;_self._flyoutOverlay.moveTo(xPos,yPos);_self._isVisible=true;_self._flyoutOverlay.show();};this._getFinalXPos=function(displayContext){var contextXPos=$D.getX(displayContext);var contextWidth=displayContext.scrollWidth;var flyoutWidth=_self._flyout.scrollWidth;var xOffset=Math.round((flyoutWidth/2)-(contextWidth/2));return contextXPos-xOffset;};this._isFlyoutElement=function(ele){return(ele==_self._flyout||$D.isAncestor(_self._flyout,ele));
};this.handleClick=function(info){var displayContext=info.trget;var evnt=info.evnt;var isFlyoutToggleControll=$D.hasClass(displayContext,$CFG.loginToggleControllClass);if(_self._isFlyoutElement(displayContext)){return ;}if(isFlyoutToggleControll){$E.stopEvent(evnt);if(_self._isVisible){if(displayContext!=_self._lastDisplayContext){_self._reposition(displayContext);}else{_self._hide();}}else{_self._show(displayContext);}}else{if(_self._isVisible){_self._hide();}}};this._init();return{handleClick:this.handleClick};};}if(typeof DCL.flash==="undefined"){DCL.flash={};}if(typeof DCL.flash.config==="undefined"){DCL.flash.config={ignoredURIParts:["dates","overview","schedule","places-to-explore","port-adventures","travel-information","dining","services","fitness-activities","villa-for-one","villa-for-two","menu","one-bedroom-suite-with-verandah","overview","royal-suite-with-verandah","two-bedroom-suite-with-verandah"]};}if(typeof DCL.flash.isIgnoredURIPart==="undefined"){DCL.flash.isIgnoredURIPart=function(part){var ignoreds=DCL.flash.config.ignoredURIParts;for(var i=0;i<ignoreds.length;i++){if(part==ignoreds[i]){return true;}}return false;};}if(typeof DCL.flash.getLocationDetail==="undefined"){DCL.flash.getLocationDetail=function(){var pathname=window.location.pathname;var parts=pathname.split("/");for(var i=parts.length-1;i>0;i--){var part=parts[i];if(part==""){continue;}if(!DCL.flash.isIgnoredURIPart(part)){return part;}}return"";};}if(typeof DCL.flash.getPageLocation==="undefined"){DCL.flash.getPageLocation=function(){return window.location.href;};}getLocationDetail=DCL.flash.getLocationDetail;getPageLocation=DCL.flash.getPageLocation;WDPRO_LOADER.addCallback(function(){var $D=WDPRO.util.Dom;var $E=YAHOO.util.Event;var $C=YAHOO.util.Container;var oMenuBar=new YAHOO.widget.MenuBar("globalHeaderNavigation",{autosubmenudisplay:true,showdelay:0,hidedelay:0,lazyload:true,constraintoviewport:false});oMenuBar.render();var searchField=document.getElementById("fastSearchInput");if(searchField!=null){searchField.onclick=function(){searchField.value="";};}var anchors=$D.getElementsBy(function(el){var strRel=el.rel;var regexPattern=/(\b)external(\b)/;return(strRel.search(regexPattern)>=0);},"a");for(var i=anchors.length-1;i>=0;i--){var anchor=anchors[i];anchor.target="_blank";}oMenuBar.subscribe("beforeShow",function(){var menuRegion=YAHOO.util.Dom.getRegion(this.element);var viewportWidth=YAHOO.util.Dom.getViewportWidth();if(menuRegion&&menuRegion.right&&menuRegion.right>viewportWidth){YAHOO.util.Dom.setX(this.element,menuRegion.left-(menuRegion.right-viewportWidth));}});oMenuBar.subscribe("show",function(){var menuRegion=YAHOO.util.Dom.getRegion(this.element);var selectElements=YAHOO.util.Dom.getElementsBy(function(ele){return ele.style.visibility!="hidden";},"select");for(var i=0;i<selectElements.length;i++){var selectElement=selectElements[i];var selectRegion=YAHOO.util.Dom.getRegion(selectElement);var regionIntersection=menuRegion.intersect(selectRegion);if(regionIntersection!=null){selectElement.style.visibility="hidden";YAHOO.util.Dom.addClass(selectElement,DCL.header.config.temporarilyHiddenSelectElementClass);}}});oMenuBar.subscribe("hide",function(){var tempHiddens=YAHOO.util.Dom.getElementsByClassName(DCL.header.config.temporarilyHiddenSelectElementClass);for(var i=0;i<tempHiddens.length;i++){var tempHidden=tempHiddens[i];tempHidden.style.visibility="visible";YAHOO.util.Dom.removeClass(tempHidden,DCL.header.config.temporarilyHiddenSelectElementClass);}});YAHOO.util.Event.addListener(document,"click",function(eve){var trgt=YAHOO.util.Event.getTarget(eve);DCL.header.eventProvider.fireEvent(DCL.header.config.clickEventName,{evnt:eve,trget:trgt});});var flyout=new DCL.header.LoginFlyout();});
