{"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","countrySelector","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","onFieldsRefresh","reloadFields","parentId","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.dc4c5916c9488ebf73e4.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 if (mcWeb.countrySelector !== undefined) {\r\n PubSub.publish(\"mcWeb.countrySelector.onStartRefresh\",null);\r\n }\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 PubSub.subscribe(AjaxRenderingEngineEventTypes.onFieldsRefresh, function (message, options){\r\n AjaxRenderingEngine.reloadFields(options.parentId);\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 \"