{"version":3,"file":"main.519026296c95bc0d4cd3.js","mappings":";;;;;;;;AAAA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,gDAAe,kBAAkB,EAAC;;;ACtBlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA,GAAG;AACH;;AAEA,mDAAe,UAAU,EAAC;;;AChD1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,QAAQ;AACR;AACA;AACA;AACA,GAAG;AACH;;AAEA,4CAAe,GAAG,EAAC;;;AC1CoB;AACD;AACd;;AAExB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA,aAAa,UAAU;AACvB;AACA,aAAa,mBAAmB;AAChC;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,gDAAgD,SAAS;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B,WAAc;;AAE7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA,GAAG;AACH;;AAEA,cAAc,OAAG;;AAEjB,qBAAqB,cAAU;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC,SAAS;AAC/C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA,wCAAe,OAAO,EAAC;;;ACjQO;AACS;AACD;AACd;;AAExB,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qBAAM;AACnB,WAAW,qBAAM;AACjB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAO;AAC/B,EAAE;AACF;AACA,4CAA4C,WAAc;AAC1D;AACA;AACA,kCAAkC,cAAU;AAC5C;AACA;AACA,2BAA2B,OAAG;AAC9B;AACA;;;;;ACtCuC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","sources":["webpack://mcweb3/./node_modules/promise-polyfill/src/finally.js","webpack://mcweb3/./node_modules/promise-polyfill/src/allSettled.js","webpack://mcweb3/./node_modules/promise-polyfill/src/any.js","webpack://mcweb3/./node_modules/promise-polyfill/src/index.js","webpack://mcweb3/./node_modules/promise-polyfill/src/polyfill.js","webpack://mcweb3/./Scripts4.0/d4-main.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CartEvents.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CartSmallEvents.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CartSmallView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/PaymentEvents.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/ReceiptView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/ShipmentEvents.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","function allSettled(arr) {\n  var P = this;\n  return new P(function(resolve, reject) {\n    if (!(arr && typeof arr.length !== 'undefined')) {\n      return reject(\n        new TypeError(\n          typeof arr +\n            ' ' +\n            arr +\n            ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n        )\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      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            function(e) {\n              args[i] = { status: 'rejected', reason: e };\n              if (--remaining === 0) {\n                resolve(args);\n              }\n            }\n          );\n          return;\n        }\n      }\n      args[i] = { status: 'fulfilled', value: val };\n      if (--remaining === 0) {\n        resolve(args);\n      }\n    }\n\n    for (var i = 0; i < args.length; i++) {\n      res(i, args[i]);\n    }\n  });\n}\n\nexport default allSettled;\n","/**\n * @constructor\n */\nfunction AggregateError(errors, message) {\n  (this.name = 'AggregateError'), (this.errors = errors);\n  this.message = message || '';\n}\nAggregateError.prototype = Error.prototype;\n\nfunction any(arr) {\n  var P = this;\n  return new P(function(resolve, reject) {\n    if (!(arr && typeof arr.length !== 'undefined')) {\n      return reject(new TypeError('Promise.any accepts an array'));\n    }\n\n    var args = Array.prototype.slice.call(arr);\n    if (args.length === 0) return reject();\n\n    var rejectionReasons = [];\n    for (var i = 0; i < args.length; i++) {\n      try {\n        P.resolve(args[i])\n          .then(resolve)\n          .catch(function(error) {\n            rejectionReasons.push(error);\n            if (rejectionReasons.length === args.length) {\n              reject(\n                new AggregateError(\n                  rejectionReasons,\n                  'All promises were rejected'\n                )\n              );\n            }\n          });\n      } catch (ex) {\n        reject(ex);\n      }\n    }\n  });\n}\n\nexport default any;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\nimport any from './any';\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<!Function>} */\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.any = any;\n\nPromise.allSettled = allSettled;\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","import Promise from './index';\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\nimport any from './any';\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\n// Expose the polyfill if Promise is undefined or set to a\n// non-function value. The latter can be due to a named HTMLElement\n// being exposed by browsers for legacy reasons.\n// https://github.com/taylorhakes/promise-polyfill/issues/114\nif (typeof globalNS['Promise'] !== 'function') {\n  globalNS['Promise'] = Promise;\n} else {\n  if (!globalNS.Promise.prototype['finally']) {\n    globalNS.Promise.prototype['finally'] = promiseFinally;\n  }\n  if (!globalNS.Promise.allSettled) {\n    globalNS.Promise.allSettled = allSettled;\n  }\n  if (!globalNS.Promise.any) {\n    globalNS.Promise.any = any;\n  }\n}\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.refineInsertedContent(data.targetField, data);\r\n             }\r\n        }\r\n    });\r\n\r\n\r\n    \r\n});\r\n\r\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.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        self.priceTotalProductInkVatLessDiscounts = ko.observable('');\r\n        self.priceTotalProductExVatLessDiscounts = ko.observable('');\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        self.giftVoucherUsedValue = ko.observable('');\r\n        self.giftVoucherUsedValueExVat = ko.observable('');\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.showLeasingCosts = ko.observable(false);\r\n        self.doNotShowLeasingCosts = ko.pureComputed(function () {\r\n            return !self.showLeasingCosts() || self.LeasingTermAmountExVat().length <= 0;\r\n        });\r\n\r\n        self.LeasingTermAmountExVat = ko.observable('');\r\n        self.smallCartFees = false;\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.smallCartItemTemplate = ko.computed(function () {\r\n            if (self.showLeasingCosts())\r\n                return 'cartsmallitem-leasing-template';\r\n            return 'cartsmallitem-template'\r\n        });\r\n\r\n        \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.doRedirectToOrderOverviw = function () {\r\n            window.location.href = \"/orderbookoverview\";\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                self.smallCartFees = settings.SmallCartFees;\r\n                self.showIncVatCheckbox = settings.ShowIncVatCheckbox;\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                    else\r\n                        self.isVisible(true);\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.PriceTotalProducts);\r\n            self.priceTotalProductsInkVat(data.PriceTotalProductsInkVat);\r\n            self.priceTotalProductInkVatLessDiscounts(data.PriceTotalProductInkVatLessDiscounts);\r\n            self.priceTotalProductExVatLessDiscounts(data.PriceTotalProductExVatLessDiscounts);\r\n            self.summaryPreGiftcardsInkMva(data.SummaryPreGiftcardsInkMva);\r\n            self.summaryPreGiftcardsEksMva(data.SummaryPreGiftcardsEksMva);\r\n            self.giftcardsTotal(data.GiftcardsTotal);\r\n            self.giftVoucherUsedValue(data.GiftVoucherUsedValue);\r\n            self.giftVoucherUsedValueExVat(data.GiftVoucherUsedValueExVat);\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 (data.ShowLeasingCosts !== null)\r\n                self.showLeasingCosts(data.ShowLeasingCosts);\r\n\r\n            if (data.LeasingTermAmountExVat !== null)\r\n                self.LeasingTermAmountExVat(data.LeasingTermAmountExVat);\r\n            else self.LeasingTermAmountExVat('');\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\r\n                    if (!ko.isObservable(item.LeasingItemCost)) {\r\n                        item.LeasingItemCost = ko.observable(item.LeasingItemCost);\r\n                    }\r\n                    if (!ko.isObservable(item.LeasingTotalCost)) {\r\n                        item.LeasingTotalCost = ko.observable(item.LeasingTotalCost);\r\n                    }\r\n\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.events.freeShippingTxt.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                self.priceTotalProductInkVatLessDiscounts(result.PriceTotalProductInkVatLessDiscounts);\r\n                self.priceTotalProductExVatLessDiscounts(result.PriceTotalProductExVatLessDiscounts);\r\n                self.giftVoucherUsedValue(result.GiftVoucherUsedValue);\r\n                self.giftVoucherUsedValueExVat(result.GiftVoucherUsedValueExVat);\r\n            }\r\n            if (result.VatTotal) {\r\n                self.vatTotal(result.VatTotal);\r\n                self.vatTotalInkCarrier(result.VatTotalInkCarrier);\r\n            }\r\n            if (result.ShowLeasingCosts !== null)\r\n                self.showLeasingCosts(result.ShowLeasingCosts);\r\n\r\n            if (result.LeasingTermAmountExVat !== null)\r\n                self.LeasingTermAmountExVat(result.LeasingTermAmountExVat);\r\n            else self.LeasingTermAmountExVat('');\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, source: 'standard' };\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 \"<div id='\" + self.conId + self.kn + \"'>\" + $('#' + self.conId).html() + \"</div>\";\r\n        };\r\n\r\n        ko.bindingHandlers.popover = {\r\n            init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {\r\n                var node = $(element);\r\n                self.popoverNode = node;\r\n                var option = ko.utils.unwrapObservable(valueAccessor());\r\n                var conId = option.contentid, titId = option.titleid, kn = \"-kn\";\r\n                self.conId = conId;\r\n                self.kn = kn;\r\n                var contentkn = \"<div id='\" + conId + kn + \"'>\" + $('#' + conId).html() + \"</div>\";\r\n                var titlekn = \"<div id='\" + titId + kn + \"'>\" + $('#' + titId).html() + \"</div>\";\r\n\r\n                this.togglePopover = function () {\r\n                    node.popover('toggle');\r\n                    if (mcWeb.MegaMenuResponsive !== undefined) {\r\n                        mcWeb.MegaMenuResponsive.setOverlay(false);\r\n                    }\r\n                    var conEl = document.getElementById(conId + kn);\r\n                    var titEl = document.getElementById(titId + kn);\r\n                    if (conEl !== undefined && conEl !== null)\r\n                        ko.cleanNode(conEl);\r\n\r\n                    ko.cleanNode(titEl);\r\n                    ko.applyBindings(viewModel, conEl);\r\n                    ko.applyBindings(viewModel, titEl);\r\n                };\r\n\r\n                var pop = node.popover({\r\n                    title: titlekn,\r\n                    content: self.getContent,\r\n                    html: option.html,\r\n                    trigger: 'manual',\r\n                    sanitize: false,\r\n                    //container: 'body', // Using this duplicates nodes in DOM. Not ideal.\r\n                    placement: function (context) {\r\n                        var con = jQuery(context);\r\n                        con.addClass(option.contentClass);\r\n\r\n                        var module = $('body.mc-inline-editor');\r\n                        if (module.length > 0)\r\n                            return 'bottom';\r\n\r\n                        con.on('mouseleave', function () {\r\n                            node.popover('hide');\r\n                            self.popoverOpen(false);\r\n                            return true;\r\n                        });\r\n                        return 'bottom';\r\n                    }\r\n                });\r\n\r\n\r\n                self.mouseleaveCartSmall = function (event) {\r\n\r\n                    if (!$(event.target).closest('.cart-small-popover').length) {\r\n                        if (pop.is(\":visible\")) {\r\n                            node.popover('hide');\r\n                            self.popoverOpen(false);\r\n                            event.stopPropagation();\r\n                            return false;\r\n                        }\r\n                    }\r\n                    return true;\r\n                }\r\n\r\n                pop.on('shown.bs.popover', function () {\r\n                    $(document).bind('click touchstart', self.mouseleaveCartSmall);\r\n                });\r\n                pop.on('hide.bs.popover', function () {\r\n                    $(document).unbind('click touchstart', self.mouseleaveCartSmall);\r\n                });\r\n\r\n\r\n                node.click(function () {\r\n\r\n                    if (mcWeb.responsive.getScreenSize() === 'xs') {\r\n                        //self.onClickGoToCart();\r\n                        self.onClickGoToCheckout();\r\n                        return;\r\n                    }\r\n                    if (self.showOrderbookSummary()) {\r\n                        self.doShowOrderbookSummary();\r\n                    }\r\n                    togglePopover();\r\n                    self.popoverOpen(!self.popoverOpen());\r\n\r\n                    if (mcWeb.inlineEditor)\r\n                        mcWeb.inlineEditor.init(true);\r\n                });\r\n            }\r\n        };\r\n\r\n        this.updateIcon = function (show) {\r\n            var update = $('#UpdateIcon');\r\n            if (update.length < 1)\r\n                return;\r\n            if (show)\r\n                update.show();\r\n            else\r\n                update.hide();\r\n        };\r\n\r\n        this.showSmallCartAmount = function () {\r\n            if (!self.isCheckoutPage() && mcWeb.responsive.isMedium()) {\r\n                $(\".cart-small-product-txt\").show();\r\n            }\r\n        };\r\n\r\n        this.isCheckoutPage = function () {\r\n            return ($(\".body-checkout\").length > 0) ? true : false;\r\n        };\r\n\r\n        this.isCartPage = function () {\r\n            return ($(\".body-cart\").length > 0) ? true : false;\r\n        };\r\n\r\n\r\n        this.ShowNewItemInCartNotifier = function () {\r\n            var panel = $('.cart-popup-panel');\r\n            if (panel.length > 0 && !self.addToCartNotifierIsActive()) {\r\n                $('body').append(panel);\r\n                self.addToCartNotifierIsActive(true);\r\n                panel.fadeIn(500);\r\n                panel.delay(1500);\r\n                panel.fadeOut(1000);\r\n\r\n                self.service.GetAction(\"HasShownAddToCartNotifier\").done(function () {\r\n                    self.addToCartNotifierIsActive(false);\r\n                });\r\n            }\r\n        };\r\n\r\n        this.switchToLeasing = function () {\r\n            self.service.GetAction(\"SwitchToLeasing\").done(function (result) {\r\n                if(result)\r\n                    PubSub.publish(mcWeb.cartsmall.events.onUpdateCart, null);\r\n            });\r\n        };\r\n\r\n        this.switchToPayNow = function () {\r\n            self.service.GetAction(\"SwitchToPayNow\").done(function (result) {\r\n                if(result)\r\n                    PubSub.publish(mcWeb.cartsmall.events.onUpdateCart, null);\r\n            });\r\n        };\r\n\r\n\r\n        PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n            self.isLoggedIn(isLoggedIn);\r\n        });\r\n\r\n        /// Data = {status: true/false, msg: 'Ny vare...'}\r\n        PubSub.subscribe(mcWeb.cartsmall.events.onShowNewItemInCartText, function (message, data) {\r\n\r\n            self.popupMsgWait.hide();\r\n            self.popupMsgText.show();\r\n            if (data.status === true) {\r\n                self.popupMsgSuccess.show();\r\n            } else {\r\n                self.popupMsg.addClass(\"notifier-error\");\r\n                self.popupMsgError.show();\r\n            }\r\n\r\n            self.popupMsgText.html(data.msg);\r\n            self.popupMsg.fadeIn();\r\n            if (data.popupTime !== undefined && data.popupTime !== null) {\r\n                self.popupTime = data.popupTime;\r\n            }\r\n            setTimeout(function () {\r\n                PubSub.publish(mcWeb.cartsmall.events.onHideNewItemInCart);\r\n            }, self.popupTime);\r\n        });\r\n\r\n        var isRunningPop = false;\r\n        PubSub.subscribe(mcWeb.cartsmall.events.onShowNewItemInCart, function (message) {\r\n            if (isRunningPop === true) {\r\n                return;\r\n            }\r\n\r\n            isRunningPop = true;\r\n            self.popupMsgText.hide();\r\n            self.popupMsgWait.show();\r\n            self.popupMsg.fadeIn();\r\n            //IMPORTAN - Use \"mcWeb.cartsmall.events.onShowNewItemInCartText\" after this!\r\n        });\r\n\r\n        PubSub.subscribe(mcWeb.cartsmall.events.onHideNewItemInCart, function () {\r\n            var popupTime = mc.format.asNumber(self.popupTime, 1, 1000);\r\n            var dif = mc.format.asNumber(0.3, 2, 0.3);\r\n            var value = popupTime * dif;\r\n            var time = mc.format.asNumber(value, 1, 1000);\r\n\r\n            self.popupMsg.fadeOut(time, function () {\r\n                self.popupMsgSuccess.hide();\r\n                self.popupMsgError.hide();\r\n                self.popupMsg.removeClass(\"notifier-error\");\r\n            });\r\n\r\n            isRunningPop = false;\r\n        });\r\n\r\n        PubSub.subscribe(mcWeb.cartsmall.events.onGotoSelectedCart,\r\n            function (message, name) {\r\n                self.onSelectCartByName(name);\r\n                self.onGoToCart();\r\n            });\r\n    };\r\n\r\n    this.setFavoriteGuid = function (favoriteGuid, isLoggedIn) {\r\n\r\n        try {\r\n            if (favoriteGuid === null || favoriteGuid.length < 30) {\r\n                window.StorageService.localStorage.removeItem('sFavCartId');\r\n            } else {\r\n                var sFavCartId = (isLoggedIn) ? (favoriteGuid + \";l\") : favoriteGuid;\r\n                window.StorageService.localStorage.setItem('sFavCartId', sFavCartId);\r\n            }\r\n        } catch (e) {\r\n            // IOS/etc. Private Mode\r\n            console.log('CartSmallView.setFavoriteGuid - ex: ' + e);\r\n        }\r\n    };\r\n\r\n    this.getFavoriteGuid = function () {\r\n\r\n        try {\r\n            var sFavCartId = window.StorageService.localStorage.getItem('sFavCartId');\r\n            if (sFavCartId === null || sFavCartId.length < 30)\r\n                return null;\r\n\r\n            window.StorageService.localStorage.removeItem('sFavCartId'); //reset\r\n            return sFavCartId;\r\n        } catch (e) {\r\n            // IOS/etc. Private Mode\r\n            console.log('CartSmallView.getFavoriteGuid - ex: ' + e);\r\n        }\r\n        return null;\r\n    };\r\n});","mcWeb.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};","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        this.showNordeaFinancingResult = ko.observable(false);\r\n        this.nordeaFinancingText = ko.observable('');\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            self.GetLatestNordeaFinancingApplicationResult();\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.GetLatestNordeaFinancingApplicationResult = function () {\r\n            var serviceLocal = new WebApiService(\"Payment\");\r\n            serviceLocal.GetAction(\"GetLatestNordeaFinancingApplicationResult\", 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 !== \"NordeaFinancing\") return;\r\n\r\n                if (result.Msg !== null && result.Msg.length > 0) {\r\n                    self.showNordeaFinancingResult(true);\r\n                    self.nordeaFinancingText(result.Msg);\r\n                    self.showReceiptInformation(false);\r\n                }\r\n                else {\r\n                    self.showNordeaFinancingResult(false);\r\n                    self.showReceiptInformation(true);\r\n                }\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        this.OnClickSendOrder = function () {\r\n            var btnOrderEl = $(\"#McPaymentAddOrderbottom\");\r\n            var serviceLocal = new WebApiService(\"Payment\");\r\n\r\n            btnOrderEl.removeClass(\"btn-primary\");\r\n            btnOrderEl.addClass(\"btn-default disabled\");\r\n\r\n            serviceLocal.GetAction(\"GetConfirmationUrl\", null).done(function (result) {\r\n                if (result === null || result.length < 1) {\r\n                    console.log(\"Error parsing confirmation url\");\r\n\r\n                    btnOrderEl.removeClass(\"btn-default disabled\");\r\n                    btnOrderEl.addClass(\"btn-primary\");\r\n\r\n                    return;\r\n                }\r\n\r\n                window.location.href = result;\r\n            });\r\n        }\r\n    };\r\n};\r\n","mcWeb.shipment = new function () { };\r\n\r\nmcWeb.shipment.events = {\r\n    reloadShipment: \"mcWeb.shipment.reloadShipment\",\r\n    onChangedShipment: \"mcWeb.shipment.onChangedShipment\",\r\n    onSelectedShipment: \"mcWeb.shipment.onSelectedShipment\",\r\n    onSelectedShipmentForCustomerRefresh: \"mcWeb.shipment.onSelectedShipmentForCustomerRefresh\"\r\n};"],"names":["AjaxRenderingEngineEventTypes","AjaxRenderingEngine","document","addEventListener","jQuery","length","load","PubSub","subscribe","onKnockoutRenderingCompleted","message","options","onNewAreasShown","updateVariantMatrixField","loadLightboxFields","onFieldsRefresh","reloadFields","parentId","onPopupReady","undefined","dataToApply","i","Data","data","refineInsertedContent","targetField","mcWeb","cart","events","hasCartItems","onChangedCart","onChangedQuantityCart","focusDiscoutCode","cartGuid","onChangeCollectedDelivery","onShowNewItemInCart","onShowNewItemInCartText","onHideNewItemInCart","onRequestSendt","onPopupForProductAssembly","cartsmall","onChangedQuantityCartSmall","onUpdateCart","onUpdateCartForceLoad","onChangeVat","onChangeFav","onCartItemRemoved","onGotoSelectedCart","onIsCartChanged","extend","vm","id","$","self","settings","service","WebApiService","popoverNode","popoverOpen","ko","observable","priceTotal","priceTotalInkVat","priceTotalProducts","priceTotalProductsInkVat","priceTotalProductInkVatLessDiscounts","priceTotalProductExVatLessDiscounts","priceTotalInkVatExShipping","priceTotalExVatExShipping","summaryPreGiftcardsInkMva","summaryPreGiftcardsEksMva","giftcardsTotal","giftVoucherUsedValue","giftVoucherUsedValueExVat","priceTotalInkCarrier","priceTotalInkCarrierInkVat","vatTotal","vatTotalInkCarrier","hasCart","cartName","displayDate","itemCount","favoriteCount","cartItems","observableArray","orderbooks","showPriceDisplayControls","chkPriceIncExVat","chkShowVeilPris","chkHideCustomerPice","isLoggedIn","showPriceIncExVat","showRemoveButton","showCart","showRemoveCart","OrderbookDate","OrderbookActive","showGoToCart","showGoToCheckout","showExternalCheckout","addToCartNotifier","addToCartNotifierText","addToCartNotifierIsActive","showLeasingCosts","doNotShowLeasingCosts","pureComputed","LeasingTermAmountExVat","smallCartFees","isVisible","isCartItemsSet","favoriteCartUrl","offerCartUrl","isSoftLog","decimalsQuantity","popupTime","showOrderbookSummary","smallCartItemTemplate","computed","smallCartContentId","invoiceFee","invoiceFeeInkVat","invoiceFeeAndShipping","invoiceFeeAndShippingInkVat","SummarySumCostReductionIncVat","summarySumAfterCostReductionsIncVat","disableIncExVatChange","offerCount","cartHashCode","guId","ready","popupMsg","popupMsgWait","find","popupMsgSuccess","popupMsgError","popupMsgText","numberOfItemsToShow","cartItemsToShow","items","itemsToShow","Math","min","push","product","ProductId","resultQuantity","result","newQuantity","param","GetAction","done","inkVat","setVat","e","console","log","doShowActiveCart","window","StorageService","localStorage","setItem","doShowOrderbookSummary","orderbookManager","showOrderbookSummaryInline","doRedirectToOrderOverviw","location","href","forceLoad","showSmallCartAmount","ShowGoToCart","ShowGoToCheckout","ShowExternalCheckout","ShowPriceIncExVat","ShowRemoveButton","ShowPriceDisplayControls","ShowVeilPrisValue","HideCustomerPriceValue","FavoriteCartUrl","OfferCartUrl","IsLoggedIn","SmallCartItemsToShow","DecimalsQuantity","PopupTime","DisableIncExVatChange","SmallCartFees","showIncVatCheckbox","ShowIncVatCheckbox","useVat","hasCarrier","guid","getCartIdFromSessionStorage","favGuid","getFavoriteGuid","CartName","DisplayDate","Orderbooks","cartView","getItem","OrderbookIncludesDefaultCart","HasCart","mc","format","asCulture","ItemCount","FavoriteCount","publish","PriceTotal","PriceTotalInkVat","PriceTotalProducts","PriceTotalProductsInkVat","PriceTotalProductInkVatLessDiscounts","PriceTotalProductExVatLessDiscounts","SummaryPreGiftcardsInkMva","SummaryPreGiftcardsEksMva","GiftcardsTotal","GiftVoucherUsedValue","GiftVoucherUsedValueExVat","PriceTotalInkVatExShipping","PriceTotalExVatExShipping","PriceTotalInkCarrier","PriceTotalInkCarrierInkVat","VatTotal","VatTotalInkCarrier","InvoiceFee","InvoiceFeeInkVat","InvoiceFeeAndShipping","InvoiceFeeAndShippingInkVat","OfferCount","SummarySumAfterCostReductionIncVat","AddToCartNotifier","AddToCartNotifierText","IncVat","setFavoriteGuid","FavoriteGuid","CartHashCode","GuId","ShowLeasingCosts","utils","arrayForEach","CartItems","item","isObservable","Quantity","QuantityMinimum","Price1","Price2","LeasingItemCost","LeasingTotalCost","CostReductionIncVat","AmountAfterReductionIncVat","ShowNewItemInCartNotifier","sessionStorage","removeItem","incVat","vatChange","isCheckoutPage","isCartPage","reload","setVeil","showVeil","showVeilPris","setHideCustomerPrice","hideCustomerPrice","onClose","popover","onClickRemove","updateQuantity","plid","quantity","freeShippingTxt","onUpdateFreeShipping","pubObject","Object","removeAll","remove","activeElement","blur","RequireFullRefresh","ajaxRenderEngine","onPriceRefreshRequested","onClickVat","onClickVeil","onClickHideCustomerPrice","onClickProductLink","ProductLink","onClickGoToCart","updateIcon","onSelectCart","onSelectCartByName","Name","name","ActiveCartName","PostAction","onGoToCart","pathname","onClickGoToCheckout","source","action","getContent","conId","kn","html","bindingHandlers","init","element","valueAccessor","allBindingsAccessor","viewModel","bindingContext","node","option","unwrapObservable","contentid","titId","titleid","contentkn","titlekn","togglePopover","MegaMenuResponsive","setOverlay","conEl","getElementById","titEl","cleanNode","applyBindings","pop","title","content","trigger","sanitize","placement","context","con","addClass","contentClass","module","on","mouseleaveCartSmall","event","target","closest","is","stopPropagation","bind","unbind","click","responsive","getScreenSize","inlineEditor","show","update","hide","isMedium","panel","append","fadeIn","delay","fadeOut","switchToLeasing","switchToPayNow","login","onIsloggedIn","status","msg","setTimeout","isRunningPop","asNumber","dif","value","time","removeClass","favoriteGuid","sFavCartId","payments","onShowUpdateIcon","onHideUpdateIcon","reloadPayments","focusFirstName","updateOrgNr","processPaymentMethods","onSelectedPayment","updateKco","receipt","langService","LanguageService","expressCustomer","showCheckoutConfirmation","showReceiptInformation","showSantanderPayeverApproved","showSantanderPayeverManual","showNordeaFinancingResult","nordeaFinancingText","ExpressCustomer","GetCheckoutConfirmationSnippet","GetSantanderPayeverApplicationResult","GetLatestNordeaFinancingApplicationResult","serviceLocal","currentPaymentMethod","CurrentPaymentMethod","json","JSON","parse","ExtraInfoJson","Status","Msg","Snippet","UseSoftlog","CustomerEmail","currentUser","getUser","setUser","OnClickSendOrder","btnOrderEl","shipment","reloadShipment","onChangedShipment","onSelectedShipment","onSelectedShipmentForCustomerRefresh"],"sourceRoot":""}