{"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","showNewCustomerBtn","email","psw","isEmailSelected","onBlurMail","subscribe","isPswSelected","showErrorLogin","showBlockedLogin","showCustomerRegistration","onlyExpressCheckout","paymentId","isCheckout","checkoutRequirePassword","useCustomerRegistration","registration","customerRegistration","instances","data","pswt","clearStorage","window","StorageService","localStorage","removeItem","load","settings","user","currentUser","getUser","IsLoggedIn","SecuritySoftening","securitySoftening","IsSoftLoggedIn","ReadOnly","CheckoutRequirePassword","ShowCustomerRegistration","setCheckoutState","setLocalStorage","newCustomer","param","WebBrukerId","NewCustomer","PostAction","result","Success","NextStage","InActive","DoSoftLogin","ShowUserName","showUserNameAndPassword","AutoFillUserName","PubSub","publish","ShowUserDetails","onChangeEmail","GetUserDetails","setLoginFocus","doSecuritySofteningLogin","optionalUserName","zipCode","useSoftlog","epost","showRegistration","runCheckEmail","onChangedCustomerData","onRememberedUserNotMe","GetAction","location","reload","onClickCheckEmail","d","keyCode","type","onClickLogin","localstorge","getItem","pass","lightbox","onHideSpinicon","show","username","password","allowasynclogin","IsNormalMode","indexOf","remove","rember","User","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","document","addEventListener","AjaxRenderingEngine","AjaxRenderingEngineEventTypes","onKnockoutRenderingCompleted","options","onNewAreasShown","updateVariantMatrixField","loadLightboxFields","globalNS","global","Error","receipt","langService","LanguageService","expressCustomer","showCheckoutConfirmation","showReceiptInformation","showSantanderApproved","showSantanderManual","santanderIdentUrl","showSantanderPayeverApproved","showSantanderPayeverManual","ExpressCustomer","GetCheckoutConfirmationSnippet","GetSantanderApplicationResult","GetSantanderPayeverApplicationResult","CurrentPaymentMethod","json","JSON","parse","ExtraInfoJson","Status","UrlIdentificationGEMB","ApplicantSignReferenceUrl","Snippet","UseSoftlog","CustomerEmail","setUser","html","extend","popoverNode","popoverOpen","priceTotal","priceTotalInkVat","priceTotalProducts","priceTotalProductsInkVat","priceTotalInkVatExShipping","priceTotalExVatExShipping","summaryPreGiftcardsInkMva","summaryPreGiftcardsEksMva","giftcardsTotal","priceTotalInkCarrier","priceTotalInkCarrierInkVat","vatTotal","vatTotalInkCarrier","hasCart","cartName","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","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","href","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.21e6e571ee636005b6aa.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\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.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\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\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\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.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 $('.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 $('.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) {\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\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\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.showSantanderApproved = ko.observable(false);\r\n this.showSantanderManual = ko.observable(false);\r\n this.santanderIdentUrl = ko.observable();\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.showSantanderApproved(false);\r\n self.showSantanderManual(false);\r\n self.santanderIdentUrl(\"\");\r\n self.GetSantanderApplicationResult();\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.GetSantanderApplicationResult = function() {\r\n var serviceLocal = new WebApiService(\"Payment\");\r\n serviceLocal.GetAction(\"GetSantanderApplicationResult\", 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 !== \"Santander\") return;\r\n\r\n var json = JSON.parse(result.ExtraInfoJson);\r\n\r\n //self.santanderIdentUrl(json.UrlIdentificationGEMB);\r\n //self.santanderIdentUrl(json.ApplicantSignReferenceUrl);\r\n\r\n self.santanderIdentUrl(json.UrlIdentificationGEMB);\r\n if (json.UrlIdentificationGEMB === \"\")\r\n self.santanderIdentUrl(json.ApplicantSignReferenceUrl);\r\n\r\n if (json.Status == \"APPROVED\") {\r\n self.showSantanderApproved(true);\r\n self.showReceiptInformation(false);\r\n } else if (json.Status == \"MANUAL\") {\r\n self.showSantanderManual(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.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\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 \"