{"version":3,"sources":["webpack:///./Scripts4.0/McUtils.js","webpack:///./Scripts4.0/ViewModels/quickview.js","webpack:///./Scripts4.0/ajax-render-engine.js","webpack:///./Scripts4.0/ViewModels/variant/ajax-variant-selector.js"],"names":["McUtils","prototype","constructor","isElementInView","element","fullyInView","pageTop","jQuery","window","scrollTop","pageBottom","height","elementTop","offset","top","elementBottom","isElementBelowView","isElementAboveView","$","this","vm","id","self","service","WebApiService","vs","mcWeb","ajaxVariantSelector","avsInitialised","load","data","settings","init","currentAreaName","areaName","currentNodeId","nodeId","width","popupEvent","lightbox","events","onShowLightbox","currentPlacement","slideOverBox","show","plid","manufacturerId","param","NodeId","Width","ManufacturerId","ActivePlid","Placement","AreaName","PostAction","done","result","Success","container","undefined","html","Content","AjaxRenderingEngine","applyCustomerSpecifics","popupParam","css","callback","InitializeRoyalSliderForPreview","spacing","orientation","autoCenter","bind","reinit","PubSub","publish","AjaxRenderingEngineEventTypes","onFieldContentChanged","onNewAreasShown","onPopupFilterChanged","onAjaxRenderingLoaded","onKnockoutRenderingCompleted","onPriceRefreshRequested","onPushProductsIntoField","onClearFieldFilter","filterService","fieldRenderService","statsService","imageService","deviceSize","currentSlideshow","allowUseOfProductCache","currentField","PreviewProduktLagerId","scrollEventIsRegistered","scrollEventFieldIsRegistered","scrollEventFooterIsRegistered","HasMorePages","PagingMode","LoadingFromScroll","fieldsReadyToLoad","lazyLoadFieldSetupDone","footerObserver","IntersectionObserveAllowed","AutoScrolledPages","InitialPageNumber","CurrentPageNumber","HighestPageNumberSeen","LowestPageNumberSeen","InitialLoadDone","PrevPagingLoaded","myScrollToElement","currentArticleId","CheckStatistics","ListingTypeGrid","attributeFilterInitiated","rhsQuickview","Quickview","centerQuickview","currentSearchKeyword","finishedLoadingFieldsAbove","length","each","index","item","removeClass","addClass","pageParam","getParameterByName","parseInt","articleIdentifier","D4AiActive","D4AiRegisterStats","fieldsToLoad","push","targetKey","filterTargetKey","onlyUpdateProductList","doNotRenderFilter","useDummyData","popupFilter","nextPageNumber","updateContentForPreloadedFields","runUpdateFields","InitialPageNumer","SetupScrollToTop","updateSelectedAttributeListVisibility","getQuickview","placement","openQuickView","nodeid","manufacturerid","areaname","me","myCenteredPopup","closest","quickview","loadLightboxFields","options","loadNextPage","updateFields","loadPrevPage","prevPageNumber","reloadPageCallback","fieldIds","isNaN","i","params","reloadAllLinkedFields","otherFields","fieldIdFound","reloadSingleElement","activePlid","area","fieldId","field","placeholder","linkedChildren","children","before","append","text","Math","round","FieldId","ElementId","ForceNormalMode","ForcedLayoutId","replaceWith","reloadLightboxFields","reloadFieldByListingType","listingtype","reloadFromCallbackActive","reloadProductListField","resetAutoScrolledPages","reloadInstantSearchPreview","setListingType","listingAsGrid","fieldSorters","newUrl","getCurrentFirstPage","history","pushState","addPrevPageScrollObserver","observed","scrollEventPrevRegistered","headerObserver","IntersectionObserver","onHeaderIntersection","rootMargin","threshold","observe","SetAllowedUseOfProductCache","val","reloadPageListingOnlyCallback","skipFilter","doSkipFilter","reloadDummyFields","find","isEdm","GetAction","scaleLayoutPicker","layoutPickerContainer","myField","contentHeight","contentWidth","scale","min","layoutName","hasClass","wrap","parent","reloadForPublisher","newDeviceSize","ChangeSortType","dropDownControl","cont","McAjaxRequest","ToggleGroupVariants","obj","group","checked","e","alert","ToggleStockMode","name","replace","results","RegExp","exec","location","search","decodeURIComponent","clearFields","targetField","target","findFirstElementOfNextRow","currentElement","fieldLeftPosition","left","targetElementFound","nextElement","next","findLastElementOfLastRow","prev","showElementAsSlideshow","fieldid","elementid","elementIndex","currentSlideElement","currentSlideshowField","remove","innerfield","goTo","targetElement","insertAfter","activeSlider","stopAutoPlay","previewForExistingSlideshow","myPlids","myPlidsString","activeArticleId","plidList","after","previewSlideshowIsActive","ContainerId","scrollView","currentSlideIndex","currentSlide","elementId","linkedElements","prepend","on","event","lastPreviewElement","showNexElement","linkedElement","not","UpdateSlideshowPosition","InitializeRoyalSliderInAds","addFieldToArea","areaContainer","ActiveArticleId","AreaUniqueId","Response","AddToEnd","existingFields","EnableLinksForArticlesWithBackground","replaceField","IsEdm","moveback","lastLinkedElement","previewElement","parentElement","distance","distanceBetweenElementAndSlideshow","newTargetElement","showPrevious","visibleElement","maxIndex","newVisibleElement","eq","findLinkedElement","fn","animate","slideshow","bottomOfElement","RemovePageNumberFromLink","url","indexOf","urlPartWithPageID","substring","urlPartWithoutPageID","indexOfFirstAmpersand","str","escapeRegExp","indexOfQuestionmark","substr","document","href","RemoveAttribute","parsedFilter","newLocation","RemoveAttributeValueFromLink","attributeID","attributeValueID","String","indexBeforeAttributeValue","m","attValRegexp","newLink","addValueToQueryString","attributeId","attributeValueId","loc","searchLoc","attributeValueIdExisted","currentAttributes","split","attributeAndValues","attributeValues","j","RemoveAttributeValueLinkFromDom","encodeURI","currentUrl","valToAdd","filterIndex","indexOfColonInNewValue","existingAttributeID","startOfExistingAttributeIDInUrl","McIndexOf","startOfUrl","endOfUrl","CreateUrl","titleOfRemoved","AddDivForRemovingAttributeValue","title","setInternalListOfOpenFilters","openAttributes","openAttributesList","doScrollToNextPage","scrollToNextPage","doScrollToPrevPage","scrollToPrevPage","getAttribute","nextPageIndex","updateScroller","prevPage","navigateToPage","fetchAttributeValues","targetId","queryFilterParam","queryMinParam","queryMaxParam","pageIndex","fieldRequestFilter","Url","pathname","Filter","MinPrice","MaxPrice","SearchString","ClientId","PageIndex","FilterCacheKey","AttributeId","RequestFilter","updateAttributeContent","currentIndex","nextIndex","hidePaging","pagingTag","showPagingContainer","showPageLoadingIcon","loadingTag","hidePageLoadingIcon","shift","refreshPriceCache","fieldsArray","otherContactId","getNextPage","getPrevPage","isInsidePopup","responsive","getScreenSize","isForInstantSearch","requestFilterAdded","current","isProductListField","areaid","parents","filterContainer","filterClientId","cacheKey","attr","FilterIsJson","OpenAttributes","OtherContactId","JSON","stringify","currentPopupFilter","fieldParents","parentIndex","tmpWidth","myPlid","fieldData","UseSpecificLayoutId","LayoutId","VariantSorting","Plid","PlidList","skipSorter","Data","SkipFilterRendering","UseDummyData","DeviceSize","GetElementsOnly","SkipSorter","CurrentArticle","PopupFilter","AllowDeferred","Prepend","updateFieldContent","EmptyFields","D4DeferredScripts","setTimeout","decodedString","DOMParser","parseFromString","body","textContent","D4SingleScript","getScript","textStatus","jqxhr","console","log","status","setupSubscriptions","postStatistics","contentChanged","disableDoubleClick","subscribe","message","cartsmall","onShowNewItemInCartText","favouriteCart","cart","onPopupForProductAssembly","p","FullFilter","nextF","Sender","nextField","loadPopupParams","fieldNode","Plids","ajaxPopup","checkForPopupAfterProductInfoVisit","CustomEvent","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","querySelector","dispatchEvent","classToDisable","dblclick","preventDefault","addFieldSorterToPage","$targetField","FieldSorterResponse","myFieldContainer","oldFieldSorter","FieldSorter2Response","Menu","onAddNewFilterButton","addFieldContentToPage","bottomImageToLoad","added","firstFetchPrevPaging","registerStatistics","IsProductListing","CurrentUrl","CurrentIndex","myTargetField","ScrollToElement","nextScrollToElement","pagingLink","getElementById","initialiseAdLinks","AddToExistingField","LoadFilter","updateFilterContent","imageList","lastImage","last","containsLoadableImage","backgroundImgItems","bgItem","InitializeRoyalSlider","IsNoHitSearch","ShowInStockOnly","hide","IsDummyField","click","selectLayoutClick","LayoutCssClass","fieldToUpdateLayout","className","match","join","SlideShowModel","currImg","src","bg","trim","initializeSlideShow","slideshowmodel","myParent","mcSlide","InitSlideshow","Play","Pause","HoverPause","ArrowsNav","GeneratePagination","ArrowsNavAutoHide","FadeSpeed","SlideSpeed","Effect","CrosseFade","Orientation","ScaleType","Randomize","Css","IsMobile","Height","resolveImagesOnImageLoaded","image","Promise","resolve","reject","complete","onload","ensureCorrectImageSizes","images","items","imageLoadedPromises","Array","from","map","all","then","img","parentWidth","parentHeight","myWidth","usesAltImg","imgStatus","aspect","myId","TargetId","Index","Aspect","Items","delaySlideshow","success","tag","newImages","initializeSlideShowAfterImagesLoaded","D4LinkArraySetup","makeAdLinkToProduct","productLink","stats","PopupRule","FieldIds","Note","fieldRecognizer","recognizer","preloadedFields","fieldItems","fieldItem","UniqueId","preloadedElements","eItems","eItem","Elements","Fields","fields","fData","targetfield","PriceData","priceTags","filter","Price","NoBuy","myElement","UnlockBuy","BidName","BidExpires","setInterval","now","Date","getTime","salesCountdown","t","days","floor","hours","mins","secs","slice","discountTags","line","Discount","jItem","oldPriceTags","OldPrice","rrpPriceTags","Rrp","$field","InitializeAnimationsInArticleWithBackground","PagesRemaining","addRemainingFieldsToDom","lightboxContainer","PopupPch","movePopupFieldsToOriginalPlaceholder","empty","dataFound","classesForFields","fieldPopupHtml","detach","PopupEvent","skipAdd","addNextFieldToDom","scroll","scrollerContainer","scrollerTag","off","footerlist","querySelectorAll","footer","addScrollObserver","entries","entry","intersectionRatio","prevElement","unobserve","onIntersection","onFieldIntersection","fieldScrollObserver","HasMoreFieldsToLoad","myFieldData","myInnerData","noloop","fieldWasAdded","fieldToObserve","findNextFieldToObserve","fieldElement","addFieldScrollObserver","popNextFieldAboveView","startParaxify","currentImgSrc","Image","onBottomImgLoaded","onerror","loadNextField","findNextVisibleField","fieldReadyToLoad","n","splice","toElement","toggleAttributeValues","toggleClass","filterData","secondaryFilterId","FilterResponse","targetDiv","attributeFilte","ShowCompressedFilter","dummyBarn","prop","removeAttr","stopImmediatePropagation","publisherAdminMenu","callLayoutAction","cancelBubble","stopPropagation","updateVariantMatrixField","listingField","variantMatrix","VariantChilds","ProduktLagerId","myfunction","ready","outerHTML","clone","ajaxRenderEngine","view","getModule","myContainer","instances","parentId","initialised","storeSelectionInBrowser","subscriptionsAdded","isVariantMother","registerModule","variantType1Id","variantType2Id","storeInBrowser","loadSelectedValuesFromDOM","domAttr1","domAttr2","motherPlid","restoreDataFromLocalStorage","variantTypeToActivate","selectVariant","$me","onHideLightbox","variantType","valueActive","otherAttributeValueId","variantTypeCount","removeOldSelected","updateLocalStorage","getChildPlidAction","Message","setupOtherVariantType","myHeadingPch","attribName","innerText","StorageService","localStorage","setItem","tmp","getItem","myButton","myImgPlch","myColour","textContainer","itemContainer","itemText","getInactiveAttributeValuesAction","AttributeValueIds","otherVariantType","itemToDisable","InfoMsg","attributeValueId1","attributeValue2Id","MotherPlid","AttributeValueId1","AttributeValueId2","selectedAttributeValueId","attributeType","AttributeValueId","VariantType"],"mappings":"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","file":"2.78b9e75d81e6cb0db5d7.bundle.js","sourcesContent":["function McUtils() {\r\n}\r\nMcUtils.prototype = {\r\n constructor: McUtils,\r\n\r\n isElementInView: function(element, fullyInView) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var pageBottom = pageTop + jQuery(window).height();\r\n var elementTop = jQuery(element).offset().top;\r\n var elementBottom = elementTop + jQuery(element).height();\r\n if (fullyInView === true) {\r\n return ((pageTop < elementTop) && (pageBottom > elementBottom));\r\n }\r\n else {\r\n return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\r\n }\r\n },\r\n\r\n isElementBelowView: function (element) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var pageBottom = pageTop + jQuery(window).height();\r\n var elementTop = jQuery(element).offset().top;\r\n\r\n return elementTop > pageBottom;\r\n },\r\n\r\n isElementAboveView: function (element) {\r\n var pageTop = jQuery(window).scrollTop();\r\n var elementTop = jQuery(element).offset().top;\r\n var elementBottom = elementTop + jQuery(element).height();\r\n\r\n return elementBottom < pageTop;\r\n }\r\n\r\n};\r\nexport default new McUtils();\r\n","import { AjaxRenderingEngine } from '@scripts/ajax-render-engine';\r\nimport '@scripts/ViewModels/variant/ajax-variant-selector.js';\r\n\r\nexport default new (function ($) {\r\n 'use strict';\r\n\r\n this.vm = function (id) {\r\n var self = this;\r\n self.id = \"#\" + id;\r\n \r\n self.service = new WebApiService(\"FieldRenderer\"); \r\n self.vs = new mcWeb.ajaxVariantSelector.vm(self); \r\n self.avsInitialised = false;\r\n self.load = function(data, settings){ \r\n \r\n };\r\n\r\n self.init = function(data){\r\n self.currentAreaName = data.areaName; \r\n self.currentNodeId = data.nodeId;\r\n self.width = 400;\r\n if(self.id === '#lightbox-placeholder'){ \r\n self.popupEvent = mcWeb.lightbox.events.onShowLightbox;\r\n self.currentPlacement = \"c\";\r\n }\r\n else {\r\n self.popupEvent = mcWeb.slideOverBox.events.onShowLightbox;\r\n self.currentPlacement = \"rhs\";\r\n }\r\n };\r\n\r\n self.show = function( plid, manufacturerId) {\r\n var param = {\r\n NodeId: self.currentNodeId,\r\n Width: self.width,\r\n ManufacturerId: manufacturerId,\r\n ActivePlid: plid,\r\n Placement: self.currentPlacement,\r\n AreaName : self.currentAreaName \r\n };\r\n\r\n self.service.PostAction(\"RenderQuickview\", param).done(\r\n function(result) {\r\n if (result != null && result.Success) {\r\n var container = $(self.id);\r\n if (container != null && container != undefined) {\r\n container.html(result.Content);\r\n\r\n AjaxRenderingEngine.applyCustomerSpecifics(container, result);\r\n //todo: finn riktig klasse å bruke her. avhenger av hvilken popup?\r\n //mangler å kjøre royal-slider for resultatet. Må gjøres for å få fram bilder osv.\r\n var popupParam = {\r\n css: \"d4-popup d4-popup-quickview\",\r\n callback: function() {\r\n var thumbs = {//todo: get from settings?\r\n spacing: 10,\r\n orientation: 'horizontal',\r\n autoCenter: false\r\n };\r\n var navigationMethod = 'bullets';//todo: get from settings?\r\n InitializeRoyalSliderForPreview(null, null, null, 'div.d4-preview', thumbs,navigationMethod);\r\n self.vs.bind();\r\n self.vs.reinit();\r\n }\r\n }\r\n PubSub.publish(self.popupEvent, popupParam);\r\n }\r\n }\r\n })\r\n };\r\n };//end vm\r\n})(jQuery);\r\n\r\n\r\n////Bind viewmodel for two quickviews, one for center and one for rhs\r\n//loadModule(mcWeb.quickview, 'slideover-placeholder', 'slideover-placeholder', null, null,true);\r\n//loadModule(mcWeb.quickview, 'lightbox-placeholder', 'lightbox-placeholder', null, null,true);\r\n","import McUtils from '@scripts/McUtils';\r\nimport Quickview from '@scripts/ViewModels/quickview';\r\n\r\nexport const AjaxRenderingEngineEventTypes = {\r\n onFieldContentChanged: \"AjaxRenderingEngine.onFieldContentChanged\",\r\n onNewAreasShown: \"AjaxRenderingEngine.onNewAreasShown\",\r\n onPopupFilterChanged: \"AjaxRenderingEngine.onPopupFilterChanged\",\r\n onAjaxRenderingLoaded: \"AjaxRenderingEngine.onAjaxRenderingLoaded\",\r\n onKnockoutRenderingCompleted: \"AjaxRenderingEngine.onKnockoutRenderingCompleted\",\r\n onPriceRefreshRequested: \"AjaxRenderingEngine.onPriceRefreshRequested\",\r\n onPushProductsIntoField: \"AjaxRenderingEngine.onPushProductsIntoField\",\r\n onClearFieldFilter : \"AjaxRenderingEngine.onClearFieldFilter\"\r\n};\r\n\r\nexport const AjaxRenderingEngine = new (function AjaxRenderingEngine($) {\r\n\r\n var self = this;\r\n self.service = new WebApiService(\"AreaRenderer\");\r\n self.filterService = new WebApiService(\"AttributeFilter\");\r\n self.fieldRenderService = new WebApiService(\"FieldRenderer\");\r\n self.statsService = new WebApiService(\"Stats\");\r\n self.imageService = new WebApiService(\"ImageRenderer\");\r\n self.deviceSize = \"\";\r\n self.currentSlideshow = null;\r\n self.allowUseOfProductCache = true;\r\n self.currentField = null;\r\n self.PreviewProduktLagerId = null;\r\n self.scrollEventIsRegistered = false;\r\n self.scrollEventFieldIsRegistered = false;\r\n self.scrollEventFooterIsRegistered = false;\r\n self.HasMorePages = false;\r\n self.PagingMode = 1;\r\n self.LoadingFromScroll = false;\r\n self.fieldsReadyToLoad = [];\r\n self.lazyLoadFieldSetupDone = false;\r\n self.footerObserver = null;\r\n self.IntersectionObserveAllowed = ('IntersectionObserver' in window);\r\n self.AutoScrolledPages = 0;\r\n self.InitialPageNumber = 1;\r\n self.CurrentPageNumber = 1;\r\n self.HighestPageNumberSeen = 1;\r\n self.LowestPageNumberSeen = 1;\r\n self.InitialLoadDone = false;\r\n self.PrevPagingLoaded = false;\r\n self.myScrollToElement = null;\r\n self.currentArticleId = 0;\r\n self.CheckStatistics = false;\r\n self.ListingTypeGrid = false;\r\n self.attributeFilterInitiated = false;\r\n self.rhsQuickview = new Quickview.vm('slideover-placeholder');\r\n self.centerQuickview = new Quickview.vm('lightbox-placeholder');\r\n self.currentSearchKeyword = \"\";\r\n self.finishedLoadingFieldsAbove = false;\r\n\r\n this.load = function () {\r\n if (jQuery('body.listtype-grid').length > 0) {\r\n self.ListingTypeGrid = true;\r\n }\r\n\r\n jQuery(\"div.HeaderPublishAreaContainer .load-later\").each(function(index,item){\r\n \r\n jQuery(item).removeClass(\"load-later\");\r\n jQuery(item).addClass(\"load-first\");\r\n });\r\n\r\n var pageParam = self.getParameterByName('pageID');\r\n if (pageParam.length > 0) {\r\n self.InitialPageNumber = parseInt(pageParam);\r\n self.CurrentPageNumber = self.InitialPageNumber;\r\n self.HighestPageNumberSeen = self.InitialPageNumber;\r\n self.LowestPageNumberSeen = self.InitialPageNumber;\r\n\r\n }\r\n var articleIdentifier = jQuery(\"div#current-article-id\");\r\n if (articleIdentifier.length > 0) {\r\n self.currentArticleId = jQuery(articleIdentifier[0]).data(\"current-article\");\r\n }\r\n\r\n self.CheckStatistics = (\r\n window.D4AiActive !== undefined &&\r\n window.D4AiActive &&\r\n window.D4AiRegisterStats !== undefined &&\r\n window.D4AiRegisterStats);\r\n\r\n var loadFirstParams = {\r\n targetKey: \"div.load-first .ajax-field.not-loaded\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadLaterParams = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='0']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadLaterWithFilterParams = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.not-loaded[data-sf='1']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n var loadPopupParams = {\r\n targetKey: \"div.ajax-field.not-loaded[data-popup='1']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 1,\r\n nextPageNumber: 0\r\n };\r\n\r\n self.fieldsToLoad = [];\r\n self.fieldsToLoad.push(loadFirstParams);\r\n self.fieldsToLoad.push(loadLaterParams);\r\n self.fieldsToLoad.push(loadLaterWithFilterParams);\r\n self.fieldsToLoad.push(loadPopupParams);\r\n\r\n self.updateContentForPreloadedFields();\r\n \r\n self.runUpdateFields();\r\n\r\n if (self.InitialPageNumber > 1 && self.CurrentPageNumber === self.InitialPageNumer && !self.InitialLoadDone) {\r\n self.SetupScrollToTop();\r\n }\r\n self.updateSelectedAttributeListVisibility();\r\n PubSub.publish(AjaxRenderingEngineEventTypes.onAjaxRenderingLoaded);\r\n\r\n if (jQuery(window).scrollTop() === 0)\r\n self.finishedLoadingFieldsAbove = true;\r\n };\r\n\r\n this.getQuickview = function (placement) {\r\n if (placement === \"rhs\")\r\n return self.rhsQuickview;\r\n else return self.centerQuickview;\r\n };\r\n\r\n \r\n this.openQuickView = function (nodeid, plid, manufacturerid, placement, areaname, me) {\r\n if(me !== undefined){\r\n //check if we can use the given placement\r\n var myCenteredPopup = jQuery(me).closest(\"#center-popup\");\r\n if(placement == 'c' && myCenteredPopup.length >0){\r\n //the popup would normalle be shown in center, but right now the ad is already shown in center,\r\n //so lets use the rhs instead\r\n placement = 'rhs';\r\n }\r\n else if(placement === 'rhs' && jQuery(me).closest(\"#rhs-popup\").length > 0){\r\n placement = 'c';\r\n }\r\n }\r\n var quickview = self.getQuickview(placement);\r\n quickview.init({ areaName: areaname, nodeId: nodeid });\r\n quickview.show(plid, manufacturerid);\r\n };\r\n\r\n\r\n this.loadLightboxFields = function (options) {\r\n if (jQuery('body.listtype-grid').length > 0) {\r\n self.ListingTypeGrid = true;\r\n }\r\n\r\n var pageParam = self.getParameterByName('pageID');\r\n if (pageParam.length > 0) {\r\n self.InitialPageNumber = parseInt(pageParam);\r\n self.CurrentPageNumber = self.InitialPageNumber;\r\n self.HighestPageNumberSeen = self.InitialPageNumber;\r\n self.LowestPageNumberSeen = self.InitialPageNumber;\r\n\r\n }\r\n var articleIdentifier = jQuery(\"div#current-article-id\");\r\n if (articleIdentifier.length > 0) {\r\n self.currentArticleId = jQuery(articleIdentifier[0]).data(\"current-article\");\r\n }\r\n\r\n self.CheckStatistics = (\r\n window.D4AiActive != undefined &&\r\n window.D4AiActive &&\r\n window.D4AiRegisterStats != undefined &&\r\n window.D4AiRegisterStats);\r\n\r\n var loadFirstParams = {\r\n targetKey: \"div.modal div .ajax-field.not-loaded\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n\r\n self.fieldsToLoad = [];\r\n self.fieldsToLoad.push(loadFirstParams);\r\n\r\n self.runUpdateFields();\r\n };\r\n\r\n this.loadNextPage = function () {\r\n self.updateFields(\"div.load-later .ajax-field.not-loaded[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, true);\r\n };\r\n\r\n this.loadPrevPage = function () {\r\n var loadOnlyProductListField = self.CurrentPageNumber > 1; //when scrolling upwards on the page, we we only add the productlisting field when scrolling up, until we are loading the first \"page\"\r\n\r\n var prevPageNumber = self.CurrentPageNumber - 1;\r\n if (prevPageNumber < 1) {\r\n //we're already on the first page, so we just stop processing\r\n return;\r\n }\r\n self.updateFields(\"div.load-later .ajax-field.not-loaded[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, prevPageNumber);\r\n };\r\n\r\n this.reloadPageCallback = function (fieldIds) {//receives array with fieldids to update\r\n if(self.fieldsToLoad === undefined)\r\n self.fieldsToLoad = [];\r\n\r\n if (fieldIds == undefined || fieldIds.length == 0) {\r\n self.updateFields(\".ajax-field.not-loaded\", \"#AttributeListBox\", false, false, false, 0, 0);\r\n } else {\r\n if (isNaN(fieldIds)) {\r\n for (var i = 0; i < fieldIds.length; i++) {\r\n var params = {\r\n targetKey: \".field-container-\" + fieldIds[i] + \" div.ajax-field\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n if(jQuery(params.targetKey).length > 0)\r\n self.fieldsToLoad.push(params);\r\n }\r\n } else {\r\n var params = {\r\n targetKey: \".field-container-\" + fieldIds + \" div.ajax-field\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: false,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\r\n if(jQuery(params.targetKey).length > 0)\r\n self.fieldsToLoad.push(params);\r\n }\r\n self.runUpdateFields();\r\n }\r\n };\r\n\r\n this.reloadAllLinkedFields = function(){\r\n var otherFields = [];\r\n jQuery(\"div.PubFieldMenu[data-include-linked-field-content='True']\").each(function(index, item){\r\n var fieldIdFound = jQuery(item).data(\"fieldid\");\r\n otherFields.push(fieldIdFound);\r\n });\r\n self.reloadPageCallback(otherFields);\r\n };\r\n\r\n //find a single element on the page, ask the server to render it again, and then swap it out for the new one\r\n this.reloadSingleElement = function (nodeId, activePlid, area, fieldId, element) {\r\n var item = $(\"#Field_\" + fieldId + \" div.WebPubElement[data-elementid=\" + element + \"]\");\r\n if (item.length <= 0) {//implies this element has not been rendered in the field. Let us add a placholder at the end of the field, or if this field contains\r\n //linked content, we must add it in front of all the dynamic content\r\n var field = $(\"div.ajax-field[data-field-id=\" + fieldId + \"]\");\r\n var placeholder = \"
\";\r\n if (field.length > 0) {\r\n var linkedChildren =field.children(\".WebPubElement.linked-element\");\r\n if(linkedChildren.length > 0){\r\n $(linkedChildren[0]).before(placeholder);\r\n }\r\n else{\r\n field.append(placeholder);\r\n \r\n }\r\n item = $(\"#plcholder\" + fieldId);\r\n }\r\n }\r\n if (nodeId == null)\r\n nodeId = jQuery('#hidden-nodeid').text();\r\n\r\n var width = Math.round($(item).width());\r\n if (item.length > 0) {\r\n var params = {\r\n NodeId: nodeId,\r\n Width: width,\r\n ActivePlid: activePlid,\r\n AreaName: area,\r\n FieldId: fieldId,\r\n ElementId: element,\r\n ForceNormalMode: false,\r\n ForcedLayoutId: 0\r\n };\r\n self.fieldRenderService.PostAction(\"RenderSingleElement\", params).done(function (result) {\r\n if (result && result.Success) {\r\n $(item).replaceWith(result.Content);\r\n }\r\n });\r\n }\r\n };\r\n\r\n this.reloadLightboxFields = function () {\r\n self.updateFields(\".modal-content .ajax-field.not-loaded\", \"#AttributeListBox\", false, false, false, 0);\r\n };\r\n\r\n this.reloadFieldByListingType = function (listingtype) {\r\n self.reloadFromCallbackActive = true;\r\n self.updateFields(\".ajax-field.not-loaded[data-listing-type=\" + listingtype + \"]\", \"#AttributeListBox\", false, false, false, 0, 0);\r\n };\r\n\r\n this.reloadProductListField = function () {\r\n self.resetAutoScrolledPages();\r\n self.updateFields(\".ajax-field.not-loaded[data-field-is-productlist='1']\", \"#AttributeListBox\", true, false, false, 0, 0);\r\n };\r\n\r\n this.reloadInstantSearchPreview = function (plid) {\r\n self.PreviewProduktLagerId = plid;\r\n self.updateFields(\".InstantSearch .d4-instant-search-loadbyajax .ajax-field\",\r\n \"\",\r\n false,\r\n true,\r\n false,\r\n 0,\r\n false);\r\n }\r\n\r\n this.SetupScrollToTop = function () {\r\n if (self.IntersectionObserveAllowed) {\r\n if (self.CurrentPageNumber > 2) {\r\n //we should have already asked for page N, but we\r\n //need to automatically fetch page N-1 and go down to the current page anchor\r\n //fetch page N-1 and N, scroll down to page N\r\n // setup up observable on the breadcrumb, so that when we get to it\r\n //we fetch the page N-2 and then N-3 etc as it becomes visible again\r\n } else if (self.CurrentPageNumber > 1) {\r\n //fetch page 1 & 2, scroll user down to page 2 anchor\r\n }\r\n }\r\n\r\n };\r\n\r\n this.setListingType = function (listingAsGrid) {\r\n self.ListingTypeGrid = listingAsGrid;\r\n if (listingAsGrid) {\r\n jQuery('body').addClass('.listtype-grid');\r\n jQuery('body').removeClass('.listtype-list');\r\n var fieldContentContainer =jQuery('.ajax-field.inner-layout-container.not-loaded[data-area-id=\"CenterContentDynamicProdListAlternate\"]');\r\n var fieldContainer = fieldContentContainer.closest(\".web-pub-field\");\r\n var fieldSorters = fieldContainer.children(\".FieldSorter\");\r\n if(fieldSorters.length > 0){\r\n fieldSorters.each(function(index, item){\r\n $(item).html('');\r\n });\r\n }\r\n jQuery('.ajax-field.inner-layout-container.not-loaded[data-area-id=\"CenterContentDynamicProdListAlternate\"]').html('');\r\n } else {\r\n jQuery('body').addClass('.listtype-list');\r\n jQuery('body').removeClass('.listtype-grid');\r\n var fieldContentContainer = jQuery('.ajax-field.inner-layout-container.not-loaded[data-area-id=\"CenterContentDynamicAdList\"]');\r\n var fieldContainer = fieldContentContainer.closest(\".web-pub-field\");\r\n var fieldSorters = fieldContainer.children(\".FieldSorter\");\r\n if(fieldSorters.length > 0){\r\n fieldSorters.each(function(index, item){\r\n $(item).html('');\r\n });\r\n }\r\n jQuery('.ajax-field.inner-layout-container.not-loaded[data-area-id=\"CenterContentDynamicAdList\"]').html('');\r\n }\r\n\r\n var newUrl =self.getCurrentFirstPage();\r\n self.CurrentPageNumber = 1;\r\n window.history.pushState(newUrl,'',newUrl);\r\n };\r\n\r\n this.addPrevPageScrollObserver = function (observed) {\r\n if (!self.IntersectionObserveAllowed)\r\n return;\r\n\r\n if (!self.scrollEventPrevRegistered && self.CurrentPageNumber > 1) {\r\n self.scrollEventPrevRegistered = true;\r\n var config = {\r\n // If the image gets within 50px in the Y axis, start the download.\r\n rootMargin: '0px 0px',\r\n threshold: 0.01\r\n };\r\n\r\n // The observer for the images on the page\r\n self.headerObserver = new IntersectionObserver(self.onHeaderIntersection, config);\r\n\r\n self.headerObserver.observe(observed);\r\n }\r\n };\r\n\r\n this.SetAllowedUseOfProductCache = function (val) {\r\n self.allowUseOfProductCache = val;\r\n };\r\n\r\n this.reloadPageListingOnlyCallback = function (skipFilter) {\r\n self.reloadFromCallbackActive = true;\r\n var doSkipFilter = true;\r\n if(skipFilter !== undefined)\r\n doSkipFilter = skipFilter\r\n self.updateFields(\".ajax-field.not-loaded\", \"#AttributeListBox\", true, doSkipFilter, false, 0);\r\n };\r\n\r\n this.reloadDummyFields = function (deviceSize) {\r\n\r\n //first, find the area that contains the dummy fields\r\n var container = jQuery('.layout-picker').find('.load-later');\r\n if (container.length > 0) {\r\n var nodeId = jQuery('#hidden-nodeid').text();\r\n var param = {\r\n areaName: 'LayoutPicker',\r\n nodeId: nodeId,\r\n isEdm: false,\r\n deviceSize: deviceSize\r\n };\r\n self.service.GetAction(\"RenderAreaFramework\", param).done(\r\n function (result) {\r\n if (result != undefined && result.length > 0) {\r\n container.html(result);\r\n }\r\n self.updateFields(\".ajax-field.not-loaded-dummy\", \"\", false, false, true, 0);\r\n self.scaleLayoutPicker();\r\n });\r\n\r\n }\r\n //then fetch the new field framework as it might have been changed\r\n //then update the content of the fields\r\n\r\n };\r\n\r\n this.scaleLayoutPicker = function () {\r\n var layoutPickerContainer = jQuery(\".PublisherContainer.layout-picker\");\r\n if (layoutPickerContainer != null) {\r\n var layoutSelectorFields = layoutPickerContainer.find('.web-pub-field.container.dummy');\r\n\r\n layoutSelectorFields.each(function (index, element) {\r\n var myField = jQuery(element)\r\n var contentHeight = myField.height();\r\n var contentWidth = myField.width();\r\n var availableWidth = 170;\r\n var availableHeight = 100;\r\n var scale = Math.min(\r\n availableWidth / contentWidth,\r\n availableHeight / contentHeight\r\n );\r\n //todo: find out why the height isn't always correct\r\n myField.css(\"position\", \"absolute\");\r\n\r\n var translateVertical = \"0 0px\";\r\n myField.css(\"transform-origin\", translateVertical);\r\n\r\n myField.css(\"transform\", \"scale(\" + scale + \")\");\r\n var layoutName = myField.data(\"layout-name\");\r\n\r\n if (myField.hasClass(\"selected\")) {\r\n jQuery(myField).wrap(\"\");\r\n } else {\r\n jQuery(myField).wrap(\"\");\r\n }\r\n jQuery(myField.parent()).before(\"