{"version":3,"sources":["session.js","consentsManager.js"],"names":["Vendd","Scripts","load","$wrapper","$","length","$fixedButton","window","scroll","_","throttle","isTouch","width","console","log","scrollTop","height","offset","top","addClass","removeClass","LhApp","Context","MultipleWishlistsEnabled","model","wrapper","get","on","e","keyCode","trigger","preventDefault","stopPropagation","wishlistId","this","data","Name","val","DefaultListName","VisitorListId","MessageBus","publishAsync","UserWishlist","Messages","SaveWishlist","toggleClass","listId","closest","qs","Function","QueryString","getValueOf","parseInt","visitorListId","DeleteWishlist","updateName","text","$wishlistsMenuWrapper","$item","updateMenu","selected","first","filter","Wishlists","x","Selected","WishlistId","location","href","Url","NewListPlaceHolder","html","Handlebars","parse","subscribe","SaveWishlistSuccess","SaveWishlistFailed","envelope","errorEl","message","GetModelSuccess","GetClientModel","currentListId","Wishlist","GetVisitorListByQueryString","match","grep","el","i","list"],"mappings":"AAAAA,MAAAC,QAAAC,KAAA,WAEA,IAAAC,SAAAC,EAAA,oBAEA,KAAAD,SAAAE,OAAA,GAAA,CAGA,IAAAC,aAAAF,EAAA,qBAAAD,UA+BA,GA7BAC,EAAAG,QAAAC,OAAAC,EAAAC,SAEA,WACAC,WAAAP,EAAAG,QAAAK,QAAA,MACAC,QAAAC,IAAA,kBAAAV,EAAAG,QAAAQ,aACAF,QAAAC,IAAA,mBAAAV,EAAAG,QAAAS,UACAH,QAAAC,IAAAV,EAAA,kBAAAa,SAAAC,KACAd,EAAA,kBAAAa,SAAAC,IAAAd,EAAAG,QAAAS,SAAA,EACAZ,EAAAG,QAAAQ,YAAAX,EAAA,kBAAAa,SAAAC,IAAAd,EAAAG,QAAAS,UACAV,aAAAa,SAAA,UACAf,EAAA,QAAAgB,YAAA,sBAEAd,aAAAc,YAAA,UACAhB,EAAA,QAAAe,SAAA,qBAGAf,EAAAG,QAAAQ,YAAAX,EAAAG,QAAAS,SAAAZ,EAAA,kBAAAa,SAAAC,KACAZ,aAAAa,SAAA,UACAf,EAAA,QAAAgB,YAAA,sBAEAd,aAAAc,YAAA,UACAhB,EAAA,QAAAe,SAAA,uBArBA,MA6BAE,MAAAC,QAAAC,yBAAA,CAGA,IACAC,MADAC,QAAAtB,SAAAuB,IAAA,GAGAvB,SAAAwB,GAAA,QAAA,eAAA,SAAAC,GACA,KAAAA,EAAAC,SACAzB,EAAA,sBAAAD,UAAA2B,QAAA,WAIA3B,SAAAwB,GAAA,QAAA,sBAAA,SAAAC,GACAA,EAAAG,iBACAH,EAAAI,kBAEA,IAEAC,WAFA7B,EAAA8B,MAEAC,KAAA,MCvDAA,KAAA,CACAC,KDuDAhC,EAAA,eAAAD,UAAAkC,MAAAjC,EAAA,eAAAD,UAAAkC,MAAAb,MAAAc,gBCtDAC,cAAAN,YAGAjC,MAAAwC,WAAAC,aAAAhB,QAAA,IAAAzB,MAAA0C,aAAAC,SAAAC,aAAAT,OACA/B,EAAA,6BAAAD,UAAAiB,YAAA,cAGAjB,SAAAwB,GAAA,QAAA,oBAAA,SAAAC,GACAA,EAAAG,iBACA3B,EAAA,6BAAAD,UAAA0C,YAAA,cAGA1C,SAAAwB,GAAA,QAAA,kBAAA,SAAAC,GACAA,EAAAG,iBAEA,IAEAe,OAFA1C,EAAA8B,MACAa,QAAA,qBACAZ,KAAA,WACAa,GAAA3B,MAAA4B,SAAAC,YAAAC,WAAA,QAGA,IAFAL,QAAAE,KAAAF,OAAAM,SAAAJ,MAEAF,OAAA,OAAA,EAEA,IAAAX,KAAA,CAAAkB,cAAAP,QAEA9C,MAAAwC,WAAAC,aAAAhB,QAAA,IAAAzB,MAAA0C,aAAAC,SAAAW,eAAAnB,SAGAV,QAAA8B,WAAA,WACAnD,EAAA,oBAAAD,UACAqD,KAAApD,EAAA,eAAAD,UAAAkC,QAGAlC,SAAAwB,GAAA,QAAA,aAAA,SAAAC,GACA,KAAAA,EAAAC,SACAzB,EAAA,kBAAAD,UAAA2B,QAAA,WAIA,IAAA2B,sBAAArD,EAAA,qBAAAD,UAEAsD,sBAAA9B,GAAA,QAAA,kBAAA,SAAAC,GACAA,EAAAG,iBAEA,IAAA2B,MAAAtD,EAAA,aAAAD,UAGAgC,KAAA,CACAC,KAHAsB,MAAArB,MAAAqB,MAAArB,MAAAb,MAAAc,gBAIAC,cAAA,GAGAvC,MAAAwC,WAAAC,aAAAhB,QAAA,IAAAzB,MAAA0C,aAAAC,SAAAC,aAAAT,SAGAV,QAAAkC,WAAA,WAEA,KAAAF,sBAAApD,OAAA,GAAA,CAGAoD,sBAAAtC,SAAA,aAGA,IAAAyC,SAAAnD,EAAAoD,MAAApD,EAAAqD,OAAAtC,MAAAuC,UAAA,SAAAC,GACA,OAAAA,EAAAC,YAGA,GAAAL,UAAAA,SAAAM,aAAAd,SAAA/B,MAAA4B,SAAAC,YAAAC,WAAA,SACA5C,OAAA4D,SAAAC,KAAAR,SAAAS,QACA,CACA7C,MAAA8C,mBAAA9C,MAAAc,gBACA,IAAAiC,KAAAvE,MAAAwE,WAAAC,MAAA,sBAAAjD,OACAiC,sBAAAc,KAAAA,MACAd,sBAAArC,YAAA,gBAIApB,MAAAwC,WAAAkC,UAAA1E,MAAA0C,aAAAC,SAAAgC,oBAAAlD,QAAAA,QAAA8B,YAEAvD,MAAAwC,WAAAkC,UAAA1E,MAAA0C,aAAAC,SAAAiC,mBAAAnD,QAAA,SAAAoD,UACA,IAAAC,QAAA1E,EAAA,wBAAAqB,SAEAoD,SAAAE,QAAA5C,MAAA0C,SAAAE,QAAA5C,KAAA4C,SAAAD,QAAAzE,OAAA,GACAyE,QAAAtB,KAAAqB,SAAAE,QAAA5C,KAAA4C,WAGA/E,MAAAwC,WAAAkC,UAAA1E,MAAA0C,aAAAC,SAAAqC,gBAAAvD,QAAA,WACAD,MAAAxB,MAAA0C,aAAAuC,iBAOA,IANA,IAAAC,cAAAlF,MAAAmF,SAAAC,8BAEAC,MAAAjF,EAAAkF,KAAA9D,MAAAuC,UAAA,SAAAwB,GAAAC,GACA,OAAAD,GAAArB,YAAAgB,gBACA7E,OAAA,EAEAmF,EAAA,EAAAA,EAAAhE,MAAAuC,UAAA1D,OAAAmF,IAAA,CACA,IAAAC,KAAAjE,MAAAuC,UAAAyB,GAEAC,KAAAvB,YAAAgB,cACAO,KAAAxB,UAAA,EACA,GAAAuB,GAAAH,QACAI,KAAAxB,UAAA,GAIAxC,QAAAkC","file":"Wishlist.js","sourcesContent":["Vendd.Scripts.load(function () {\n 'use strict';\n\n Vendd.MessageBus.publishAsync(Vendd.User, new Vendd.User.Messages.GetSessionState());\n\n if (LhApp.Context.Item.Template.indexOf('productDetails') >= 0) {\n Vendd.MessageBus.subscribe(Vendd.Product.Messages.SetSelected, 'session.js', function (envelope) {\n trackStats();\n trackAffiliates();\n });\n }\n else {\n Vendd.MessageBus.subscribe(Vendd.User.Messages.GetSessionStateSuccess, 'session.js', function (envelope) {\n trackStats();\n trackAffiliates();\n });\n }\n\n var trackStatsCompleted;\n function trackStats() {\n //just tracking. allow some delay.\n window.setTimeout(function () {\n if (trackStatsCompleted)\n return;\n trackStatsCompleted = true;\n\n Vendd.HandleItemStatistics();\n Vendd.HandleProductStatistics();\n }, 1000);\n }\n\n var trackAffiliatesCompleted;\n function trackAffiliates() {\n //page trackiing disbaled\n if (!LhApp.Context.IsAffiliateTrackingEnabled)\n return;\n\n //just tracking. allow some delay.\n window.setTimeout(function () {\n if (trackAffiliatesCompleted)\n return;\n\n if (LhApp.Context.IsConsentsEnabled) {\n if (window.ConsentsManager.cookiesStatus.marketingCookies) {\n trackAffiliatesCompleted = true;\n LhApp.Function.PageTrackingRequest();\n }\n } else {\n trackAffiliatesCompleted = true;\n LhApp.Function.PageTrackingRequest();\n }\n }, 1000);\n }\n\n Vendd.MessageBus.subscribe(Vendd.Consents.Messages.InsertAllCookiesSuccess, 'session.js.InsertAllCookiesSuccess', function () {\n trackAffiliates();\n });\n});","Vendd.Scripts.load(function () {\n\n window.ConsentsManager = new ConsentsManager();\n\n function ConsentsManager() {\n var self = this;\n\n this.cookie = 'ConsentChecked';\n this.cookieChecked;\n this.cookiesStatus = {};\n\n this.cookiesWidgetWrapper = $('.x-cookie-acceptance');\n\n this.cookiesModalWrapper = $('.cookies-modal-container');\n\n this.cookieTypeCodes = [\n \"FunctionalityCookies\",\n \"StatisticsCookies\",\n \"MarketingCookies\"\n ];\n this.endpoints = {\n \"insertConsents\": \"api/Consents/InsertConsents\",\n \"getCookiesConsentsModel\": \"api/Consents/GetCookiesConsentsModel\",\n \"insertAllCookies\": \"api/Consents/InsertAllCookies\",\n \"updateAllUserConsents\": \"api/Consents/UpdateAllUserConsents\",\n \"getCookiesWidgetModel\": \"api/Consents/GetCookiesWidgetModel\"\n };\n\n\n //------------------------------------------------------------------------------\n this.showCookiesWidget = function () {\n if (LhApp.Context.CookiesDisplay === \"Modal\") {\n self.initCookiesModal();\n } else if (LhApp.Context.CookiesDisplay === \"Layer\" && $('.manage-cookies-container').length <= 0) {\n this.cookiesWidgetWrapper.addClass('visible');\n }\n };\n\n //------------------------------------------------------------------------------\n this.hideCookiesWidget = function () {\n this.cookiesWidgetWrapper.removeClass('visible');\n };\n\n //------------------------------------------------------------------------------\n this.createOrUpdateCookie = function () {\n var date = new Date();\n date.setTime(date.getTime() + (60 * 60 * 1000));\n Cookies.set(self.cookie, self.cookiesStatus, { expires: date, samesite: 'Lax' });\n\n /*--DEPRICATED-- Expose Cookie Consents to Data Layer*/\n var consentsCookie = Cookies.getJSON('ConsentChecked');\n if (consentsCookie) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({ 'functionalityCookiesEnabled': consentsCookie.functionalityCookies, 'marketingCookiesEnabled': consentsCookie.marketingCookies, 'statisticCookiesEnabled': consentsCookie.statisticCookies });\n }\n };\n\n //------------------------------------------------------------------------------\n this.getCookieStatus = function () {\n self.cookiesStatus = !self.cookieChecked ? {\n userHasSetCookies: false,\n functionalityCookies: LhApp.Context.CookiesDefaultActive,\n statisticCookies: LhApp.Context.CookiesDefaultActive,\n marketingCookies: LhApp.Context.CookiesDefaultActive\n } : Cookies.getJSON(self.cookie);\n };\n\n //------------------------------------------------------------------------------\n this.onGetCookieModelSuccess = function (res) {\n\n self.cookiesStatus.userHasSetCookies = res.UserHasSetCookies;\n if (self.cookiesStatus.userHasSetCookies) {\n self.cookiesStatus.functionalityCookies = res.ApprovedFunctionalityCookies;\n self.cookiesStatus.marketingCookies = res.ApprovedMarketingCookies;\n self.cookiesStatus.statisticCookies = res.ApprovedStatisticsCookies;\n }\n\n self.createOrUpdateCookie();\n self.activateCookies();\n\n if (!res.UserHasSetCookies) {\n self.showCookiesWidget();\n } else {\n self.hideCookiesWidget();\n }\n };\n\n //------------------------------------------------------------------------------\n this.insertConsents = function (data) {\n var type = data.type;\n\n function onSuccess(response) {\n\n if (jQuery.inArray(type, self.cookieTypeCodes) > -1) {\n self.getCookieConsentsModel();\n }\n\n Vendd.MessageBus.publishAsync(Vendd.Consents, new Vendd.Consents.Messages.InsertConsents);\n }\n\n function onFailure(response) {\n return response;\n }\n\n var options = {\n method: 'POST',\n url: self.endpoints.insertConsents,\n data: data,\n onSuccess: onSuccess,\n onFailure: onFailure\n };\n\n Vendd.Service.call(options);\n };\n\n var dontLoadOnLoginSuccess;\n Vendd.MessageBus.subscribe(Vendd.User.Messages.Login, self, function (envelope) {\n dontLoadOnLoginSuccess = envelope.message.data.options && envelope.message.data.options.isLoginForm;\n\n if (dontLoadOnLoginSuccess)\n Cookies.remove(self.cookie, { path: '/' });\n });\n\n //------------------------------------------------------------------------------\n this.getCookieConsentsModel = function (afterInsertAllCookiesSuccess) {\n if (dontLoadOnLoginSuccess)\n return;\n\n function onSuccess(response) {\n self.onGetCookieModelSuccess(response.data);\n\n if (afterInsertAllCookiesSuccess || (!self.cookieChecked && !afterInsertAllCookiesSuccess && response.data.UserHasSetCookies))\n Vendd.MessageBus.publishAsync(Vendd.Consents, new Vendd.Consents.Messages.InsertAllCookiesSuccess);\n }\n\n function onFailure(response) {\n return response;\n }\n\n var options = {\n method: 'GET',\n url: self.endpoints.getCookiesConsentsModel + \"?v=\" + Math.random(),\n onSuccess: onSuccess,\n onFailure: onFailure\n };\n\n Vendd.Service.call(options);\n };\n\n //------------------------------------------------------------------------------\n this.insertAllCookies = function (data) {\n\n function onSuccess(response) {\n self.getCookieConsentsModel(true);\n }\n\n function onFailure(response) {\n return response;\n }\n\n var options = {\n method: 'POST',\n url: self.endpoints.insertAllCookies,\n data: data,\n onSuccess: onSuccess,\n onFailure: onFailure\n };\n\n Vendd.Service.call(options);\n };\n\n //------------------------------------------------------------------------------\n this.updateAllUserConsents = function () {\n\n function onSuccess(response) {\n self.getCookieConsentsModel();\n }\n\n function onFailure(response) {\n return response;\n }\n\n var options = {\n method: 'GET',\n url: self.endpoints.updateAllUserConsents,\n onSuccess: onSuccess,\n onFailure: onFailure\n };\n\n Vendd.Service.call(options);\n };\n\n //------------------------------------------------------------------------------\n this.getCookiesWidgetModel = function () {\n\n function onSuccess(response) {\n var initModalHtml = self.cookiesModalWrapper.html();\n\n response.data = $.extend(response.data, { cookiesModal: true });\n\n /*update model with cookie values*/\n var consentsCookie = Cookies.getJSON(self.cookie);\n if (consentsCookie) {\n $.map(response.data.Cookies, function (e) { return e.IsActive = (e.ConsentTypeCode == \"FunctionalityCookies\") ? consentsCookie.functionalityCookies : (e.ConsentTypeCode == \"StatisticsCookies\") ? consentsCookie.statisticCookies : (e.ConsentTypeCode == \"MarketingCookies\") ? consentsCookie.marketingCookies : e.IsActive });\n }\n var html = Vendd.Handlebars.parse(\"cookiesManager_A\", response.data);\n\n self.cookiesModalWrapper.html(html);\n //$.fancybox.update();\n\n var tabsCont = $('.tabs-container', self.cookiesModalWrapper);\n var scrollContConfig = $('.js-scrollbar', self.cookiesModalWrapper);\n\n if (!isTouch() && scrollContConfig) {\n scrollContConfig.mCustomScrollbar({\n scrollbarPosition: \"outside\",\n scrollInertia: 400,\n timeout: 1000,\n theme: \"dark-2\",\n mouseWheel: { preventDefault: false },\n });\n }\n\n $('.tab-title', tabsCont).click(function () {\n var thisTab = $(this);\n thisTab.addClass('active').siblings().removeClass('active');\n\n $('.tab-content:eq(' + thisTab.index() + ')', tabsCont).addClass('active').siblings().removeClass('active');\n });\n\n $('.js-save-cookies-btn', self.cookiesModalWrapper).click(function () {\n var data = { fCookies: true, sCookies: true, mCookies: true, source: 'Cookie Consent Page' }, type;\n\n $('.switch-checkbox', self.cookiesModalWrapper).each(function () {\n type = $(this).closest('div[data-type]').data('type');\n\n if (type === \"FunctionalityCookies\") {\n data.fCookies = $(this).is(\":checked\");\n } else if (type === \"StatisticsCookies\") {\n data.sCookies = $(this).is(\":checked\");\n } else if (type === \"MarketingCookies\") {\n data.mCookies = $(this).is(\":checked\");\n }\n\n });\n\n self.insertAllCookies(data);\n $.fancybox.close();\n });\n\n $('.js-back-to-modal', self.cookiesModalWrapper).click(function () {\n self.cookiesModalWrapper.html(initModalHtml);\n });\n }\n\n function onFailure(response) {\n return response;\n }\n\n var options = {\n method: 'GET',\n url: self.endpoints.getCookiesWidgetModel,\n onSuccess: onSuccess,\n onFailure: onFailure\n };\n\n Vendd.Service.call(options);\n }\n\n //------------------------------------------------------------------------------\n this.registerEvents = function () {\n\n Vendd.MessageBus.subscribe(Vendd.Consents.Messages.InsertAllCookiesSuccess, self, function () {\n //update tagmanager consents if enabled\n var trackingModel = LhApp.Function.Tracking.getTrackingModel();\n if (trackingModel && trackingModel.EnableGoogleTagManagerConsents) {\n LhApp.Function.Tracking.gtag('consent', 'update', {\n 'ad_storage': window.ConsentsManager.cookiesStatus.marketingCookies ? 'granted' : 'denied',\n 'analytics_storage': window.ConsentsManager.cookiesStatus.statisticCookies ? 'granted' : 'denied',\n 'functionality_storage': window.ConsentsManager.cookiesStatus.functionalityCookies ? 'granted' : 'denied',\n 'ad_personalization': window.ConsentsManager.cookiesStatus.marketingCookies ? 'granted' : 'denied',\n 'ad_user_data': window.ConsentsManager.cookiesStatus.marketingCookies ? 'granted' : 'denied',\n 'personalization_storage': window.ConsentsManager.cookiesStatus.functionalityCookies ? 'granted' : 'denied',\n 'security_storage': 'granted'\n });\n }\n if (dataLayer.filter(function (l) { return l['event'] && l['event'] == 'vendd_consents_ready' }) == 0) {\n dataLayer.push({ 'event': 'vendd_consents_ready' });\n }\n });\n\n Vendd.MessageBus.subscribe(Vendd.User.Messages.LoginSuccess, self, function (envelope) {\n //for some reason Login Success is fired even when login fails so the success must be checked....\n if (envelope.message.data.success) {\n self.updateAllUserConsents();\n }\n });\n\n //after successful register always follows login -> unnecessary function in success message\n //Vendd.MessageBus.subscribe(Vendd.User.Messages.RegisterSuccess, self, self.updateAllUserConsents);\n\n //cookies widget\n if (self.cookiesWidgetWrapper.length > 0) {\n self.cookiesWidgetWrapper.on('click', '.js-accept', function (e) {\n e.preventDefault();\n\n var data = { fCookies: true, sCookies: true, mCookies: true, source: 'Cookies Widget' };\n self.insertAllCookies(data);\n });\n }\n\n //cookies modal\n if (self.cookiesModalWrapper.length > 0) {\n self.cookiesModalWrapper.on('click', '.js-accept', function (e) {\n e.preventDefault();\n\n var data = { fCookies: true, sCookies: true, mCookies: true, source: 'Cookies Widget' };\n self.insertAllCookies(data);\n $.fancybox.close();\n });\n }\n\n if (self.cookiesModalWrapper.length > 0) {\n self.cookiesModalWrapper.on('click', '.js-decline', function (e) {\n e.preventDefault();\n\n var data = { fCookies: false, sCookies: false, mCookies: false, source: 'Cookies Widget' };\n self.insertAllCookies(data);\n $.fancybox.close();\n });\n }\n //cookies modal\n if (self.cookiesModalWrapper.length > 0) {\n self.cookiesModalWrapper.on('click', '.terms-link', function (e) {\n e.preventDefault();\n\n self.getCookiesWidgetModel();\n });\n }\n }\n\n //------------------------------------------------------------------------------\n this.initCookiesModal = function () {\n $(\".open-cookies-modal\").fancybox({\n modal: true\n });\n $(\".open-cookies-modal\").trigger(\"click\");\n }\n\n //------------------------------------------------------------------------------\n this.activateCookies = function () {\n window.ScriptsActivator.loadAllScripts(\n self.cookiesStatus.functionalityCookies,\n self.cookiesStatus.marketingCookies,\n self.cookiesStatus.statisticCookies\n );\n };\n\n\n //------------------------------------------------------------------------------\n this.init = function () {\n //behave like consents are activated and we have consent of user for all cookies\n if (!LhApp.Context.IsConsentsEnabled) {\n\n self.cookieChecked = true;\n self.cookiesStatus.userHasSetCookies = true;\n self.cookiesStatus.functionalityCookies = true;\n self.cookiesStatus.marketingCookies = true;\n self.cookiesStatus.statisticCookies = true;\n\n self.activateCookies();\n\n return;//do not run anything else from consents manager\n }\n\n self.cookieChecked = document.cookie.indexOf(self.cookie) !== -1;\n self.getCookieStatus();\n self.activateCookies();\n self.registerEvents();\n\n if (!self.cookieChecked) {\n self.getCookieConsentsModel();\n } else if (!self.cookiesStatus.userHasSetCookies) {\n self.showCookiesWidget();\n }\n };\n\n self.init();\n\n return self;\n };\n});\n"]}