{"version":3,"sources":["webpack:///./node_modules/process/browser.js","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","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///(webpack)/buildin/global.js"],"names":["cachedSetTimeout","cachedClearTimeout","process","module","exports","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","call","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","i","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","McUtils","constructor","isElementInView","element","fullyInView","pageTop","jQuery","window","scrollTop","pageBottom","height","elementTop","offset","top","elementBottom","isElementBelowView","isElementAboveView","$","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","each","index","item","removeClass","addClass","pageParam","getParameterByName","parseInt","articleIdentifier","D4AiActive","D4AiRegisterStats","fieldsToLoad","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","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","alert","ToggleStockMode","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","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","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","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","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","$item","Price","Discount","NoBuy","myElement","UnlockBuy","BidName","BidExpires","setInterval","now","Date","getTime","salesCountdown","t","days","floor","hours","mins","secs","slice","discountTags","line","jItem","oldPriceTags","OldPrice","rrpPriceTags","Rrp","$field","InitializeAnimationsInArticleWithBackground","PagesRemaining","addRemainingFieldsToDom","lightboxContainer","PopupPch","movePopupFieldsToOriginalPlaceholder","empty","dataFound","classesForFields","fieldPopupHtml","detach","PopupEvent","skipAdd","addNextFieldToDom","scroll","scrollerContainer","scrollerTag","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","filterOutEmptyAttributes","attributeFilte","ShowCompressedFilter","attributeFilterParent","filterItems","itemParam","Identifier","FilterItems","Visible","RenderedData","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","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","lockedVariantType","MotherPlid","AttributeValueId1","AttributeValueId2","LockedVariantType","selectedAttributeValueId","attributeType","AttributeValueId","VariantType","Function","Timeout","clearFn","_id","_clearFn","scope","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","global","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","Object","getPrototypeOf","toString","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","createElement","documentElement","script","onreadystatechange","removeChild","appendChild","random","source","addEventListener","attachEvent","task","g"],"mappings":"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","file":"2.817b7ef20a0d500165db.bundle.js","sourcesContent":["// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","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(\"