{"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","fieldUpdateInProgress","placeholderDict","publishMode","length","each","index","item","removeClass","addClass","pageParam","getParameterByName","parseInt","articleIdentifier","D4AiActive","D4AiRegisterStats","unhideProductMenu","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","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","addFieldToArea","areaContainer","ActiveArticleId","AreaUniqueId","Response","AddToEnd","existingFields","EnableLinksForArticlesWithBackground","replaceField","IsEdm","fn","scrollView","animate","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","scrollViewToTopOfPage","parents","RemoveAttributeValueLinkFromDom","encodeURI","currentUrl","valToAdd","filterIndex","indexOfColonInNewValue","existingAttributeID","startOfExistingAttributeIDInUrl","McIndexOf","startOfUrl","endOfUrl","CreateUrl","titleOfRemoved","AddDivForRemovingAttributeValue","title","searchLocAfterFiltering","informShopOfFilterActivation","setInternalListOfOpenFilters","scrolltime","scrollTo","position","documentElement","body","currentFilter","clientHasFilter","prop","openAttributes","openAttributesList","doScrollToNextPage","scrollToNextPage","getAttribute","nextPageIndex","updateScroller","scrollToPrevPage","prevPage","navigateToPage","fetchAttributeValues","target","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","filterContainer","filterClientId","cacheKey","attr","FilterIsJson","OpenAttributes","OtherContactId","JSON","stringify","currentPopupFilter","getFieldWidth","myPlids","myPlidsString","myPlid","fieldData","UseSpecificLayoutId","LayoutId","VariantSorting","Plid","PlidList","SendFilterOnly","remove","skipSorter","Data","SkipFilterRendering","UseDummyData","DeviceSize","GetElementsOnly","SkipSorter","CurrentArticle","PopupFilter","AllowDeferred","Prepend","updateFieldContent","EmptyFields","D4DeferredScripts","setTimeout","decodedString","DOMParser","parseFromString","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","next","nextField","loadPopupParams","fieldNode","Plids","ExtraData","ajaxPopup","checkForPopupAfterProductInfoVisit","checkForPopupFirstPageView","CustomEvent","event","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","querySelector","dispatchEvent","classToDisable","dblclick","preventDefault","addFieldSorterToPage","$targetField","FieldSorterResponse","myFieldContainer","oldFieldSorter","prepend","FieldSorter2Response","Menu","onAddNewFilterButton","addFieldContentToPage","targetField","bottomImageToLoad","added","registerStatistics","LoadFilter","updateFilterContent","AddToExistingField","imageList","lastImage","last","containsLoadableImage","backgroundImgItems","bgItem","initialiseAdLinks","InitializeRoyalSlider","InitializeRoyalSliderInAds","searchPageArea","hide","IsDummyField","click","selectLayoutClick","LayoutCssClass","fieldToUpdateLayout","className","match","join","IsNoHitSearch","ShowInStockOnly","ShowInRemoteStockOnly","IsProductListing","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","getSlideshowModel","SlideShowModel","parentWithSlideInfo","ensureCorrectImageSizes","images","lazyImg","initialiseSlideshows","slidemodel","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","elementId","autoscale","toUpperCase","aspect","myId","TargetId","Index","Aspect","IncludeLink","UseSecondaryImage","IncludeNotFound","AutoScale","D4LinkArraySetup","makeAdLinkToProduct","productLink","stats","PopupRule","FieldIds","Note","updateContentForSpecificFields","fieldRecognizer","includeMegaMenuChildren","recognizer","preloadedFields","fieldItems","fieldItem","UniqueId","preloadedElements","eItems","eItem","Elements","startParaxify","Fields","fields","fData","showSearchSynonymText","alteredSearchResultArea","alteredText","newContent","first","applyModelRegisterExtraData","targetfield","extraData","AccessoriesGroup","accessoriesgroup","FreeText","freeTextItem","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","prev","rrpPriceTags","Rrp","spfTags","SpecialFee","nordeaprices","FinancingTxt","backorders","BackorderTxt","$field","lazyImages","loadSlideshowForProdThumb","loadSlideshowForLazyThumb","InitializeAnimationsInArticleWithBackground","PagesRemaining","isSlideOver","PopupPch","lightboxContainer","movePopupFieldsToOriginalPlaceholder","empty","dataFound","getCssClassesForLightbox","dataToApply","fillLightboxWithContent","PopupEvent","onHideLightbox","skipAdd","addNextFieldToDom","on","handleScroll","off","footerlist","querySelectorAll","footer","addScrollObserver","lipscore","initWidgets","some","x","classesForFields","after","fieldPopupHtml","detach","doScrollHandling","scrollerContainer","scrollerTag","onHeaderIntersection","entries","entry","intersectionRatio","prevElement","headerObserver","unobserve","scrollEventPrevRegistered","onIntersection","onFieldIntersection","fieldScrollObserver","HasMoreFieldsToLoad","myFieldData","myInnerData","noloop","fieldWasAdded","fieldToObserve","findNextFieldToObserve","fieldElement","getElementById","addFieldScrollObserver","_self$popNextFieldAbo","popNextFieldAboveView","_self$popNextFieldAbo2","currentImgSrc","Image","onBottomImgLoaded","onerror","loadNextField","findNextVisibleField","fieldReadyToLoad","n","splice","IntersectionObserver","rootMargin","threshold","observe","toggleAttributeValues","toggleClass","toggleIconAttributeValues","searchAtttributes","siblings","searchQuery","value","includes","preventDefaultOnEnter","keyCode","filterData","secondaryFilterId","FilterResponse","targetDiv","$targetDiv","oldHeight","loadAttributeFilterNotYetLoaded","attributeFilte","ShowCompressedFilter","urlParamsFilterIsValidFor","shouldDelayLoadingFilter","attributeFilterParent","is","delayLoadFilterParent","delayLoadFilterManufacturerId","delayLoadFilterLoaded","storeFilterLoadCall","allowDelay","listingFields","notProcessedFields","cachingparams","CacheKey","checkAttributeVisibility","itemsToProcess","itemsProcessed","notProcessedAttributeFilters","filterItems","itemParam","Identifier","FilterItems","prevAll","Visible","RenderedData","nextItem","menu","dummyBarn","removeAttr","stopImmediatePropagation","publisherAdminMenu","callLayoutAction","cancelBubble","stopPropagation","updateVariantMatrixField","listingField","variantMatrix","VariantChilds","ProduktLagerId","myfunction","ready","outerHTML","eq","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","concat","AttributeValueIds","itemToDisable","InfoMsg","attributeValueId1","attributeValue2Id","lockedVariantType","MotherPlid","AttributeValueId1","AttributeValueId2","LockedVariantType","selectedAttributeValueId","attributeType","AttributeValueId","VariantType"],"mappings":"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","file":"2.92f2bfd16b946e77619c.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 self.fieldUpdateInProgress = false;\r\n self.placeholderDict = {};\r\n self.publishMode = false;\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 self.publishMode = ($(\"body.publish-mode\").length > 0);\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']:not(.menu-container 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']:not(.menu-container 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 if (jQuery(\".ProductMenu\").css(\"order\") === 1) {\r\n self.unhideProductMenu();//do not wait for attributes are loaded when order is 1\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 () { //TODO: MOVE, move to separate publisher-only file\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) { //TODO: MOVE, move to separate publisher-only file\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 \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) { //TODO: MOVE, move to separate publisher-only file\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 () { //TODO: MOVE, move to separate publisher-only file\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(\"