{"version":3,"sources":["webpack:///./node_modules/promise-polyfill/src/finally.js","webpack:///./Scripts/Web/ViewModels/Checkout/PaymentEvents.js","webpack:///./node_modules/promise-polyfill/src/index.js","webpack:///./Scripts/Web/ViewModels/Checkout/CartEvents.js","webpack:///./Scripts/Web/ViewModels/Checkout/CartSmallEvents.js","webpack:///./Scripts/Web/ViewModels/Checkout/LoginCheckoutView.js","webpack:///./Scripts4.0/d4-main.js","webpack:///./node_modules/promise-polyfill/src/polyfill.js","webpack:///./Scripts/Web/ViewModels/Checkout/ReceiptView.js","webpack:///./Scripts/Web/ViewModels/Checkout/CartSmallView.js","webpack:///./Scripts/Web/ViewModels/Checkout/ShipmentEvents.js"],"names":["callback","constructor","this","then","value","resolve","reason","reject","mcWeb","payments","events","onShowUpdateIcon","onHideUpdateIcon","reloadPayments","focusFirstName","updateOrgNr","processPaymentMethods","onSelectedPayment","updateKco","setTimeoutFunc","setTimeout","isArray","x","Boolean","length","noop","Promise","fn","TypeError","_state","_handled","_value","undefined","_deferreds","doResolve","handle","self","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","e","promise","push","newValue","finale","thisArg","apply","arguments","_unhandledRejectionFn","i","len","Handler","done","ex","prototype","prom","all","arr","args","Array","slice","call","remaining","res","val","race","setImmediate","err","console","warn","cart","hasCartItems","onChangedCart","onChangedQuantityCart","focusDiscoutCode","cartGuid","onChangeCollectedDelivery","onShowNewItemInCart","onShowNewItemInCartText","onHideNewItemInCart","onRequestSendt","onPopupForProductAssembly","cartsmall","onChangedQuantityCartSmall","onUpdateCart","onUpdateCartForceLoad","onChangeVat","onChangeFav","onCartItemRemoved","onGotoSelectedCart","onIsCartChanged","loginCheckout","$","jQuery","onShowHideLogin","onShowLoginEmail","onShowLoginPassword","onChangedEmail","vm","id","service","WebApiService","isLoggedIn","ko","observable","isSoftLoggedIn","forceLogin","showSearchBtn","showSearchSpin","showPswPanel","showPswBtn","showPswSpin","showVippsLoginBtn","showVippsLoginSpin","showNewCustomerBtn","email","psw","isEmailSelected","onBlurMail","subscribe","isPswSelected","showErrorLogin","showBlockedLogin","showCustomerRegistration","onlyExpressCheckout","paymentId","isCheckout","checkoutRequirePassword","useCustomerRegistration","vippsExpressCheckoutInCart","vippsLoginEnabled","isVippsLogin","registration","customerRegistration","instances","data","pswt","clearStorage","window","StorageService","localStorage","removeItem","load","settings","user","currentUser","getUser","IsLoggedIn","SecuritySoftening","securitySoftening","IsSoftLoggedIn","ReadOnly","CheckoutRequirePassword","ShowCustomerRegistration","VippsExpressCheckoutInCart","VippsLoginEnabled","setCheckoutState","setLocalStorage","vippsRegisterCustomer","location","hash","toLowerCase","GetAction","token","result","registrationVM","populateAddress","User","IsVippsLogin","newCustomer","param","WebBrukerId","NewCustomer","PostAction","Success","NextStage","InActive","DoSoftLogin","ShowUserName","showUserNameAndPassword","AutoFillUserName","PubSub","publish","ShowUserDetails","onChangeEmail","GetUserDetails","setLoginFocus","doSecuritySofteningLogin","optionalUserName","zipCode","useSoftlog","epost","showRegistration","runCheckEmail","onChangedCustomerData","onRememberedUserNotMe","reload","onClickCheckEmail","d","keyCode","type","onClickVippsLogin","isCart","document","href","onClickLogin","localstorge","getItem","pass","lightbox","onHideSpinicon","show","username","password","allowasynclogin","IsNormalMode","indexOf","remove","rember","setItem","Id","authenticationGuid","AuthenticatedUserGuid","login","onIsloggedIn","alert","forceEmail","emailKnown","message","slideUp","responsive","getScreenSize","focus","slideDown","fadeOut","hide","fadeIn","removeClass","showBtn","checkout","onShowSendOrder","disabledBtn","addClass","detach","appendTo","customerData","getJsonData","getEmail","ResetLoginCheckoutPosision","addEventListener","AjaxRenderingEngine","AjaxRenderingEngineEventTypes","onKnockoutRenderingCompleted","options","onNewAreasShown","updateVariantMatrixField","loadLightboxFields","onPopupReady","dataToApply","Data","applyCustomerSpecifics","targetField","globalNS","global","Error","receipt","langService","LanguageService","expressCustomer","showCheckoutConfirmation","showReceiptInformation","showSantanderPayeverApproved","showSantanderPayeverManual","ExpressCustomer","GetCheckoutConfirmationSnippet","GetSantanderPayeverApplicationResult","CurrentPaymentMethod","json","JSON","parse","ExtraInfoJson","Status","Snippet","UseSoftlog","CustomerEmail","setUser","html","extend","popoverNode","popoverOpen","priceTotal","priceTotalInkVat","priceTotalProducts","priceTotalProductsInkVat","priceTotalInkVatExShipping","priceTotalExVatExShipping","summaryPreGiftcardsInkMva","summaryPreGiftcardsEksMva","giftcardsTotal","priceTotalInkCarrier","priceTotalInkCarrierInkVat","vatTotal","vatTotalInkCarrier","hasCart","cartName","displayDate","itemCount","favoriteCount","cartItems","observableArray","orderbooks","showPriceDisplayControls","chkPriceIncExVat","chkShowVeilPris","chkHideCustomerPice","showPriceIncExVat","showRemoveButton","showCart","showRemoveCart","OrderbookDate","OrderbookActive","showGoToCart","showGoToCheckout","showExternalCheckout","addToCartNotifier","addToCartNotifierText","addToCartNotifierIsActive","isVisible","isCartItemsSet","favoriteCartUrl","offerCartUrl","isSoftLog","decimalsQuantity","popupTime","showOrderbookSummary","smallCartContentId","invoiceFee","invoiceFeeInkVat","invoiceFeeAndShipping","invoiceFeeAndShippingInkVat","SummarySumCostReductionIncVat","summarySumAfterCostReductionsIncVat","disableIncExVatChange","offerCount","cartHashCode","guId","ready","popupMsg","popupMsgWait","find","popupMsgSuccess","popupMsgError","popupMsgText","numberOfItemsToShow","cartItemsToShow","computed","items","itemsToShow","Math","min","product","ProductId","resultQuantity","newQuantity","inkVat","setVat","log","doShowActiveCart","doShowOrderbookSummary","orderbookManager","showOrderbookSummaryInline","forceLoad","showSmallCartAmount","ShowGoToCart","ShowGoToCheckout","ShowExternalCheckout","ShowPriceIncExVat","ShowRemoveButton","ShowPriceDisplayControls","ShowVeilPrisValue","HideCustomerPriceValue","FavoriteCartUrl","OfferCartUrl","SmallCartItemsToShow","DecimalsQuantity","PopupTime","DisableIncExVatChange","CartName","DisplayDate","Orderbooks","OrderbookIncludesDefaultCart","HasCart","mc","format","asCulture","ItemCount","FavoriteCount","PriceTotal","PriceTotalInkVat","PriceTotalExVatExShipping","PriceTotalInkVatExShipping","SummaryPreGiftcardsInkMva","SummaryPreGiftcardsEksMva","GiftcardsTotal","PriceTotalInkCarrier","PriceTotalInkCarrierInkVat","VatTotal","VatTotalInkCarrier","InvoiceFee","InvoiceFeeInkVat","InvoiceFeeAndShipping","InvoiceFeeAndShippingInkVat","OfferCount","SummarySumAfterCostReductionIncVat","AddToCartNotifier","AddToCartNotifierText","IncVat","setFavoriteGuid","FavoriteGuid","CartHashCode","GuId","utils","arrayForEach","CartItems","item","isObservable","Quantity","QuantityMinimum","Price1","Price2","CostReductionIncVat","AmountAfterReductionIncVat","ShowNewItemInCartNotifier","useVat","hasCarrier","guid","getCartIdFromSessionStorage","favGuid","getFavoriteGuid","sessionStorage","incVat","vatChange","isCheckoutPage","isCartPage","setVeil","showVeil","showVeilPris","setHideCustomerPrice","hideCustomerPrice","onClose","popover","onClickRemove","updateQuantity","plid","quantity","freeShippingTxt","onUpdateFreeShipping","pubObject","Object","removeAll","activeElement","blur","RequireFullRefresh","ajaxRenderEngine","onPriceRefreshRequested","onClickVat","onClickVeil","onClickHideCustomerPrice","onClickProductLink","ProductLink","onClickGoToCart","updateIcon","onSelectCart","onSelectCartByName","Name","name","ActiveCartName","onGoToCart","pathname","onClickGoToCheckout","getContent","conId","kn","bindingHandlers","init","element","valueAccessor","allBindingsAccessor","viewModel","bindingContext","node","option","unwrapObservable","contentid","titId","titleid","titlekn","togglePopover","MegaMenuResponsive","setOverlay","conEl","getElementById","titEl","cleanNode","applyBindings","pop","title","content","trigger","sanitize","placement","context","con","contentClass","on","mouseleaveCartSmall","event","target","closest","is","stopPropagation","bind","unbind","click","inlineEditor","update","isMedium","panel","append","delay","status","msg","isRunningPop","asNumber","time","favoriteGuid","sFavCartId","shipment","reloadShipment","onChangedShipment","onSelectedShipment","onSelectedShipmentForCustomerRefresh"],"mappings":"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","file":"main.456f1bc73d854190d17f.bundle.js","sourcesContent":["/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","mcWeb.payments = new function () { };\r\n\r\nmcWeb.payments.events = {\r\n onShowUpdateIcon: \"mcWeb.payments.onShowUpdateIcon\",\r\n onHideUpdateIcon: \"mcWeb.payments.onHideUpdateIcon\",\r\n reloadPayments: \"mcWeb.payments.reloadPayments\",\r\n focusFirstName: \"mcWeb.payments.paymentsfocusFirstName\",\r\n updateOrgNr: \"mcWeb.payments.updateOrgNr\",\r\n processPaymentMethods: \"mcWeb.payments.processPaymentMethods\",\r\n onSelectedPayment: \"mcWeb.payments.onSelectedPayment\",\r\n updateKco: \"mcWeb.payments.events.updateKco\"\r\n};","import promiseFinally from './finally';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","mcWeb.cart = new function () { };\r\n\r\nmcWeb.cart.events = {\r\n hasCartItems: \"mcWeb.cart.events.hasCartItems\",\r\n onChangedCart: \"mcWeb.cart.events.onChangedCart\",\r\n onChangedQuantityCart: \"mcWeb.cart.events.onChangedQuantityCart\",\r\n focusDiscoutCode: \"mcWeb.cart.events.focusDiscoutCode\",\r\n cartGuid: \"mcWeb.cart.events.cartGuid\",\r\n onChangeCollectedDelivery: \"mcWeb.cart.events.onChangeCollectedDelivery\",\r\n onShowNewItemInCart: \"mcWeb.cart.events.onShowNewItemInCart\",\r\n onShowNewItemInCartText: \"mcWeb.cart.events.onShowNewItemInCartText\",\r\n onHideNewItemInCart: \"mcWeb.cart.events.onHideNewItemInCart\",\r\n onRequestSendt: \"mcWeb.cart.events.onRequestSendt\",\r\n onPopupForProductAssembly: \"mcWeb.cart.events.onPopupForProductAssembly\"\r\n};","mcWeb.cartsmall = new function () { };\r\n\r\nmcWeb.cartsmall.events = {\r\n onChangedQuantityCartSmall: \"mcWeb.cartsmall.onChangedQuantityCartSmall\",\r\n onUpdateCart: \"mcWeb.cartsmall.events.onUpdateCart\",\r\n onUpdateCartForceLoad: \"mcWeb.cartsmall.events.onUpdateCartForceLoad\",\r\n onChangeVat: \"mcWeb.cartsmall.events.onChangeVat\",\r\n onShowNewItemInCart: \"mcWeb.cartsmall.events.onShowNewItemInCart\",\r\n onShowNewItemInCartText: \"mcWeb.cartsmall.events.onShowNewItemInCartText\",\r\n onHideNewItemInCart: \"mcWeb.cartsmall.events.onHideNewItemInCart\",\r\n onChangeFav: \"mcWeb.cartsmall.events.onChangeFav\",\r\n onCartItemRemoved: \"mcWeb.cartsmall.events.onCartItemRemoved\",\r\n onGotoSelectedCart: \"mcWeb.cartsmall.events.onGotoSelectedCart\",\r\n onIsCartChanged: \"mcWeb.cartsmall.events.onIsCartChanged\"\r\n};","mcWeb.loginCheckout = new function () {\r\n var $ = jQuery;\r\n\r\n this.events = {\r\n onShowHideLogin: \"mcWeb.loginCheckout.events.onShowHideLogin\",\r\n onShowLoginEmail: \"mcWeb.loginCheckout.events.onShowLoginEmail\",\r\n onShowLoginPassword: \"mcWeb.loginCheckout.events.onShowLoginPassword\",\r\n onChangedEmail: \"mcWeb.loginCheckout.events.onChangedEmail\"\r\n };\r\n\r\n this.vm = function (id) {\r\n var KCO_BETBETID = 167;\r\n var NETS_EASY_BETBETID = 183;\r\n var VIPPS_BETBETID = 186;\r\n\r\n var self = this;\r\n this.id = \"#\" + id;\r\n this.service = new WebApiService(\"CustomerRegistration\");\r\n\r\n this.isLoggedIn = ko.observable(false);\r\n this.isSoftLoggedIn = ko.observable(false);\r\n this.forceLogin = ko.observable(false);\r\n\r\n this.showSearchBtn = ko.observable(true);\r\n this.showSearchSpin = ko.observable(false);\r\n\r\n this.showPswPanel = ko.observable(false);\r\n this.showPswBtn = ko.observable(false);\r\n this.showPswSpin = ko.observable(false);\r\n\r\n this.showVippsLoginBtn = ko.observable(false);\r\n this.showVippsLoginSpin = ko.observable(false);\r\n\r\n this.showNewCustomerBtn = ko.observable(false);\r\n\r\n this.email = ko.observable('');\r\n //this.email.subscribe(function (epost) {\r\n \r\n // if (self.showPswPanel()) {\r\n // self.showPswPanel(false);\r\n // }\r\n // if (!self.showSearchBtn()) {\r\n // self.showSearchBtn(true);\r\n // }\r\n //});\r\n\r\n this.psw = ko.observable('');\r\n\r\n this.isEmailSelected = ko.observable(true);\r\n this.onBlurMail = ko.observable(false);\r\n this.onBlurMail.subscribe(function () {\r\n self.isEmailSelected(false);\r\n });\r\n\r\n this.isPswSelected = ko.observable(false);\r\n\r\n this.showErrorLogin = ko.observable(false);\r\n this.showBlockedLogin = ko.observable(false);\r\n\r\n this.showCustomerRegistration = ko.observable(false);\r\n\r\n this.onlyExpressCheckout = ko.observable(false);\r\n this.paymentId = ko.observable();\r\n this.isCheckout = ko.observable(false);\r\n this.checkoutRequirePassword = false;\r\n this.useCustomerRegistration = false;\r\n this.vippsExpressCheckoutInCart = false;\r\n this.vippsLoginEnabled = false;\r\n this.isVippsLogin = false;\r\n\r\n this.registration = mcWeb.customerRegistration.instances['checkout-registration'];\r\n\r\n this.data = null;\r\n\r\n var pswt = \"********************\";\r\n var clearStorage = function () {\r\n window.StorageService.localStorage.removeItem('user');\r\n window.StorageService.localStorage.removeItem('id');\r\n window.StorageService.localStorage.removeItem('remember');\r\n window.StorageService.localStorage.removeItem('authenticatedGuid');\r\n };\r\n\r\n var setLocalStorage = function () {\r\n\r\n var user = mcWeb.currentUser.getUser();\r\n\r\n if (user !== null) {\r\n self.email(user);\r\n }\r\n setCheckoutState(false);\r\n };\r\n\r\n this.load = function (data, settings) {\r\n\r\n if (settings !== null) {\r\n\r\n self.isCheckout($('.body-checkout').length > 0);\r\n\r\n var user = mcWeb.currentUser.getUser();\r\n\r\n if (!settings.IsLoggedIn && settings.SecuritySoftening && user !== null) {\r\n self.email(user);\r\n }\r\n self.securitySoftening = settings.SecuritySoftening;\r\n \r\n self.isSoftLoggedIn(settings.IsSoftLoggedIn);\r\n self.isLoggedIn(settings.IsLoggedIn || settings.ReadOnly || (settings.SecuritySoftening && user !== null));\r\n self.checkoutRequirePassword = settings.CheckoutRequirePassword;\r\n self.useCustomerRegistration = settings.ShowCustomerRegistration;\r\n self.vippsExpressCheckoutInCart = settings.VippsExpressCheckoutInCart;\r\n self.vippsLoginEnabled = settings.VippsLoginEnabled;\r\n self.showVippsLoginBtn(self.vippsLoginEnabled);\r\n\r\n //if ((self.isCheckout()) && (!self.checkoutRequirePassword)) {\r\n // self.showRememberMe(false);\r\n // window.StorageService.localStorage.setItem('remember', true);\r\n //}\r\n //self.securitySoftening = settings.SecuritySoftening;\r\n }\r\n if (self.isLoggedIn() || self.isSoftLoggedIn()) {\r\n\r\n setCheckoutState(false);\r\n return;\r\n }\r\n\r\n setLocalStorage();\r\n\r\n self.vippsRegisterCustomer();\r\n };\r\n\r\n this.vippsRegisterCustomer = function () {\r\n if (window.location.hash.toLowerCase() === \"#vippslogin\")\r\n self.isVippsLogin = true;\r\n\r\n if (self.vippsLoginEnabled && self.isVippsLogin) {\r\n var registration = mcWeb.customerRegistration.instances[\"checkout-registration\"];\r\n if (registration !== null) {\r\n self.service.GetAction(\"RegistrationSettingsJson\", {\r\n isCheckout: ($('.body-checkout').length > 0),\r\n token: null\r\n }).done(function (result) {\r\n if (result !== null) {\r\n if (result.ShowCustomerRegistration === true || token !== null) {\r\n registration.registrationVM.populateAddress(result.User, result.IsVippsLogin);\r\n self.newCustomer();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n //Check E-mail\r\n var setCheckoutState = function (newCustomer) {\r\n var param = null;\r\n if (!newCustomer) {\r\n param = {\r\n WebBrukerId: self.email(),\r\n NewCustomer: false\r\n };\r\n } else {\r\n param = {\r\n WebBrukerId: '',\r\n NewCustomer: true\r\n };\r\n }\r\n self.showSearchSpin(true);\r\n self.service.PostAction(\"CheckNextCheckoutStage\", param).done(function (result) {\r\n self.showSearchSpin(false);\r\n if (result && result.Success) {\r\n switch (result.NextStage) {\r\n case \"InActive\":\r\n InActive();\r\n return;\r\n case \"DoSoftLogin\":\r\n DoSoftLogin();\r\n return;\r\n\r\n case \"ShowUserName\":\r\n ShowUserName();\r\n //GetUserDetails();\r\n break;\r\n\r\n case \"ShowUserNameAndPassword\":\r\n showUserNameAndPassword(result.AutoFillUserName);\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, null);\r\n break;\r\n\r\n case \"ShowUserDetails\":\r\n ShowUserDetails();\r\n break;\r\n\r\n case \"ShowCustomerRegistration\":\r\n ShowCustomerRegistration();\r\n break;\r\n }\r\n }\r\n });\r\n\r\n };\r\n\r\n var ShowCustomerRegistration = function () {\r\n self.showCustomerRegistration(true);\r\n self.showNewCustomerBtn(false);\r\n self.showPswPanel(false);\r\n self.isPswSelected(false);\r\n self.showPswBtn(false);\r\n self.showSearchSpin(false);\r\n self.forceLogin(false);\r\n\r\n PubSub.publish(mcWeb.customerRegistration.events.onChangeEmail, self.email());\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, null);\r\n };\r\n\r\n var ShowUserDetails = function () {\r\n self.showCustomerRegistration(false);\r\n self.showNewCustomerBtn(false);\r\n self.showPswPanel(false);\r\n self.isPswSelected(false);\r\n self.showPswBtn(false);\r\n self.showSearchSpin(false);\r\n self.forceLogin(false);\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, null);\r\n GetUserDetails();\r\n };\r\n\r\n var ShowUserName = function () {\r\n self.showCustomerRegistration(false);\r\n self.showSearchBtn(true);\r\n self.showPswPanel(false);\r\n self.showPswBtn(false);\r\n self.showNewCustomerBtn(false);\r\n self.forceLogin(false);\r\n self.setLoginFocus(true);\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, null);\r\n };\r\n\r\n var InActive = function() {\r\n self.showBlockedLogin(true);\r\n self.showCustomerRegistration(false);\r\n self.showSearchSpin(false);\r\n };\r\n\r\n var DoSoftLogin = function () {\r\n self.showCustomerRegistration(false);\r\n self.showPswPanel(false);\r\n self.showNewCustomerBtn(false);\r\n self.showPswBtn(false);\r\n self.forceLogin(false);\r\n mcWeb.currentUser.doSecuritySofteningLogin(self.email());\r\n };\r\n\r\n var showUserNameAndPassword = function (optionalUserName) {\r\n self.showSearchBtn(false);\r\n self.showCustomerRegistration(false);\r\n\r\n self.showNewCustomerBtn(self.useCustomerRegistration);\r\n\r\n self.showPswPanel(true);\r\n self.showPswBtn(true);\r\n self.showSearchSpin(false);\r\n if (optionalUserName !== undefined && optionalUserName !== null && optionalUserName.length > 0) \r\n self.email(optionalUserName);\r\n\r\n self.setLoginFocus();\r\n self.forceLogin(true);\r\n\r\n };\r\n\r\n var GetUserDetails = function () {\r\n var data = {\r\n email: self.email(),\r\n zipCode: null,\r\n isCheckout: self.isCheckout()\r\n };\r\n\r\n self.service.PostAction(\"IsRegistered\", data).done(function (result) {\r\n\r\n self.showSearchSpin(false);\r\n self.showPswSpin(false);\r\n\r\n if (result === null) {\r\n return;\r\n }\r\n\r\n if (result.useSoftlog && self.checkoutRequirePassword === true) {\r\n self.showPswPanel(true);\r\n self.isPswSelected(true);\r\n self.showPswBtn(true);\r\n return;\r\n }\r\n\r\n var epost = (result.epost === null || result.epost.length < 2) ? self.email() : result.epost;\r\n\r\n result.epost = epost;\r\n showRegistration(result);\r\n });\r\n\r\n };\r\n\r\n this.runCheckEmail = function () {\r\n setCheckoutState();\r\n };\r\n\r\n var showRegistration = function (data) {\r\n\r\n if (data === null) {\r\n self.showPswSpin(false);\r\n self.showPswBtn(true);\r\n return;\r\n }\r\n\r\n self.showCustomerRegistration(true);\r\n PubSub.publish(mcWeb.customerRegistration.events.onChangedCustomerData, data);\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, null);\r\n\r\n };\r\n\r\n this.newCustomer = function () {\r\n if (self.isLoggedIn() || self.isSoftLoggedIn()) {\r\n PubSub.publish(mcWeb.customerRegistration.onRememberedUserNotMe, null);\r\n\r\n var service = new WebApiService(\"CustomerRegistration\");\r\n service.GetAction(\"ChangeSessionToDefaultCustomer\").done(function (result) {\r\n window.location.reload();\r\n });\r\n } else\r\n setCheckoutState(true);\r\n };\r\n\r\n this.onClickCheckEmail = function (d, e) {\r\n self.showErrorLogin(false);\r\n self.showBlockedLogin(false);\r\n if (e.keyCode === 13 || e.type === \"click\") {\r\n\r\n //window.StorageService.localStorage.removeItem('authenticatedGuid');\r\n\r\n if (self.email() !== null && self.email().length > 0) {\r\n setCheckoutState();\r\n } else {\r\n clearStorage(false);\r\n self.showErrorLogin(true);\r\n }\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n var login = function () {\r\n\r\n try {\r\n\r\n var psw = self.psw();\r\n var localstorge = (psw === pswt);\r\n var id = window.StorageService.localStorage.getItem('id');\r\n var pass = (id !== null && localstorge) ? id : psw;\r\n\r\n if (pass === null || psw === pswt) {\r\n clearStorage();\r\n PubSub.publish(mcWeb.lightbox.events.onHideSpinicon);\r\n $(\"#error-msg-login\").show();\r\n return;\r\n }\r\n\r\n self.showPswBtn(false);\r\n self.showPswSpin(true);\r\n\r\n var data = {\r\n username: self.email(),\r\n password: pass,\r\n localstorge: localstorge,\r\n allowasynclogin: false,\r\n isCheckout: self.isCheckout(),\r\n IsNormalMode: self.email().indexOf('@multicase.no') > 0\r\n };\r\n\r\n var api = new WebApiService(\"Login\");\r\n api.PostAction(\"Login\", data).done(function (result) {\r\n\r\n self.showPswSpin(false);\r\n if (result.Success === true) {\r\n\r\n var remove = true;\r\n var rember = window.StorageService.localStorage.getItem('remember');\r\n if (rember !== null && rember === 'true') {\r\n\r\n var user = mcWeb.currentUser.getUser();\r\n if (user !== null && user === result.User) {\r\n window.StorageService.localStorage.setItem('id', result.Id);\r\n remove = false;\r\n }\r\n }\r\n\r\n if (remove) {\r\n window.StorageService.localStorage.removeItem('id');\r\n window.StorageService.localStorage.removeItem('remember');\r\n }\r\n\r\n var data = {\r\n email: self.email(),\r\n zipCode: null,\r\n isCheckout: self.isCheckout(),\r\n authenticationGuid: result.AuthenticatedUserGuid\r\n };\r\n\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n\r\n self.service.PostAction(\"IsRegistered\", data).done(function (data) {\r\n\r\n PubSub.publish(mcWeb.login.events.onIsloggedIn, true);\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n showRegistration(data);\r\n });\r\n }\r\n else {\r\n self.showPswSpin(false);\r\n self.showPswBtn(true);\r\n clearStorage(false);\r\n self.showErrorLogin(true);\r\n }\r\n\r\n return false;\r\n });\r\n } catch (ex) {\r\n alert(\"Exception: \" + ex);\r\n }\r\n };\r\n\r\n this.onClickVippsLogin = function (d, e) {\r\n self.showVippsLoginSpin(true);\r\n self.showVippsLoginBtn(false);\r\n\r\n var api = new WebApiService(\"Login\");\r\n var data = { isCart: true };\r\n api.GetAction(\"VippsGetAuthorizationEndpoint\", data).done(function (result) {\r\n\r\n self.showVippsLoginSpin(false);\r\n\r\n if (result && result.length > 0) {\r\n document.location.href = result\r\n }\r\n else {\r\n self.showVippsLoginBtn(true);\r\n }\r\n\r\n return false;\r\n });\r\n };\r\n\r\n this.onClickLogin = function (d, e) {\r\n\r\n self.showErrorLogin(false);\r\n self.showBlockedLogin(false);\r\n\r\n if (e.keyCode === 13 || e.type === \"click\") {\r\n if (self.psw() !== null && self.psw().length > 4) {\r\n login();\r\n } else {\r\n self.showErrorLogin(true);\r\n }\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n this.setLoginFocus = function (forceEmail) {\r\n if (forceEmail) {\r\n self.isPswSelected(false);\r\n self.isEmailSelected(true);\r\n } else {\r\n var emailKnown = (self.email() !== null && self.email().length > 0);\r\n self.isPswSelected(emailKnown);\r\n self.isEmailSelected(!emailKnown);\r\n }\r\n };\r\n\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, hasCartItems) {\r\n\r\n if (hasCartItems === true) {\r\n PubSub.publish(mcWeb.customerRegistration.events.onChangedCustomerData, null);\r\n PubSub.publish(mcWeb.cart.events.focusDiscoutCode);\r\n }\r\n\r\n });\r\n\r\n\r\n PubSub.subscribe(mcWeb.customerRegistration.onRememberedUserNotMe, function () {\r\n clearStorage(true);\r\n self.email('');\r\n });\r\n\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onShowLoginEmail, function (message, paymentId) {\r\n self.isLoggedIn(false);\r\n self.showCustomerRegistration(false);\r\n $('#payments-tab-nav').slideUp(800);\r\n\r\n self.showSearchBtn(true);\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, paymentId);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onShowLoginPassword, function (message, paymentId) {\r\n self.isLoggedIn(false);\r\n self.showCustomerRegistration(false);\r\n $('#payments-tab-nav').slideUp(800);\r\n\r\n self.showPswPanel(true);\r\n self.showPswBtn(true);\r\n\r\n if (mcWeb.responsive.getScreenSize() !== 'xs') {\r\n $(\"#checkout-email\").focus();\r\n }\r\n showUserNameAndPassword();\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, paymentId);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onShowHideLogin, function (message, paymentId) {\r\n if (paymentId !== null) self.paymentId(paymentId);\r\n else paymentId = self.paymentId();\r\n\r\n if (self.isLoggedIn() || self.showCustomerRegistration() || (self.isSoftLoggedIn() && !self.checkoutRequirePassword && !self.forceLogin() )) {\r\n\r\n var nav = $('#payments-tab-nav');\r\n nav.slideDown(800);\r\n $('#checkout-login').fadeOut(\"slow\", function () {\r\n\r\n $('.registration-type').hide();\r\n $('.payment-title').slideDown(\"slow\", function () {\r\n\r\n $('.registration-type').fadeIn(400);\r\n $('.klarna-konto').fadeIn(400);\r\n $('.santander-partpayment').fadeIn(400);\r\n $('.santander-invoice').fadeIn(400);\r\n $('.sveawebpay').fadeIn(400);\r\n $('.vipps').fadeIn(400);\r\n $('.gothia').fadeIn(400);\r\n $(\"#OrgnrSsn\").fadeIn(400);\r\n\r\n $('.tab-content').removeClass('tab-radius');\r\n\r\n var showBtn = true;\r\n if (paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID) showBtn = false;\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: showBtn, disabledBtn: false });\r\n\r\n $('.checkout').removeClass('l-out').addClass('l-in');\r\n\r\n if (paymentId !== KCO_BETBETID && paymentId !== NETS_EASY_BETBETID) {\r\n setTimeout(function () {\r\n $(\"#customer-registration\").fadeIn();\r\n $(\"#registrationFieldContainer\").fadeIn();\r\n $(\".checkout .customer-registration .requiredMsg\").fadeIn();\r\n }, 400);\r\n }\r\n\r\n if (!self.isLoggedIn()) {\r\n PubSub.publish(mcWeb.payments.events.focusFirstName);\r\n PubSub.publish(mcWeb.payments.events.processPaymentMethods, paymentId);\r\n }\r\n\r\n });\r\n });\r\n return;\r\n }\r\n\r\n if (paymentId === null)\r\n return;\r\n\r\n $('.payment-title').slideUp(\"slow\");\r\n $('.registration-type').fadeOut(\"slow\");\r\n $('.klarna-konto').fadeOut(\"slow\");\r\n $('.santander-partpayment').fadeOut(\"slow\");\r\n $('.santander-invoice').fadeOut(\"slow\");\r\n $('.sveawebpay').fadeOut(\"slow\");\r\n $('.vipps').fadeOut(\"slow\");\r\n $('.gothia').fadeOut(\"slow\");\r\n\r\n $(\"#customer-registration\").fadeOut(\"slow\");\r\n $(\"#OrgnrSsn\").fadeOut(\"slow\", function () {\r\n\r\n $('.tab-content').addClass('tab-radius');\r\n\r\n if (paymentId !== KCO_BETBETID && paymentId !== NETS_EASY_BETBETID && !self.isVippsLogin) {\r\n $(\"#mcweb-logincheckout-login-checkout\").detach().appendTo(\"#\" + paymentId);\r\n $('#checkout-login').fadeIn(\"slow\");\r\n }\r\n\r\n $('.checkout').removeClass('l-in').addClass('l-out');\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: true });\r\n\r\n self.setLoginFocus();\r\n\r\n if (self.vippsExpressCheckoutInCart && paymentId === VIPPS_BETBETID)\r\n self.newCustomer();\r\n });\r\n\r\n\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onSelectedPayment, function (message, paymentId) {\r\n if (paymentId !== null) self.paymentId(paymentId);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n self.isLoggedIn(isLoggedIn);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onChangedEmail, function (message, email) {\r\n if (email.length < 3) {\r\n return; //No change\r\n }\r\n\r\n var customerData = self.registration.getJsonData();\r\n if (customerData !== null && customerData.epost !== null && customerData.epost === email) {\r\n return;\r\n }\r\n\r\n self.email(email);\r\n setCheckoutState();\r\n });\r\n\r\n };//END VM\r\n\r\n this.getEmail = function () {\r\n var el = mcWeb.loginCheckout.instances['login-checkout'];\r\n return el.email();\r\n };\r\n\r\n this.ResetLoginCheckoutPosision = function () {\r\n //Move login checkout back\r\n if ($(\".cart-login #mcweb-logincheckout-login-checkout\").length < 1) {\r\n $('#checkout-login').hide();\r\n $(\"#mcweb-logincheckout-login-checkout\").detach().appendTo(\".cart-login\");\r\n }\r\n }\r\n\r\n\r\n};\r\n","import 'promise-polyfill/src/polyfill';\r\nimport { AjaxRenderingEngineEventTypes, AjaxRenderingEngine } from '@scripts/ajax-render-engine';\r\n\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n if(jQuery(\"body.d4-loading-awaits-knockout\").length <= 0){\r\n AjaxRenderingEngine.load();\r\n }\r\n else{//the individual page takes control of starting the loading\r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onKnockoutRenderingCompleted, function(message, options){\r\n AjaxRenderingEngine.load();\r\n });\r\n }\r\n \r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onNewAreasShown, function (message, options) {\r\n AjaxRenderingEngine.updateVariantMatrixField(options);\r\n AjaxRenderingEngine.loadLightboxFields(options);\r\n });\r\n\r\n PubSub.subscribe(AjaxRenderingEngineEventTypes.onPopupReady, function (message, options) {\r\n if (options !== undefined && options !== null && options.dataToApply !== undefined && options.dataToApply !== null) {\r\n for (var i = 0; i < options.dataToApply.Data.length; i++) {\r\n var data = options.dataToApply.Data[i];\r\n AjaxRenderingEngine.applyCustomerSpecifics(data.targetField, data); \r\n }\r\n }\r\n });\r\n\r\n\r\n \r\n});\r\n","import Promise from './index';\nimport promiseFinally from './finally';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!('Promise' in globalNS)) {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n}\n","mcWeb.receipt = new function () {\r\n\r\n this.events = {\r\n }\r\n\r\n this.vm = function (id) {\r\n var $ = jQuery;\r\n var self = this;\r\n this.id = \"#\" + id;\r\n this.langService = new LanguageService();\r\n this.expressCustomer = ko.observable(false);\r\n this.showCheckoutConfirmation = ko.observable(false);\r\n this.showReceiptInformation = ko.observable(true);\r\n\r\n this.showSantanderPayeverApproved = ko.observable(false);\r\n this.showSantanderPayeverManual = ko.observable(false);\r\n\r\n this.load = function (data, settings) {\r\n if (data.ExpressCustomer)\r\n self.expressCustomer(true);\r\n\r\n self.showCheckoutConfirmation(false);\r\n self.GetCheckoutConfirmationSnippet();\r\n\r\n self.showSantanderPayeverApproved(false);\r\n self.showSantanderPayeverManual(false);\r\n self.GetSantanderPayeverApplicationResult();\r\n };\r\n\r\n this.GetSantanderPayeverApplicationResult = function () {\r\n var serviceLocal = new WebApiService(\"Payment\");\r\n serviceLocal.GetAction(\"GetSantanderPayeverApplicationResult\", null).done(function (result) {\r\n if (result == null || result.length < 1) {\r\n return;\r\n }\r\n\r\n var currentPaymentMethod = result.CurrentPaymentMethod;\r\n if (currentPaymentMethod !== \"SantanderPayever\") return;\r\n\r\n var json = JSON.parse(result.ExtraInfoJson);\r\n\r\n if (json.Status == \"APPROVED\") {\r\n self.showSantanderPayeverApproved(true);\r\n self.showReceiptInformation(false);\r\n } else if (json.Status == \"MANUAL\") {\r\n self.showSantanderPayeverManual(true);\r\n self.showReceiptInformation(false);\r\n }\r\n });\r\n }\r\n\r\n this.GetCheckoutConfirmationSnippet = function() {\r\n var serviceLocal = new WebApiService(\"Payment\");\r\n serviceLocal.GetAction(\"GetCheckoutConfirmationSnippet\", null).done(function(result) {\r\n if (result === null || result.length < 1 || result.Snippet.length === 0) {\r\n return;\r\n }\r\n\r\n if (result.UseSoftlog) {\r\n if (result.CustomerEmail !== mcWeb.currentUser.getUser())\r\n mcWeb.currentUser.setUser(result.CustomerEmail);\r\n }\r\n\r\n self.showCheckoutConfirmation(true);\r\n $(\"#klarna-confirmation-snippet\").html(result.Snippet);\r\n });\r\n };\r\n };\r\n};\r\n","mcWeb.cartsmall = jQuery.extend(true, mcWeb.cartsmall, new function () {\r\n\r\n this.vm = function (id) {\r\n var $ = jQuery;\r\n var self = this;\r\n\r\n if ($('.body-checkout').length > 0) {\r\n self.load = function (data, settings) {\r\n };\r\n return; //skipp\r\n }\r\n\r\n self.id = \"#\" + id;\r\n self.service = new WebApiService(\"Cart\");\r\n self.popoverNode = null;\r\n\r\n self.popoverOpen = ko.observable(false);\r\n\r\n self.priceTotal = ko.observable();\r\n self.priceTotalInkVat = ko.observable();\r\n\r\n self.priceTotalProducts = ko.observable();\r\n self.priceTotalProductsInkVat = ko.observable();\r\n \r\n self.priceTotalInkVatExShipping = ko.observable();\r\n self.priceTotalExVatExShipping = ko.observable();\r\n \r\n self.summaryPreGiftcardsInkMva = ko.observable();\r\n self.summaryPreGiftcardsEksMva = ko.observable();\r\n self.giftcardsTotal = ko.observable();\r\n\r\n self.priceTotalInkCarrier = ko.observable();\r\n self.priceTotalInkCarrierInkVat = ko.observable();\r\n self.vatTotal = ko.observable(0);\r\n self.vatTotalInkCarrier = ko.observable();\r\n\r\n self.hasCart = ko.observable();\r\n self.cartName = ko.observable();\r\n self.displayDate = ko.observable();\r\n self.itemCount = ko.observable();\r\n self.favoriteCount = ko.observable(0);\r\n self.cartItems = ko.observableArray();\r\n self.orderbooks = ko.observableArray();\r\n\r\n self.showPriceDisplayControls = false;\r\n self.chkPriceIncExVat = ko.observable();\r\n self.chkShowVeilPris = false;\r\n self.chkHideCustomerPice = false;\r\n\r\n self.isLoggedIn = ko.observable();\r\n\r\n self.showPriceIncExVat = false;\r\n self.showRemoveButton = false;\r\n self.showCart = ko.observable(true);\r\n self.showRemoveCart = ko.observable(false);\r\n self.OrderbookDate = ko.observable('');\r\n self.OrderbookActive = ko.observable(false);\r\n self.showGoToCart = false;\r\n self.showGoToCheckout = false;\r\n self.showExternalCheckout = false;\r\n\r\n //Removed in 2016 design (code is used by old design)\r\n self.addToCartNotifier = ko.observable(false);\r\n self.addToCartNotifierText = ko.observable('');\r\n self.addToCartNotifierIsActive = ko.observable(false);\r\n //End removed\r\n\r\n self.isVisible = ko.observable(false);\r\n self.isCartItemsSet = ko.observable(false);\r\n self.favoriteCartUrl = '';\r\n self.offerCartUrl = '';\r\n\r\n self.isSoftLog = null;\r\n\r\n self.decimalsQuantity = 0;\r\n\r\n self.popupTime = 2500;\r\n self.showOrderbookSummary = ko.observable(false);\r\n self.smallCartContentId = ko.observable('small-cart-content');\r\n\r\n\r\n self.invoiceFee = ko.observable();\r\n self.invoiceFeeInkVat = ko.observable();\r\n\r\n self.invoiceFeeAndShipping = ko.observable();\r\n self.invoiceFeeAndShippingInkVat = ko.observable();\r\n self.SummarySumCostReductionIncVat = ko.observable();\r\n self.summarySumAfterCostReductionsIncVat = ko.observable();\r\n self.disableIncExVatChange = false;\r\n self.offerCount = ko.observable(0);\r\n\r\n self.cartHashCode = null;\r\n self.guId = null;\r\n\r\n $(document).ready(function () {\r\n self.popupMsg = $('#NewItemInCartNotifier');\r\n self.popupMsgWait = self.popupMsg.find('.pop-wait');\r\n self.popupMsgSuccess = self.popupMsg.find('.pop-success');\r\n self.popupMsgError = self.popupMsg.find('.pop-error');\r\n self.popupMsgText = self.popupMsg.find('.cart-popup-text');\r\n });\r\n\r\n\r\n self.numberOfItemsToShow = ko.observable(0);\r\n self.cartItemsToShow = ko.computed(function () {\r\n var items = [];\r\n\r\n var itemsToShow = self.cartItems().length;\r\n if (self.numberOfItemsToShow() > 0)\r\n itemsToShow = Math.min(self.cartItems().length, self.numberOfItemsToShow());\r\n\r\n for (var i = 0; i < itemsToShow; i++) {\r\n items.push(self.cartItems()[i]);\r\n }\r\n\r\n return items;\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedCart, function (message, data) {\r\n self.load(data);\r\n });\r\n\r\n /*Quantity Small Cart changed*/\r\n PubSub.subscribe(mcWeb.cart.events.onChangedQuantityCart, function (message, data) {\r\n var product = null;\r\n\r\n for (var i = 0; i < self.cartItems().length; i++) {\r\n if (self.cartItems()[i].ProductId === data.ProductId) {\r\n product = self.cartItems()[i];\r\n break;\r\n }\r\n }\r\n\r\n if (product !== null) {\r\n self.resultQuantity(data.result, product, data.newQuantity);\r\n } else {\r\n self.load();\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onUpdateCartForceLoad, function (message, data) {\r\n self.load(data, null, true);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onUpdateCart, function (message, data) {\r\n self.load(data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onIsCartChanged, function (message) {\r\n var param = {\r\n guId: self.guId,\r\n cartHashCode: self.cartHashCode\r\n };\r\n \r\n self.service.GetAction(\"IsCartChanged\", param).done(function (result) {\r\n if (result === true) {\r\n self.load(null, null, true);\r\n }\r\n });\r\n });\r\n\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onChangeVat, function (message, inkVat) {\r\n try {\r\n\r\n //Warning changeing VAT reload page!!!\r\n\r\n if (inkVat === null)\r\n return;\r\n\r\n if (self.chkPriceIncExVat() === inkVat) //No change\r\n return;\r\n\r\n self.chkPriceIncExVat(inkVat);\r\n self.setVat(inkVat);\r\n } catch (e) {\r\n console.log(\"CartSmallView - Ex: \" + e);\r\n }\r\n });\r\n\r\n\r\n self.doShowActiveCart = function () {\r\n self.smallCartContentId('small-cart-content');\r\n self.showOrderbookSummary(false);\r\n window.StorageService.localStorage.setItem('orderbook.cartivew', 'active-cart');\r\n };\r\n\r\n self.doShowOrderbookSummary = function () {\r\n self.showOrderbookSummary(true);\r\n self.smallCartContentId('small-cart-orderbook-content');\r\n window.StorageService.localStorage.setItem('orderbook.cartivew', 'summary');\r\n mcWeb.orderbookManager.showOrderbookSummaryInline('.popover #small-cart-orderbook-summary');\r\n };\r\n\r\n self.load = function (data, settings, forceLoad) {\r\n\r\n self.showSmallCartAmount();\r\n\r\n //Settings\r\n if (settings) {\r\n self.showGoToCart = settings.ShowGoToCart;\r\n self.showGoToCheckout = settings.ShowGoToCheckout;\r\n self.showExternalCheckout = settings.ShowExternalCheckout\r\n self.showPriceIncExVat = settings.ShowPriceIncExVat;\r\n self.showRemoveButton = settings.ShowRemoveButton;\r\n self.showPriceDisplayControls = settings.ShowPriceDisplayControls;\r\n self.chkShowVeilPris = settings.ShowVeilPrisValue;\r\n self.chkHideCustomerPice = settings.HideCustomerPriceValue;\r\n self.favoriteCartUrl = settings.FavoriteCartUrl;\r\n self.offerCartUrl = settings.OfferCartUrl;\r\n self.isLoggedIn(settings.IsLoggedIn);\r\n self.numberOfItemsToShow(settings.SmallCartItemsToShow);\r\n self.decimalsQuantity = settings.DecimalsQuantity;\r\n self.popupTime = settings.PopupTime;\r\n self.disableIncExVatChange =settings.DisableIncExVatChange;\r\n }\r\n\r\n //If empty, try to load data with ajax\r\n if (!data) {\r\n self.isVisible(false);\r\n\r\n var param = {\r\n cartName: null,\r\n useVat: self.chkPriceIncExVat(),\r\n hasCarrier: false,\r\n guid: getCartIdFromSessionStorage(),\r\n favGuid: mcWeb.cartsmall.getFavoriteGuid(),\r\n forceLoad: forceLoad\r\n };\r\n\r\n self.service.GetAction(\"LoadCart\", param).done(function (result) {\r\n\r\n if (result !== null) {\r\n self.load(result);\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (data.CartName !== null)\r\n self.cartName(data.CartName);\r\n if(data.DisplayDate != null)\r\n self.displayDate(data.DisplayDate);\r\n\r\n if (data.Orderbooks !== null) {\r\n self.orderbooks(data.Orderbooks);\r\n var cartView = window.StorageService.localStorage.getItem('orderbook.cartivew');\r\n if (cartView === 'summary') {\r\n self.doShowOrderbookSummary();\r\n } else {\r\n self.doShowActiveCart();\r\n }\r\n\r\n }\r\n //todo: fiks det slik at vi viser ordrebok sammendraget når vi ikke har noen ordrebøker men vi er i ordrebok shopppen og ikke kan vise vanlig handlevogn\r\n //vi har en setting vi må se på (OrderbookIncludesDefaultCart) og hvorvidt ordrebokshoppen er aktiv.\r\n if ((data.Orderbooks == null || data.Orderbooks.length === 0) && (data.OrderbookActive != null && data.OrderbookActive === true)) {\r\n self.doShowOrderbookSummary();\r\n window.StorageService.localStorage.setItem('orderbook.cartivew', 'summary');\r\n }\r\n \r\n self.OrderbookActive(data.OrderbookActive);\r\n self.OrderbookIncludesDefaultCart = data.OrderbookIncludesDefaultCart;\r\n self.hasCart(data.HasCart);\r\n self.itemCount(mc.format.asCulture(data.ItemCount, self.decimalsQuantity));\r\n\r\n self.favoriteCount(data.FavoriteCount);\r\n PubSub.publish(mcWeb.cartsmall.events.onChangeFav, self.favoriteCount());\r\n\r\n self.priceTotal(data.PriceTotal);\r\n self.priceTotalInkVat(data.PriceTotalInkVat);\r\n\r\n self.priceTotalProducts(data.PriceTotalExVatExShipping);\r\n self.priceTotalProductsInkVat(data.PriceTotalInkVatExShipping);\r\n\r\n self.summaryPreGiftcardsInkMva(data.SummaryPreGiftcardsInkMva);\r\n self.summaryPreGiftcardsEksMva(data.SummaryPreGiftcardsEksMva);\r\n self.giftcardsTotal(data.GiftcardsTotal);\r\n\r\n self.priceTotalInkVatExShipping(data.PriceTotalInkVatExShipping);\r\n self.priceTotalExVatExShipping(data.PriceTotalExVatExShipping);\r\n\r\n self.priceTotalInkCarrier(data.PriceTotalInkCarrier);\r\n self.priceTotalInkCarrierInkVat(data.PriceTotalInkCarrierInkVat);\r\n\r\n self.vatTotal(data.VatTotal);\r\n self.vatTotalInkCarrier(data.VatTotalInkCarrier);\r\n\r\n self.invoiceFee(data.InvoiceFee);\r\n self.invoiceFeeInkVat(data.InvoiceFeeInkVat);\r\n\r\n self.invoiceFeeAndShipping(data.InvoiceFeeAndShipping);\r\n self.invoiceFeeAndShippingInkVat(data.InvoiceFeeAndShippingInkVat);\r\n\r\n self.offerCount(data.OfferCount);\r\n if(data.SummarySumCostReductionIncVat == null)\r\n self.SummarySumCostReductionIncVat('');\r\n else\r\n self.SummarySumCostReductionIncVat(data.SummarySumCostReductionIncVat);\r\n\r\n if(data.SummarySumAfterCostReductionIncVat == null)\r\n self.summarySumAfterCostReductionsIncVat('');\r\n else{\r\n if(data.SummarySumAfterCostReductionIncVat == '' &&\r\n data.SummarySumCostReductionIncVat =='' ){\r\n self.summarySumAfterCostReductionsIncVat('');\r\n }\r\n else{\r\n self.summarySumAfterCostReductionsIncVat(data.SummarySumAfterCostReductionIncVat);\r\n self.priceTotalProductsInkVat(data.SummarySumAfterCostReductionIncVat);\r\n }\r\n }\r\n\r\n //Removed in 2016 design (code is used by old design)\r\n self.addToCartNotifier(data.AddToCartNotifier);\r\n self.addToCartNotifierText((data.AddToCartNotifierText !== null) ? data.AddToCartNotifierText : '');\r\n //End removed\r\n\r\n self.chkPriceIncExVat(data.IncVat);\r\n self.isLoggedIn(data.IsLoggedIn);\r\n if (data.OrderbookDate == null)\r\n self.OrderbookDate('');\r\n else self.OrderbookDate(data.OrderbookDate);\r\n\r\n mcWeb.cartsmall.setFavoriteGuid(data.FavoriteGuid, self.isLoggedIn());\r\n\r\n self.cartHashCode = data.CartHashCode;\r\n self.guId = data.GuId;\r\n \r\n if (self.hasCart()) {\r\n ko.utils.arrayForEach(data.CartItems, function (item) {\r\n if (!ko.isObservable(item.Quantity))\r\n item.Quantity = ko.observable(mc.format.asCulture(item.Quantity, self.decimalsQuantity));\r\n if (!ko.isObservable(item.QuantityMinimum))\r\n item.QuantityMinimum = ko.observable(item.QuantityMinimum);\r\n if (!ko.isObservable(item.Price1))\r\n item.Price1 = ko.observable(item.Price1);\r\n if (!ko.isObservable(item.Price2))\r\n item.Price2 = ko.observable(item.Price2);\r\n if(!ko.isObservable(item.CostReductionIncVat)){\r\n if(item.CostReductionIncVat == null)\r\n item.CostReductionIncVat = ko.observable('');\r\n else\r\n item.CostReductionIncVat = ko.observable(item.CostReductionIncVat);\r\n }\r\n \r\n if(!ko.isObservable(item.AmountAfterReductionIncVat)){\r\n if(item.AmountAfterReductionIncVat == null)\r\n item.AmountAfterReductionIncVat = ko.observable('');\r\n else\r\n item.AmountAfterReductionIncVat = ko.observable(item.AmountAfterReductionIncVat);\r\n }\r\n \r\n });\r\n }\r\n self.isVisible(true);\r\n self.cartItems(data.CartItems);\r\n self.isCartItemsSet(true);\r\n\r\n //Removed in 2016 design (code is used by old design)\r\n if (self.addToCartNotifier()) {\r\n self.ShowNewItemInCartNotifier();\r\n }\r\n //End removed\r\n\r\n };\r\n \r\n var getCartIdFromSessionStorage = function () {\r\n\r\n try {\r\n var guid = window.StorageService.sessionStorage.getItem('sCartId');\r\n if (guid === null || guid.length < 30)\r\n return null;\r\n\r\n window.StorageService.sessionStorage.removeItem('sCartId'); //reset\r\n return guid;\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n return null;\r\n }\r\n };\r\n\r\n self.setVat = function (incVat) {\r\n var data = {\r\n cartName: null,\r\n useVat: incVat,\r\n vatChange: true,\r\n hasCarrier: false\r\n };\r\n\r\n self.service.GetAction(\"LoadCart\", data).done(function (result) {\r\n if (self.isCheckoutPage() || self.isCartPage()) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, result);\r\n } else {\r\n location.reload(true);\r\n }\r\n });\r\n };\r\n\r\n self.setVeil = function (showVeil) {\r\n var data = {\r\n showVeilPris: showVeil\r\n };\r\n\r\n self.service.GetAction(\"ShowVeilPris\", data).done(function (result) {\r\n\r\n location.reload(true);\r\n });\r\n };\r\n\r\n self.setHideCustomerPrice = function (hideCustomerPrice) {\r\n var data = {\r\n hideCustomerPrice: hideCustomerPrice\r\n };\r\n\r\n self.service.GetAction(\"HideCustomerPrice\", data).done(function (result) {\r\n\r\n location.reload(true);\r\n });\r\n };\r\n\r\n\r\n\r\n this.onClose = function () {\r\n if (self.popoverNode !== null) {\r\n self.popoverNode.popover('hide');\r\n self.popoverOpen(false);\r\n }\r\n };\r\n\r\n this.onClickRemove = function (product) {\r\n self.updateQuantity(product, 0);\r\n };\r\n\r\n this.updateQuantity = function (product, newQuantity) {\r\n var data = {\r\n plid: product.ProductId,\r\n quantity: newQuantity,\r\n cartName: null\r\n };\r\n\r\n self.service.GetAction(\"UpdateCartItem\", data).done(function (result) {\r\n if (result === null) {\r\n PubSub.publish(mcWeb.cartsmall.events.onCartItemRemoved);\r\n return;\r\n }\r\n\r\n PubSub.publish(mcWeb.freeShippingTxt.events.onUpdateFreeShipping);\r\n\r\n var pubObject = new Object();\r\n pubObject.result = result;\r\n pubObject.newQuantity = newQuantity;\r\n pubObject.ProductId = product.ProductId;\r\n\r\n self.resultQuantity(result, product, newQuantity);\r\n\r\n PubSub.publish(mcWeb.cartsmall.events.onChangedQuantityCartSmall, pubObject);\r\n });\r\n\r\n };\r\n\r\n this.resultQuantity = function (result, product, newQuantity) {\r\n\r\n self.hasCart(result.HasCart);\r\n self.itemCount(mc.format.asCulture(result.ItemCount, self.decimalsQuantity));\r\n\r\n self.favoriteCount(result.FavoriteCount);\r\n PubSub.publish(mcWeb.cartsmall.events.onChangeFav, self.favoriteCount());\r\n\r\n if (result.PriceTotal) {\r\n self.priceTotal(result.PriceTotal);\r\n self.priceTotalInkVat(result.PriceTotalInkVat);\r\n self.priceTotalProducts(result.PriceTotalExVatExShipping);\r\n self.priceTotalProductsInkVat(result.PriceTotalInkVatExShipping);\r\n self.priceTotalInkCarrier(result.PriceTotalInkCarrier);\r\n self.priceTotalInkCarrierInkVat(result.PriceTotalInkCarrierInkVat);\r\n self.priceTotalInkVatExShipping(result.PriceTotalInkVatExShipping);\r\n self.priceTotalExVatExShipping(result.PriceTotalExVatExShipping);\r\n }\r\n if (result.VatTotal) {\r\n self.vatTotal(result.VatTotal);\r\n self.vatTotalInkCarrier(result.VatTotalInkCarrier);\r\n }\r\n\r\n if (!self.hasCart()) {\r\n if (self.popoverNode !== null) {\r\n self.popoverNode.popover('hide');\r\n self.popoverOpen(false);\r\n }\r\n\r\n self.cartItems.removeAll();\r\n PubSub.publish(mcWeb.cart.events.hasCartItems, self.hasCart());\r\n\r\n } else if (result.CartItems === null || (result.CartItems.length < 1)) {\r\n self.cartItems.remove(product);\r\n } else {\r\n if (result.CartItems !== null) {\r\n product.Quantity(result.CartItems[0].Quantity);\r\n product.Price1(result.CartItems[0].Price1);\r\n product.Price2(result.CartItems[0].Price2);\r\n }\r\n }\r\n\r\n if (document.activeElement)\r\n document.activeElement.blur();\r\n if(result.RequireFullRefresh){\r\n PubSub.publish( mcWeb.cart.events.onChangedCart);\r\n if(mcWeb.ajaxRenderEngine != undefined)\r\n PubSub.publish(mcWeb.ajaxRenderEngine.events.onPriceRefreshRequested,null);\r\n else location.reload(true);\r\n }\r\n else if(jQuery(\"body.login-type-Mport\").length > 0){\r\n if(mcWeb.ajaxRenderEngine != undefined)\r\n PubSub.publish(mcWeb.ajaxRenderEngine.events.onPriceRefreshRequested,null);\r\n }\r\n }\r\n\r\n\r\n\r\n this.onClickVat = function () {\r\n self.setVat(self.chkPriceIncExVat());\r\n return true; //Need this on Checkbox\r\n };\r\n\r\n this.onClickVeil = function () {\r\n self.setVeil(self.chkShowVeilPris);\r\n return true; //Need this on Checkbox\r\n };\r\n\r\n this.onClickHideCustomerPrice = function () {\r\n self.setHideCustomerPrice(self.chkHideCustomerPice);\r\n return true; //Need this on Checkbox\r\n };\r\n\r\n this.onClickProductLink = function (product) {\r\n window.location.href = product.ProductLink;\r\n };\r\n\r\n\r\n\r\n this.onClickGoToCart = function () {\r\n try {\r\n self.updateIcon(true);\r\n\r\n self.service.GetAction(\"GoToCart\", \"\").done(function (result) {\r\n self.updateIcon(false);\r\n if (result === null)\r\n return;\r\n window.location.href = result; //\"http://\" + location.hostname;\t\t\t\r\n });\r\n } catch (e) {\r\n self.updateIcon(false);\r\n }\r\n };\r\n\r\n this.onSelectCart = function (item) {\r\n\r\n self.onSelectCartByName(item.Name);\r\n };\r\n\r\n this.onSelectCartByName = function (name) {\r\n\r\n var data = { ActiveCartName: name };\r\n self.service.PostAction(\"SetActiveCartName\", data).done(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n });\r\n };\r\n\r\n this.onGoToCart = function () {//not yet tested!\r\n try {\r\n var data = { cartName: self.cartName() };\r\n self.updateIcon(true);\r\n self.service.GetAction(\"GoToCart\", data).done(function (result) {\r\n self.updateIcon(false);\r\n if (result === null)\r\n return;\r\n if (window.location.pathname !== result)\r\n window.location.href = result; //\"http://\" + location.hostname;\t\t\t\r\n });\r\n } catch (e) {\r\n self.updateIcon(false);\r\n }\r\n };\r\n this.onClickGoToCheckout = function () {\r\n try {\r\n var data = { cartName: self.cartName };\r\n self.updateIcon(true);\r\n var action = \"GoToCheckOut\";\r\n\r\n self.service.GetAction(action, data).done(function (result) {\r\n self.updateIcon(false);\r\n if (result === null)\r\n return;\r\n window.location.href = result; //\"http://\" + location.hostname;\t\t\t\r\n });\r\n } catch (e) {\r\n self.updateIcon(false);\r\n }\r\n };\r\n self.getContent = function () {\r\n return \"
\" + $('#' + self.conId).html() + \"
\";\r\n };\r\n\r\n ko.bindingHandlers.popover = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {\r\n var node = $(element);\r\n self.popoverNode = node;\r\n var option = ko.utils.unwrapObservable(valueAccessor());\r\n var conId = option.contentid, titId = option.titleid, kn = \"-kn\";\r\n self.conId = conId;\r\n self.kn = kn;\r\n var contentkn = \"
\" + $('#' + conId).html() + \"
\";\r\n var titlekn = \"
\" + $('#' + titId).html() + \"
\";\r\n\r\n this.togglePopover = function () {\r\n node.popover('toggle');\r\n if (mcWeb.MegaMenuResponsive !== undefined) {\r\n mcWeb.MegaMenuResponsive.setOverlay(false);\r\n }\r\n var conEl = document.getElementById(conId + kn);\r\n var titEl = document.getElementById(titId + kn);\r\n if (conEl !== undefined && conEl !== null)\r\n ko.cleanNode(conEl);\r\n\r\n ko.cleanNode(titEl);\r\n ko.applyBindings(viewModel, conEl);\r\n ko.applyBindings(viewModel, titEl);\r\n };\r\n\r\n var pop = node.popover({\r\n title: titlekn,\r\n content: self.getContent,\r\n html: option.html,\r\n trigger: 'manual',\r\n sanitize: false,\r\n //container: 'body', // Using this duplicates nodes in DOM. Not ideal.\r\n placement: function (context) {\r\n var con = jQuery(context);\r\n con.addClass(option.contentClass);\r\n\r\n var module = $('body.mc-inline-editor');\r\n if (module.length > 0)\r\n return 'bottom';\r\n\r\n con.on('mouseleave', function () {\r\n node.popover('hide');\r\n self.popoverOpen(false);\r\n return true;\r\n });\r\n return 'bottom';\r\n }\r\n });\r\n\r\n\r\n self.mouseleaveCartSmall = function (event) {\r\n\r\n if (!$(event.target).closest('.cart-small-popover').length) {\r\n if (pop.is(\":visible\")) {\r\n node.popover('hide');\r\n self.popoverOpen(false);\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n pop.on('shown.bs.popover', function () {\r\n $(document).bind('click touchstart', self.mouseleaveCartSmall);\r\n });\r\n pop.on('hide.bs.popover', function () {\r\n $(document).unbind('click touchstart', self.mouseleaveCartSmall);\r\n });\r\n\r\n\r\n node.click(function () {\r\n\r\n if (mcWeb.responsive.getScreenSize() === 'xs') {\r\n //self.onClickGoToCart();\r\n self.onClickGoToCheckout();\r\n return;\r\n }\r\n if (self.showOrderbookSummary()) {\r\n self.doShowOrderbookSummary();\r\n }\r\n togglePopover();\r\n self.popoverOpen(!self.popoverOpen());\r\n\r\n if (mcWeb.inlineEditor)\r\n mcWeb.inlineEditor.init(true);\r\n });\r\n }\r\n };\r\n\r\n this.updateIcon = function (show) {\r\n var update = $('#UpdateIcon');\r\n if (update.length < 1)\r\n return;\r\n if (show)\r\n update.show();\r\n else\r\n update.hide();\r\n };\r\n\r\n this.showSmallCartAmount = function () {\r\n if (!self.isCheckoutPage() && mcWeb.responsive.isMedium()) {\r\n $(\".cart-small-product-txt\").show();\r\n }\r\n };\r\n\r\n this.isCheckoutPage = function () {\r\n return ($(\".body-checkout\").length > 0) ? true : false;\r\n };\r\n\r\n this.isCartPage = function () {\r\n return ($(\".body-cart\").length > 0) ? true : false;\r\n };\r\n\r\n\r\n this.ShowNewItemInCartNotifier = function () {\r\n var panel = $('.cart-popup-panel');\r\n if (panel.length > 0 && !self.addToCartNotifierIsActive()) {\r\n $('body').append(panel);\r\n self.addToCartNotifierIsActive(true);\r\n panel.fadeIn(500);\r\n panel.delay(1500);\r\n panel.fadeOut(1000);\r\n\r\n self.service.GetAction(\"HasShownAddToCartNotifier\").done(function () {\r\n self.addToCartNotifierIsActive(false);\r\n });\r\n }\r\n };\r\n\r\n\r\n PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n self.isLoggedIn(isLoggedIn);\r\n });\r\n\r\n /// Data = {status: true/false, msg: 'Ny vare...'}\r\n PubSub.subscribe(mcWeb.cartsmall.events.onShowNewItemInCartText, function (message, data) {\r\n\r\n self.popupMsgWait.hide();\r\n self.popupMsgText.show();\r\n if (data.status === true) {\r\n self.popupMsgSuccess.show();\r\n } else {\r\n self.popupMsg.addClass(\"notifier-error\");\r\n self.popupMsgError.show();\r\n }\r\n\r\n self.popupMsgText.html(data.msg);\r\n self.popupMsg.fadeIn();\r\n if (data.popupTime !== undefined && data.popupTime !== null) {\r\n self.popupTime = data.popupTime;\r\n }\r\n setTimeout(function () {\r\n PubSub.publish(mcWeb.cartsmall.events.onHideNewItemInCart);\r\n }, self.popupTime);\r\n });\r\n\r\n var isRunningPop = false;\r\n PubSub.subscribe(mcWeb.cartsmall.events.onShowNewItemInCart, function (message) {\r\n if (isRunningPop === true) {\r\n return;\r\n }\r\n\r\n isRunningPop = true;\r\n self.popupMsgText.hide();\r\n self.popupMsgWait.show();\r\n self.popupMsg.fadeIn();\r\n //IMPORTAN - Use \"mcWeb.cartsmall.events.onShowNewItemInCartText\" after this!\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onHideNewItemInCart, function () {\r\n var popupTime = mc.format.asNumber(self.popupTime, 1, 1000);\r\n var dif = mc.format.asNumber(0.3, 2, 0.3);\r\n var value = popupTime * dif;\r\n var time = mc.format.asNumber(value, 1, 1000);\r\n\r\n self.popupMsg.fadeOut(time, function () {\r\n self.popupMsgSuccess.hide();\r\n self.popupMsgError.hide();\r\n self.popupMsg.removeClass(\"notifier-error\");\r\n });\r\n\r\n isRunningPop = false;\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cartsmall.events.onGotoSelectedCart,\r\n function (message, name) {\r\n self.onSelectCartByName(name);\r\n self.onGoToCart();\r\n });\r\n };\r\n\r\n this.setFavoriteGuid = function (favoriteGuid, isLoggedIn) {\r\n\r\n try {\r\n if (favoriteGuid === null || favoriteGuid.length < 30) {\r\n window.StorageService.localStorage.removeItem('sFavCartId');\r\n } else {\r\n var sFavCartId = (isLoggedIn) ? (favoriteGuid + \";l\") : favoriteGuid;\r\n window.StorageService.localStorage.setItem('sFavCartId', sFavCartId);\r\n }\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n console.log('CartSmallView.setFavoriteGuid - ex: ' + e);\r\n }\r\n };\r\n\r\n this.getFavoriteGuid = function () {\r\n\r\n try {\r\n var sFavCartId = window.StorageService.localStorage.getItem('sFavCartId');\r\n if (sFavCartId === null || sFavCartId.length < 30)\r\n return null;\r\n\r\n window.StorageService.localStorage.removeItem('sFavCartId'); //reset\r\n return sFavCartId;\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n console.log('CartSmallView.getFavoriteGuid - ex: ' + e);\r\n }\r\n return null;\r\n };\r\n});","mcWeb.shipment = new function () { };\r\n\r\nmcWeb.shipment.events = {\r\n reloadShipment: \"mcWeb.shipment.reloadShipment\",\r\n onChangedShipment: \"mcWeb.shipment.onChangedShipment\",\r\n onSelectedShipment: \"mcWeb.shipment.onSelectedShipment\",\r\n onSelectedShipmentForCustomerRefresh: \"mcWeb.shipment.onSelectedShipmentForCustomerRefresh\"\r\n};"],"sourceRoot":""}