{"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","ensureCorrectImageSizesForField","applyCustomerSpecifics","popupParam","css","callback","InitializeRoyalSliderForPreview","spacing","orientation","autoCenter","bind","reinit","PubSub","publish","AjaxRenderingEngineEventTypes","onFieldContentChanged","onNewAreasShown","onPopupReady","onPopupFilterChanged","onAjaxRenderingLoaded","onKnockoutRenderingCompleted","onPriceRefreshRequested","onPushProductsIntoField","onClearFieldFilter","onFieldsRefresh","onFilterLoadRequested","onAddNewAreaContent","subscribe","message","AreaId","updateFields","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","lightBoxIsOpen","slideOverBoxIsOpen","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","firstPageViewPopup","updateContentForPreloadedFields","runUpdateFields","updateSelectedAttributeListVisibility","getQuickview","placement","openQuickView","nodeid","manufacturerid","areaname","me","myCenteredPopup","closest","quickview","loadLightboxFields","options","loadNextPage","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","reloadFields","parentIdentifier","addRemainingFieldsToDom","ChangeSortType","dropDownControl","cont","McAjaxRequest","ToggleGroupVariants","obj","group","checked","e","alert","ToggleStockMode","ToggleStockModeFjernlager","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","searchLocAfterFiltering","informShopOfFilterActivation","setInternalListOfOpenFilters","currentFilter","clientHasFilter","prop","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","sendFilterOnly","current","isProductListField","areaid","parents","filterContainer","filterClientId","cacheKey","attr","FilterIsJson","OpenAttributes","OtherContactId","JSON","stringify","currentPopupFilter","getFieldWidth","myPlid","fieldData","UseSpecificLayoutId","LayoutId","VariantSorting","Plid","PlidList","SendFilterOnly","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","fieldParents","parentIndex","tmpWidth","$current","lightboxLocator","disableDoubleClick","publisher","checkElementsMarkedInSessionStorage","Target","cartsmall","onShowNewItemInCartText","favouriteCart","lightboxModal","isShown","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","registerStatistics","LoadFilter","updateFilterContent","AddToExistingField","imageList","lastImage","last","containsLoadableImage","backgroundImgItems","bgItem","initialiseAdLinks","InitializeRoyalSlider","IsProductListing","hide","IsNoHitSearch","ShowInStockOnly","ShowInRemoteStockOnly","IsDummyField","click","selectLayoutClick","LayoutCssClass","fieldToUpdateLayout","className","match","join","SlideShowModel","currImg","src","bg","trim","initializeSlideShow","slideshowmodel","myParent","mcSlide","InitSlideshow","Play","Pause","HoverPause","GenerateNextPrev","GeneratePagination","ArrowsNavAutoHide","FadeSpeed","SlideSpeed","Effect","CrossFade","Orientation","ScaleType","Randomize","Css","IsMobileDomain","Height","resolveImagesOnImageLoaded","image","Promise","resolve","reject","complete","onload","getArrayOfArrays","inputArray","itemsPerArray","arrayOfArrays","slice","ensureCorrectImageSizes","images","lazyImg","ImgModuleVer","imageLoadedPromises","Array","from","map","all","then","toArray","getParamForImage","filter","y","arrayOfImageArrays","requestForImagesSent","arrayId","items","Items","delaySlideshow","success","tag","newImages","initializeSlideShowAfterImagesLoaded","img","includeLink","tagName","toLowerCase","parentWidth","parentHeight","myWidth","myHeight","usesAltImg","imgStatus","autoscale","toUpperCase","aspect","myId","TargetId","Index","Aspect","IncludeLink","UseSecondaryImage","IncludeNotFound","AutoScale","D4LinkArraySetup","makeAdLinkToProduct","productLink","stats","PopupRule","FieldIds","Note","fieldRecognizer","recognizer","preloadedFields","fieldItems","fieldItem","UniqueId","preloadedElements","eItems","eItem","Elements","Fields","fields","fData","showSearchSynonymText","alteredSearchResultArea","alteredText","newContent","first","targetfield","PriceData","priceTags","$item","Price","Discount","NoBuy","myElement","UnlockBuy","BidName","BidExpires","setInterval","now","Date","getTime","salesCountdown","t","days","floor","hours","mins","secs","discountTags","line","jItem","oldPriceTags","OldPrice","rrpPriceTags","Rrp","nordeaprices","FinancingTxt","$field","lazyImages","InitializeAnimationsInArticleWithBackground","PagesRemaining","isSlideOver","PopupPch","lightboxContainer","movePopupFieldsToOriginalPlaceholder","empty","dataFound","classesForFields","fieldPopupHtml","detach","dataToApply","PopupEvent","onHideLightbox","skipAdd","addNextFieldToDom","handleScroll","off","footerlist","querySelectorAll","footer","addScrollObserver","lipscore","initWidgets","scrollerContainer","scrollerTag","entries","entry","intersectionRatio","prevElement","unobserve","onIntersection","onFieldIntersection","fieldScrollObserver","HasMoreFieldsToLoad","myFieldData","myInnerData","noloop","fieldWasAdded","fieldToObserve","findNextFieldToObserve","fieldElement","getElementById","addFieldScrollObserver","popNextFieldAboveView","startParaxify","currentImgSrc","Image","onBottomImgLoaded","onerror","loadNextField","findNextVisibleField","fieldReadyToLoad","n","splice","ScrollToElement","toElement","toggleAttributeValues","toggleClass","filterData","secondaryFilterId","FilterResponse","targetDiv","loadAttributeFilterNotYetLoaded","attributeFilte","ShowCompressedFilter","urlParamsFilterIsValidFor","shouldDelayLoadingFilter","attributeFilterParent","is","delayLoadFilterParent","delayLoadFilterManufacturerId","delayLoadFilterLoaded","storeFilterLoadCall","allowDelay","listingFields","filterItems","itemParam","Identifier","FilterItems","Visible","RenderedData","dummyBarn","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","variantType","otherAttributeValueId","variantTypeCount","removeOldSelected","updateLocalStorage","getChildPlidAction","Message","setupOtherVariantType","myHeadingPch","attribName","innerText","StorageService","localStorage","setItem","tmp","getItem","myButton","myImgPlch","myColour","textContainer","itemContainer","itemText","getInactiveAttributeValuesAction","otherVariantType","SingleAvailableAttributeValueId","AttributeValueIds","itemToDisable","InfoMsg","attributeValueId1","attributeValue2Id","lockedVariantType","MotherPlid","AttributeValueId1","AttributeValueId2","LockedVariantType","selectedAttributeValueId","attributeType","AttributeValueId","VariantType"],"mappings":"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","file":"2.387b4c024279a09e7e98.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 AjaxRenderingEngine.ensureCorrectImageSizesForField(container, result);\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 else {\r\n //hide slideoverbox or lightbox\r\n if (self.currentPlacement == \"rhs\") {\r\n PubSub.publish(\"mcWeb.slideOverBox.onHideLightbox\");\r\n }\r\n else {\r\n PubSub.publish(\"mcWeb.lightbox.onHideLightbox\");\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 onPopupReady: \"AjaxRenderingEngine.onPopupReady\",\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 onFieldsRefresh: \"AjaxRenderingEngine.onFieldsRefresh\",\r\n onFilterLoadRequested: \"AjaxRenderingEngine.onFilterLoadRequested\",\r\n onAddNewAreaContent:\"AjaxRenderingEngine.onAddNewAreaContent\"\r\n};\r\n\r\nexport const AjaxRenderingEngine = new (function AjaxRenderingEngine($) {\r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onAddNewAreaContent, function (message, data) {\r\n jQuery('#A' + data.AreaId).html(data.Content);\r\n self.updateFields('#A' + data.AreaId +' .ajax-field', \"#AttributeListBox\", false, false, false, 0); \r\n });\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.lightBoxIsOpen = false;\r\n self.slideOverBoxIsOpen = 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 loadSecond = {\r\n targetKey: \"div.load-later .web-pub-field[data-popup='0'] .ajax-field.loaded[data-sf='0'][data-field-is-productlist='1']\",\r\n filterTargetKey: \"#AttributeListBox\",\r\n onlyUpdateProductList: true,\r\n doNotRenderFilter: false,\r\n useDummyData: false,\r\n popupFilter: 0,\r\n nextPageNumber: 0\r\n };\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(loadSecond);\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 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[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[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\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[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[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[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[data-field-is-productlist='1']\", \"#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(\"