{"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","subscriptionsInitialised","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","firstPageViewPopup","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","ToggleStockModeFjernlager","console","log","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","status","setupSubscriptions","postStatistics","contentChanged","disableDoubleClick","subscribe","message","cartsmall","onShowNewItemInCartText","favouriteCart","cart","onPopupForProductAssembly","p","FullFilter","nextF","Sender","nextField","loadPopupParams","fieldNode","Plids","ajaxPopup","checkForPopupAfterProductInfoVisit","checkForPopupFirstPageView","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","ShowInRemoteStockOnly","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","includeLink","tagName","toLowerCase","parentWidth","parentHeight","myWidth","usesAltImg","imgStatus","aspect","myId","TargetId","Index","Aspect","IncludeLink","UseSecondaryImage","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.b813ea7f52785209f27c.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.subscriptionsInitialised = 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 \r\n self.firstPageViewPopup = loadPopupParams;\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(\"