{"version":3,"file":"262.1d79055cc852b7a7387e.js","mappings":"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","sources":["webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CartView.js"],"sourcesContent":["mcWeb.cart = jQuery.extend(true, mcWeb.cart, new function () {\r\n this.events = {\r\n onOrderRefReqChange: \"mcWeb.cart.events.onOrderRefReqChange\",\r\n onLoadGiftcards: \"mcWeb.cart.events.onLoadGiftcards\",\r\n onShowShipment: \"mcWeb.cart.events.onShowShipment\"\r\n\r\n };\r\n\r\n this.vm = function (id) { \r\n var $ = jQuery;\r\n var self = this;\r\n\r\n self.id = \"#\" + id;\r\n self.service = new WebApiService(\"Cart\");\r\n self.giftcardService = new WebApiService(\"Giftcard\");\r\n self.checkoutService = new WebApiService(\"Checkout\");\r\n self.campaignService = new WebApiService(\"Campaign\");\r\n\r\n self.isMobile = ko.observable();\r\n self.priceCarrier = ko.observable();\r\n self.priceCarrierInkVat = ko.observable();\r\n\r\n self.priceTotal = ko.observable();\r\n self.priceTotalInkVat = ko.observable();\r\n self.showCurrencyInTotal = ko.observable(false);\r\n self.currency = ko.observable('');\r\n self.priceTotalProducts = ko.observable();\r\n self.priceTotalProductsInkVat = ko.observable();\r\n\r\n self.giftVoucherReduction = ko.observable('');\r\n self.giftVoucherValue = ko.observable('');\r\n self.giftVoucherUsedValue = ko.observable('');\r\n \r\n self.giftVoucherSummaryVisible = ko.computed(function () {\r\n return self.giftVoucherValue() !== null && self.giftVoucherValue().length > 0;\r\n });\r\n\r\n self.giftcardsEnabled = false;\r\n self.giftcardsAdded = ko.observable(false);\r\n self.giftcards = ko.observableArray();\r\n self.giftcardTotalDeduction = ko.observable();\r\n self.priceTotalInkCarrier = ko.observable();\r\n self.priceTotalInkCarrierInkVat = ko.observable();\r\n\r\n self.summaryPreGiftcardsInkMva = ko.observable();\r\n self.summaryPreGiftcardsEksMva = ko.observable();\r\n self.summaryBtoTotalAllProductsAndFees = ko.observable();\r\n self.totalCampaignDeductions = ko.observable('');\r\n self.specialFees = ko.observable('');\r\n self.specialFeesIncVat = ko.observable('');\r\n self.showSpecialFees = ko.observable(true);\r\n\r\n self.giftcardsTotal = ko.observable();\r\n\r\n self.vatTotal = ko.observable();\r\n self.vatTotalInkCarrier = ko.observable();\r\n self.campaingVoucherCanDeductSpecialFees = false;\r\n self.hasCart = ko.observable();\r\n self.cartTitle = ko.observable();\r\n self.cartName = ko.observable();\r\n self.displayDate = ko.observable();\r\n self.guId = ko.observable('');\r\n self.showRRP = ko.observable(false);\r\n\r\n self.itemCount = ko.observable();\r\n self.cartItems = ko.observableArray();\r\n self.campaignCodesUsed = ko.observableArray();\r\n self.hasCampaignCodes = ko.observable(false);\r\n self.orderbooks = ko.observableArray();\r\n\r\n self.inlineEditor = ko.observable(false);\r\n\r\n self.chkPriceIncExVatPrev = ko.observable(false);\r\n self.chkPriceIncExVat = ko.observable(false);\r\n\r\n self.avgPlikt = ko.observable(true);\r\n self.notAvgPlikt = ko.observable(false);\r\n\r\n self.notChkPriceIncExVat = ko.observable(true);\r\n\r\n self.salesMessageVisible = ko.observable(false);\r\n self.discountVisible = ko.observable(false);\r\n\r\n self.arePricesLocked = ko.observable(false);\r\n self.hideSomePricesForMport = ko.observable(false);\r\n self.isLoggedIn = ko.observable();\r\n\r\n self.zipCodePrev = ko.observable();\r\n self.zipCode = ko.observable('');\r\n\r\n self.shippingPrice = ko.observable();\r\n self.shippingPriceInkVat = ko.observable();\r\n self.hasShippingCosts = ko.observable(false);\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.showLeasingCosts = ko.observable(false);\r\n self.leasingTermAmountExVat = ko.observable('');\r\n self.leasingFees = ko.observableArray();\r\n self.leasingAdditionalServices = ko.observableArray();\r\n self.carrierTypes = ko.observableArray();\r\n self.selectedCarrierName = ko.observable();\r\n self.selectedCarrierId = ko.observable();\r\n self.selectedCarrierPrice = ko.observable();\r\n self.previousCarrierId = ko.observable(-1);\r\n self.CampaignCodeTxt = ko.observable('');\r\n self.CampaignUncombinableTxt = ko.observable('');\r\n self.CampaignTxt = ko.observable('');\r\n self.CampaignFreeFreightRequirementTxt = ko.observable(''); \r\n \r\n self.messageToSalesDep = ko.observable('');\r\n self.messageToSalesDepDelayed = ko.computed(function () {\r\n return self.messageToSalesDep();\r\n }).extend({ throttle: 300 });\r\n\r\n self.messageBookingRef = ko.observable('');\r\n self.messageBookingRefDelayed = ko.computed(function () {\r\n return self.messageBookingRef();\r\n }).extend({ throttle: 300 });\r\n\r\n\r\n self.showLinkTop = ko.observable(true);\r\n self.showAmountsBottom = ko.observable(false);\r\n self.showCartAlteration = ko.observable(false);\r\n\r\n self.showMessageToSalesDep = ko.observable(false);\r\n self.showMessageBookingRef = ko.observable(false);\r\n\r\n self.showDiscountCode = ko.observable(false);\r\n self.showPriceIncExVat = ko.observable(false);\r\n\r\n self.showRemoveButton = ko.observable(false);\r\n self.showCart = ko.observable(true);\r\n self.isLoadingCart = ko.observable(true);\r\n\r\n self.showContinueShoping = ko.observable(false);\r\n\r\n self.isCartCollapsed = ko.observable(true); //Get the state of the cart is it open or closed\r\n self.showCartCollapsed = ko.observable(true); // Show cart default Close first time\r\n self.nordeaComment = ko.observable('');\r\n self.showNordeaComment = ko.observable(false);\r\n self.showRemoveCart = ko.observable(false);\r\n self.showGoToCheckout = ko.observable(false);\r\n self.showExternalCheckout = ko.observable(false);\r\n self.showInvoiceFee = ko.observable(false);\r\n self.showTotalInkCarrier = ko.observable(false);\r\n self.showEmptyCart = ko.observable(false);\r\n self.showShipments = ko.observable(false);\r\n self.SummarySumCostReductionIncVat = ko.observable('');\r\n self.SummarySumAfterCostReductionIncVat = ko.observable('');\r\n self.ShowCampaignNames = ko.observable(false);\r\n self.pricePcs = $(\"#price-pcs\").html();\r\n\r\n self.showRefreshSpin = ko.observable(false);\r\n self.showRefreshSpinMargin = ko.observable(0);\r\n\r\n self.hrefLogin = ko.observable('#Login');\r\n self.notFixAmount = ko.observable(true);\r\n self.isCheckout = ko.observable(false);\r\n self.showCartItemInfo = ko.observable(false);\r\n self.showSeparateFraktFakturaCost = ko.observable();\r\n self.nbrOfDecimals = ko.observable(0);\r\n self.quantityMaxlength = ko.observable(3);\r\n self.showAddToFavorite = ko.observable(false);\r\n self.isBedrift = ko.observable();\r\n self.quantityStepValue = ko.observable();\r\n self.packageSizeMode = ko.observable(0);\r\n self.smallCartFees = false;\r\n self.orderRefRequired = ko.observable(false);\r\n self.isOrderRefRequired = ko.computed(function () {\r\n var status = false;\r\n if (self.orderRefRequired()) {\r\n\r\n if (self.messageBookingRef() == null ||\r\n self.messageBookingRef().trim().length < 1) {\r\n status = true;\r\n }\r\n if (self.isLoggedIn() || self.isSoftLog === true) {\r\n PubSub.publish(mcWeb.cart.events.onOrderRefReqChange, status);\r\n }\r\n }\r\n return status;\r\n }).extend({ throttle: 1000 });\r\n\r\n self.minimumSessionTimeoutUponLoginOrPurchase = -1;\r\n self.maximumSessionTimeoutWhenNotLoggedInAndEmptyCart = -1;\r\n self.sessionEndTime = -1;\r\n self.sessionEndPopupTime = -1;\r\n self.showCountdownPopup = false;\r\n self.countdownInterval = null;\r\n self.sessionTemplateHtml = null;\r\n self.OrderbookDate = ko.observable('');\r\n self.OrderbookEditVisible = ko.computed(function () {\r\n if (self.OrderbookDate() == null)\r\n return false;\r\n else if (self.OrderbookDate() == '')\r\n return false;\r\n else return true;\r\n });\r\n\r\n self.isSoftLog = null;\r\n self.popupTime = 1000;\r\n\r\n self.summaryBtoWeight = ko.observable(\"\");\r\n self.summaryBtoVolume = ko.observable(\"\");\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 self.cartItemCommentPlaceholder = $(\"#CartItemCommentPlaceholder\").html();\r\n self.sessionTemplateHtml = $('#session-timout').html();\r\n self.stepValue = $('#CartItemRemove').attr(\"step-value\"); \r\n });\r\n\r\n $(\"#collapse-cartitems\").on('shown.bs.collapse', function () {\r\n self.isCartCollapsed(false);\r\n });\r\n\r\n $(\"#collapse-cartitems\").on('hidden.bs.collapse', function () {\r\n self.isCartCollapsed(true);\r\n });\r\n \r\n self.onSelectCart = function (item) {\r\n\r\n var data = { ActiveCartName: item.Name };\r\n self.service.PostAction(\"SetActiveCartName\", data).then(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n });\r\n };\r\n //Set the hight of \"update icon\"\r\n this.showRefreshSpin.subscribe(function () {\r\n var hight = parseFloat($(\"#cart.panel\").height());\r\n if (hight !== NaN && hight > 1) {\r\n self.showRefreshSpinMargin(((hight / 2) - 30) + 'px');\r\n }\r\n });\r\n\r\n self.showEditOrderbookDate = function () {\r\n mcWeb.orderbookManager.showEditOrderbookDate(self.OrderbookDate(), self.guId(), self.cartName());\r\n };\r\n\r\n self.deleteOrderbook = function () {\r\n PubSub.publish(mcWeb.orderbookManager.events.onDoDeleteOrderbook, { Guid: self.guId() });\r\n };\r\n\r\n self.deleteFavouriteCart = function () {\r\n PubSub.publish(mcWeb.orderbookManager.events.onDoDeleteOrderbook, { Guid: self.guId() });\r\n };\r\n\r\n\r\n this.priceTotalInkVat.subscribe(function () {\r\n if (self.priceTotalInkVat() == null || self.priceTotalInkVat().length < 1){\r\n if(self.hideSomePricesForMport()){\r\n self.hideTotalPrice();\r\n \r\n }\r\n return;\r\n }\r\n\r\n self.showTotalPrice();\r\n });\r\n\r\n self.showLeasingCosts.subscribe(function () {\r\n if (self.priceTotalInkVat() == null || self.priceTotalInkVat().length < 1) {\r\n if (self.hideSomePricesForMport()) {\r\n self.hideTotalPrice();\r\n }\r\n return;\r\n }\r\n self.showTotalPrice();\r\n });\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCustomerData, function (message, data) {\r\n if (data != null && data.postnrDelivery != null && data.postnrDelivery != self.zipCode()) {\r\n }\r\n\r\n self.showCart(true);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedZipCode, function (message, data) {\r\n if (!data)\r\n return;\r\n\r\n var zipCode = data.zipCode;\r\n if (zipCode == null)\r\n return;\r\n\r\n if (self.zipCode() && zipCode.trim() !== self.zipCode().trim()) {\r\n self.LoadZipCode(zipCode);\r\n }\r\n });\r\n });\r\n PubSub.subscribe(mcWeb.cart.events.onLoadGiftcards, function(message,data){\r\n self.loadGiftcards(data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedCart, function (message, data) {\r\n self.load(data);\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, \"\");\r\n });\r\n\r\n \r\n\r\n /*Quantity Small Cart changed*/\r\n PubSub.subscribe(mcWeb.cartsmall.events.onChangedQuantityCartSmall, function (message, data) {\r\n self.load();\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onShowShipment, function (message, data) {\r\n self.showShipments(data.show);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onChangedShipment, function (message, data) {\r\n if (!data)\r\n return;\r\n\r\n self.loadCarrier(data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onSelectedShipment, function (message, carrier) {\r\n if (!carrier)\r\n return;\r\n\r\n self.selectedCarrierName(carrier.Name);\r\n self.selectedCarrierPrice(carrier.PrintPrice);\r\n });\r\n\r\n var checkTime = function (i) {\r\n if (i < 10) { i = \"0\" + i }; // add zero in front of numbers < 10\r\n return i;\r\n }\r\n\r\n self.startSessionCountdown = function () {\r\n\r\n if (self.sessionEndPopupTime < 1)\r\n return;\r\n\r\n if (self.showCountdownPopup === true) {\r\n self.showCountdownPopup = false;\r\n PubSub.publish(mcWeb.lightbox.events.onHideLightbox);\r\n }\r\n\r\n\r\n if (self.countdownInterval != null) {\r\n clearInterval(self.countdownInterval);\r\n }\r\n\r\n var t1 = new Date(),\r\n t2 = new Date(t1);\r\n\r\n //Whats the session time\r\n self.sessionEndTime = (self.isLoggedIn() === true && self.itemCount() > 0) ? self.minimumSessionTimeoutUponLoginOrPurchase : self.maximumSessionTimeoutWhenNotLoggedInAndEmptyCart;\r\n\r\n // Set the date we're counting down to\r\n var countDownDate = t2.setMinutes(t1.getMinutes() + self.sessionEndTime);\r\n\r\n // Update the count down every 1 second\r\n self.countdownInterval = setInterval(function () {\r\n\r\n // Get todays date and time\r\n var now = new Date().getTime();\r\n\r\n // Find the distance between now an the count down date\r\n var distance = countDownDate - now;\r\n\r\n // Time calculations for days, hours, minutes and seconds\r\n var days = Math.floor(distance / (1000 * 60 * 60 * 24));\r\n var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));\r\n var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n var seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n\r\n\r\n if (days === 0 && hours === 0 && minutes < self.sessionEndPopupTime) {\r\n\r\n if (self.showCountdownPopup === false) {\r\n self.showCountdownPopup = true;\r\n self.showTemplate(self.sessionTemplateHtml);\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n document.getElementById(\"session-btn\").addEventListener(\"click\", sessionReload);\r\n }\r\n\r\n // Display the result in the element with id=\"demo\"\r\n minutes = checkTime(minutes);\r\n seconds = checkTime(seconds);\r\n\r\n document.getElementById(\"session-time\").innerHTML = minutes + \":\" + seconds;\r\n }\r\n\r\n // If the count down is finished, write some text \r\n if (distance < 0) {\r\n var el = document.getElementById(\"session-btn\");\r\n if (el != null && el.length > 0) {\r\n el.removeEventListener(\"click\", sessionReload);\r\n el.addEventListener(\"click\", function () {\r\n window.location.href = \"/\";\r\n });\r\n }\r\n\r\n\r\n clearInterval(self.countdownInterval);\r\n\r\n $('#session-info').addClass('hidden');\r\n $('#session-update').addClass('hidden');\r\n $('#session-time').addClass('hidden');\r\n $('#session-info-end').removeClass('hidden');\r\n $('#session-end').removeClass('hidden');\r\n $('#session-time-end').removeClass('hidden');\r\n\r\n }\r\n }, 1000);\r\n }\r\n\r\n function sessionReload() {\r\n self.load(null);\r\n }\r\n\r\n \r\n\r\n\r\n this.load = function (data, settings, triggerOnCartChanged) {\r\n\r\n //Settings\r\n if (settings) {\r\n PubSub.publish(mcWeb.login.events.onIsloggedIn, settings.IsLoggedIn);\r\n\r\n self.isCartCollapsed(settings.ShowCartCollapsed);\r\n self.showCartCollapsed = settings.ShowCartCollapsed;\r\n self.showRemoveCart(settings.ShowRemoveCart);\r\n self.showGoToCheckout(settings.ShowGoToCheckout);\r\n self.showExternalCheckout(settings.ShowExternalCheckout);\r\n self.showContinueShoping(settings.ShowContinueShoping);\r\n self.showLinkTop(settings.ShowLinkTop);\r\n self.showAmountsBottom(settings.ShowAmountsBottom);\r\n self.showCartAlteration(settings.ShowCartAlteration);\r\n self.showMessageToSalesDep(settings.ShowMessageToSalesDep);\r\n self.showMessageBookingRef(settings.ShowMessageBookingRef);\r\n self.hideSomePricesForMport(settings.HideSomePricesForMport);\r\n self.giftcardsEnabled = settings.GiftcardsEnabled;\r\n self.showDiscountCode(settings.ShowDiscountCode);\r\n self.showPriceIncExVat(settings.ShowPriceIncExVat);\r\n self.showRemoveButton(settings.ShowRemoveButton);\r\n self.showCart(settings.ShowCart);\r\n self.showInvoiceFee(settings.ShowInvoiceFee);\r\n self.showTotalInkCarrier(settings.ShowTotalInkCarrier);\r\n self.showShipments(settings.ShowShipment);\r\n self.hrefLogin(settings.HrefLogin);\r\n self.isCheckout(($('.body-checkout').length > 0) ? true : false);\r\n self.inlineEditor(settings.InlineEditor);\r\n self.showCartItemInfo(settings.ShowCartItemInfo);\r\n self.showSeparateFraktFakturaCost(settings.ShowSeparateFraktFakturaCost);\r\n self.nbrOfDecimals(settings.NbrOfDecimals);\r\n self.quantityMaxlength(settings.QuantityMaxlength);\r\n self.showAddToFavorite(settings.ShowAddToFavorite);\r\n self.isBedrift(settings.IsBedrift);\r\n self.quantityStepValue(settings.QuantityStepValue);\r\n self.packageSizeMode(settings.PackageSizeMode);\r\n self.orderRefRequired(settings.OrderRefRequired);\r\n \r\n self.minimumSessionTimeoutUponLoginOrPurchase = settings.MinimumSessionTimeoutUponLoginOrPurchase;\r\n self.maximumSessionTimeoutWhenNotLoggedInAndEmptyCart = settings.MaximumSessionTimeoutWhenNotLoggedInAndEmptyCart;\r\n self.sessionEndTime = settings.MaximumSessionTimeoutWhenNotLoggedInAndEmptyCart;\r\n self.campaingVoucherCanDeductSpecialFees = settings.CampaingVoucherCanDeductSpecialFees;\r\n self.showRRP = settings.ShowRRP;\r\n self.smallCartFees = settings.SmallCartFees;\r\n self.sessionEndPopupTime = settings.SessionEndPopupTime;\r\n\r\n \r\n if (!settings.ShowRegistrationType) {\r\n $(\".registration-type\").hide();\r\n }\r\n\r\n if ($(\"#checkout\").length > 0)\r\n return;// this load method is normally called 4 times when loading the cart page! We skip this one because we know it will be called up to 3 more times started from other events. Only the first call sets settings, so to reduce nbr of calls, we return here\r\n }\r\n\r\n var vatChanged = (self.chkPriceIncExVat() != self.chkPriceIncExVatPrev());\r\n\r\n if (vatChanged) {\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, '');\r\n }\r\n\r\n //If empty, try to load data with ajax\r\n if (!data || data == null) {\r\n var param = {\r\n cartName: null,\r\n useVat: (vatChanged) ? self.chkPriceIncExVat() : null,\r\n discountCode: null,\r\n vatChange: vatChanged,\r\n isCheckout: self.isCheckout(),\r\n guid: getCartIdFromSessionStorage(),\r\n favGuid: self.getFavoriteGuid()\r\n };\r\n\r\n //Update prev Vat\r\n self.chkPriceIncExVatPrev(self.chkPriceIncExVat());\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"LoadCart\", param).then(function (result) {\r\n\r\n self.showRefreshSpin(false);\r\n\r\n if (result != null) {\r\n if (triggerOnCartChanged) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, result);\r\n } else {\r\n self.load(result);\r\n }\r\n }\r\n\r\n });\r\n return;\r\n }\r\n self.ShowCampaignNames($('body.publish-mode').length > 0);\r\n\r\n self.summaryBtoWeight(\"Total vekt av handlevogn: \" + data.SummaryBtoWeight + \"kg\");\r\n self.summaryBtoVolume(\"Totalt volum av handlevogn: \" + data.SummaryBtoVolume + \"m\" + \"\\xB3\");\r\n self.setFavoriteGuid(data.FavoriteGuid, self.isLoggedIn());\r\n self.OrderbookDate(data.OrderbookDate);\r\n self.isMobile(data.IsMobile);\r\n self.CampaignCodeTxt(data.CampaignCodeTxt);\r\n self.CampaignTxt(data.CampaignTxt);\r\n self.CampaignUncombinableTxt(data.CampaignUncombinableTxt);\r\n self.CampaignFreeFreightRequirementTxt(data.CampaignFreeFreightRequirementTxt);\r\n if(data.SummarySumAfterCostReductionIncVat != null)\r\n self.SummarySumAfterCostReductionIncVat(data.SummarySumAfterCostReductionIncVat);\r\n if(data.SummarySumCostReductionIncVat != null)\r\n self.SummarySumCostReductionIncVat(data.SummarySumCostReductionIncVat);\r\n if (self.isMobile())\r\n $.mobile.loading(\"hide\");\r\n\r\n if (data.CartName != null) {\r\n self.cartTitle(data.CartTitle);\r\n self.cartName(data.CartName);\r\n self.displayDate(data.DisplayDate);\r\n self.guId(data.GuId);\r\n PubSub.publish(mcWeb.cart.events.cartGuid, { cartName: data.CartName, cartGuid: data.GuId });\r\n }\r\n\r\n self.itemCount(mc.format.asCulture(data.ItemCount, self.nbrOfDecimals()));\r\n self.hasCart(data.HasCart);\r\n self.isLoadingCart(false);\r\n self.showEmptyCart(!data.HasCart);\r\n\r\n if (self.giftcardsEnabled)\r\n PubSub.publish(mcWeb.cart.events.onLoadGiftcards, data.GuId);\r\n\r\n PubSub.publish(mcWeb.cart.events.hasCartItems, data.HasCart);\r\n\r\n if (self.hasCart()) {\r\n\r\n if (self.isMobile())\r\n $(\"#cart-footer\").show();\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\r\n self.priceCarrier(data.PriceCarrier);\r\n self.priceCarrierInkVat(data.PriceCarrierInkVat);\r\n\r\n self.priceTotal(data.PriceTotal);\r\n self.priceTotalInkVat(data.PriceTotalInkVat);\r\n self.showCurrencyInTotal(data.ShowCurrencyInTotal);\r\n self.currency(data.Currency);\r\n self.arePricesLocked(data.ArePricesLocked);\r\n\r\n if(data.SummarySumCostReductionIncVat != null)\r\n self.SummarySumCostReductionIncVat(data.SummarySumCostReductionIncVat);\r\n else self.SummarySumCostReductionIncVat('');\r\n\r\n if(data.SummarySumAfterCostReductionIncVat != null)\r\n self.SummarySumAfterCostReductionIncVat(data.SummarySumAfterCostReductionIncVat);\r\n else self.SummarySumAfterCostReductionIncVat('');\r\n\r\n self.priceTotalProducts(data.PriceTotalProducts);\r\n self.priceTotalProductsInkVat(data.PriceTotalProductsInkVat);\r\n\r\n self.summaryPreGiftcardsInkMva(data.SummaryPreGiftcardsInkMva);\r\n self.summaryPreGiftcardsEksMva(data.SummaryPreGiftcardsEksMva);\r\n self.giftcardsTotal(data.GiftcardsTotal);\r\n self.summaryBtoTotalAllProductsAndFees(data.SummaryBtoTotalAllProductsAndFees);\r\n if (data.TotalCampaignDeductions !== null)\r\n self.totalCampaignDeductions(data.TotalCampaignDeductions);\r\n else self.totalCampaignDeductions(''); \r\n \r\n if(data.SpecialFees !== null)\r\n self.specialFees(data.SpecialFees);\r\n \r\n if(data.specialFeesIncVat !== null)\r\n self.specialFeesIncVat(data.SpecialFeesIncVat);\r\n\r\n self.showSpecialFees(data.ShowSpecialFees === true);\r\n\r\n self.giftVoucherReduction(data.GiftVoucherReduction);\r\n if (data.GiftVoucherValue !== null && data.GiftVoucherValue.length > 0)\r\n self.giftVoucherValue(\"(\" + data.GiftVoucherValue + \")\");\r\n else self.giftVoucherValue('');\r\n \r\n if (data.GiftVoucherUsedValue !== null && data.GiftVoucherUsedValue.length > 0)\r\n self.giftVoucherUsedValue(data.GiftVoucherUsedValue);\r\n else self.giftVoucherUsedValue('');\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.chkPriceIncExVatPrev(data.IncVat);\r\n self.chkPriceIncExVat(data.IncVat);\r\n self.avgPlikt(data.AvgPlikt);\r\n self.notAvgPlikt(!data.AvgPlikt);\r\n\r\n self.zipCodePrev(data.ZipCode);\r\n self.zipCode(data.ZipCode);\r\n\r\n self.shippingPrice(data.ShippingPrice);\r\n self.shippingPriceInkVat(data.ShippingPriceInkVat);\r\n self.hasShippingCosts(data.ShippingPrice.length > 0);\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.messageToSalesDep(data.MessageToSalesDep);\r\n self.messageBookingRef(data.MessageBookingRef);\r\n\r\n self.notFixAmount(!data.FixAmount);\r\n\r\n self.isSoftLog = data.IsSoftLog;\r\n setCarIdInSessionStorage(data);\r\n\r\n if (self.messageToSalesDep() != null && self.messageToSalesDep().trim().length > 0 && self.isCheckout())\r\n self.salesMessageVisible(true);\r\n\r\n if (self.messageBookingRef() != null && self.messageBookingRef().trim().length > 0 && self.isCheckout())\r\n self.salesMessageVisible(true);\r\n\r\n if (data.Orderbooks !== null)\r\n self.orderbooks(data.Orderbooks);\r\n \r\n if (data.NordeaApplicationFeesModel !== null && data.NordeaApplicationFeesModel.Comment !== null && data.NordeaApplicationFeesModel.Comment.length > 0) {\r\n self.nordeaComment(data.NordeaApplicationFeesModel.Comment);\r\n self.showNordeaComment(true);\r\n }\r\n else {\r\n self.nordeaComment('');\r\n self.showNordeaComment(false);\r\n }\r\n\r\n\r\n if (data.NordeaApplicationFeesModel !== null && data.NordeaApplicationFeesModel.StartupFees !== null) {\r\n ko.utils.arrayForEach(data.NordeaApplicationFeesModel.StartupFees, function (item) {\r\n if (!ko.isObservable(item.AmountStr)) {\r\n item.AmountStr = ko.observable(item.AmountStr);\r\n }\r\n if (!ko.isObservable(item.TypeStr)) {\r\n item.TypeStr = ko.observable(item.TypeStr);\r\n }\r\n if (!ko.isObservable(item.Show)) {\r\n item.ShowCost = ko.observable(true);\r\n }\r\n if (!ko.isObservable(item.Tooltip)) {\r\n item.Tooltip = ko.observable(item.Tooltip);\r\n }\r\n });\r\n self.leasingFees(data.NordeaApplicationFeesModel.StartupFees);\r\n }\r\n else self.leasingFees(null);\r\n \r\n\r\n if (data.NordeaApplicationFeesModel !== null && data.NordeaApplicationFeesModel.AdditionalServices !== null) {\r\n ko.utils.arrayForEach(data.NordeaApplicationFeesModel.AdditionalServices, function (item) {\r\n if (!ko.isObservable(item.AmountStr)) {\r\n item.AmountStr = ko.observable(item.AmountStr);\r\n }\r\n if (!ko.isObservable(item.TypeStr)) {\r\n item.TypeStr = ko.observable(item.TypeStr);\r\n }\r\n if (!ko.isObservable(item.ShowCost)) {\r\n item.ShowCost = ko.observable(item.Type !== 'Insurance');\r\n }\r\n if (!ko.isObservable(item.Tooltip)) {\r\n item.Tooltip = ko.observable(item.Tooltip);\r\n }\r\n });\r\n self.leasingAdditionalServices(data.NordeaApplicationFeesModel.AdditionalServices);\r\n }\r\n else self.leasingAdditionalServices(null);\r\n\r\n if (data.CampaignCodes !== null && data.CampaignCodes !== undefined) {\r\n ko.utils.arrayForEach(data.CampaignCodes, function (item) {\r\n if (!ko.isObservable(item.Code)) {\r\n item.Code = ko.observable(item.Code);\r\n }\r\n\r\n if (!ko.isObservable(item.Description)) {\r\n item.Description = ko.observable(item.Description);\r\n }\r\n if (!ko.isObservable(item.KKBruktId)) {\r\n item.KKBruktId = ko.observable(item.KKBruktId);\r\n }\r\n });\r\n self.hasCampaignCodes(data.CampaignCodes.length > 0);\r\n self.campaignCodesUsed(data.CampaignCodes);\r\n }\r\n\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.nbrOfDecimals()));\r\n }\r\n if (!ko.isObservable(item.QuantityMinimum)) {\r\n item.QuantityMinimum = ko.observable(item.QuantityMinimum);\r\n }\r\n if (!ko.isObservable(item.Price1)) {\r\n item.Price1 = ko.observable(item.Price1);\r\n }\r\n if (!ko.isObservable(item.Price1Stk)) {\r\n item.Price1Stk = ko.observable(item.Price1Stk);\r\n }\r\n if (!ko.isObservable(item.PacksizeLocked)) {\r\n item.PacksizeLocked = ko.observable(item.PacksizeLocked);\r\n }\r\n if (!ko.isObservable(item.Price2)) {\r\n item.Price2 = ko.observable(item.Price2);\r\n }\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\r\n if (!ko.isObservable(item.ShowConfig)) {\r\n item.ShowConfig = ko.observable(false);\r\n }\r\n if (!ko.isObservable(item.CampaignCode)) {\r\n item.CampaignCode = ko.observable(item.CampaignCode);\r\n }\r\n if (!ko.isObservable(item.FromAutoCampaign)) {\r\n item.FromAutoCampaign = ko.observable(item.FromAutoCampaign);\r\n }\r\n\r\n if (!ko.isObservable(item.CampaignCombinable)) {\r\n item.CampaignCombinable = ko.observable(item.CampaignCombinable);\r\n }\r\n\r\n if (!ko.isObservable(item.CampaignFreeFreightOnlyForCollectedDelivery)) {\r\n item.CampaignFreeFreightOnlyForCollectedDelivery = ko.observable(item.CampaignFreeFreightOnlyForCollectedDelivery);\r\n }\r\n\r\n if (!ko.isObservable(item.ShowQuantity)) {\r\n item.ShowQuantity = ko.computed(function () {\r\n return (item.CampaignCode().length == 0 && (item.ConfigProducts == null) && !self.hideSomePricesForMport());\r\n });\r\n }\r\n\r\n if (!ko.isObservable(item.ShowConfigQuantity)) {\r\n item.ShowConfigQuantity = ko.observable(item.ShowConfigQuantity);\r\n }\r\n\r\n\r\n if (!ko.isObservable((item.ProduktStatusId))) {\r\n item.ProduktStatusId = ko.observable(item.ProduktStatusId);\r\n }\r\n if (!ko.isObservable((item.GlyphIcon))) {\r\n item.GlyphIcon = ko.observable(item.GlyphIcon);\r\n }\r\n if (!ko.isObservable((item.Packsize))) {\r\n item.Packsize = ko.observable(item.Packsize);\r\n }\r\n if (!ko.isObservable((item.Info))) {\r\n item.Info = ko.observable(item.Info);\r\n }\r\n if (!ko.isObservable((item.FavoriteItemExist))) {\r\n item.FavoriteItemExist = ko.observable(item.FavoriteItemExist);\r\n }\r\n\r\n if (!ko.isObservable((item.CostReductionIncVat))) {\r\n if(item.CostReductionIncVat !== null)\r\n item.CostReductionIncVat = ko.observable(item.CostReductionIncVat);\r\n else\r\n item.CostReductionIncVat = ko.observable('');\r\n }\r\n\r\n if (!ko.isObservable((item.AmountAfterReductionIncVat))) {\r\n if(item.AmountAfterReductionIncVat !== null)\r\n item.AmountAfterReductionIncVat = ko.observable(item.AmountAfterReductionIncVat);\r\n else\r\n item.AmountAfterReductionIncVat = ko.observable('');\r\n }\r\n if (!ko.isObservable(item.PriceRRP)) {\r\n item.PriceRRP = ko.observable(item.PriceRRP);\r\n }\r\n\r\n if (!ko.isObservable(item.TotalLineDiscount)) {\r\n item.TotalLineDiscount = ko.observable(item.TotalLineDiscount);\r\n }\r\n\r\n if (!ko.isObservable(item.TotalLineDiscountFormatted)) {\r\n item.TotalLineDiscountFormatted = ko.observable(item.TotalLineDiscountFormatted);\r\n }\r\n\r\n if (!ko.isObservable(item.AppliedCampaignIds)) {\r\n item.AppliedCampaignIds = ko.observable(item.AppliedCampaignIds);\r\n }\r\n\r\n if (!ko.isObservable(item.CartItemCss)) {\r\n item.CartItemCss = ko.observable(self.getCartItemCss(item));\r\n }\r\n });\r\n\r\n self.cartItems(data.CartItems);\r\n\r\n if (self.showShipments() && self.cartItems() != null && self.cartItems().length > 0) {\r\n var serviceLocal = new WebApiService(\"Shipment\");\r\n serviceLocal.GetAction(\"CarrierList\", { isCheckout: self.isCheckout() }).then(function (result) {\r\n PubSub.publish(mcWeb.shipment.events.onChangedShipment, result);\r\n });\r\n }\r\n\r\n self.startSessionCountdown();\r\n\r\n self.showRefreshSpin(false);\r\n self.showCart(true);\r\n $(\"i.financing-tooltip\").popover();\r\n\r\n } else {\r\n self.showRefreshSpin(false);\r\n // self.show\r\n self.showCart(false);\r\n\r\n if (self.isMobile())\r\n $(\"#cart-footer\").hide();\r\n }\r\n\r\n if (self.inlineEditor && !!mcWeb.inlineEditor) {\r\n mcWeb.inlineEditor.init(true);\r\n }\r\n\r\n if (self.orderRefRequired() && self.isCheckout()) {\r\n self.salesMessageVisible(true);\r\n }\r\n };\r\n\r\n\r\n\r\n var setCarIdInSessionStorage = function (data) {\r\n\r\n try {\r\n if (data.IsSoftLog != null && data.IsSoftLog == true) {\r\n window.StorageService.sessionStorage.setItem('sCartId', data.GuId);\r\n } else {\r\n window.StorageService.sessionStorage.removeItem('sCartId');\r\n }\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n }\r\n }\r\n\r\n var getCartIdFromSessionStorage = function () {\r\n\r\n try {\r\n var sCartId = window.StorageService.sessionStorage.getItem('sCartId');\r\n if (sCartId === null || sCartId.length < 30)\r\n return null;\r\n\r\n window.StorageService.sessionStorage.removeItem('sCartId'); //reset\r\n return sCartId;\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n return null;\r\n }\r\n }\r\n\r\n\r\n this.getCartItemCss = function (item) {\r\n let result = \"\";\r\n if (item.CampaignCode != null) {\r\n if (ko.isObservable(item.CampaignCode) && item.CampaignCode().trim().length > 0)\r\n result += \"campaign-code \";\r\n else if (item.CampaignCode.length > 0)\r\n result += \"campaign-code \";\r\n }\r\n if (item.ProduktStatusId !== null) {\r\n if (ko.isObservable(item.ProduktStatusId) && item.ProduktStatusId() == 5)\r\n result += \"service-product \";\r\n else if (item.ProduktStatusId == 5)\r\n result += \"service-product \";\r\n }\r\n \r\n if (item.AppliedCampaignIds != null) {\r\n if (ko.isObservable(item.AppliedCampaignIds) && item.AppliedCampaignIds().length > 0)\r\n result += item.AppliedCampaignIds();\r\n else if (item.AppliedCampaignIds.length > 0)\r\n result += item.AppliedCampaignIds;\r\n }\r\n\r\n return result;\r\n };\r\n\r\n this.toggleDiscount = function () {\r\n self.discountVisible(!self.discountVisible());\r\n };\r\n\r\n this.toggleSalesMessage = function () {\r\n self.salesMessageVisible(!self.salesMessageVisible());\r\n };\r\n\r\n this.onToggleCarrierTypes = function () {\r\n $('#carrier-types').slideToggle();\r\n };\r\n\r\n this.saveSelectedCarrier = function (carrier) {\r\n self.selectedCarrierName(carrier.Name);\r\n self.selectedCarrierPrice(carrier.PrintPrice);\r\n\r\n var data = { carrierItem: carrier }\r\n\r\n var shipmentService = new WebApiService(\"Shipment\");\r\n\r\n shipmentService.PostAction(\"SaveSelectedCarrier\", data).then(function (result) {\r\n\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, \"\");\r\n PubSub.publish(mcWeb.shipment.events.onSelectedShipment, carrier);\r\n\r\n if (result !== null && result != undefined) {\r\n if (result.DoUpdateDeliveryAddress) {\r\n\r\n }\r\n }\r\n\r\n });\r\n return true;\r\n };\r\n\r\n //Show Configuration items\r\n this.onClickShowConfig = function (product) {\r\n product.ShowConfig(!product.ShowConfig());\r\n };\r\n\r\n this.onClickEditConfig = function (product) {\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"EditConfigProduct\", { plid: product.ProductId }).then(function (result) {\r\n self.showRefreshSpin(false);\r\n });\r\n };\r\n\r\n this.onClickAssembly = function (product) {\r\n\r\n var data = {\r\n cartProduktId: product.ProductId,\r\n isCheckout: true\r\n }\r\n\r\n self.service.GetAction(\"ShowSkiAssembly\", data).then(function (result) {\r\n if (result == null || result == false)\r\n return;\r\n\r\n if (result == 'mcWeb.SkiAssembly') {\r\n getLibrary(\"skiassembly\").then(() => {\r\n mcWeb.SkiAssembly.load(true);\r\n })\r\n }\r\n else if (result == 'mcWeb.SkiAttributeAssembly') {\r\n getLibrary(\"skiattributeassembly\").then(() => {\r\n mcWeb.SkiAttributeAssembly.load();\r\n });\r\n }\r\n else if (result === \"mcWeb.cart.events.onPopupForProductAssembly\") {\r\n PubSub.publish(result, product.ProductId);\r\n }\r\n else\r\n alert('Error - Cant show ski assembly');\r\n });\r\n };\r\n\r\n this.onClickFav = function (product) {\r\n product.FavoriteItemExist(true);\r\n mcWeb.productlist.fav.add(null, product.Plid, 1, self.isCheckout(),0,-1);//todo: check which fav-cart we want to use\r\n }\r\n\r\n var timeout;\r\n //Quantity handler\r\n\r\n var getQuantityStepValue = function (product) {\r\n if (product.PacksizeLocked()) {\r\n return product.Packsize();\r\n }\r\n\r\n if (self.quantityStepValue() != \"0\") {\r\n return convertToDesimal(self.quantityStepValue()); // finnes den så tar den precedence over de individuelle Forpakningsstørrelse settingene.\r\n }\r\n return product.Packsize();\r\n };\r\n\r\n this.onClickIncQua = function (product) {\r\n\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n\r\n var oldQuantity = convertToDesimal(product.Quantity());\r\n var quantityMinimum = convertToDesimal(product.Packsize());\r\n var quantityPackSize = convertToDesimal(getQuantityStepValue(product));\r\n\r\n var newQuantity = parseFloat(convertToDesimal(parseFloat(oldQuantity) + parseFloat(quantityPackSize)));\r\n\r\n if (newQuantity < 0 || (newQuantity < quantityMinimum && self.packageSizeMode() != 1)) \r\n newQuantity = 0;\r\n \r\n product.Quantity(mc.format.asCulture(newQuantity, self.nbrOfDecimals()));\r\n\r\n timeout = setTimeout(function () {\r\n self.updateQuantity(product, newQuantity, oldQuantity);\r\n }, 500);\r\n\r\n };\r\n\r\n this.setQua = function (product) {\r\n checkQuaMin(product);\r\n var oldQuantity = convertToDesimal(product.Quantity());\r\n self.updateQuantity(product, parseFloat(oldQuantity), parseFloat(oldQuantity));\r\n };\r\n\r\n this.onClickDecQua = function (product) {\r\n\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n\r\n var oldQuantity = convertToDesimal(product.Quantity());\r\n var quantityMinimum = convertToDesimal(product.QuantityMinimum());\r\n var quantityPackSize = convertToDesimal(getQuantityStepValue(product));\r\n\r\n var newQuantity = parseFloat(convertToDesimal(parseFloat(oldQuantity) - parseFloat(quantityPackSize)));\r\n if (newQuantity < quantityMinimum)\r\n newQuantity = 0;\r\n\r\n product.Quantity(mc.format.asCulture(newQuantity, self.nbrOfDecimals()));\r\n\r\n timeout = setTimeout(function () {\r\n self.updateQuantity(product, newQuantity, oldQuantity);\r\n }, 500);\r\n };\r\n\r\n this.onClickRemove = function (product) {\r\n self.updateQuantity(product, 0);\r\n };\r\n this.onClickCampaignCodeRemove = function (campaignCodeUsed) {\r\n var param = {\r\n CartGuid: self.guId(),\r\n CampaignCodeUsedId: campaignCodeUsed.KKBruktId()\r\n }\r\n\r\n self.campaignService.PostAction(\"RemoveCampaignFromCart\", param)\r\n .then(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onShowNewItemInCartText, { status: result.Success, msg: result.PopupText, popupTime: 2000 });\r\n if (result.Success) {\r\n self.service.GetAction(\"RefreshCartCache\", { guid: self.guId() }).then(function (result2) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n \r\n }\r\n });\r\n };\r\n this.enterKey = function (product, e) {\r\n if (e.keyCode === 13) {\r\n document.activeElement.blur();\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n this.onClickRemoveGiftcard = function(giftcard){\r\n var param = {\r\n Guid: giftcard.Guid,\r\n TransactionId: giftcard.TransactionId\r\n };\r\n self.giftcardService.PostAction(\"DeleteTransactionAsync\", param).then(function (result){\r\n if(result){\r\n \r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n }\r\n });\r\n };\r\n\r\n var convertToDesimal = function (value) {\r\n try {\r\n if (value != null) {\r\n value = value.toString().replace(',', '.');//remove ','\r\n }\r\n\r\n if (isNaN(value))\r\n value = 1;\r\n\r\n var q = parseFloat(Math.round(value * 100) / 100).toFixed(self.nbrOfDecimals());\r\n if (isNaN(q)) {\r\n return 1;\r\n }\r\n\r\n return q;\r\n } catch (e) {\r\n return 1;\r\n }\r\n };\r\n\r\n var checkQuaMin = function (product) {\r\n var qt = convertToDesimal(product.Quantity());\r\n if (isNaN(qt)) {\r\n qt = 1;\r\n product.Quantity(\"1\");\r\n }\r\n var qtmin = convertToDesimal(product.QuantityMinimum());\r\n\r\n //if quantum is less then minmum package, return minium package.\r\n if (parseFloat(qt) > 0 && parseFloat(qt) < parseFloat(qtmin)) {\r\n var qtChange = (parseFloat(qtmin) - parseFloat(qt));\r\n product.Quantity(qtmin);\r\n self.quantityQtip($('#quan-' + product.ProductId), $('#pack-quantity').text(), '+' + mc.format.asCulture(qtChange, self.nbrOfDecimals()));\r\n }\r\n }\r\n\r\n this.isLastQua = function (quantity, quantityMinimum) {\r\n var qt = convertToDesimal(quantity);\r\n if (isNaN(qt)) { qt = 1; }\r\n var qtmin = convertToDesimal(quantityMinimum);\r\n return (parseFloat(qt) <= parseFloat(qtmin));\r\n };\r\n\r\n this.resultQuantity = function (result, product, newQuantity, oldQuantity) {\r\n\r\n self.hasCart(result.HasCart);\r\n self.itemCount(mc.format.asCulture(result.ItemCount, self.nbrOfDecimals()));\r\n\r\n if (result.PriceTotal) {\r\n self.showLeasingCosts(result.ShowLeasingCosts);\r\n self.leasingTermAmountExVat(result.LeasingTermAmountExVat);\r\n self.priceTotal(result.PriceTotal);\r\n self.priceTotalInkVat(result.PriceTotalInkVat);\r\n self.showCurrencyInTotal(result.ShowCurrencyInTotal);\r\n self.currency(result.Currency);\r\n self.SummarySumCostReductionIncVat(result.SummarySumCostReductionIncVat);\r\n self.SummarySumAfterCostReductionIncVat(result.SummarySumAfterCostReductionIncVat);\r\n self.priceTotalProducts(result.PriceTotalExVatExShipping);\r\n self.priceTotalProductsInkVat(result.PriceTotalInkVatExShipping);\r\n\r\n self.giftVoucherReduction(result.GiftVoucherReduction);\r\n self.giftVoucherValue(result.GiftVoucherValue);\r\n\r\n self.priceTotalInkCarrier(result.PriceTotalInkCarrier);\r\n self.priceTotalInkCarrierInkVat(result.PriceTotalInkCarrierInkVat);\r\n\r\n self.shippingPrice(result.ShippingPrice);\r\n self.shippingPriceInkVat(result.ShippingPriceInkVat);\r\n self.hasShippingCosts(result.ShippingPrice.length > 0);\r\n self.invoiceFee(result.InvoiceFee);\r\n self.invoiceFeeInkVat(result.InvoiceFeeInkVat);\r\n\r\n self.invoiceFeeAndShipping(result.InvoiceFeeAndShipping);\r\n self.invoiceFeeAndShippingInkVat(result.InvoiceFeeAndShippingInkVat);\r\n self.leasingTermAmountExVat(result.LeasingTermAmountExVat);\r\n\r\n }\r\n\r\n if (result.VatTotal) {\r\n self.vatTotal(result.VatTotal);\r\n self.vatTotalInkCarrier(result.VatTotalInkCarrier);\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, \"\");\r\n }\r\n\r\n if (!self.hasCart()) {\r\n self.cartItems.removeAll();\r\n\r\n PubSub.publish(mcWeb.cart.events.hasCartItems, self.hasCart());\r\n self.showEmptyCart(true);\r\n return;\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 var qua = mc.format.asNumber(result.CartItems[0].Quantity, self.nbrOfDecimals()); //parseFloat(result.CartItems[0].Quantity);\r\n oldQuantity = mc.format.asNumber(oldQuantity, self.nbrOfDecimals());\r\n newQuantity = mc.format.asNumber(newQuantity, self.nbrOfDecimals());\r\n\r\n //Check if quantity is NOT changed\r\n if (oldQuantity == qua && oldQuantity != newQuantity) {\r\n self.quantityQtip($('#quan-' + product.ProductId), $('#no-quantity').text());\r\n }\r\n //Check if quantity is changed width more then newQuantity\r\n else if (newQuantity != qua) {\r\n var changeQua = (qua - oldQuantity);\r\n var text = ' ' + ((changeQua > 0) ? '+' : '') + mc.format.asCulture(changeQua, self.nbrOfDecimals());\r\n\r\n if (result.CartItems[0].Packsize == 1) {\r\n self.quantityQtip($('#quan-' + product.ProductId), $('#max-quantity').text() + ' ' + mc.format.asCulture(qua, self.nbrOfDecimals()) + ' ' + $('#instock-quantity').text(), '');\r\n } else {\r\n self.quantityQtip($('#quan-' + product.ProductId), $('#pack-quantity').text(), text);\r\n }\r\n }\r\n\r\n product.Quantity(mc.format.asCulture(result.CartItems[0].Quantity, self.nbrOfDecimals()));\r\n product.Price1(result.CartItems[0].Price1);\r\n product.Price1Stk(result.CartItems[0].Price1Stk);\r\n product.PacksizeLocked(result.CartItems[0].PacksizeLocked);\r\n product.Price2(result.CartItems[0].Price2);\r\n product.CampaignCode(result.CartItems[0].CampaignCode);\r\n product.FromAutoCampaign(result.CartItems[0].FromAutoCampaign);\r\n product.PriceRRP(result.CartItems[0].PriceRRP);\r\n product.TotalLineDiscount(result.CartItems[0].TotalLineDiscount);\r\n product.TotalLineDiscountFormatted(result.CartItems[0].TotalLineDiscountFormatted);\r\n product.AppliedCampaignIds(result.CartItems[0].AppliedCampaignIds);\r\n product.CartItemCss(self.getCartItemCss(result.CartItems[0]));\r\n product.LeasingItemCost(result.CartItems[0].LeasingItemCost);\r\n product.LeasingTotalCost(result.CartItems[0].LeasingTotalCost);\r\n }\r\n }\r\n\r\n if (document.activeElement)\r\n document.activeElement.blur();\r\n };\r\n\r\n\r\n this.updateQuantity = function (product, newQuantity, oldQuantity) {\r\n var data = {\r\n plid: product.ProductId,\r\n quantity: newQuantity,\r\n cartName: null,\r\n isCheckout: self.isCheckout(),\r\n info: product.Info()\r\n };\r\n\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"UpdateCartItem\", data).then(function (result) {\r\n self.showRefreshSpin(false);\r\n if (self.isCheckout()\r\n && mcWeb.customerRegistration !== undefined\r\n && mcWeb.customerRegistration !== null\r\n && mcWeb.customerRegistration.instances['checkout-registration'] !== null\r\n && mcWeb.customerRegistration.instances['checkout-registration'] !== undefined)\r\n {\r\n var registrationVM = mcWeb.customerRegistration.instances['checkout-registration'].registrationVM;\r\n if (registrationVM.usingPorterbuddy() && porterbuddy !== undefined && porterbuddy.refresh !== undefined) {\r\n //This variable should have been injected by Porterbuddy, if the Porterbuddy module is active.\r\n\r\n porterbuddy.refresh();\r\n }\r\n }\r\n\r\n if (result == null)\r\n return;\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, oldQuantity);\r\n\r\n PubSub.publish(mcWeb.cart.events.onChangedQuantityCart, pubObject);\r\n\r\n if (result.WebCartProductIdsRemoved != null && result.WebCartProductIdsRemoved.length > 0 || result.RequireFullRefresh)\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n if (result.CampaignVerificationModel !== null && !result.CampaignVerificationModel.Success && result.CampaignVerificationModel.VerificationResult !== null && !result.CampaignVerificationModel.VerificationResult.Success) {\r\n var target = $(\"#campaing-code-field\");\r\n mcWeb.validation.qTipActionShowAndHide(target, result.CampaignVerificationModel.VerificationResult.ErrorMsg, false, self.getqTipDelay(result.CampaignVerificationModel.VerificationResult.ErrorMsg));\r\n }\r\n });\r\n\r\n };\r\n\r\n this.quantityQtip = function (sender, text, quantity) {\r\n\r\n var textQua = (quantity) ? ('' + convertToDesimal(quantity) + '') : '';\r\n sender.qtip({\r\n content: { text: text + textQua },\r\n hide: {\r\n inactive: 5000,\r\n event: 'click mouseleave mouseover',\r\n effect: function () { $(this).slideUp(); }\r\n },\r\n position: { my: 'top center', at: 'bottom center' },\r\n style: { classes: 'qtip-bootstrap qtip-cart' },\r\n show: { ready: true },\r\n });\r\n };\r\n\r\n this.getqTipDelay = function (msg) {\r\n var seconds = 3; //at least visible for 3 seconds\r\n //returns 3 seconds + 0.15s per estimatet word (guessing each word is 6 letters)\r\n return (seconds + (msg.length / 6) * 0.15) * 1000;//returns values in milliseconds\r\n };\r\n\r\n this.onClickVat = function () {\r\n self.load('', '', true);\r\n return true; //Need this on Checkbox\r\n };\r\n\r\n this.onClickContinueShoping = function () {\r\n self.service.GetAction(\"ContinueShoping\", \"\").then(function (result) {\r\n window.location.href = result;\r\n });\r\n };\r\n\r\n //Settings\r\n this.onClickRemoveCart = function () {\r\n self.service.GetAction(\"RemoveCart\", { cartName: null, isCheckout: self.isCheckout() }).then(function (result) {\r\n if (result == null)\r\n return;\r\n\r\n\r\n self.hasCart(false);\r\n self.priceTotal('');\r\n self.priceTotalInkVat('');\r\n self.showCurrencyInTotal(false);\r\n self.currency('');\r\n self.priceTotalProducts('');\r\n self.priceTotalProductsInkVat('');\r\n self.showLeasingCosts(false);\r\n self.leasingTermAmountExVat('');\r\n self.giftVoucherReduction('');\r\n self.giftVoucherValue('');\r\n\r\n self.priceTotalInkCarrier('');\r\n self.priceTotalInkCarrierInkVat('');\r\n\r\n self.vatTotal('');\r\n self.vatTotalInkCarrier('');\r\n\r\n self.cartItems.removeAll();\r\n self.showEmptyCart(true);\r\n\r\n PubSub.publish(mcWeb.cartsmall.events.onUpdateCart, \"\");\r\n });\r\n };\r\n\r\n this.onExternalCheckout = function(){\r\n document.location.href = \"/WebPages/Cart/OciCheckout.aspx\";\r\n };\r\n\r\n this.onClickGoToCheckout = function () {\r\n try {\r\n var data = { cartName: self.cartName, source: 'cart' };\r\n //startUpdateIcon();\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"GoToCheckOut\", data).then(function (result) {\r\n //stopUpdateIcon();\r\n self.showRefreshSpin(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 //stopUpdateIcon();\r\n self.showRefreshSpin(false);\r\n }\r\n };\r\n\r\n this.LoadZipCode = function (zipCode) {\r\n if (zipCode != null && zipCode.length >= 3 && (zipCode.indexOf(\"*\") == -1)) {\r\n try {\r\n self.zipCodePrev(zipCode);\r\n self.zipCode(zipCode);\r\n var data = { zipCode: zipCode };\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n });\r\n } catch (e) {\r\n //stopUpdateIcon();\r\n self.showRefreshSpin(false);\r\n }\r\n }\r\n };\r\n\r\n this.loadGiftcards = function(guid){\r\n if(guid === undefined || guid === \"\" || guid.length <= 0)\r\n return;\r\n\r\n var giftcardParam = {\r\n Guid: guid,\r\n IsCheckout: self.isCheckout()\r\n };\r\n self.giftcardService.PostAction(\"VerifyGiftcardsForCartAsync\", giftcardParam).then(function (resultGiftcards){\r\n \r\n if(resultGiftcards !== undefined && resultGiftcards !== null && resultGiftcards.Items !== undefined && resultGiftcards.Items.length > 0){\r\n self.giftcardsAdded(true);\r\n\r\n ko.utils.arrayForEach(resultGiftcards.Items, function (item) {\r\n if (!ko.isObservable(item.Guid)) {\r\n item.Guid = ko.observable(item.Guid);\r\n }\r\n\r\n if (!ko.isObservable(item.ShortGuid)) {\r\n item.ShortGuid = ko.observable(item.ShortGuid);\r\n }\r\n\r\n if (!ko.isObservable(item.DeductionAmountFormatted)) {\r\n item.DeductionAmountFormatted = ko.observable(item.DeductionAmountFormatted);\r\n }\r\n });\r\n self.giftcards(resultGiftcards.Items);\r\n self.giftcardTotalDeduction(resultGiftcards.TotalGiftcardDeductions);\r\n }\r\n else{\r\n self.giftcardsAdded(false);\r\n self.giftcards(null);\r\n self.giftcardTotalDeduction(\"\");\r\n }\r\n\r\n \r\n });\r\n };\r\n\r\n\r\n\r\n this.loadCarrier = function (carrier) {\r\n\r\n if (carrier == null || !carrier)\r\n return;\r\n\r\n var previousCarrierId = self.previousCarrierId();\r\n self.selectedCarrierId(carrier.SelectedCarrierId);\r\n\r\n if (carrier.CarrierList && carrier.CarrierList.length > 0) {\r\n self.carrierTypes(carrier.CarrierList);\r\n\r\n for (var i = 0; i < carrier.CarrierList.length; i++) {\r\n var obj = carrier.CarrierList[i];\r\n if (obj.Id == carrier.SelectedCarrierId) {\r\n self.selectedCarrierName(obj.Name);\r\n self.selectedCarrierPrice(obj.PrintPrice);\r\n self.previousCarrierId(carrier.SelectedCarrierId);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n //if (previousCarrierId != -1 && previousCarrierId != self.selectedCarrierId()) {\r\n //\tself.quantityQtip($('#cart-zipcode'), $('#carrier-changed').html(), self.selectedCarrierName());\r\n //}\r\n\r\n };\r\n\r\n this.isNumberKey = function (sender, e) {\r\n var key = (e.which) ? e.which : e.keyCode;\r\n if (key == 13) {\r\n document.activeElement.blur();\r\n return false;\r\n }\r\n return !(key > 31 && (key < 48 || key > 57));\r\n };\r\n\r\n self.zipCode.subscribe(function (zipCode) {\r\n\r\n if (self.zipCodePrev() == zipCode)\r\n return;\r\n\r\n if (zipCode != null && zipCode.length > 3) {\r\n self.zipCodePrev(zipCode);\r\n //document.activeElement.blur();\r\n self.LoadZipCode(zipCode);\r\n }\r\n });\r\n\r\n //PubSub.subscribe(mcWeb.shipment.events.onPickupPointCustomerSelected, function (message, selectedPickupPoint) {\r\n // if (!selectedPickupPoint) return;\r\n\r\n // var customerId = selectedPickupPoint.CustomerId;\r\n // var customername = selectedPickupPoint.Customername;\r\n // var msg = self.messageToSalesDep();\r\n\r\n // if ((msg.indexOf(customername) === -1)) {\r\n // msg = msg + \" \" + customername;\r\n // self.messageToSalesDep(msg);\r\n // self.storeMessages();\r\n // }\r\n //});\r\n\r\n this.storeMessages = function () {\r\n var data = {\r\n messageToSalesDep: (self.messageToSalesDep() == null) ? \"\" : self.messageToSalesDep(),\r\n messageBookingRef: (self.messageBookingRef() == null) ? \"\" : self.messageBookingRef()\r\n }\r\n\r\n self.service.PostAction(\"StoreMessageToSalesDep\", data).then(function (result) {\r\n if (result == null || result != true) {\r\n alert('Error saving message!');\r\n }\r\n });\r\n };\r\n\r\n $('#qt-zipcode-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-zipcode-t').html(),\r\n content: $('#qt-zipcode-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n this.showTotalPrice = function () {\r\n if (self.showLeasingCosts()) {\r\n $(\"#checkout-total\").html(self.leasingTermAmountExVat());\r\n }\r\n else if(self.hideSomePricesForMport()){\r\n $(\"#checkout-total\").html(self.SummarySumAfterCostReductionIncVat());\r\n }\r\n else{\r\n $(\"#checkout-total\").html(self.priceTotalInkVat());\r\n }\r\n \r\n };\r\n\r\n this.hideTotalPrice = function(){\r\n $(\"#checkout-total\").html(\"\");\r\n }\r\n PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n self.isLoggedIn(isLoggedIn);\r\n });\r\n\r\n self.onClickLoginDiscoutCode = function () {\r\n\r\n try {\r\n window.StorageService.sessionStorage.setItem('focusDiscoutCode', true);\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n }\r\n\r\n if (self.hrefLogin() === '#login') {\r\n mcWeb.login.load();\r\n } else {\r\n window.location.href = self.hrefLogin();\r\n }\r\n };\r\n\r\n\r\n PubSub.subscribe(mcWeb.cart.events.focusDiscoutCode, function () {\r\n\r\n try {\r\n var focusDiscoutCode = window.StorageService.sessionStorage.getItem('focusDiscoutCode');\r\n if (focusDiscoutCode !== null && focusDiscoutCode === 'true') {\r\n\r\n self.discountVisible(true);\r\n window.StorageService.sessionStorage.setItem('focusDiscoutCode', false);\r\n\r\n setTimeout(function () {\r\n $(\"#discount-code-input\").focus();\r\n }, 400);\r\n }\r\n } catch (e) {\r\n // IOS/etc. Private Mode\r\n console.log('CartView.PubSub.subscribe(mcWeb.cart.events.focusDiscoutCode) - ex: ' + e);\r\n }\r\n });\r\n\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangeCollectedDelivery, function (message, active) {\r\n\r\n self.service.GetAction(\"UseCollectedDelivery\", { active: active, isCheckout: self.isCheckout() }).then(function (result) {\r\n if (result == null || result.Success === false) {\r\n alert('Error saving collected delivery change!');\r\n }\r\n else if (result.MustRefreshCart) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n }\r\n });\r\n\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, hasCartItems) {\r\n if (hasCartItems == true) {\r\n if ($(\".checkout.empty-cart\").length > 0) {\r\n $(\".checkout\").removeClass(\"empty-cart\");\r\n PubSub.publish(\"AjaxRenderingEngine.onFieldsRefresh\", { parentId: '.checkout' });\r\n }\r\n } else {\r\n $(\".checkout\").addClass(\"empty-cart\");\r\n }\r\n });\r\n\r\n\r\n\r\n /*Cart Item Info*/\r\n this.onClickShowSelectedCartItemTextbox = function (product) {\r\n var pid = 'productId-' + product.ProductId;\r\n if ($(\"#\" + pid).is(\":visible\"))\r\n $(\"#\" + pid).slideUp();\r\n else\r\n $(\"#\" + pid).slideDown();\r\n };\r\n\r\n this.onClickSaveCartItemInfo = function (product) {\r\n if (product.Info() == null)\r\n return;\r\n\r\n self.updateInfo(product);\r\n };\r\n\r\n this.updateInfo = function (product) {\r\n var quantity = convertToDesimal(product.Quantity());\r\n var data = {\r\n plid: product.ProductId,\r\n quantity: quantity,\r\n cartName: null,\r\n isCheckout: self.isCheckout(),\r\n info: product.Info()\r\n };\r\n\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"UpdateCartItem\", data).then(function (result) {\r\n self.showRefreshSpin(false);\r\n\r\n if (result == null)\r\n return;\r\n });\r\n };\r\n\r\n /// Data = {status: true/false, msg: 'Ny vare...'}\r\n PubSub.subscribe(mcWeb.cart.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.cart.events.onHideNewItemInCart);\r\n }, self.popupTime);\r\n });\r\n\r\n var isRunningPop = false;\r\n PubSub.subscribe(mcWeb.cart.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.cart.events.onHideNewItemInCart, function () {\r\n self.popupMsg.fadeOut(700, 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 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 }\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\r\n if (sFavCartId === null || sFavCartId === undefined || 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('CartView.getFavoriteGuid - ex: ' + e);\r\n }\r\n return null;\r\n };\r\n\r\n self.showTemplate = function (html) {\r\n\r\n var template = $('#lightbox-placeholder');\r\n if (template.length < 1) {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false });\r\n return;\r\n }\r\n\r\n template.html(html);\r\n };\r\n\r\n };\r\n});"],"names":["mcWeb","cart","jQuery","extend","events","onOrderRefReqChange","onLoadGiftcards","onShowShipment","vm","id","$","self","service","WebApiService","giftcardService","checkoutService","campaignService","isMobile","ko","observable","priceCarrier","priceCarrierInkVat","priceTotal","priceTotalInkVat","showCurrencyInTotal","currency","priceTotalProducts","priceTotalProductsInkVat","giftVoucherReduction","giftVoucherValue","giftVoucherUsedValue","giftVoucherSummaryVisible","computed","length","giftcardsEnabled","giftcardsAdded","giftcards","observableArray","giftcardTotalDeduction","priceTotalInkCarrier","priceTotalInkCarrierInkVat","summaryPreGiftcardsInkMva","summaryPreGiftcardsEksMva","summaryBtoTotalAllProductsAndFees","totalCampaignDeductions","specialFees","specialFeesIncVat","showSpecialFees","giftcardsTotal","vatTotal","vatTotalInkCarrier","campaingVoucherCanDeductSpecialFees","hasCart","cartTitle","cartName","displayDate","guId","showRRP","itemCount","cartItems","campaignCodesUsed","hasCampaignCodes","orderbooks","inlineEditor","chkPriceIncExVatPrev","chkPriceIncExVat","avgPlikt","notAvgPlikt","notChkPriceIncExVat","salesMessageVisible","discountVisible","arePricesLocked","hideSomePricesForMport","isLoggedIn","zipCodePrev","zipCode","shippingPrice","shippingPriceInkVat","hasShippingCosts","invoiceFee","invoiceFeeInkVat","invoiceFeeAndShipping","invoiceFeeAndShippingInkVat","showLeasingCosts","leasingTermAmountExVat","leasingFees","leasingAdditionalServices","carrierTypes","selectedCarrierName","selectedCarrierId","selectedCarrierPrice","previousCarrierId","CampaignCodeTxt","CampaignUncombinableTxt","CampaignTxt","CampaignFreeFreightRequirementTxt","messageToSalesDep","messageToSalesDepDelayed","throttle","messageBookingRef","messageBookingRefDelayed","showLinkTop","showAmountsBottom","showCartAlteration","showMessageToSalesDep","showMessageBookingRef","showDiscountCode","showPriceIncExVat","showRemoveButton","showCart","isLoadingCart","showContinueShoping","isCartCollapsed","showCartCollapsed","nordeaComment","showNordeaComment","showRemoveCart","showGoToCheckout","showExternalCheckout","showInvoiceFee","showTotalInkCarrier","showEmptyCart","showShipments","SummarySumCostReductionIncVat","SummarySumAfterCostReductionIncVat","ShowCampaignNames","pricePcs","html","showRefreshSpin","showRefreshSpinMargin","hrefLogin","notFixAmount","isCheckout","showCartItemInfo","showSeparateFraktFakturaCost","nbrOfDecimals","quantityMaxlength","showAddToFavorite","isBedrift","quantityStepValue","packageSizeMode","smallCartFees","orderRefRequired","isOrderRefRequired","status","trim","isSoftLog","PubSub","publish","minimumSessionTimeoutUponLoginOrPurchase","maximumSessionTimeoutWhenNotLoggedInAndEmptyCart","sessionEndTime","sessionEndPopupTime","showCountdownPopup","countdownInterval","sessionTemplateHtml","OrderbookDate","OrderbookEditVisible","popupTime","summaryBtoWeight","summaryBtoVolume","document","ready","popupMsg","popupMsgWait","find","popupMsgSuccess","popupMsgError","popupMsgText","cartItemCommentPlaceholder","stepValue","attr","on","onSelectCart","item","data","ActiveCartName","Name","PostAction","then","result","onChangedCart","subscribe","hight","parseFloat","height","NaN","showEditOrderbookDate","orderbookManager","deleteOrderbook","onDoDeleteOrderbook","Guid","deleteFavouriteCart","hideTotalPrice","showTotalPrice","getLibrary","customerRegistration","onChangedCustomerData","message","postnrDelivery","onChangedZipCode","LoadZipCode","loadGiftcards","load","shipment","reloadShipment","cartsmall","onChangedQuantityCartSmall","show","onChangedShipment","loadCarrier","onSelectedShipment","carrier","PrintPrice","checkTime","i","startSessionCountdown","lightbox","onHideLightbox","clearInterval","t1","Date","t2","countDownDate","setMinutes","getMinutes","setInterval","now","getTime","distance","days","Math","floor","hours","minutes","seconds","showTemplate","onShowLightbox","backdrop","keyboard","getElementById","addEventListener","sessionReload","innerHTML","el","removeEventListener","window","location","href","addClass","removeClass","settings","triggerOnCartChanged","login","onIsloggedIn","IsLoggedIn","ShowCartCollapsed","ShowRemoveCart","ShowGoToCheckout","ShowExternalCheckout","ShowContinueShoping","ShowLinkTop","ShowAmountsBottom","ShowCartAlteration","ShowMessageToSalesDep","ShowMessageBookingRef","HideSomePricesForMport","GiftcardsEnabled","ShowDiscountCode","ShowPriceIncExVat","ShowRemoveButton","ShowCart","ShowInvoiceFee","ShowTotalInkCarrier","ShowShipment","HrefLogin","InlineEditor","ShowCartItemInfo","ShowSeparateFraktFakturaCost","NbrOfDecimals","QuantityMaxlength","ShowAddToFavorite","IsBedrift","QuantityStepValue","PackageSizeMode","OrderRefRequired","MinimumSessionTimeoutUponLoginOrPurchase","MaximumSessionTimeoutWhenNotLoggedInAndEmptyCart","CampaingVoucherCanDeductSpecialFees","ShowRRP","SmallCartFees","SessionEndPopupTime","ShowRegistrationType","hide","vatChanged","param","useVat","discountCode","vatChange","guid","getCartIdFromSessionStorage","favGuid","getFavoriteGuid","GetAction","SummaryBtoWeight","SummaryBtoVolume","setFavoriteGuid","FavoriteGuid","IsMobile","mobile","loading","CartName","CartTitle","DisplayDate","GuId","cartGuid","mc","format","asCulture","ItemCount","HasCart","hasCartItems","ShowLeasingCosts","LeasingTermAmountExVat","PriceCarrier","PriceCarrierInkVat","PriceTotal","PriceTotalInkVat","ShowCurrencyInTotal","Currency","ArePricesLocked","PriceTotalProducts","PriceTotalProductsInkVat","SummaryPreGiftcardsInkMva","SummaryPreGiftcardsEksMva","GiftcardsTotal","SummaryBtoTotalAllProductsAndFees","TotalCampaignDeductions","SpecialFees","SpecialFeesIncVat","ShowSpecialFees","GiftVoucherReduction","GiftVoucherValue","GiftVoucherUsedValue","PriceTotalInkCarrier","PriceTotalInkCarrierInkVat","VatTotal","VatTotalInkCarrier","IncVat","AvgPlikt","ZipCode","ShippingPrice","ShippingPriceInkVat","InvoiceFee","InvoiceFeeInkVat","InvoiceFeeAndShipping","InvoiceFeeAndShippingInkVat","MessageToSalesDep","MessageBookingRef","FixAmount","IsSoftLog","setCarIdInSessionStorage","Orderbooks","NordeaApplicationFeesModel","Comment","StartupFees","utils","arrayForEach","isObservable","AmountStr","TypeStr","Show","ShowCost","Tooltip","AdditionalServices","Type","CampaignCodes","undefined","Code","Description","KKBruktId","CartItems","Quantity","QuantityMinimum","Price1","Price1Stk","PacksizeLocked","Price2","LeasingItemCost","LeasingTotalCost","ShowConfig","CampaignCode","FromAutoCampaign","CampaignCombinable","CampaignFreeFreightOnlyForCollectedDelivery","ShowQuantity","ConfigProducts","ShowConfigQuantity","ProduktStatusId","GlyphIcon","Packsize","Info","FavoriteItemExist","CostReductionIncVat","AmountAfterReductionIncVat","PriceRRP","TotalLineDiscount","TotalLineDiscountFormatted","AppliedCampaignIds","CartItemCss","getCartItemCss","serviceLocal","popover","init","StorageService","sessionStorage","setItem","removeItem","e","sCartId","getItem","toggleDiscount","toggleSalesMessage","onToggleCarrierTypes","slideToggle","saveSelectedCarrier","carrierItem","shipmentService","DoUpdateDeliveryAddress","onClickShowConfig","product","onClickEditConfig","plid","ProductId","onClickAssembly","cartProduktId","SkiAssembly","SkiAttributeAssembly","alert","onClickFav","productlist","fav","add","Plid","timeout","getQuantityStepValue","convertToDesimal","onClickIncQua","clearTimeout","oldQuantity","quantityMinimum","quantityPackSize","newQuantity","setTimeout","updateQuantity","setQua","checkQuaMin","onClickDecQua","onClickRemove","onClickCampaignCodeRemove","campaignCodeUsed","CartGuid","CampaignCodeUsedId","onShowNewItemInCartText","Success","msg","PopupText","result2","enterKey","keyCode","activeElement","blur","onClickRemoveGiftcard","giftcard","TransactionId","payments","reloadPayments","value","toString","replace","isNaN","q","round","toFixed","qt","qtmin","qtChange","quantityQtip","text","isLastQua","quantity","resultQuantity","PriceTotalExVatExShipping","PriceTotalInkVatExShipping","removeAll","remove","qua","asNumber","changeQua","info","instances","registrationVM","usingPorterbuddy","porterbuddy","refresh","freeShippingTxt","onUpdateFreeShipping","pubObject","Object","onChangedQuantityCart","WebCartProductIdsRemoved","RequireFullRefresh","CampaignVerificationModel","VerificationResult","target","validation","qTipActionShowAndHide","ErrorMsg","getqTipDelay","sender","textQua","qtip","content","inactive","event","effect","slideUp","position","my","at","style","classes","onClickVat","onClickContinueShoping","onClickRemoveCart","onUpdateCart","onExternalCheckout","onClickGoToCheckout","source","indexOf","giftcardParam","IsCheckout","resultGiftcards","Items","ShortGuid","DeductionAmountFormatted","TotalGiftcardDeductions","SelectedCarrierId","CarrierList","obj","Id","isNumberKey","key","which","storeMessages","trigger","title","placement","container","onClickLoginDiscoutCode","focusDiscoutCode","focus","console","log","onChangeCollectedDelivery","active","MustRefreshCart","parentId","onClickShowSelectedCartItemTextbox","pid","is","slideDown","onClickSaveCartItemInfo","updateInfo","fadeIn","onHideNewItemInCart","isRunningPop","onShowNewItemInCart","fadeOut","favoriteGuid","localStorage","sFavCartId","template","checkout","onShowSendOrder","showBtn","disabledBtn"],"sourceRoot":""}