{"version":3,"sources":["webpack:///./Scripts/Web/ViewModels/Checkout/CartView.js"],"names":["mcWeb","cart","jQuery","extend","this","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","done","result","onChangedCart","subscribe","hight","parseFloat","height","NaN","showEditOrderbookDate","orderbookManager","deleteOrderbook","onDoDeleteOrderbook","Guid","deleteFavouriteCart","hideTotalPrice","showTotalPrice","customerRegistration","onChangedCustomerData","message","postnrDelivery","loadGiftcards","load","shipment","reloadShipment","onChangedZipCode","LoadZipCode","cartsmall","onChangedQuantityCartSmall","show","onChangedShipment","loadCarrier","onSelectedShipment","carrier","PrintPrice","checkTime","i","sessionReload","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","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","popover","init","timeout","StorageService","sessionStorage","setItem","removeItem","e","sCartId","getItem","toggleDiscount","toggleSalesMessage","onToggleCarrierTypes","slideToggle","saveSelectedCarrier","carrierItem","DoUpdateDeliveryAddress","onClickShowConfig","product","onClickEditConfig","plid","ProductId","onClickAssembly","cartProduktId","SkiAssembly","SkiAttributeAssembly","alert","onClickFav","productlist","fav","add","Plid","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"],"mappings":"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","file":"8.89003228a12b380a234b.bundle.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).done(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\r\n PubSub.subscribe(mcWeb.customerRegistration.events.onChangedCustomerData, function (message, data) {\r\n if (data != null && data.postnrDelivery != null && data.postnrDelivery != self.zipCode()) {\r\n //self.LoadZipCode(data.postnrDelivery);\r\n }\r\n\r\n self.showCart(true);\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 PubSub.subscribe(mcWeb.customerRegistration.events.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 /*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).done(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() }).done(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.GetAction(\"SaveSelectedCarrier\", data).done(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 }).done(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).done(function (result) {\r\n if (result == null || result == false)\r\n return;\r\n\r\n if (result == 'mcWeb.SkiAssembly')\r\n mcWeb.SkiAssembly.load(true);\r\n else if (result == 'mcWeb.SkiAttributeAssembly')\r\n mcWeb.SkiAttributeAssembly.load();\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 .done(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() }).done(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).done(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).done(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.freeShippingTxt.events.onUpdateFreeShipping);\r\n\r\n var pubObject = new Object();\r\n pubObject.result = result;\r\n pubObject.newQuantity = newQuantity;\r\n pubObject.ProductId = product.ProductId;\r\n\r\n self.resultQuantity(result, product, newQuantity, 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\", \"\").done(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() }).done(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).done(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 PubSub.publish(mcWeb.customerRegistration.events.onChangedZipCode, data);\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).done(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).done(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() }).done(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).done(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});"],"sourceRoot":""}