{"version":3,"file":"checkout.169411be099b28a960f9.js","mappings":"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","sources":["webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/Checkout.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CheckoutConfirmationView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/CheckoutFooterView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/PaymentView.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/SalesConditions.js","webpack://mcweb3/./Scripts/Web/ViewModels/Checkout/ShipmentView.js"],"sourcesContent":["mcWeb.checkout = new function () {\r\n\r\n this.events = {\r\n onShowSendOrder: \"mcWeb.checkout.onShowSendOrder\" \r\n };\r\n\r\n\tvar $ = jQuery;\r\n\tvar self = this;\r\n\tself.service = new WebApiService(\"Checkout\");\r\n\tself.langService = new LanguageService();\r\n \r\n\tself.cartName = null;\r\n self.cartGuid = null;\r\n\t\t\r\n $(function () {\r\n\r\n self.isCheckoutPage = ($(\"#checkout\").length > 0) ? true : false;\r\n\r\n if (!self.isCheckoutPage)\r\n return;\r\n\r\n\t\tvar returnCode = self.getParameterByName(\"returnCode\");\r\n\t\tself.showErrorMessageFromReturnCode(returnCode);\r\n\r\n\t\tvar btnOrderEl = $(\"#McPaymentAddOrderbottom\");\r\n\t\tvar priceEl = $(\"#checkout-amount\");\r\n\t\tvar salesConditionsEl = $(\"#mcweb-salesconditions-sales-conditions\");\r\n\r\n\t\tPubSub.subscribe(mcWeb.checkout.events.onShowSendOrder, function (message, status) {\r\n\r\n if (status === null)\r\n return;\r\n\r\n var registration = mcWeb.customerRegistration.instances[\"checkout-registration\"];\r\n if (registration !== null) {\r\n //Blocked or not active customer\r\n if (registration.registrationVM.blockedCustomer()) {\r\n status.showBtn = false;\r\n status.disabledBtn = true;\r\n $(\".sales-conditions\").hide();\r\n }\r\n }\r\n\r\n\r\n if (status.showBtn !== null || status.disabledBtn !== null) {\r\n\r\n if (status.disabledBtn !== null)\r\n {\r\n if (status.disabledBtn === true) {\r\n btnOrderEl.removeClass(\"btn-primary\");\r\n btnOrderEl.addClass(\"btn-default disabled\");\r\n } else {\r\n btnOrderEl.removeClass(\"btn-default disabled\");\r\n btnOrderEl.addClass(\"btn-primary\");\r\n }\r\n }\r\n\r\n if (status.showBtn !== null) {\r\n\r\n if (status.showBtn === true) {\r\n btnOrderEl.show();\r\n } else {\r\n btnOrderEl.hide();\r\n }\r\n }\r\n }//showBtn or disabledBtn\r\n\r\n if (status.showPrice !== null) {\r\n if (status.showPrice === true) {\r\n priceEl.show();\r\n } else {\r\n priceEl.hide();\r\n }\r\n }\r\n\r\n if (status.showSalesConditions !== null) {\r\n\r\n if (status.showSalesConditions === true) {\r\n salesConditionsEl.show();\r\n } else {\t\t \r\n salesConditionsEl.hide();\r\n }\r\n }\r\n\r\n });\r\n\r\n\t});\r\n\r\n\r\n self.findElement = function (payment, element) {\r\n return $(\"div[id=\" + payment.selectedPayment() + \"]\").find(\"input[id*='\" + element + \"']\");\r\n };\r\n\r\n self.findClass = function (payment, cssClass) {\r\n return $(\"div[id=\" + payment.selectedPayment() + \"]\").find(\"input[class*='\" + cssClass + \"']\");\r\n };\r\n\t\r\n\tself.validatePayment = function (payment) {\r\n\t\tvar paymentId = payment.selectedPayment();\r\n\t\tvar element;\r\n\t\tvar validate = false;\r\n\t\tvar isValid = false;\r\n\t\tvar resName = \"\";\r\n\r\n\t\tif (paymentId === 96 || paymentId === 97) {\t//Klarna \r\n\t\t\tvalidate = true;\r\n if (payment.CustomerType() === \"private\" || payment.CustomerType() === \"privatkunde\") {\r\n element = self.findElement(payment, \"fodselsnummer\");\r\n\t\t\t\tisValid = payment.isFodselsnummerValid($(\"#fodselsnummer\"), true);\r\n\t\t\t\tresName = \"FodselsnummerError\";\r\n\t\t\t} else {\r\n element = self.findElement(payment, \"orgnr\");\r\n\t\t\t\tisValid = payment.isOrgnrValid($(\"#orgnr\"), true);\r\n\t\t\t\tresName = \"OrgnummerError\";\r\n\t\t\t}\r\n } else if (paymentId === 94 || paymentId === 107) { //Gothia private\r\n\t\t\telement = self.findElement(payment, \"birth_ssn\");\r\n\t\t\tvalidate = true;\r\n\t\t\tisValid = payment.isFodselsnummerValid($(\"#birth_ssn\"), false);\r\n\t\t\tresName = \"FodselsnummerError\";\r\n } else if (paymentId === 95) { //Gothia business\r\n\t\t\telement = self.findElement(payment, \"orgnr_ssn\");\r\n\t\t\tvalidate = true;\r\n\t\t\tisValid = payment.isOrgnrValid($(\"#orgnr_ssn\"), false);\r\n\t\t\tresName = \"OrgnummerError\";\r\n } else if (paymentId === 112 || paymentId === 115 || paymentId === 168) { //Santander\r\n\t\t\tvalidate = true;\r\n\t\t\tvar paymentViewSantander = mcWeb.payments.instances[\"payment-view\"];\r\n var validSantander = paymentViewSantander.validateSantander(payment);\r\n\r\n\t\t\tisValid = validSantander.IsValid;\r\n\t\t\tresName = validSantander.ResName;\r\n\t\t\telement = validSantander.Element;\r\n\t\t} else if (paymentId === 87 || paymentId === 128) {\r\n\t\t\tvalidate = true;\r\n\t\t\tvar paymentViewSvea = mcWeb.payments.instances[\"payment-view\"];\r\n var validSveaWebPay = paymentViewSvea.validateSveaWebPay(payment);\r\n\r\n\t\t\tisValid = validSveaWebPay.IsValid;\r\n\t\t\tresName = validSveaWebPay.ResName;\r\n\t\t\telement = validSveaWebPay.Element;\r\n\t\t} else if (payment.ShowOrgnrSsn()) {\r\n\t\t\tvalidate = true;\r\n\t\t\tvar fieldType = payment.ShowOrgnrSsnField();\r\n\t\t\tswitch (fieldType) {\r\n\t\t\tcase 1:\r\n element = self.findClass(payment, \"genericOrgnr\");\r\n isValid = payment.isOrgnrValid($(\".genericOrgnr\"), false);\r\n resName = \"OrgnummerError\";\r\n break;\r\n\t\t\tcase 2:\r\n element = self.findClass(payment, \"genericSsn\");\r\n isValid = payment.isFodselsnummerValid($(\".genericSsn\"), false);\r\n resName = \"FodselsnummerError\";\r\n break;\r\n\t\t\tcase 3:\r\n element = self.findClass(payment, \"genericBirthdate\");\r\n isValid = payment.isBirthdateValid($(\".genericBirthdate\"), false);\r\n resName = \"FodselsdatoError\";\r\n break;\r\n\t\t\tdefault:\r\n isValid = false;\r\n resName = \"MissingFields\";\r\n break;\r\n\t\t\t}\r\n\t\t} else {\r\n isValid = true;\r\n\t\t}\r\n\r\n\t\tif (validate) {\r\n\t\t\tif (!isValid) {\r\n\t\t\t\tvar errorText = mcWeb.validation.getErrorMessage(\"VALIDATION,\" + resName);\r\n\t\t\t\terrorText.done(function (result) {\r\n\t\t\t\t\tmcWeb.validation.qTipActionShow(element, result, false);\r\n\t\t\t\t\tmcWeb.validation.addErrorClass(element);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (element) {\r\n\t\t\t\t\tmcWeb.validation.setValidCss(element);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn isValid;\r\n\t};\r\n \r\n self.disableOrderButton = function() {\r\n $(\"#McPaymentAddOrderbottom\").attr(\"disabled\", \"disabled\");\r\n };\r\n\r\n self.enableOrderButton = function() {\r\n $(\"#McPaymentAddOrderbottom\").removeAttr(\"disabled\");\r\n };\r\n \r\n self.insertOrder = function (conditionsVM) {\r\n self.disableOrderButton();\r\n self.conditionsVM = conditionsVM;\r\n\t\tvar btnSendOrder = $(\"#McPaymentAddOrderbottom.btn-default.disable\");\r\n\t\tif (btnSendOrder.length > 0) {\r\n\t\t\tself.showErrorMessage($(\"#missing-info\").html());\r\n self.enableOrderButton();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n if ($(\".hide-zipcode\").length === 0) {\r\n var zipCode = $(\"#carrier-zipcode\");\r\n if (zipCode[0] !== undefined) {\r\n if (zipCode.val().length < 1) {\r\n zipCode.focus();\r\n self.enableOrderButton();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n\t\t$(\"#insert-order-alert\").hide();\r\n\t\tvar registration = mcWeb.customerRegistration.instances[\"checkout-registration\"];\r\n var payment = mcWeb.payments.instances[\"payment-view\"];\r\n\r\n if (typeof registration.registrationVM.epost() === 'string')\r\n registration.registrationVM.epost(registration.registrationVM.epost().toLowerCase());\r\n\t\t\r\n\t\tvar paymentValidationResult = self.validatePayment(payment);\r\n\t\tself.showWaitTemplate();\r\n if (!registration.validateCustomerSelectionType()) {\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n registration.validate().then(function (validationResult ) {\r\n\r\n if (!validationResult.success || !paymentValidationResult) {\r\n if (!paymentValidationResult) {\r\n // paymentError\r\n }\r\n else if (registration.requireLogin()) {\r\n //window.location.hash = \"#login\"; // Todo: Endre til en event via PubSub\r\n self.showErrorMessage($(\".text-email-blocked\").html());\r\n } else if (validationResult.invalidElements.length > 0) {\r\n self.scrollToFirstInvalidElement(validationResult.invalidElements[0].elem);\r\n } else {\r\n if(validationResult.message !== null && validationResult.message.length > 0)\r\n self.showErrorMessage(validationResult.message);\r\n }\r\n self.enableOrderButton();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!self.salesConditionsAccepted()) {\r\n\t\t\t\tself.showErrorMessage($(\".sales-cond-warning\").html());\r\n self.enableOrderButton();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n // Sjekker om SkiAssembly er aktivert og om det er produkter i handlevognen som mangler info\r\n self.service.GetAction(\"ShowSkiAssembly\", null).done(function (result) {\r\n if (result.length > 0) {\r\n self.enableOrderButton();\r\n\r\n if (result === \"mcWeb.SkiAssembly\")\r\n getLibrary(\"skiassembly\").then(() => { \r\n mcWeb.SkiAssembly.load(true);\r\n });\r\n else if (result === \"mcWeb.SkiAttributeAssembly\")\r\n getLibrary(\"skiattributeassembly\").then(() => {\r\n mcWeb.SkiAttributeAssembly.load();\r\n });\r\n else if (result === \"mcWeb.cart.events.onPopupForProductAssembly\") {\r\n PubSub.publish(result.MessageToPublish, result.MessageToPublishData);\r\n }\r\n else {\r\n console.log(result)\r\n alert(\"Error - Cant show ski assembly\");\r\n }\r\n return;\r\n }\r\n\r\n // Viser \"vennligst vent\"-melding\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: \"static\", keyboard: false, show: true });\r\n\r\n var customer = registration.getJsonData(self.conditionsVM);\r\n var paymentData = payment.getJsonData();\r\n var paymentDetails;\r\n\r\n if (paymentData.selectedPayment === 112 || paymentData.selectedPayment === 115 || paymentData.selectedPayment === 168) {\r\n var resourceName = payment.validateSantanderAddress(customer.postnr, customer.poststed, customer.adress);\r\n\r\n if (resourceName !== \"\") {\r\n self.langService.getValue(\"VALIDATION\", resourceName).done(function (value) {\r\n if (value.length > 0)\r\n self.showErrorMessage(value);\r\n });\r\n self.enableOrderButton();\r\n return;\r\n }\r\n\r\n paymentDetails = paymentData.santanderApplicationDetails;\r\n paymentDetails.RegisteredPostCode = paymentData.paymentDetails.RegisteredPostCode;\r\n } else {\r\n paymentDetails = paymentData.paymentDetails;\r\n }\r\n\r\n if (paymentData.paymentDetails.Birthdate !== \"undefined\")\r\n customer.birthDate = paymentData.paymentDetails.Birthdate;\r\n\r\n if (customer.customerType === \"undefined\" && payment.CustomerType() === \"privatkunde\")\r\n customer.customerType = \"private\";\r\n\r\n var registrationVM = mcWeb.customerRegistration.instances['checkout-registration'].registrationVM;\r\n if (registrationVM.deliveryWindow() !== null) {\r\n var deliveryWindow = registrationVM.deliveryWindow()\r\n customer.deliveryWindow = { start: deliveryWindow.start, end: deliveryWindow.end, token: deliveryWindow.token, expiresAt: deliveryWindow.expiresAt };\r\n customer.porterbuddyProduct = deliveryWindow.product;\r\n }\r\n\r\n self.service.PostAction(\"ProcessOrder\", { CustomerData: customer, PaymentDetails: paymentDetails, CartGuid: self.cartGuid, CartName: self.cartName }).done(function (result) {\r\n\r\n if (result.ReturnCode === \"Success\") {\r\n\r\n window.location = result.RedirectUrl;\r\n \r\n } else {\r\n self.enableOrderButton();\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: false });\r\n \r\n if (result.ReturnCode === \"ValidatePostalAddressFailed\" & result.ErrorMessageSpecified) {\r\n self.showErrorMessageFromReturnCode(result.ErrorMessage);\r\n }\r\n else if (result.ReturnCode == \"UnsupportedCurrency\") {\r\n var selectCurrencyParam = {\r\n SupportedCurrencies : result.SupportedCurrencies\r\n }\r\n var loginServcie = new WebApiService(\"Login\");\r\n loginServcie.PostAction(\"SelectAnyValidCurrency\", selectCurrencyParam).done(function (changedCurrencyResult) {\r\n \r\n self.showErrorMessage(changedCurrencyResult.Msg);\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n });\r\n }\r\n else if (result.ErrorMessageSpecified) {\r\n self.showErrorMessage(result.ErrorMessage);\r\n if (result.ReturnCode === \"ProductValidationFailed\") {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function (e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n }\r\n }\r\n else if (result.SecondaryErrorMessageSpecified) {\r\n if (result.UseSecondaryErrorMessageAsReturnCode)\r\n self.showErrorMessageFromReturnCode(result.SecondaryErrorMessage);\r\n else\r\n self.showErrorMessage(result.SecondaryErrorMessage);\r\n }\r\n else {\r\n if (result.ReturnCode === \"SelectedCarrierNoLongerAvailable\")\r\n PubSub.publish(mcWeb.cart.events.onShowShipment, { show: true });\r\n //PubSub.publish(mcWeb.cartsmall.events.onChangedQuantityCartSmall, \"\");\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, null);\r\n\r\n if (result.ReturnCode === \"SessionNotValid\") result.ReturnCode = \"CurrentSessionHasExpired\";\r\n self.showErrorMessageFromReturnCode(result.ReturnCode);\r\n\r\n if (result.ReturnCode === \"CurrentSessionHasExpired\" || result.ReturnCode === \"ExperianError\" || result.ReturnCode === \"ExperianNoCreditApproval\" ||\r\n result.ReturnCode === \"CampaignInvalid\" || result.ReturnCode === \"CartArchivedOrInserted\") {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function(e) {\r\n window.location.reload(true);\r\n });\r\n }\r\n else if (result.ReturnCode === \"CartValueAltered\" || result.ReturnCode ===\"GiftcardAmountNeededRefresh\" ) {\r\n $(\"#center-popup\").on(\"hidden.bs.modal\", function(e) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n });\r\n\t\t})\r\n\t\t.fail(function (error) {\r\n\t\t\t$(\"#checkout-popup\").modal(\"hide\");\r\n self.enableOrderButton();\r\n\t\t\tconsole.log(error);\r\n\t\t});\r\n\t};\r\n\r\n self.salesConditionsAccepted = function() {\r\n var salesCondCheckbox = $(\".checkbox-sales-cond\");\r\n var salesconditions = $(\".sales-conditions\");\r\n salesconditions.removeClass(\"has-error\");\r\n if (salesCondCheckbox.length > 0 && salesconditions.is(\":visible\")) {\r\n if (salesCondCheckbox.prop(\"checked\")) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n\r\n salesconditions.addClass(\"has-error\");\r\n return false;\r\n };\r\n\r\n\tself.showErrorMessage = function (message) {\r\n\t\tif (message.length > 0)\r\n\t\t\tself.showAlertErrorMessage(message);\r\n\t};\r\n\r\n\tself.showErrorMessageFromReturnCode = function (returnCode) {\r\n\t\tif (returnCode.length === 0)\r\n\t\t\treturn;\r\n\r\n\t\tvar unknownErrorCodes = [\r\n\t\t\t\"CartIsNull\", \"SetCustomerDataFailed\", \"SetCartValuesFailed\",\r\n\t\t\t\"SaveCartFailed\", \"CommitPhoneFailed\", \"BrokenCartReplaced\"\r\n\t\t];\r\n\r\n\t\tif (unknownErrorCodes.indexOf(returnCode) !== -1)\r\n\t\t\treturnCode = \"UnknownError\";\r\n\r\n\t\tself.langService.getValue(\"CheckoutReturnCodes\", returnCode).done(function (value) {\r\n if (value.length > 0) {\r\n var country = self.getParameterByName(\"country\");\r\n if (country) value = value.replace(/{COUNTRY}/gi, country);\r\n\r\n var email = self.getParameterByName(\"email\");\r\n if (email) value = value.replace(/{EMAIL}/gi, email);\r\n\r\n self.showAlertErrorMessage(value);\r\n }\r\n\t\t\telse {\r\n\t\t\t\tself.langService.getValue(\"CheckoutReturnCodes\", \"UnknownError\").done(function (value) {\r\n\t\t\t\t\tif (value.length > 0)\r\n\t\t\t\t\t\tself.showAlertErrorMessage(value);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tself.showAlertErrorMessage(\"\");\t//TODO: Hide progressdialog\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n self.showAlertErrorMessage = function(message, asHtml) {\r\n var msg = $(\"#error-message-label\");\r\n if (asHtml === true) {\r\n msg.append(message);\r\n } else {\r\n msg.html(message);\r\n }\r\n\r\n self.showTemplate($(\"#popup-error-message\").html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { show: true });\r\n };\r\n\r\n\tself.scrollToFirstInvalidElement = function (element) {\r\n\t\tvar animationTime = 750;\r\n\t\tvar topOffset = 120;\r\n\t\t$(\"html, body\").animate({\r\n\t\t\tscrollTop: $(element).offset().top - topOffset\r\n\t\t}, animationTime);\r\n\t\telement.focus();\r\n };\r\n\r\n\tself.getParameterByName = function (name) {\r\n\t\tname = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n\t\tvar regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\r\n\t\t\t\tresults = regex.exec(location.search);\r\n\t\treturn results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n\t}\r\n\r\n\tself.showWaitTemplate = function () {\r\n\r\n\t\tvar wait = $(\"#popup-wait\");\r\n\t\tif (wait.length < 1)\r\n\t\t\treturn;\r\n\r\n\t\tself.showTemplate(wait.html());\r\n\t};\r\n\r\n\tself.showTemplate = function (html) {\r\n\r\n\t\tvar template = $(\"#lightbox-placeholder\");\r\n\t\tif (template.length < 1) {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttemplate.html(html);\r\n\t};\r\n\r\n\tPubSub.subscribe(mcWeb.cart.events.cartGuid, function (message, data) {\r\n\t\tif (data !== null) {\r\n\t\t\tself.cartName = data.cartName;\r\n\t\t\tself.cartGuid = data.cartGuid;\r\n\t\t}\t\t\r\n });\r\n};\r\n","mcWeb.checkoutConfirmation = new function() {\r\n\r\n\t//Is used for all the new instances \r\n\tthis.instance = new function () { };\r\n\r\n\tthis.checkoutConfirmationObj = function (id, json, jsonSetting) {\r\n\t\tvar $ = jQuery;\r\n\r\n\t\tvar self = this;\r\n\t\tself.id = \"#\" + id;\r\n\t\tself.service = new WebApiService(\"Cart\");\r\n\r\n\t\t//View Model\r\n\t\tself.vm = new function () {\r\n\t\t\tvar view = this;\r\n\t\t\tview.referenceNo = ko.observable();\r\n\t\t}; /*END viewModel*/\r\n\r\n\t\tself.load = function (obj, setting) {\r\n\t\t\tif (obj == null)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tself.vm.referenceNo(obj.ReferenceNo);\r\n\t\t};\r\n\r\n\t\t//Bind viewModel\r\n\t\tko.applyBindings(self.vm, document.getElementById(id));\r\n\t\tself.load(json, jsonSetting);\r\n\t};\r\n};","mcWeb.checkoutFooterView = new function () {\r\n\r\n\tthis.events = {\r\n\t}\r\n\r\n\tthis.vm = function (id) {\r\n var self = this;\r\n\t\tthis.id = \"#\" + id;\r\n this.conditionsStatus = {\r\n isFunctionalConditionAccepted: ko.observable(false),\r\n acceptDocuments: ko.observableArray([]),\r\n usageArea: 3,\r\n refCondVm: null\r\n };\r\n\r\n this.isOrderRefRequired = false;\r\n \r\n this.load = function (data, settings) {\r\n PubSub.subscribe(mcWeb.conditions.events.onAcceptChange, function (evt, conditionStatus) {\r\n if (self.conditionsStatus.usageArea == conditionStatus.usageArea) {\r\n\r\n if (conditionStatus.functionalConditionIsAccepted === null) {\r\n self.conditionsStatus.isFunctionalConditionAccepted(true);\r\n }\r\n else {\r\n self.conditionsStatus.isFunctionalConditionAccepted(conditionStatus.functionalConditionIsAccepted);\r\n }\r\n self.conditionsStatus.acceptDocuments(conditionStatus.acceptDocuments);\r\n self.conditionsStatus.refCondVm = conditionStatus.vm;\r\n }\r\n });\r\n PubSub.subscribe(mcWeb.cart.events.onOrderRefReqChange, function (evt, isOrderRefRequired) {\r\n self.isOrderRefRequired = isOrderRefRequired;\r\n\r\n var el = jQuery('#McPaymentAddOrderbottom');\r\n\r\n if (self.isOrderRefRequired) {\r\n el.tooltip('enable');\r\n el.tooltip('show');\r\n el.blur();\r\n } else {\r\n el.tooltip('hide');\r\n el.tooltip('disable');\r\n } \r\n\r\n });\r\n };\r\n \r\n this.insertOrder = function (source) {\r\n if (self.isOrderRefRequired) {\r\n return;\r\n }\r\n\r\n var condsForProcessing = {\r\n isFunctionalConditionAccepted: self.conditionsStatus.isFunctionalConditionAccepted,\r\n acceptDocuments: self.conditionsStatus.acceptDocuments(),\r\n usageArea: self.conditionsStatus.usageArea\r\n };\r\n\r\n if (self.conditionsStatus == null || self.conditionsStatus.acceptDocuments == null || self.conditionsStatus.acceptDocuments().length <= 0) {\r\n condsForProcessing.isFunctionalConditionAccepted(true);\r\n if (source === 'vipps')\r\n return true;\r\n mcWeb.checkout.insertOrder(condsForProcessing);\r\n return;\r\n }\r\n\r\n if (self.conditionsStatus.isFunctionalConditionAccepted()) {\r\n if (source === 'vipps')\r\n return true;\r\n mcWeb.checkout.insertOrder(condsForProcessing);\r\n }\r\n else {\r\n if (self.conditionsStatus.refCondVm !== null) {\r\n if (self.conditionsStatus.refCondVm.highlightRequired(\"checkoutconditions\")) {\r\n mcWeb.validation.qTipActionShowClickHide(self.id + \" #McPaymentAddOrderbottom\",\r\n jQuery(\".langtext-conditions-required\").length > 0 ? jQuery(\".langtext-conditions-required\")[0].innerText : \"\");\r\n }\r\n } \r\n }\r\n };\r\n\t};\r\n};\r\n","mcWeb.payments = jQuery.extend(mcWeb.payments, new function () {\r\n\r\n this.vm = function (id) {\r\n \r\n // Se også LoginCheckoutView.js, subscribe(onShowHideLogin)\r\n var KLARNA_INVOICE = 96;\r\n var KLARNA_ACCOUNT = 97;\r\n var KCO_BETBETID = 167;\r\n var SVEA_PARTPAYMENT = 128;\r\n var ARVATO_PARTPAYMENT = 107;\r\n var ARVATO_BUSINESS = 95;\r\n var NETS_EASY_BETBETID = 183;\r\n var VIPPS_BETBETID = 186;\r\n var SCO_BETBETID = 187;\r\n\r\n this.netsEasyCheckout = null;\r\n this.netsEasyCheckoutHtml = null;\r\n this.betBetIdList = \"\";\r\n\r\n var $ = jQuery;\r\n var self = this;\r\n this.id = \"#\" + id;\r\n this.settings = null;\r\n self.isBound = false;\r\n self.isPublishMode = false;\r\n var publishModeBody = $(\"body.publish-mode\");\r\n if (publishModeBody !== undefined && publishModeBody !== null && publishModeBody.length > 0)\r\n self.isPublishMode = true;\r\n\r\n self.kcoValidateCountry = true;\r\n\r\n self.netsEasyCheckoutUrl = \"\";\r\n self.netsEasyProduction = false;\r\n self.netsEasyEnabled = false;\r\n self.cartName = null;\r\n self.cartGuid = null;\r\n self.service = new WebApiService(\"Payment\");\r\n self.waitCheckoutSnippet = false;\r\n self.langService = new LanguageService();\r\n self.conditionsVM = null;\r\n self.cancelEnter = function () {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n } else return true;\r\n };\r\n\r\n this.load = function (data, settings, isPaymentChange) {\r\n if (settings !== null && settings) {\r\n self.settings = settings;\r\n }\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n if (mcWeb.customerRegistration.instances === undefined || mcWeb.customerRegistration.instances[\"checkout-registration\"] === undefined) {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onCustomerRegLoaded, function () {\r\n self.registration = mcWeb.customerRegistration.instances['checkout-registration'];\r\n self.innerLoad(data, settings, isPaymentChange);\r\n \r\n });\r\n }\r\n else {\r\n self.registration = mcWeb.customerRegistration.instances['checkout-registration'];\r\n self.innerLoad(data, settings, isPaymentChange);\r\n \r\n }\r\n \r\n });\r\n }\r\n this.innerLoad = function (data, settings, isPaymentChange) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n\r\n \r\n\r\n if (data === null || !data) {\r\n self.service.GetAction(\"GetPaymentList\", null).done(function (result) {\r\n self.innerLoad(result, null, isPaymentChange);\r\n });\r\n\r\n return;\r\n }\r\n\r\n self.Porterbuddy = self.settings.Porterbuddy;\r\n self.CustomerCountryId = self.settings.CustomerCountryId;\r\n self.KlarnaLandId = self.settings.KlarnaLandId;\r\n self.KlarnaVersion = self.settings.KlarnaVersion;\r\n\r\n self.klarnaShowCustomerTypeSelection(false);\r\n self.klarnaShippingAssistantEnabled(false);\r\n self.klarnaShowChangedCustomerTypeMessage(false);\r\n\r\n if (self.settings.Klarna) {\r\n self.klarnaShowCustomerTypeSelection(self.settings.Klarna.ShowCustomerTypeSelection);\r\n self.klarnaShippingAssistantEnabled(self.settings.Klarna.ShippingAssistantEnabled);\r\n self.klarnaShowChangedCustomerTypeMessage(self.settings.Klarna.ShowChangedCustomerTypeMessage);\r\n }\r\n\r\n self.sveaCheckoutShowCustomerTypeSelection(false);\r\n\r\n if (self.settings.SveaCheckout) {\r\n self.sveaCheckoutShowCustomerTypeSelection(self.settings.SveaCheckout.ShowCustomerTypeSelection);\r\n }\r\n\r\n self.vippsExpressCheckoutInCart(false);\r\n self.vippsShowCustomerTypeSelection(false);\r\n self.vippsAllowBusinessCustomer(false);\r\n\r\n if (self.settings.Vipps) {\r\n if (!self.isLoggedIn() && !self.registration.registrationVM.readOnly())\r\n self.vippsExpressCheckoutInCart(self.settings.Vipps.ExpressCheckoutInCart);\r\n self.vippsShowCustomerTypeSelection(self.settings.Vipps.ShowCustomerTypeSelection);\r\n self.vippsAllowBusinessCustomer(self.settings.Vipps.AllowBusinessCustomer);\r\n }\r\n\r\n if (self.settings.NetsEasy) {\r\n self.netsEasyEnabled = self.settings.NetsEasy.Enabled;\r\n self.netsEasyProduction = self.settings.NetsEasy.Production;\r\n self.netsEasyShowCustomerTypeSelection(self.settings.NetsEasy.ShowCustomerTypeSelection);\r\n self.netsEasyCheckoutUrl = self.settings.NetsEasy.CheckoutUrl;\r\n }\r\n self.setNetsEasyCheckoutScriptSource();\r\n\r\n if (self.registration.registrationVM.readOnly() === true) {\r\n var experianRemoved = false;\r\n if (self.registration.registrationVM.hideExperianBetBet()) {\r\n\r\n var expIndex = -1;\r\n if (data.PaymentTypes !== null) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n if (data.PaymentTypes[i].PaymentId === self.registration.registrationVM.experianBetBetId())\r\n expIndex = i;\r\n }\r\n }\r\n\r\n if (expIndex !== -1) {\r\n data.PaymentTypes.splice(expIndex, 1);\r\n experianRemoved = true;\r\n }\r\n\r\n } else if (self.registration.registrationVM.hideOrgnrSsn()) {\r\n self.ShowOrgnrSsn(false);\r\n self.ShowOrgnrSsnField(0);\r\n }\r\n }\r\n\r\n // Vi sjekker om det er gjort endringer på betalingsmåter som skal vises \r\n // og setter kun PaymentTypes dersom det er en endring. Dette for å hindre \r\n // at hele paymentviewet unødvendig lastes på nytt. \r\n if (self.PaymentTypes() && data.PaymentTypes && self.PaymentTypes().length == data.PaymentTypes.length) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n if (self.PaymentTypes()[i].PaymentId !== data.PaymentTypes[i].PaymentId) {\r\n self.PaymentTypes(data.PaymentTypes);\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n self.PaymentTypes(data.PaymentTypes);\r\n }\r\n\r\n self.GetKlarnaJson(data.PaymentTypes);\r\n self.KlarnaCustomerType(data.CustomerType);\r\n self.CustomerType(data.CustomerType);\r\n\r\n self.addBindings();\r\n self.isLoggedIn(data.IsLoggedIn);\r\n self.BirthDate(data.BirthDate);\r\n\r\n var paymentMethodSelected = false;\r\n var hasKlarnaCheckout = false;\r\n let doLoadCustomerForm = false;\r\n if (data.PaymentTypes !== null) {\r\n for (var i = 0; i < data.PaymentTypes.length; i++) {\r\n\r\n if (data.PaymentTypes[i].PaymentId === KCO_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === NETS_EASY_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === SCO_BETBETID) {\r\n hasKlarnaCheckout = true;\r\n }\r\n\r\n if (experianRemoved === true) {\r\n self.selectPaymentType(data.PaymentTypes[i]);\r\n paymentMethodSelected = true;\r\n experianRemoved = false;\r\n }\r\n\r\n if (data.PaymentTypes[i].PaymentId === data.SelectedId) {\r\n self.selectPaymentType(data.PaymentTypes[i]);\r\n doLoadCustomerForm = true;\r\n //moved loadCustomerForm because we haven't applied the bindings yet\r\n paymentMethodSelected = true;\r\n }\r\n }\r\n }\r\n\r\n // Vi oppdaterer visningen av betalingsmåtene dersom listen over betalingsmåter er endret siden forrige visning\r\n if (data.PaymentList !== self.betBetIdList) {\r\n //console.log(\"Liste med BetBet er endret\");\r\n self.betBetIdList = data.PaymentList;\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, \"reloadPayments\");\r\n }\r\n\r\n if (paymentMethodSelected === false) {\r\n console.log('Advarsel: Ingen betalingsmåter er aktivert for denne kunden!');\r\n }\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n if (!self.isBound) {\r\n self.showCustomerRegButtonPrivate = ko.computed(function () {\r\n if (self.registration === undefined || self.registration.registrationVM === undefined)\r\n return false;\r\n\r\n return self.registration.registrationVM.customerType() === 'business' && !self.registration.registrationVM.readOnly() && !self.registration.registrationVM.isLoggedIn() && !self.registration.registrationVM.onlyBusiness();\r\n });\r\n\r\n self.showCustomerRegButtonBusiness = ko.computed(function () {\r\n if (self.registration === undefined || self.registration.registrationVM === undefined)\r\n return false;\r\n\r\n return self.registration.registrationVM.customerType() === 'private' && !self.registration.registrationVM.readOnly() && !self.registration.registrationVM.isLoggedIn() && !self.registration.registrationVM.onlyPrivate();\r\n });\r\n\r\n let vmNode = document.getElementById(self.settings.VMID);\r\n ko.applyBindings(self, vmNode);\r\n self.isBound = true;//prevent multiple bindings of this VM\r\n }\r\n\r\n \r\n if (doLoadCustomerForm) {\r\n self.loadCustomerForm(data.SelectedId, hasKlarnaCheckout, isPaymentChange);\r\n }\r\n };\r\n\r\n this.setNetsEasyCheckoutScriptSource = function () {\r\n if (!self.netsEasyEnabled) {\r\n $('#netseasy-checkout-script').hide();\r\n return;\r\n }\r\n\r\n $('#netseasy-checkout-script').show();\r\n $('#netseasy-checkout-script').attr(\"src\", self.netsEasyCheckoutUrl);\r\n };\r\n\r\n this.highlightRequiredConditions = function () {\r\n if (self.conditionsVM)\r\n self.conditionsVM.highlightRequired(\"checkoutconditions\");\r\n };\r\n\r\n this.getTemplateNameKonto = function () {\r\n if (self.selectedKlarnaKontoCampaign()) {\r\n if (self.selectedKlarnaKontoCampaign().name === \"Account\")\r\n if (self.KlarnaLandId === 2) return \"klarna-konto-account-details-se\";\r\n else return \"klarna-konto-account-details-no\";\r\n\r\n if (self.selectedKlarnaKontoCampaign().name === \"Part Payment\")\r\n if (self.KlarnaLandId === 2) return \"klarna-konto-partPayment-details-se\";\r\n else return \"klarna-konto-partPayment-details-no\";\r\n\r\n return \"\";\r\n }\r\n };\r\n\r\n \r\n\r\n this.getTemplateNameFaktura = function () {\r\n if (self.selectedKlarnaFakturaCampaign()) {\r\n if (self.selectedKlarnaFakturaCampaign().pclass_id !== -1) {\r\n if (self.KlarnaLandId === 1) {\r\n return \"klarna-faktura-campaign-details-no\";\r\n } else if (self.KlarnaLandId === 2) {\r\n return \"klarna-faktura-campaign-details-se\";\r\n }\r\n }\r\n }\r\n return \"klarna-faktura-details-no\";\r\n };\r\n\r\n this.addBindings = function () {\r\n $(document).on('shown.bs.tab', 'a[href=\"#97\"]', function (e) {\r\n });\r\n };\r\n\r\n this.hasCartItems = ko.observable(false);\r\n this.functionalConditionsAccepted = ko.observable(true); //backwards compatibility\r\n this.showPayments = ko.computed(function () {\r\n return self.hasCartItems();\r\n }, this);\r\n this.PaymentTypes = ko.observableArray();\r\n\r\n this.selectedPaymentOld = ko.observable();\r\n this.selectedPayment = ko.observable();\r\n\r\n this.selectedPayment.subscribe(function (newValue) {\r\n if (self.selectedPaymentOld() !== newValue) {\r\n self.selectedPaymentOld(newValue);\r\n self.selectedPayment(newValue);\r\n PubSub.publish(mcWeb.payments.events.onSelectedPayment, newValue);\r\n }\r\n });\r\n\r\n this.KlarnaCampaigns = ko.observableArray();\r\n this.Fodselsnummer = ko.observable();\r\n this.RegisteredZip = ko.observable();\r\n this.BirthDate = ko.observable();\r\n this.BirthDate.subscribe(function (newValue) {\r\n if (newValue !== null && newValue.length > 0) {\r\n newValue = newValue.replace(/[^\\d]/, '');\r\n self.BirthDate(newValue);\r\n\r\n //Test date: 011299 \r\n if (self.isValidDateddmmyy(newValue)) {\r\n self.service.GetAction(\"UpdateBirthDate\", { date: newValue }).done(function (result) {\r\n var input = $('.col-birthdate .genericBirthdate');\r\n var symbol = $('.col-birthdate i');\r\n\r\n if (result === true) {\r\n symbol.addClass('icon-check green');\r\n input.removeClass('validation_error');\r\n } else {\r\n symbol.removeClass('icon-check green');\r\n input.addClass('validation_error');\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.Orgnr = ko.observable();\r\n this.Orgnr.subscribe(function (data) {\r\n PubSub.publish(mcWeb.payments.events.updateOrgNr, data);\r\n });\r\n\r\n self.selectedSveaPaymentPlanOptionRadio = ko.observable();\r\n\r\n this.showSveaPaymentPlanOptionInfo = function (campaignCode) {\r\n if (self.selectedSveaPaymentPlanOptionRadio() == campaignCode)\r\n return true;\r\n return false;\r\n }\r\n\r\n this.formatMoney = function (money) {\r\n return money;\r\n };\r\n\r\n this.formatInterest = function (interest) {\r\n return interest + \" %\";\r\n };\r\n\r\n this.selectedKlarnaKontoCampaign = ko.observable();\r\n this.selectedKlarnaFakturaCampaign = ko.observable();\r\n this.CustomerCountryId = 1;\r\n this.KlarnaLandId = 1;\r\n this.GothiaTOS = ko.observable();\r\n this.GothiaRequireCustomerConfirmation = ko.observable();\r\n this.AcceptedTermsAndConditions = ko.observable();\r\n this.ShowOrgnrSsn = ko.observable();\r\n this.ShowOrgnrSsnField = ko.observable();\r\n this.KlarnaCustomerType = ko.observable();\r\n this.CustomerType = ko.observable();\r\n this.showRefreshSpin = ko.observable(false);\r\n this.showRefreshSpinMargin = ko.observable(0);\r\n this.isLoggedIn = ko.observable(false);\r\n this.SveaWebPayPaymentPlanOptions = ko.observableArray();\r\n this.GetSveaWebPayPaymentPlanOptions = ko.observable();\r\n this.KlarnaInvoiceFee = ko.observable();\r\n this.klarnaShowCustomerTypeSelection = ko.observable(false);\r\n this.klarnaShippingAssistantEnabled = ko.observable(false);\r\n this.klarnaShowChangedCustomerTypeMessage = ko.observable(false);\r\n this.vippsExpressCheckoutInCart = ko.observable(false);\r\n this.vippsShowCustomerTypeSelection = ko.observable(false);\r\n this.vippsAllowBusinessCustomer = ko.observable(false);\r\n this.sveaCheckoutShowCustomerTypeSelection = ko.observable(false);\r\n this.netsEasyShowCustomerTypeSelection = ko.observable(false);\r\n this.Porterbuddy = false;\r\n\r\n this.showCustomerSelection = function () {\r\n switch (self.selectedPayment()) {\r\n case 186: //Vipps\r\n return self.vippsExpressCheckoutInCart() && self.vippsShowCustomerTypeSelection();\r\n break;\r\n case 167: //KCO\r\n return self.klarnaShowCustomerTypeSelection();\r\n break;\r\n case 183: //Easy\r\n return self.netsEasyShowCustomerTypeSelection();\r\n break;\r\n }\r\n return true;\r\n };\r\n\r\n //Set the hight of \"update icon\"\r\n this.showRefreshSpin.subscribe(function () {\r\n var hight = parseFloat($(\"#payments.payments\").height());\r\n if (hight !== NaN && hight > 1) {\r\n hight = ((hight / 2) - 30);\r\n if (hight < 5)\r\n hight = 5;\r\n self.showRefreshSpinMargin(hight + 'px');\r\n }\r\n });\r\n\r\n this.selectedKlarnaPclass = ko.computed(function () {\r\n if (self.selectedPayment() === KLARNA_INVOICE && self.selectedKlarnaFakturaCampaign()) {\r\n return self.selectedKlarnaFakturaCampaign().pclass_id;\r\n } else {\r\n if (self.selectedKlarnaKontoCampaign() && self.selectedKlarnaKontoCampaign())\r\n return self.selectedKlarnaKontoCampaign().pclass_id;\r\n }\r\n });\r\n\r\n var hasCartItem = true;\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, data) {\r\n if (data === false) {\r\n self.hasCartItems(false);\r\n hasCartItem = false;\r\n } else {\r\n hasCartItem = true;\r\n }\r\n\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.isLoggedIn !== null) {\r\n self.isLoggedIn(data.isLoggedIn);\r\n }\r\n if (hasCartItem === false)\r\n self.hasCartItems(false);\r\n else\r\n self.hasCartItems(true);\r\n\r\n self.RegisterKlarnaListener();\r\n });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.conditions.events.onAcceptChange, function (evt, conditionStatus) {\r\n if (conditionStatus.usageArea === 3) {\r\n var previousFunctionalAcceptanceStatus = self.functionalConditionsAccepted();\r\n self.conditionsVM = conditionStatus.vm;\r\n if (conditionStatus.functionalConditionIsAccepted === null) {\r\n self.functionalConditionsAccepted(true);\r\n } else if (conditionStatus.acceptDocuments === null || conditionStatus.acceptDocuments.length <= 0) {\r\n self.functionalConditionsAccepted(true);\r\n }\r\n else {\r\n self.functionalConditionsAccepted(conditionStatus.functionalConditionIsAccepted);\r\n }\r\n if (self.functionalConditionsAccepted()) {\r\n if (self.selectedPayment() === KCO_BETBETID || self.selectedPayment() === NETS_EASY_BETBETID || self.selectedPayment() === SCO_BETBETID ||\r\n (self.selectedPayment() === VIPPS_BETBETID && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n if (previousFunctionalAcceptanceStatus !== self.functionalConditionsAccepted()) {\r\n if (!self.KCOisLoaded()) {\r\n self.KCOisLoaded(true);\r\n self.loadCustomerForm(self.selectedPayment(), true);\r\n } else {\r\n self.processPaymentMethods(self.selectedPayment());\r\n }\r\n self.UpdateCheckoutCartItems();\r\n }\r\n\r\n if (self.selectedPayment() === VIPPS_BETBETID)\r\n $('.payment-title').show();\r\n\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n }\r\n } else {\r\n if (self.selectedPayment() === KCO_BETBETID || self.selectedPayment() === NETS_EASY_BETBETID || self.selectedPayment() === SCO_BETBETID ||\r\n (self.selectedPayment() === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n //if (previousFunctionalAcceptanceStatus != self.functionalConditionsAccepted())\r\n self.highlightRequiredConditions();\r\n\r\n if (self.selectedPayment() === VIPPS_BETBETID)\r\n $('.payment-title').hide();\r\n }\r\n self.KCOisLoaded(false);\r\n }\r\n }\r\n });\r\n\r\n getLibrary(\"mcWeb.loginCheckout\").then(() => {\r\n PubSub.subscribe(mcWeb.loginCheckout.events.onShowLoginPassword, function (message, paymentId) {\r\n self.ShowOrgnrSsn(false);\r\n });\r\n });\r\n\r\n this.loadCustomerForm = function (paymentId, hasKlarnaCheckout, isPaymentChange) {\r\n\r\n var el = $(\"#mcweb-customerregistration-checkout-registration\");\r\n\r\n var tabContent = $(\".tab-content\");\r\n var tabHeight = tabContent.height();\r\n tabContent.css('min-height', tabHeight + 'px');\r\n var form = null;\r\n\r\n if (!self.isPublishMode) {//gaia windows fail when we attach/detach the \r\n form = el.detach();\r\n }\r\n\r\n $('#payments-tab-nav a[href=\"#' + paymentId + '\"]').tab('show');\r\n self.selectedPayment(paymentId);\r\n if (!self.isPublishMode) {\r\n form.appendTo(\"#\" + paymentId);\r\n }\r\n\r\n $(\"#mcweb-customerregistration-checkout-registration\").show();\r\n\r\n tabContent.animate({ \"min-height\": \"250px\" }, { queue: false, duration: 800 });\r\n\r\n var checkout = $('.checkout');\r\n var nav = $('#payments-tab-nav');\r\n\r\n if (hasKlarnaCheckout) {\r\n nav.show();\r\n checkout.removeClass('l-out').addClass('l-in');\r\n }\r\n\r\n if (self.isLoggedIn() || paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID ||\r\n (paymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n\r\n if (paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID ||\r\n (paymentId === VIPPS_BETBETID && !self.isLoggedIn())) {\r\n checkout.removeClass('l-in').addClass('l-out');\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: false, disabledBtn: false, showPrice: false, showSalesConditions: false });\r\n } else {\r\n checkout.removeClass('l-out').addClass('l-in');\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: false, showPrice: true, showSalesConditions: true });\r\n }\r\n\r\n nav.show();\r\n\r\n if (!self.functionalConditionsAccepted() && paymentId === VIPPS_BETBETID) {\r\n $('.payment-title').hide();\r\n } else {\r\n $('.payment-title').show();\r\n }\r\n\r\n $('.klarna-konto-content').show();\r\n $('.tab-content').removeClass('tab-radius');\r\n\r\n //if (paymentId === NETS_EASY_BETBETID && self.netsEasyCheckout !== undefined && self.netsEasyCheckout === null)\r\n self.processPaymentMethods(paymentId, isPaymentChange);\r\n\r\n } else {\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder, { showBtn: true, disabledBtn: true, showPrice: true, showSalesConditions: true });\r\n\r\n checkout.removeClass('l-out').addClass('l-in');\r\n PubSub.publish(mcWeb.loginCheckout.events.onShowHideLogin, paymentId);\r\n }\r\n\r\n if (paymentId === KLARNA_INVOICE) {\r\n self.getFakturaGebyr().done(function (result) {\r\n self.KlarnaInvoiceFee(result);\r\n });\r\n }\r\n\r\n self.getGothiaAccountTos(paymentId);\r\n self.getSveaWebPayPaymentPlanOptions(paymentId);\r\n\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n\r\n if (!!mcWeb.inlineEditor)\r\n mcWeb.inlineEditor.init(true);\r\n\r\n //}); //el.slideUp\r\n };\r\n\r\n this.KCOisLoaded = ko.observable(false);\r\n\r\n this.selectPaymentType = function (paymentType) {\r\n var data = { paymentId: paymentType.PaymentId, paymentText: paymentType.PaymentText };\r\n self.service.GetAction(\"SelectPayment\", data).done(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n });\r\n };\r\n\r\n this.handlePaymentChange = function (paymentType) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n $('.qtip').qtip('destroy', true);\r\n\r\n // Vipps er ikke tilgjengelig for bedriftskunder\r\n if (paymentType.PaymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))\r\n self.clickPrivate();\r\n\r\n self.selectedPayment(paymentType.PaymentId);\r\n self.selectPaymentType(paymentType);\r\n self.loadCustomerForm(paymentType.PaymentId, null, true);\r\n\r\n if (typeof porterbuddy !== 'undefined') {\r\n if (paymentType.PaymentId === SCO_BETBETID)\r\n porterbuddy.setRecipientInfoLocked(true);\r\n else if (paymentType.PaymentId === KCO_BETBETID || paymentType.PaymentId === NETS_EASY_BETBETID)\r\n porterbuddy.setRecipientInfoLocked(false);\r\n else\r\n porterbuddy.setRecipientInfoLocked(false);\r\n }\r\n\r\n if (paymentType.PaymentId === KCO_BETBETID || paymentType.PaymentId === NETS_EASY_BETBETID || paymentType.PaymentId === SCO_BETBETID ||\r\n (paymentType.PaymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))) {\r\n self.KCOisLoaded(true);\r\n if (!self.functionalConditionsAccepted())\r\n self.highlightRequiredConditions();\r\n }\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n };\r\n\r\n this.getJsonData = function () {\r\n var campaignCode = self.selectedKlarnaPclass();\r\n if (self.selectedPayment() === SVEA_PARTPAYMENT) campaignCode = self.selectedSveaPaymentPlanOptionRadio();\r\n\r\n var orgnrTemp = self.Orgnr();\r\n if (self.selectedPayment() === ARVATO_BUSINESS) {\r\n orgnrTemp = self.Fodselsnummer();\r\n }\r\n var birthdate = 'undefined';\r\n if (self.ShowOrgnrSsn()) {\r\n birthdate = self.BirthDate();\r\n }\r\n var paymentDetails = {\r\n SocialSecurityNumber: self.Fodselsnummer(),\r\n CampaignCode: campaignCode,\r\n AcceptCreditCheck: self.AcceptedTermsAndConditions(),\r\n OrgNumber: orgnrTemp,\r\n Birthdate: birthdate,\r\n RegisteredPostCode: self.RegisteredZip()\r\n };\r\n\r\n return {\r\n selectedPayment: self.selectedPayment(),\r\n paymentDetails: paymentDetails\r\n };\r\n };\r\n\r\n this.indexOfKlarnaFaktura = function () {\r\n if (self.KlarnaCampaigns() !== null && typeof (self.KlarnaCampaigns()) !== \"undefined\") {\r\n for (var i = 0; i < self.KlarnaCampaigns().length; i++) {\r\n if (self.KlarnaCampaigns()[i].group.code === 'invoice')\r\n return i;\r\n }\r\n }\r\n return 0;\r\n };\r\n\r\n this.indexOfFirstKlarnaKonto = function () {\r\n if (self.KlarnaCampaigns() !== null && typeof (self.KlarnaCampaigns()) !== \"undefined\") {\r\n for (var i = 0; i < self.KlarnaCampaigns().length; i++) {\r\n if (self.KlarnaCampaigns()[i].group.code === 'part_payment')\r\n return i;\r\n }\r\n }\r\n return 0;\r\n };\r\n\r\n this.GetKlarnaJson = function (paymentTypes) {\r\n var getKlarnaJson = false;\r\n\r\n if (paymentTypes === null)\r\n return;\r\n\r\n for (var i = 0; i < paymentTypes.length; i++) {\r\n if (paymentTypes[i].PaymentId === KLARNA_INVOICE || paymentTypes[i].PaymentId === KLARNA_ACCOUNT) {\r\n getKlarnaJson = true;\r\n }\r\n }\r\n if (getKlarnaJson) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n self.service.GetAction(\"GetKlarnaCampaigns\", null).done(function (result) {\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n if (result === null || result.length < 1)\r\n return;\r\n\r\n var json = JSON.parse(result);\r\n self.KlarnaCampaigns(json.payment_methods);\r\n var indexOfKlarnaFaktura = (self.KlarnaCampaigns()) === null || typeof (self.KlarnaCampaigns()) === \"undefined\" ? 0 : self.KlarnaCampaigns()[self.indexOfKlarnaFaktura()];\r\n self.selectedKlarnaFakturaCampaign(indexOfKlarnaFaktura);\r\n\r\n var indexOfFirstKlarnaKonto = (self.KlarnaCampaigns() === null) || typeof (self.KlarnaCampaigns()) === \"undefined\" ? 0 : self.KlarnaCampaigns()[self.indexOfFirstKlarnaKonto()];\r\n self.selectedKlarnaKontoCampaign(indexOfFirstKlarnaKonto);\r\n });\r\n }\r\n };\r\n\r\n this.updatePaymentWithPBAddress = function (recipientInfo) {\r\n var paymentType = self.selectedPayment();\r\n\r\n if (!paymentType)\r\n return;\r\n\r\n var provider = \"\";\r\n switch (paymentType) {\r\n case KCO_BETBETID:\r\n provider = \"KlarnaCheckout\";\r\n break;\r\n case NETS_EASY_BETBETID:\r\n provider = \"NetsEasy\";\r\n break;\r\n case VIPPS_BETBETID:\r\n provider = \"Vipps\";\r\n break;\r\n case SCO_BETBETID:\r\n provider = \"Svea\";\r\n break;\r\n }\r\n\r\n var addressLine = recipientInfo.streetAddress;\r\n var zipCode = recipientInfo.postCode;\r\n var email = recipientInfo.email;\r\n var req = { Provider: provider, AddressLine: addressLine, ZipCode: zipCode, Email: email };\r\n\r\n self.service.PostAction(\"UpdatePorterbuddyDeliveryAddress\", req).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Oppdatering av adresse feilet\");\r\n }\r\n });\r\n }\r\n\r\n this.validateSveaWebPay = function (payment) {\r\n var paymentId = payment.selectedPayment();\r\n var resName = \"\";\r\n var element;\r\n\r\n if (self.CustomerType() === 'bedriftskunde') {\r\n element = self.findClass(paymentId, \"SveaWebPay_OrgNo\", \"input\");\r\n if (!payment.isOrgnrValid($(\".SveaWebPay_OrgNo\"), false)) return { IsValid: false, ResName: \"OrgnummerError\", Element: element }\r\n else mcWeb.validation.setValidCss(element);\r\n } else {\r\n element = self.findClass(paymentId, \"SveaWebPay_PersonalId\", \"input\");\r\n if (!payment.isFodselsnummerValid($(\".SveaWebPay_PersonalId\"), false)) return { IsValid: false, ResName: \"FodselsnummerError\", Element: element }\r\n else mcWeb.validation.setValidCss(element);\r\n }\r\n\r\n if (paymentId === 128) {\r\n var radioButtonListArray = $(\"input[name='sveaPaymentPlanOptionRadio']\");\r\n var checked = false;\r\n\r\n for (var i = 0; i < radioButtonListArray.length; i++) {\r\n if (radioButtonListArray[i].checked)\r\n checked = true;\r\n }\r\n\r\n if (!checked)\r\n return { IsValid: false, ResName: \"SveaPaymentPlanOptionNotSet\", Element: radioButtonListArray[0] };\r\n }\r\n\r\n return { IsValid: true, ResName: resName, Element: element };\r\n };\r\n\r\n this.findClass = function (paymentId, cssClass, type) {\r\n try {\r\n var paymentDiv = $(\"div[id=\" + paymentId + \"]\");\r\n var toFind = type + \"[class*='\" + cssClass + \"']\";\r\n var found = paymentDiv.find(toFind);\r\n return found;\r\n } catch (e) {\r\n return null;\r\n }\r\n };\r\n\r\n\r\n this.getSveaWebPayPaymentPlanOptions = function (paymentId) {\r\n if (paymentId === SVEA_PARTPAYMENT) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n self.service.GetAction(\"GetSveaWebPayPaymentPlanOptions\", null).done(function (result) {\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n self.SveaWebPayPaymentPlanOptions(JSON.parse(result));\r\n });\r\n }\r\n };\r\n\r\n this.getGothiaAccountTos = function (paymentId) {\r\n if (paymentId === ARVATO_PARTPAYMENT) {\r\n PubSub.publish(mcWeb.payments.events.onShowUpdateIcon, null);\r\n self.service.GetAction(\"GetAccountTermsAndConditions\", null).done(function (result) {\r\n PubSub.publish(mcWeb.payments.events.onHideUpdateIcon, null);\r\n self.GothiaTOS(result.TermsAndConditions);\r\n self.GothiaRequireCustomerConfirmation(result.RequireCustomerConfirmation);\r\n });\r\n }\r\n };\r\n\r\n this.gothiaShowTermsAndConditions = function () {\r\n var generator = window.open('', 'gothiaTos', 'height=600,width=730,location=0,menubar=0');\r\n generator.document.write(self.GothiaTOS());\r\n generator.document.close();\r\n };\r\n\r\n this.getFakturaGebyr = function () {\r\n return self.service.GetAction(\"GetFakturaGebyr\", null);\r\n };\r\n\r\n this.isFodselsnummerValid = function (element, klarna) {\r\n var regEx = null;\r\n\r\n if (klarna) {\r\n if (self.KlarnaLandId === 1)//Norge\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[ ]?[0-9]{5}$/;\r\n else if (self.KlarnaLandId === 2)//Sverige\r\n regEx = /^([0-9]{2})?[0-9]{2}[0-1][0-9][0-9]{2}[-+]?[0-9]{4}$/;\r\n else if (self.KlarnaLandId === 3)//Danmark\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$/;\r\n } else {\r\n if (self.CustomerCountryId === 1) //Norge\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[ ]?[0-9]{5}$/;\r\n else if (self.CustomerCountryId === 2) //Sverige\r\n regEx = /^([0-9]{2})?[0-9]{2}[0-1][0-9][0-9]{2}[-+]?[0-9]{4}$/;\r\n else if (self.CustomerCountryId === 3) //Danmark\r\n regEx = /^[0-9]{2}[0,1][0-9][0-9]{2}[0-9]{4}$/;\r\n else if (self.CustomerCountryId === 4) //Finland\r\n regEx = /^[0-9]{2}\\.?[0,1][0-9]\\.?[0-9]{2}[-+A][0-9]{3}[0-9A-Z]{1}$/;\r\n }\r\n\r\n if (regEx === null) return true;\r\n return regEx.test(element.val());\r\n };\r\n\r\n this.isZipCodeValid = function (element) {\r\n if (element.val().length <= 0) return false;\r\n return true;\r\n };\r\n\r\n this.isZipCodeValidFormat = function (element, landId) {\r\n var zipCode = element.val();\r\n var regEx = /^\\d{4}$/;\r\n if (zipCode.match(regEx) !== null)\r\n return true;\r\n return false;\r\n };\r\n\r\n this.isPhoneValidFormat = function (element, landId) {\r\n var phone = element.val();\r\n var regEx = /^\\d{8}$/;\r\n if (phone.match(regEx) !== null)\r\n return true;\r\n return false;\r\n };\r\n\r\n this.isValidDateddmmyy = function (dateString) {\r\n var regEx = /\\d{2}\\d{2}\\d{2}/;\r\n if (dateString.match(regEx) !== null) {\r\n return true; //var format = self.ddmmyy_to_utcdate(dateString);\r\n //return self.isValidYear(format);\r\n }\r\n return false;\r\n };\r\n\r\n this.isOrgnrValid = function (element, klarna) {\r\n var regEx = null;\r\n\r\n if (klarna) {\r\n if (self.KlarnaLandId === 1)//Norge\r\n regEx = /^(\\d{9})$|((\\d{3})\\s(\\d{3})\\s(\\d{3}))$/;\r\n else if (self.KlarnaLandId === 2)//Sverige\r\n regEx = /^(\\d{10})$|(\\d{6}[-]\\d{4})$/;\r\n } else {\r\n if (self.CustomerCountryId === 1) //Norge\r\n regEx = /^(\\d{9})$|((\\d{3})\\s(\\d{3})\\s(\\d{3}))$/;\r\n else if (self.CustomerCountryId === 2) //Sverige\r\n regEx = /^(\\d{10})$|(\\d{6}[-]\\d{4})$/;\r\n }\r\n\r\n if (regEx === null) return true;\r\n return regEx.test(element.val());\r\n };\r\n\r\n this.isBirthdateValid = function (element) {\r\n var isValid = false;\r\n var value = element.val();\r\n if (value.length > 0) {\r\n if (self.isValidDateddmmyy(value)) { //011299) \r\n isValid = true;\r\n }\r\n }\r\n\r\n return isValid;\r\n };\r\n\r\n this.showKlarnaTerms = function () {\r\n var href = \"\";\r\n if (self.selectedPayment() === KLARNA_INVOICE && self.selectedKlarnaFakturaCampaign().group.code === 'invoice')\r\n href += self.selectedKlarnaFakturaCampaign().terms.uri + self.KlarnaInvoiceFee();\r\n else\r\n href += self.selectedKlarnaKontoCampaign().terms.uri;\r\n window.open(href, 'Klarna terms', 'width=500,height=500,location=0,toolbar=0,titlebar=0,status=0,menubar=0');\r\n };\r\n\r\n this.selectFirstInList = function () {\r\n $(\"input:radio\").filter(':visible:first').attr(\"checked\", true);\r\n };\r\n\r\n this.GetCheckoutSnippet = function (paymentId, isPaymentChange) {\r\n if (paymentId === KCO_BETBETID || paymentId === NETS_EASY_BETBETID || paymentId === SCO_BETBETID) {\r\n self.GetCheckout(paymentId, isPaymentChange);\r\n } else if (paymentId === VIPPS_BETBETID && !self.isLoggedIn() && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde')) {\r\n $(\"#customer-registration\").hide();\r\n } else {\r\n $(\"#customer-registration\").show();\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder,\r\n { showBtn: true, disabledBtn: false, showPrice: false });\r\n }\r\n };\r\n\r\n this.GetCheckout = function (paymentId, isPaymentChange) {\r\n $(\"#customer-registration\").hide();\r\n $(\"#nets-easy-checkout-error\").hide();\r\n $(\"#svea-checkout-error\").hide();\r\n\r\n if (paymentId === SCO_BETBETID)\r\n self.disableSveaCheckout();\r\n\r\n if (paymentId === KCO_BETBETID)\r\n console.log(\"GetCheckout Klarna v\" + self.KlarnaVersion);\r\n\r\n if (self.cartGuid === null || self.cartName === null) {\r\n self.waitCheckoutSnippet = true;\r\n return;\r\n }\r\n self.waitCheckoutSnippet = false;\r\n\r\n PubSub.publish(mcWeb.checkout.events.onShowSendOrder,\r\n { showBtn: false, disabledBtn: false, showPrice: false });\r\n\r\n var customerData = this.registration.getJsonData();\r\n if (typeof (customerData.epost) !== \"undefined\") {\r\n if (customerData.epost.length > 0) customerData.epost = customerData.epost.trim();\r\n }\r\n\r\n if (!isPaymentChange)\r\n isPaymentChange = false;\r\n\r\n var data = { Customer: customerData, CartGuid: self.cartGuid, CartName: self.cartName, IsPaymentChange: isPaymentChange };\r\n\r\n if (paymentId === KCO_BETBETID) {\r\n self.service.PostAction(\"GetKlarnaCheckoutSnippet\", data).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Kunne ikke laste Klarna Checkout\");\r\n return;\r\n }\r\n self.SetKlarnaCheckout(result);\r\n });\r\n }\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n self.service.PostAction(\"GetNetsEasyCheckoutSnippet\", data).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n $(\"#nets-easy-checkout-error\").show();\r\n console.log(\"Kunne ikke laste Nets Easy Checkout\");\r\n return;\r\n }\r\n if (result.RedirectUrl) window.location = result.RedirectUrl;\r\n self.SetNetsEasyCheckout(result.CheckoutOptions);\r\n });\r\n }\r\n\r\n if (paymentId === SCO_BETBETID) {\r\n self.service.PostAction(\"GetSveaCheckoutSnippet\", data).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n $(\"#svea-checkout-error\").show();\r\n console.log(\"Kunne ikke laste Svea Checkout\");\r\n self.enableSveaCheckout();\r\n return;\r\n }\r\n self.SetSveaCheckout(result);\r\n self.enableSveaCheckout();\r\n });\r\n }\r\n };\r\n\r\n this.disableSveaCheckout = function () {\r\n if (window.scoApi)\r\n window.scoApi.setCheckoutEnabled(false);\r\n }\r\n\r\n this.enableSveaCheckout = function () {\r\n if (window.scoApi)\r\n window.scoApi.setCheckoutEnabled(true);\r\n }\r\n\r\n this.SetSveaCheckout = function (snippet) {\r\n $(\"#svea-checkout-snippet\").html(snippet);\r\n self.RegisterSveaCheckoutListener();\r\n };\r\n\r\n this.netsEasyCheckoutHtml = ko.observable();\r\n this.netsEasyCheckoutPaymentId = ko.observable();\r\n\r\n this.SetNetsEasyCheckout = function (checkoutOptions) {\r\n try {\r\n var checkoutSnippetHtml = $(\"#nets-easy-checkout-snippet\").html();\r\n\r\n if (checkoutSnippetHtml !== undefined) {\r\n if (!checkoutSnippetHtml || checkoutSnippetHtml.length == 0 || self.netsEasyCheckoutPaymentId() != checkoutOptions.paymentId) {\r\n if (self.netsEasyCheckoutHtml() && self.netsEasyCheckoutHtml().length > 0 && self.netsEasyCheckoutPaymentId() == checkoutOptions.paymentId) {\r\n $(\"#nets-easy-checkout-snippet\").html(self.netsEasyCheckoutHtml());\r\n $(\"#nets-easy-checkout-snippet\").addClass(\"dibs-checkout-wrapper\");\r\n }\r\n else {\r\n console.log(\"Nets Easy, initializing!\");\r\n\r\n // Før vi kjører new og setter callbacks må vi rydde opp...\r\n if (self.netsEasyCheckout) {\r\n self.netsEasyCheckout.cleanup();\r\n $(\"#nets-easy-checkout-snippet\").html(\"\");\r\n }\r\n\r\n self.netsEasyCheckout = new Dibs.Checkout(checkoutOptions);\r\n self.RegisterNetsEasyCallback(self.netsEasyCheckout);\r\n self.netsEasyCheckoutHtml($(\"#nets-easy-checkout-snippet\").html());\r\n self.netsEasyCheckoutPaymentId(checkoutOptions.paymentId);\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:SetNetsEasyCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.RegisterNetsEasyCallback = function (checkout) {\r\n checkout.on('payment-completed', function (response) {\r\n var redirectMsg = $('#nets-easy-process-checkout').html();\r\n self.showTemplate(redirectMsg);\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n var data = { paymentId: response.paymentId };\r\n self.service.GetAction(\"NetsEasyCheckoutComplete\", data).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n console.log(\"Nets Easy, verifisering og opprettelse av ordre feilet eller ordre eksisterer\");\r\n PubSub.publish(mcWeb.lightbox.events.onHideLightbox);\r\n return;\r\n }\r\n window.location = result;\r\n });\r\n });\r\n\r\n // Ved endring av postnummer i Nets Easy snippet oppdateres kassen...\r\n checkout.on('address-changed', function (address) { // Subscribe to address-changed event\r\n console.log(\"Nets Easy, address-changed\");\r\n //console.log(address);\r\n\r\n if (address) {\r\n var zipCode = \"\";\r\n var countryCode = \"\";\r\n\r\n if (address.postalCode !== null && address.postalCode.length > 1)\r\n zipCode = address.postalCode;\r\n\r\n if (address.countryCode !== null && address.countryCode.length > 1)\r\n countryCode = address.countryCode;\r\n\r\n if (zipCode !== \"\" && countryCode !== \"\") {\r\n var data = { zipCode: zipCode, landKode3: countryCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n self.UpdateCheckoutZipCode(zipCode);\r\n }\r\n }\r\n\r\n var paymentAddress = { Provider: \"NetsEasy\", Name: \"\", Email: \"\", StreetAddress: \"\", StreetAddress2: \"\", PostalCode: address.postalCode, City: \"\", CountryCode: address.countryCode };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n\r\n self.service.GetAction(\"NetsEasyIsCustomerPerson\", null).done(function (result) {\r\n if (result === null || result.length < 1) {\r\n return;\r\n }\r\n\r\n var customerType = \"\";\r\n if (result === true)\r\n customerType = \"person\";\r\n else\r\n customerType = \"organization\";\r\n console.log(\"Nets Easy, customerType = \" + customerType);\r\n\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n if (customerType !== defaultCustomerType)\r\n self.showPaymentProviderCartReloadLightbox(customerType);\r\n });\r\n });\r\n\r\n // whenever the consumer clicks on the \"pay\" button\r\n checkout.on('pay-initialized', function (response) {\r\n var success = true;\r\n checkout.send('payment-order-finalized', success);\r\n });\r\n };\r\n\r\n this.SetKlarnaCheckout = function (snippet) {\r\n $(\"#klarna-checkout-snippet\").html(snippet);\r\n self.RegisterKlarnaListener();\r\n };\r\n\r\n this.SuspendKlarnaCheckout = function () {\r\n try {\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n api.suspend();\r\n });\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:SuspendKlarnaCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.ResumeKlarnaCheckout = function () {\r\n try {\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n api.resume();\r\n });\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:ResumeKlarnaCheckout. Exception: ' + e);\r\n }\r\n };\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onShowUpdateIcon, function (message, data) {\r\n self.showRefreshSpin(true);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onHideUpdateIcon, function (message, data) {\r\n self.showRefreshSpin(false);\r\n });\r\n\r\n this.IsKcoEnabled = function () {\r\n try {\r\n if (self.PaymentTypes() === null)\r\n return false;\r\n var kcoEnabled = false;\r\n\r\n for (var i = 0; i < self.PaymentTypes().length; i++) {\r\n if (self.PaymentTypes()[i].PaymentId === KCO_BETBETID) {\r\n kcoEnabled = true;\r\n }\r\n }\r\n\r\n return kcoEnabled;\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:kcoEnabled. Exception: ' + e);\r\n return false;\r\n }\r\n };\r\n\r\n // Oppdaterer KCO/EASY desom postnummer endres i kassen\r\n this.UpdateCheckoutZipCode = function (zipCode) {\r\n try {\r\n var paymentId = self.selectedPayment();\r\n if (paymentId === undefined) return;\r\n\r\n if (paymentId === KCO_BETBETID) {\r\n if (self.KlarnaVersion === 3 && !self.klarnaShippingAssistantEnabled()) return;\r\n if (self.KlarnaLandId === 1 && zipCode.length !== 4) return;\r\n var isKcoEnabled = self.IsKcoEnabled();\r\n if (!isKcoEnabled) return;\r\n self.SuspendKlarnaCheckout();\r\n }\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n if (self.netsEasyCheckout && !self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.freezeCheckout();\r\n self.netsEasyFrozen(true);\r\n }\r\n self.netsEasyFreezeStack.push(\"UpdateCheckoutZipCode\");\r\n }\r\n\r\n var data = { paymentId: paymentId, zipCode: zipCode };\r\n self.service.GetAction(\"UpdateCheckoutZipCode\", data).done(function (result) {\r\n if (paymentId === KCO_BETBETID)\r\n self.ResumeKlarnaCheckout();\r\n\r\n if (paymentId === NETS_EASY_BETBETID) {\r\n self.netsEasyFreezeStack.pop();\r\n\r\n if (self.netsEasyCheckout && self.netsEasyFreezeStack.length === 0 && self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.thawCheckout();\r\n self.netsEasyFrozen(false);\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:UpdateCheckoutZipCode. Exception: ' + e);\r\n }\r\n };\r\n\r\n this.netsEasyFreezeStack = [];\r\n this.netsEasyFrozen = ko.observable(false);\r\n\r\n this.UpdateCheckoutCartItems = function () {\r\n if (self.selectedPayment() !== KCO_BETBETID && self.selectedPayment() !== NETS_EASY_BETBETID && self.selectedPayment() !== SCO_BETBETID) {\r\n return;\r\n }\r\n\r\n if (self.selectedPayment() === KCO_BETBETID) {\r\n $(\"#klarna-checkout-snippet-error\").hide();\r\n self.SuspendKlarnaCheckout(); // Vi trenger denne for at KCO-snippet skal oppdateres med korrekte priser (BUG: Mobil scroll to buttom)\r\n\r\n self.service.GetAction(\"UpdateKlarnaCheckoutCartItems\", null).done(function (result) {\r\n self.ResumeKlarnaCheckout(); // Vi trenger denne for at KCO-snippet skal oppdateres med korrekte priser (BUG: Mobil scroll to buttom)\r\n\r\n if (result === null || result.length < 1) {\r\n console.log(\"UpdateKlarnaCheckoutCartItems failed...\");\r\n return;\r\n }\r\n\r\n if (!result.Success) {\r\n $(\"#klarna-checkout-snippet\").hide();\r\n $(\"#klarna-checkout-snippet-error\").show();\r\n }\r\n\r\n $(\"#klarna-checkout-snippet\").show();\r\n $(\"#klarna-checkout-snippet-error\").hide();\r\n });\r\n }\r\n\r\n if (self.selectedPayment() === NETS_EASY_BETBETID) {\r\n if (self.netsEasyCheckout && !self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.freezeCheckout();\r\n self.netsEasyFrozen(true);\r\n }\r\n self.netsEasyFreezeStack.push(\"UpdateNetsEasyCheckoutCartItems\");\r\n\r\n self.service.GetAction(\"UpdateNetsEasyCheckoutCartItems\", null).done(function (result) {\r\n self.netsEasyFreezeStack.pop();\r\n\r\n if (self.netsEasyCheckout && self.netsEasyFreezeStack.length === 0 && self.netsEasyFrozen()) {\r\n self.netsEasyCheckout.thawCheckout();\r\n self.netsEasyFrozen(false);\r\n }\r\n\r\n if (result === null || result.length < 1) {\r\n console.log(\"UpdateNetsEasyCheckoutCartItems failed...\");\r\n return;\r\n }\r\n });\r\n }\r\n\r\n if (self.selectedPayment() === SCO_BETBETID) {\r\n self.disableSveaCheckout();\r\n\r\n self.service.GetAction(\"UpdateSveaCheckoutCartItems\", null).done(function (result) {\r\n if (result === null || result.length < 1)\r\n console.log(\"UpdateSveaCheckoutCartItems failed\");\r\n else if (result == 'true')\r\n console.log(\"Update OK\");\r\n else if (result == 'false')\r\n console.log(\"Empty snippet\");\r\n else\r\n console.log(result);\r\n\r\n self.enableSveaCheckout();\r\n });\r\n return;\r\n }\r\n };\r\n\r\n this.showKcoCartReloadLightbox = function (customerType) {\r\n if (self.klarnaShowChangedCustomerTypeMessage()) {\r\n // Ved endring av kundetype i KCO-snippet må vi laste kassen på nytt.\r\n self.showTemplate($('#kco-reload-cart').html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n document.getElementById(\"kco-reload-cart-btn\").addEventListener(\"click\", function () {\r\n self.changeCustomerType(customerType);\r\n });\r\n } else {\r\n self.changeCustomerType(customerType);\r\n }\r\n };\r\n\r\n this.changeCustomerType = function (customerType) {\r\n if (customerType === 'organization') {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1);\r\n } else {\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0);\r\n }\r\n }\r\n\r\n this.showPaymentProviderCartReloadLightbox = function (customerType) {\r\n // Ved endring av kundetype må vi laste kassen på nytt.\r\n\r\n self.showTemplate($('#payment-provider-reload-cart').html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { backdrop: 'static', keyboard: false, show: true });\r\n\r\n document.getElementById(\"payment-provider-reload-cart-btn\").addEventListener(\"click\", function () {\r\n if (customerType === 'organization')\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1);\r\n else\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0);\r\n });\r\n };\r\n\r\n this.clickBusiness = function () {\r\n self.registration.registrationVM.showCustomerType(false);\r\n self.registration.registrationVM.showRegButtons(true);\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 1)\r\n }\r\n\r\n this.clickPrivate = function () {\r\n self.registration.registrationVM.showCustomerType(false);\r\n self.registration.registrationVM.showRegButtons(true);\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerType, 0)\r\n }\r\n\r\n this.VippsExpressCheckout = function () {\r\n var checkoutFooter = mcWeb.checkoutFooterView.instances['footer'];\r\n var okToContinue = checkoutFooter.insertOrder('vipps');\r\n\r\n if (okToContinue) {\r\n var url = \"/api/vipps/express-checkout?checkout=true\";\r\n\r\n //var useExpressCheckout = true;\r\n //if (useExpressCheckout) {\r\n // url = \"/api/vipps/express-checkout?checkout=true\";\r\n //} else {\r\n // url = \"/api/vipps/register\";\r\n //}\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n url: url,\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (data) {\r\n if (data) {\r\n console.log(\"Vipps Success: \" + data);\r\n window.location.replace(data);\r\n }\r\n else {\r\n console.log(\"Vipps: Blank URL\");\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"VippsInitFailed\").done(function (value) {\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n },\r\n error: function () {\r\n console.log(\"Vipps Error\");\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"VippsInitFailed\").done(function (value) {\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n });\r\n }\r\n\r\n return;\r\n };\r\n\r\n this.RegisterSveaCheckoutListener = function () {\r\n try {\r\n logPb(\"RegisterSveaCheckoutListener()\");\r\n\r\n document.addEventListener(\"checkoutReady\", function () {\r\n logPb(\"document.addEventListener(\\\"checkoutReady\\\")\");\r\n\r\n if (!window.scoApi.customEventHandlers[\"identity.phoneNumber\"] || window.scoApi.customEventHandlers[\"identity.phoneNumber\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.phoneNumber\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.phoneNumber\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.phoneNumber\\\")\", data);\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.firstName\"] || window.scoApi.customEventHandlers[\"identity.firstName\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.firstName\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.firstName\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.firstName\\\")\", data);\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.lastName\"] || window.scoApi.customEventHandlers[\"identity.lastName\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.lastName\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.lastName\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.lastName\\\")\", data);\r\n });\r\n }\r\n\r\n if (!window.scoApi.customEventHandlers[\"identity.postalCode\"] || window.scoApi.customEventHandlers[\"identity.postalCode\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.postalCode\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.postalCode\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.postalCode\\\")\", data);\r\n\r\n var postalCode = data.value;\r\n if (!postalCode)\r\n postalCode = \"\";\r\n\r\n if (postalCode.length > 1) {\r\n var data = { zipCode: postalCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n }\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: \"\", StreetAddress: \"\", StreetAddress2: \"\", PostalCode: postalCode, City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n logPb(\"GetPaymentAddress [identity.postalCode]\", result);\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.streetAddress\"] || window.scoApi.customEventHandlers[\"identity.streetAddress\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.streetAddress\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.streetAddress\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.streetAddress\\\")\", data);\r\n\r\n var streetAddress = data.value;\r\n if (!streetAddress)\r\n streetAddress = \"\";\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: \"\", StreetAddress: streetAddress, StreetAddress2: \"\", PostalCode: \"\", City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n logPb(\"GetPaymentAddress [identity.streetAddress]\", result);\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n if (!window.scoApi.customEventHandlers[\"identity.email\"] || window.scoApi.customEventHandlers[\"identity.email\"].length === 0) {\r\n logPb(\"Register window.scoApi.observeEvent(\\\"identity.email\\\")\");\r\n\r\n window.scoApi.observeEvent(\"identity.email\", function (data) {\r\n logPb(\"window.scoApi.observeEvent(\\\"identity.email\\\")\", data);\r\n\r\n var email = data.value;\r\n if (!email)\r\n email = \"\";\r\n\r\n var paymentAddress = { Provider: \"Svea\", Name: \"\", Email: email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: \"\", City: \"\", CountryCode: \"\" };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n logPb(\"GetPaymentAddress [identity.email]\", result);\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n });\r\n }\r\n });\r\n } catch (e) {\r\n logPb(\"Warning - PaymentView.js:RegisterSveaCheckoutListener. Exception\", e.toString());\r\n console.log('Warning - PaymentView.js:RegisterSveaCheckoutListener. Exception: ' + e);\r\n }\r\n };\r\n\r\n self.previousPbEmail = \"\";\r\n self.previousPbPostCode = \"\";\r\n self.previousPbStreetAddress = \"\";\r\n\r\n function shippingOptionsHandled(shippingOptions) {\r\n logPb(\"shippingOptionsHandled()\", { shippingOptions });\r\n\r\n porterbuddy.homeDeliveryOptions = shippingOptions.homeDeliveryOptions;\r\n porterbuddy.refreshShippingOptions();\r\n }\r\n\r\n this.SetPorterbuddyRecipientInfo = function (email, postCode, streetAddress) {\r\n if (!self.Porterbuddy)\r\n return;\r\n\r\n try {\r\n if (postCode.includes(\"•\"))\r\n postCode = \"\";\r\n\r\n if (typeof porterbuddy !== 'undefined' && porterbuddy.setRecipientInfo !== undefined &&\r\n ((email && email !== \"\" && postCode && postCode !== \"\" && streetAddress && streetAddress !== \"\") &&\r\n (email !== self.previousPbEmail || postCode !== self.previousPbPostCode || streetAddress !== self.previousPbStreetAddress))) {\r\n\r\n self.previousPbEmail = email;\r\n self.previousPbPostCode = postCode;\r\n self.previousPbStreetAddress = streetAddress;\r\n\r\n var recipientInfo = { email, postCode, streetAddress };\r\n\r\n logPb(\"SetPorterbuddyRecipientInfo(): porterbuddy.setRecipientInfo()\", { email, postCode, streetAddress });\r\n porterbuddy.setRecipientInfo(recipientInfo);\r\n\r\n savePbRecipientToLocalStorage(recipientInfo);\r\n\r\n var shippingOptions = getShippingOptions(recipientInfo);\r\n shippingOptions.then(shippingOptionsHandled);\r\n\r\n logPb(\"SetPorterbuddyRecipientInfo(): porterbuddy.refresh()\");\r\n porterbuddy.refresh();\r\n } else {\r\n var pb = typeof porterbuddy !== 'undefined';\r\n var sri = false;\r\n\r\n if (pb) {\r\n sri = porterbuddy.setRecipientInfo !== undefined;\r\n if (!sri) porterbuddy.refresh();\r\n }\r\n\r\n var data = { Porterbuddy: pb, SetRecipientInfo: sri, Email: email, PostCode: postCode, StreetAddress: streetAddress, PreviousEmail: self.previousPbEmail, PreviousPostCode: self.previousPbPostCode, PreviousStreetAddress: self.previousPbStreetAddress };\r\n logPb(\"SetPorterbuddyRecipientInfo(): Recipient already set or unavailable\", data);\r\n }\r\n } catch (e) {\r\n logPb(\"SetPorterbuddyRecipientInfo(): exception\", e.toString());\r\n console.log('Warning - PaymentView.js:SetPorterbuddyRecipientInfo. Exception: ' + e);\r\n }\r\n }\r\n\r\n function savePbRecipientToLocalStorage(recipient) {\r\n logPb(\"savePbRecipientToLocalStorage()\", recipient);\r\n\r\n localStorage.setItem(\"pb-recipient-email\", recipient.email);\r\n localStorage.setItem(\"postalCode\", recipient.postCode);\r\n localStorage.setItem(\"pb-recipient-street-address\", recipient.streetAddress);\r\n }\r\n\r\n function logPb(logTxt, logData) {\r\n try {\r\n var data = { Text: logTxt, Data: JSON.stringify(logData) };\r\n var cartService = new WebApiService(\"Cart\");\r\n cartService.PostAction(\"LogPb\", data);\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:logPb Exception: ' + e);\r\n }\r\n }\r\n\r\n this.RegisterKlarnaListener = function () {\r\n try {\r\n if (self.selectedPayment() !== KCO_BETBETID) return;\r\n\r\n if (typeof (window._klarnaCheckout) !== \"undefined\") {\r\n window._klarnaCheckout(function (api) {\r\n //console.log(\"RegisterKlarnaListener 'change'\");\r\n\r\n if (self.KlarnaVersion === 3) {\r\n api.on({\r\n 'load': function (data) {\r\n var customerType = data.customer.type;\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n\r\n if (customerType !== undefined) {\r\n if (customerType !== defaultCustomerType)\r\n self.showKcoCartReloadLightbox(customerType);\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (self.KlarnaVersion === 3) {\r\n api.on({\r\n 'customer': function (data) {\r\n var customerType = data.type;\r\n var defaultCustomerType = 'person';\r\n if (self.KlarnaCustomerType() === 'bedriftskunde')\r\n defaultCustomerType = 'organization';\r\n\r\n if (customerType !== undefined) {\r\n if (customerType !== defaultCustomerType)\r\n self.showKcoCartReloadLightbox(customerType);\r\n }\r\n }\r\n });\r\n }\r\n\r\n api.on({\r\n 'change': function (data) {\r\n var kcoData = data;\r\n\r\n if (data !== null && data.email !== null && typeof (data.email) !== \"undefined\" && data.email.length > 3) {\r\n PubSub.publish(mcWeb.loginCheckout.events.onChangedEmail, data.email);\r\n }\r\n\r\n if (data !== null && data.postal_code !== null && data.postal_code.length > 1) {\r\n if (data.postal_code.indexOf('*') === -1) {\r\n var zipCode = data.postal_code;\r\n var data = { zipCode: zipCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n } else {\r\n data.postal_code = \"\";\r\n }\r\n }\r\n\r\n var email = \"\";\r\n if (data.email)\r\n email = data.email;\r\n\r\n var name = undefined;\r\n if (kcoData.give_name)\r\n name = kcoData.give_name;\r\n if (kcoData.family_name) {\r\n if (name)\r\n name = \" \" + kcoData.family_name;\r\n else\r\n name = kcoData.family_name;\r\n }\r\n\r\n var paymentAddress = { Provider: \"KlarnaCheckout\", Name: name, Email: kcoData.email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: kcoData.postal_code, City: kcoData.city, CountryCode: kcoData.country };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n }\r\n });\r\n });\r\n\r\n if (self.klarnaShippingAssistantEnabled() && self.KlarnaVersion === 3) {\r\n window._klarnaCheckout(function (api) {\r\n api.on({\r\n 'shipping_option_change': function (data) {\r\n var jsonData = JSON.stringify(data)\r\n console.log(\"shipping_option_change: \" + jsonData);\r\n\r\n var data = {\r\n shippingId: data.id,\r\n name: data.name,\r\n price: data.price,\r\n taxRate: data.tax_rate,\r\n taxAmount: data.tax_amount\r\n };\r\n\r\n var shipmentService = new WebApiService(\"Shipment\");\r\n shipmentService.GetAction(\"SaveSelectedKlarnaCarrier\", data).done(function (result) {\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, \"\");\r\n //PubSub.publish(mcWeb.shipment.events.onSelectedShipment, carrier);\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (self.kcoValidateCountry && self.KlarnaVersion === 3) {\r\n window._klarnaCheckout(function (api) {\r\n //console.log(\"RegisterKlarnaListener 'billing_address_change'\");\r\n\r\n api.on({\r\n 'billing_address_change': function (data) {\r\n var selectedCountry = data.country;\r\n var email = data.email;\r\n if (!email) email = \"\";\r\n\r\n var name = undefined;\r\n if (data.give_name)\r\n name = data.give_name;\r\n if (data.family_name) {\r\n if (name)\r\n name = \" \" + data.family_name;\r\n else\r\n name = data.family_name;\r\n }\r\n\r\n var paymentAddress = { Provider: \"KlarnaCheckout\", Name: name, Email: data.email, StreetAddress: \"\", StreetAddress2: \"\", PostalCode: data.postal_code, City: data.city, CountryCode: data.country };\r\n self.service.PostAction(\"GetPaymentAddress\", paymentAddress).done(function (result) {\r\n self.SetPorterbuddyRecipientInfo(result.Email, result.PostalCode, result.StreetAddress);\r\n });\r\n\r\n if (!email) return;\r\n\r\n if (email) {\r\n self.service.GetAction(\"GetCustomerCountryCode3\", { email: email }).done(function (result) {\r\n if (result) {\r\n var countryCode = result.m_Item1;\r\n var countryText = result.m_Item2;\r\n\r\n if (countryCode && countryCode !== selectedCountry) {\r\n //console.log(\"Kunden har avvikende land: (\" + countryCode + \"/\" + countryText + \") -> \" + selectedCountry);\r\n\r\n self.langService.getValue(\"CheckoutReturnCodes\", \"CountryCodeMismatch\").done(function (value) {\r\n if (value.length <= 0)\r\n value =\r\n 'Det eksisterer allerede en kunde med denne epostadressen som er registrert i {COUNTRY}. For å fortsette med denne E-postadressen må land endres til {COUNTRY}. Alternativt kan en annen E-postadresse benyttes.';\r\n value = value.replace(/{COUNTRY}/gi, countryText);\r\n self.showErrorMessage(value);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n console.log('Warning - PaymentView.js:RegisterKlarnaListener. window._klarnaCheckout Exception: ' + e);\r\n }\r\n };\r\n\r\n self.showErrorMessage = function (message) {\r\n if (message.length > 0)\r\n self.showAlertErrorMessage(message);\r\n };\r\n\r\n self.showAlertErrorMessage = function (message, asHtml) {\r\n var msg = $(\"#error-message-label\");\r\n if (asHtml === true) {\r\n msg.append(message);\r\n } else {\r\n msg.html(message);\r\n }\r\n\r\n self.showTemplate($(\"#popup-error-message\").html());\r\n PubSub.publish(mcWeb.lightbox.events.onShowLightbox, { show: true });\r\n };\r\n\r\n self.showTemplate = function (html) {\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 this.zipCodePrev = ko.observable();\r\n this.zipCode = ko.observable();\r\n\r\n this.showOrgnrSsn = function (paymentId) {\r\n var data = { paymentId: paymentId };\r\n\r\n if (!(self.registration.registrationVM.readOnly() === true && self.registration.registrationVM.hideOrgnrSsn())) {\r\n self.service.GetAction(\"ShowOrgnrSsn\", data).done(function (result) {\r\n if (result.Show === true && result.FieldToShow !== 0) {\r\n self.ShowOrgnrSsn(result.Show);\r\n self.ShowOrgnrSsnField(result.FieldToShow);\r\n self.CustomerType(result.CustomerType);\r\n } else {\r\n self.ShowOrgnrSsn(false);\r\n }\r\n });\r\n } else {\r\n self.ShowOrgnrSsn(false);\r\n }\r\n };\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\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)\r\n return;\r\n\r\n if (self.zipCode() !== zipCode) {\r\n self.zipCodePrev(zipCode);\r\n self.zipCode(zipCode);\r\n self.UpdateCheckoutZipCode(zipCode);\r\n }\r\n });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.updateKco, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n getLibrary(\"mcWeb.campaignCode\").then(() => {\r\n PubSub.subscribe(mcWeb.campaignCode.onChangedCampaignCode, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n });\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedCart, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.onChangedQuantityCart, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onSelectedShipment, function (message, data) {\r\n PubSub.publish(mcWeb.payments.events.reloadPayments, null);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.onChangedShipment, function (message, data) {\r\n self.UpdateCheckoutCartItems();\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.reloadPayments, function (message, data) {\r\n if (data) return;\r\n\r\n mcWeb.loginCheckout.ResetLoginCheckoutPosision();\r\n if (!self.isPublishMode) {\r\n $(\"#mcweb-customerregistration-checkout-registration\").hide().detach().appendTo(\"body\");\r\n }\r\n self.load(null, null, true);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.focusFirstName, function (message, data) {\r\n\r\n if (mcWeb.responsive.getScreenSize() !== 'xs') {\r\n setTimeout(function () {\r\n\r\n if (self.ShowOrgnrSsn()) {\r\n switch (self.ShowOrgnrSsnField()) {\r\n case 1:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericOrgnr']\").focus();\r\n break;\r\n case 2:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericSsn']\").focus();\r\n break;\r\n case 3:\r\n $(\"div[id=\" + self.selectedPayment() + \"]\").find(\"input[class*='genericBirthdate']\").focus();\r\n break;\r\n }\r\n\r\n } else {\r\n $(\"#firstName\").focus();\r\n }\r\n\r\n }, 400);\r\n }\r\n\r\n });\r\n\r\n PubSub.subscribe(mcWeb.login.events.onIsloggedIn, function (message, isLoggedIn) {\r\n self.isLoggedIn(isLoggedIn);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.processPaymentMethods, function (message, paymentId) {\r\n self.processPaymentMethods(paymentId);\r\n });\r\n\r\n this.processPaymentMethods = function (paymentId, isPaymentChange) {\r\n if (paymentId === null) {\r\n paymentId = self.selectedPayment();\r\n return;\r\n }\r\n\r\n self.showOrgnrSsn(paymentId);\r\n self.GetCheckoutSnippet(paymentId, isPaymentChange);\r\n\r\n // Vipps er ikke tilgjengelig for bedriftskunder\r\n if (paymentId === VIPPS_BETBETID && self.vippsExpressCheckoutInCart() && (!self.vippsAllowBusinessCustomer() || self.CustomerType() !== 'bedriftskunde'))\r\n self.clickPrivate();\r\n };\r\n\r\n PubSub.subscribe(mcWeb.payments.events.updateOrgNr, function (message, data) {\r\n self.Orgnr(data);\r\n PubSub.publish(mcWeb.events.customerRegistration.updateOrgNr, data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.cart.events.cartGuid, function (message, data) {\r\n if (data !== null) {\r\n self.cartName = data.cartName;\r\n self.cartGuid = data.cartGuid;\r\n\r\n if (self.cartGuid !== null && self.cartName !== null) {\r\n if (self.waitCheckoutSnippet === true) {\r\n self.GetCheckoutSnippet(self.selectedPayment());\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.validate = function () {\r\n var promise = vm.validateModel().then(function (res) {\r\n var result = {\r\n success: false,\r\n message: '',\r\n invalidElements: []\r\n };\r\n\r\n vm.lastValidationResult = res;\r\n\r\n if (res.every(mcWeb.validation.elementIsValid)) {\r\n if (vm.settings.SoftAdressValidation && !vm.adress() && vm.addressWarningFlag === 0) {\r\n result.message = \"Adresse feltet er tomt.
Fortsett med registrering om du ikke har gateadresse!\";\r\n vm.addressWarningFlag = 1;\r\n //} else if (vm.settings.AllowNewPostNr && vm.cityDoesNotMatch && vm.zipcodeWarningFlag == 0) {\r\n //\tresult.message = \"Du har oppgitt et nytt postnr og poststed.
Fortsett med registrering om du mener dette er riktig!\";\r\n //\tvm.zipcodeWarningFlag = 1;\r\n } else {\r\n result.success = true;\r\n }\r\n } else {\r\n res.forEach(function (validationResult) {\r\n if (!validationResult.valid)\r\n result.invalidElements.push(validationResult);\r\n });\r\n\r\n result.message = $('#validation-error-text').html();\r\n }\r\n\r\n return result;\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n this.validateModel = function () {\r\n $('.qtip').remove();\r\n var index;\r\n var res = mcWeb.validation.validateModel(vm.validationRules);\r\n return res.then(function (res) {\r\n for (index = 0; index < res.length; index++) {\r\n if (res[index].valid) {\r\n mcWeb.validation.setValidCss(res[index].elem);\r\n continue;\r\n } else {\r\n mcWeb.validation.removeValidCss(res[index].elem);\r\n mcWeb.validation.addErrorClass(res[index].elem);\r\n mcWeb.validation.qTipActionShow(res[index].elem, vm.getErrorMessage(res[index].elem, res[index].rule));\r\n break;\r\n }\r\n }\r\n\r\n return res;\r\n });\r\n };\r\n\r\n this.validateElement = function (eledata, event) {\r\n mcWeb.validation.validateElement(vm.validationRules, event.target)\r\n .done(function (elemValidationResult) {\r\n if (elemValidationResult.valid) {\r\n mcWeb.validation.setValidCss(event.target);\r\n } else {\r\n mcWeb.validation.removeValidCss(event.target);\r\n };\r\n });\r\n };\r\n };\r\n});","mcWeb.salesConditions = new function () {\r\n\r\n this.events = {\r\n }\r\n\r\n this.vm = function (id) {\r\n var self = this;\r\n this.id = \"#\" + id;\r\n\r\n self.hasCartItems = ko.observable(false);\r\n self.showConditons = ko.observable(false);\r\n\r\n this.load = function (data, settings) {};\r\n\r\n this.onClickConditions = function () {\r\n self.showConditons(!self.showConditons());\r\n }\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, hasCartItems) {\r\n if (hasCartItems != null) {\r\n self.hasCartItems(hasCartItems); \r\n }\r\n });\r\n };\r\n};\r\n","mcWeb.shipment = jQuery.extend(mcWeb.shipment, new function () {\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(\"Shipment\");\r\n\r\n self.showShipments = ko.observable(false);\r\n self.hasCartItems = ko.observable(false);\r\n self.showShipmentsDetails = ko.observable(true);\r\n\r\n self.showShipmentPrice = ko.observable(false);\r\n self.showOnlyCarrierList = ko.observable();\r\n self.showCheckoutZipCode = ko.observable(true);\r\n self.selectedCarrierName = ko.observable();\r\n self.carrierList = ko.observableArray();\r\n self.selectedCarrierId = ko.observable();\r\n self.selectedCarrierPrice = ko.observable();\r\n\r\n self.pickupPointEnabled = ko.observable(false);\r\n self.pickupPointRegionList = ko.observableArray();\r\n self.pickupPointCustomerList = ko.observableArray();\r\n self.pickupPointSelectedRegion = ko.observable();\r\n self.pickupPointSelectedCustomer = ko.observable();\r\n self.pickupPointRegion = ko.observable();\r\n self.pickupPointRegionId = ko.observable();\r\n self.pickupPointCustomername = ko.observable();\r\n self.popoverOpen = ko.observable(false);\r\n\r\n self.zipCodePrev = ko.observable();\r\n self.zipCode = ko.observable();\r\n self.focusZipCode = ko.observable(false);\r\n\r\n self.postOffice = ko.observable();\r\n self.adressDelivery = ko.observable();\r\n self.adresstillegDelivery = ko.observable();\r\n self.poststedDelivery = ko.observable();\r\n\r\n self.showRefreshSpin = ko.observable(false);\r\n self.showRefreshSpinMargin = ko.observable(0);\r\n self.isCheckout = ko.observable(false);\r\n self.inlineEditor = ko.observable(false);\r\n self.showCollectedDelivery = ko.observable(false);\r\n self.useCollectedDeliveryPrev = ko.observable(false);\r\n self.useCollectedDelivery = ko.observable(false);\r\n self.useCollectedDelivery.subscribe(function (newValue) {\r\n if (self.useCollectedDeliveryPrev() != newValue) {\r\n self.useCollectedDeliveryPrev(newValue);\r\n PubSub.publish(mcWeb.cart.events.onChangeCollectedDelivery, newValue);\r\n }\r\n });\r\n\r\n self.showInsuranceProduct = ko.observable(false);\r\n self.useInsuranceProduct = ko.observable(false);\r\n self.klarnaShippingAssistantEnabled = ko.observable(false);\r\n\r\n self.showPrintPackingList = ko.observable(false);\r\n self.usePrintPackingListPrev = ko.observable(false);\r\n self.usePrintPackingList = ko.observable(false);\r\n\r\n self.usePrintPackingList.subscribe(function (newValue) {\r\n if (self.usePrintPackingListPrev() !== newValue) {\r\n //self.usePrintPackingListPrev(newValue); //Denne skal IKKE være med\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedUsePrintPackingList, newValue);\r\n }\r\n });\r\n\r\n getLibrary(\"mcWeb.customerRegistration\").then(() => {\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedUsePrintPackingList, function (message, active) {\r\n if (active === true || active === false) {\r\n if (self.usePrintPackingList() !== active) {\r\n self.usePrintPackingList(active);\r\n } else {\r\n self.usePrintPackingListPrev(active);\r\n }\r\n }\r\n });\r\n });\r\n\r\n //Set the hight of \"update icon\"\r\n this.showRefreshSpin.subscribe(function () {\r\n var hight = parseFloat($(\"#carrier-selected.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 this.load = function (data, settings) {\r\n\r\n self.showRefreshSpin(true);\r\n\r\n //Settings\r\n if (settings) {\r\n self.showShipments(settings.ShowShipments);\r\n self.showShipmentPrice(settings.ShowShipmentPrice);\r\n self.showOnlyCarrierList(settings.ShowOnlyCarrierList);\r\n self.showCheckoutZipCode(settings.ShowCheckoutZipCode);\r\n self.isCheckout(($('.body-checkout').length > 0) ? true : false);\r\n\r\n self.showCollectedDelivery(settings.ShowCollectedDelivery);\r\n self.showPrintPackingList(settings.ShowPrintPackingList);\r\n self.showInsuranceProduct(settings.ShowInsuranceProduct);\r\n self.inlineEditor(settings.InlineEditor);\r\n }\r\n\r\n //Loading data width ajax\r\n if (!data) {\r\n self.service.GetAction(\"CarrierList\", { isCheckout: self.isCheckout() }).done(function (result) {\r\n if (result == null) {\r\n self.showRefreshSpin(false);\r\n return;\r\n }\r\n\r\n self.load(result);\r\n });\r\n return;\r\n }\r\n\r\n self.pickupPointEnabled(data.PickupPointEnabled);\r\n if (data.CarrierList)\r\n self.carrierList(data.CarrierList);\r\n self.selectedCarrierId(data.SelectedCarrierId);\r\n setSelectedCarrier(data);\r\n\r\n if (self.zipCode() == null && self.zipCodePrev() == null) {\r\n self.zipCodePrev(data.ZipCode);\r\n self.zipCode(data.ZipCode);\r\n }\r\n\r\n self.useCollectedDeliveryPrev(data.UseCollectedDelivery);\r\n self.useCollectedDelivery(data.UseCollectedDelivery);\r\n\r\n self.useInsuranceProduct(data.UseInsuranceProduct);\r\n\r\n self.klarnaShippingAssistantEnabled(data.KlarnaShippingAssistantEnabled);\r\n self.showShipmentsDetails(!data.KlarnaShippingAssistantEnabled);\r\n\r\n self.usePrintPackingList(data.UsePrintPackingList);\r\n self.usePrintPackingListPrev(data.UsePrintPackingList); //Denne skal ligge neders pga event oppdatering\r\n\r\n self.showRefreshSpin(false);\r\n\r\n PubSub.publish(mcWeb.shipment.events.onChangedShipment, data);\r\n };\r\n \r\n this.useInsuranceProduct.subscribe(function (checked) {\r\n if (!self.showInsuranceProduct()) return true;\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { addProduct: checked }\r\n try {\r\n self.service.GetAction(\"SetInsuranceProduct\", data).done(function (result) {\r\n self.showRefreshSpin(false);\r\n if (result == null || result.length < 1) return;\r\n if (result.Success === false)\r\n alert(result.Message);\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, \"\");\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n\r\n\r\n return true;\r\n });\r\n\r\n this.getPickupPointRegions = function () {\r\n if (!self.pickupPointEnabled()) return true;\r\n self.showRefreshSpin(true);\r\n\r\n self.service.GetAction(\"GetPickupPointRegions\", null).done(function (result) {\r\n self.showRefreshSpin(false);\r\n\r\n if (result == null || result.length < 1) return;\r\n\r\n self.pickupPointRegionList(result);\r\n self.pickupPointRegion(self.pickupPointRegionList()[0].Region);\r\n self.pickupPointRegionId(self.pickupPointRegionList()[0].RegionId);\r\n if (result.length === 1) self.pickupPointSelectedRegion(self.pickupPointRegionId());\r\n });\r\n return true;\r\n }\r\n\r\n this.pickupPointSelectedRegion.subscribe(function (regionId) {\r\n if (regionId == null) return false;\r\n if (regionId === \"\") return false;\r\n if (self.selectedCarrierId == null) return false;\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { regionId: regionId }\r\n self.service.GetAction(\"GetPickupPointCustomers\", data).done(function (result) {\r\n self.showRefreshSpin(false);\r\n\r\n if (result == null || result.length < 1) return;\r\n\r\n self.pickupPointCustomerList(result);\r\n self.pickupPointCustomername(self.pickupPointCustomerList()[0].Customername);\r\n });\r\n return true;\r\n });\r\n\r\n this.saveSelectedPickupPointCustomer = function (customerId, customerName, customerEmail) {\r\n if (customerId == null || customerName == null || customerEmail == null) return false;\r\n var data = { customerId: customerId, customerName: customerName, customerEmail: customerEmail }\r\n\r\n self.showRefreshSpin(true);\r\n self.service.GetAction(\"SaveSelectedPickupPointCustomer\", data).done(function (result) {\r\n self.showRefreshSpin(false);\r\n });\r\n\r\n return true;\r\n }\r\n\r\n this.pickupPointSelectedCustomer.subscribe(function (selectedPickupPoint) {\r\n if (selectedPickupPoint == null) return false;\r\n if (self.selectedCarrierId == null) return false;\r\n\r\n var customername = \"\";\r\n var customerEmail = \"\";\r\n\r\n if (selectedPickupPoint.Customername != null) customername = selectedPickupPoint.Customername.trim();\r\n if (selectedPickupPoint.EmailAddress != null) customerEmail = selectedPickupPoint.EmailAddress.trim();\r\n\r\n self.saveSelectedPickupPointCustomer(selectedPickupPoint.CustomerId, customername, customerEmail);\r\n\r\n return true;\r\n });\r\n\r\n var setSelectedCarrier = function (data) {\r\n jQuery.each(data.CarrierList, function (index, obj) {\r\n if (obj.Id == data.SelectedCarrierId) {\r\n self.selectedCarrierName(obj.Name);\r\n self.selectedCarrierPrice(obj.PrintPrice);\r\n PubSub.publish(mcWeb.cartsmall.events.onChangedQuantityCartSmall, \"\");\r\n }\r\n });\r\n self.getPickupPointRegions();\r\n }\r\n\r\n //Subscribe to event\r\n this.saveSelectedCarrier = function (carrier) {\r\n self.showRefreshSpin(true);\r\n\r\n self.pickupPointSelectedCustomer(undefined);\r\n self.pickupPointSelectedRegion(undefined);\r\n self.pickupPointCustomerList.removeAll();\r\n\r\n self.selectedCarrierName(carrier.Name);\r\n self.selectedCarrierPrice(carrier.PrintPrice);\r\n\r\n var authenticationGuid = mcWeb.currentUser.getAuthenticationGUID();\r\n var email = mcWeb.loginCheckout.getEmail();\r\n carrier.PickupPoint = null;\r\n\r\n var data = {\r\n carrierItem: carrier,\r\n email: email,\r\n zipCode: null,\r\n isCheckout: self.isCheckout,\r\n authenticationGuid: authenticationGuid\r\n }\r\n\r\n self.service.GetAction(\"SaveSelectedCarrier\", data).done(function (result) {\r\n self.showRefreshSpin(false); \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 PubSub.publish(mcWeb.events.customerRegistration.onChangedCustomerData, result.CustomerRegistration);\r\n if (result.SelectedCarrierRemoved) {\r\n PubSub.publish(mcWeb.shipment.events.reloadShipment, result.Carriers);\r\n }\r\n //result.HasLockedDeliveryAddress = true / false;\r\n }\r\n });\r\n return true;\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 this.showCarrierList = function () {\r\n self.showOnlyCarrierList(true);\r\n }\r\n\r\n PubSub.subscribe(mcWeb.cart.events.hasCartItems, function (message, data) {\r\n\r\n if (data != null) {\r\n self.hasCartItems(data); //was False\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.shipment.events.reloadShipment, function (message, data) {\r\n self.load(data);\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCustomerData, function (message, data) {\r\n if (data == null)\r\n return\r\n\r\n if (data.useDifferentDeliveryAddress != null && data.useDifferentDeliveryAddress == true) {\r\n if (data.postnrDelivery != null && data.postnrDelivery != self.zipCode()) {\r\n self.LoadZipCode(data.postnrDelivery);\r\n }\r\n\r\n self.adressDelivery((data.adressDelivery == null) ? \"\" : data.adressDelivery);\r\n self.adresstillegDelivery((data.adresstillegDelivery == null) ? \"\" : data.adresstillegDelivery);\r\n self.poststedDelivery((data.poststedDelivery == null) ? \"\" : data.poststedDelivery);\r\n }\r\n else {\r\n if (data.postnr != null && data.postnr != self.zipCode()) {\r\n self.LoadZipCode(data.postnr);\r\n }\r\n\r\n self.adressDelivery((data.adress == null) ? \"\" : data.adress);\r\n self.adresstillegDelivery((data.adresstilleg == null) ? \"\" : data.adresstilleg);\r\n self.poststedDelivery((data.poststed == null) ? \"\" : data.poststed);\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.events.customerRegistration.onChangedCity, function (message, city) {\r\n self.poststedDelivery((city == null || city.length < 1) ? '' : city);\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)\r\n return;\r\n\r\n if (self.zipCode() != zipCode) {\r\n self.zipCodePrev(zipCode);\r\n self.zipCode(zipCode);\r\n self.load();\r\n }\r\n });\r\n\r\n PubSub.subscribe(mcWeb.payments.events.onSelectedPayment, function (message, paymentId) {\r\n if (paymentId != null) {\r\n self.service.GetAction(\"ShowCollectedDeliveryBasedOnPayment\", { betBetId: paymentId }).done(function (result) {\r\n if (result == 2) {\r\n self.showCollectedDelivery(false);\r\n self.useCollectedDelivery(true);\r\n }\r\n self.showCollectedDelivery((result === 1));\r\n });\r\n }\r\n });\r\n\r\n this.LoadZipCode = function (zipCode) {\r\n if (zipCode == null || zipCode.length < 3)\r\n return\r\n\r\n try {\r\n if ((zipCode.indexOf(\"*\") > -1)) {\r\n self.showCheckoutZipCode(false);\r\n return;\r\n }\r\n\r\n self.showRefreshSpin(true);\r\n\r\n var data = { zipCode: zipCode };\r\n PubSub.publish(mcWeb.events.customerRegistration.onChangedZipCode, data);\r\n PubSub.publish(mcWeb.cart.events.onChangedCart, null);\r\n\r\n } catch (e) {\r\n stopUpdateIcon();\r\n console.error(e);\r\n }\r\n };\r\n\r\n this.shipmentInfo = function () {\r\n if (self.zipCode() != null && self.zipCode().indexOf('*') > -1) {\r\n return \"\";\r\n }\r\n\r\n var text = (self.postOffice() == null || self.postOffice().length < 1) ? \"\" : self.postOffice() + ' ';\r\n text += (self.zipCode() == null || self.zipCode().length < 1) ? \"\" : self.zipCode() + ' ';\r\n text += (self.poststedDelivery() == null || self.poststedDelivery().length < 1) ? \"\" : self.poststedDelivery() + ' ';\r\n\r\n return text;\r\n };\r\n\r\n /* NEW */\r\n this.onToggleCarrierTypes = function () {\r\n $('#carriers').slideToggle();\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 self.poststedDelivery('');\r\n\r\n if (zipCode != null && zipCode.length > 3) {\r\n self.zipCodePrev(zipCode);\r\n self.LoadZipCode(zipCode);\r\n }\r\n });\r\n\r\n $('#qt-carrier-zipcode-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-carrier-zipcode-t').html(),\r\n content: $('#qt-carrier-zipcode-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-coll-delivery-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-coll-delivery-t').html(),\r\n content: $('#qt-coll-delivery-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-print-packing-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-print-packing-t').html(),\r\n content: $('#qt-print-packing-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n $('#qt-insurance-i').popover({\r\n trigger: 'hover',\r\n title: $('#qt-insurance-t').html(),\r\n content: $('#qt-insurance-c').html(),\r\n placement: 'top',\r\n container: 'body'\r\n });\r\n\r\n ko.bindingHandlers.popoverShipping = {\r\n init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {\r\n var node = $(element);\r\n self.popoverNode = node;\r\n var option = ko.utils.unwrapObservable(valueAccessor());\r\n var conId = option.contentid, titId = option.titleid, kn = \"-kn\";\r\n var contentkn = \"
\" + $('#' + conId).html() + \"
\";\r\n var titlekn = \"
\" + $('#' + titId).html() + \"
\";\r\n\r\n self.togglePopover = function () {\r\n $(event.target.parentElement).popover('toggle');\r\n var innerData = document.getElementById(conId);\r\n\r\n ko.cleanNode(innerData);\r\n }\r\n\r\n node.popover({\r\n title: titlekn,\r\n content: contentkn,\r\n html: option.html,\r\n trigger: 'manual',\r\n placement: function (context) {\r\n var con = jQuery(context);\r\n con.addClass(option.contentClass);\r\n\r\n var module = $('body.mc-inline-editor');\r\n if (module.length > 0)\r\n return 'bottom';\r\n\r\n con.on('mouseleave', function () {\r\n node.popover('hide');\r\n self.popoverOpen(false);\r\n return true;\r\n });\r\n return 'bottom';\r\n }\r\n });\r\n\r\n node.click(function () {\r\n\r\n self.togglePopover();\r\n self.popoverOpen(!self.popoverOpen());\r\n\r\n if (self.inlineEditor && !!mcWeb.inlineEditor) {\r\n mcWeb.inlineEditor.init(true);\r\n }\r\n });\r\n }\r\n };\r\n };\r\n});\r\n"],"names":["mcWeb","checkout","events","onShowSendOrder","$","jQuery","self","service","WebApiService","langService","LanguageService","cartName","cartGuid","isCheckoutPage","length","returnCode","getParameterByName","showErrorMessageFromReturnCode","btnOrderEl","priceEl","salesConditionsEl","PubSub","subscribe","message","status","registration","customerRegistration","instances","registrationVM","blockedCustomer","showBtn","disabledBtn","hide","removeClass","addClass","show","showPrice","showSalesConditions","findElement","payment","element","selectedPayment","find","findClass","cssClass","validatePayment","paymentId","validate","isValid","resName","CustomerType","isFodselsnummerValid","isOrgnrValid","paymentViewSantander","payments","validSantander","validateSantander","IsValid","ResName","Element","paymentViewSvea","validSveaWebPay","validateSveaWebPay","ShowOrgnrSsn","fieldType","ShowOrgnrSsnField","isBirthdateValid","errorText","validation","getErrorMessage","done","result","qTipActionShow","addErrorClass","setValidCss","disableOrderButton","attr","enableOrderButton","removeAttr","insertOrder","conditionsVM","btnSendOrder","showErrorMessage","html","zipCode","undefined","val","focus","epost","toLowerCase","paymentValidationResult","showWaitTemplate","validateCustomerSelectionType","then","validationResult","success","requireLogin","invalidElements","scrollToFirstInvalidElement","elem","salesConditionsAccepted","GetAction","getLibrary","SkiAssembly","load","SkiAttributeAssembly","publish","MessageToPublish","MessageToPublishData","console","log","alert","lightbox","onShowLightbox","backdrop","keyboard","customer","getJsonData","paymentData","paymentDetails","resourceName","validateSantanderAddress","postnr","poststed","adress","getValue","value","santanderApplicationDetails","RegisteredPostCode","Birthdate","birthDate","customerType","deliveryWindow","start","end","token","expiresAt","porterbuddyProduct","product","PostAction","CustomerData","PaymentDetails","CartGuid","CartName","ReturnCode","window","location","RedirectUrl","ErrorMessageSpecified","ErrorMessage","selectCurrencyParam","SupportedCurrencies","loginServcie","changedCurrencyResult","Msg","on","e","cart","onChangedCart","SecondaryErrorMessageSpecified","UseSecondaryErrorMessageAsReturnCode","SecondaryErrorMessage","onShowShipment","shipment","reloadShipment","reload","fail","error","modal","salesCondCheckbox","salesconditions","is","prop","showAlertErrorMessage","unknownErrorCodes","indexOf","country","replace","email","asHtml","msg","append","showTemplate","animationTime","topOffset","animate","scrollTop","offset","top","name","regex","RegExp","results","exec","search","decodeURIComponent","wait","template","data","checkoutConfirmation","instance","checkoutConfirmationObj","id","json","jsonSetting","vm","view","referenceNo","ko","observable","obj","setting","ReferenceNo","applyBindings","document","getElementById","checkoutFooterView","conditionsStatus","isFunctionalConditionAccepted","acceptDocuments","observableArray","usageArea","refCondVm","isOrderRefRequired","settings","conditions","onAcceptChange","evt","conditionStatus","functionalConditionIsAccepted","onOrderRefReqChange","el","tooltip","blur","source","condsForProcessing","highlightRequired","qTipActionShowClickHide","innerText","extend","KLARNA_INVOICE","KLARNA_ACCOUNT","KCO_BETBETID","SVEA_PARTPAYMENT","ARVATO_PARTPAYMENT","ARVATO_BUSINESS","NETS_EASY_BETBETID","VIPPS_BETBETID","SCO_BETBETID","netsEasyCheckout","netsEasyCheckoutHtml","betBetIdList","isBound","isPublishMode","publishModeBody","kcoValidateCountry","netsEasyCheckoutUrl","netsEasyProduction","netsEasyEnabled","waitCheckoutSnippet","cancelEnter","event","keyCode","preventDefault","isPaymentChange","onCustomerRegLoaded","innerLoad","onShowUpdateIcon","Porterbuddy","CustomerCountryId","KlarnaLandId","KlarnaVersion","klarnaShowCustomerTypeSelection","klarnaShippingAssistantEnabled","klarnaShowChangedCustomerTypeMessage","Klarna","ShowCustomerTypeSelection","ShippingAssistantEnabled","ShowChangedCustomerTypeMessage","sveaCheckoutShowCustomerTypeSelection","SveaCheckout","vippsExpressCheckoutInCart","vippsShowCustomerTypeSelection","vippsAllowBusinessCustomer","Vipps","isLoggedIn","readOnly","ExpressCheckoutInCart","AllowBusinessCustomer","NetsEasy","Enabled","Production","netsEasyShowCustomerTypeSelection","CheckoutUrl","setNetsEasyCheckoutScriptSource","experianRemoved","hideExperianBetBet","expIndex","PaymentTypes","i","PaymentId","experianBetBetId","splice","hideOrgnrSsn","GetKlarnaJson","KlarnaCustomerType","addBindings","IsLoggedIn","BirthDate","paymentMethodSelected","hasKlarnaCheckout","doLoadCustomerForm","selectPaymentType","SelectedId","PaymentList","reloadPayments","onHideUpdateIcon","showCustomerRegButtonPrivate","computed","onlyBusiness","showCustomerRegButtonBusiness","onlyPrivate","vmNode","VMID","loadCustomerForm","highlightRequiredConditions","getTemplateNameKonto","selectedKlarnaKontoCampaign","getTemplateNameFaktura","selectedKlarnaFakturaCampaign","pclass_id","hasCartItems","functionalConditionsAccepted","showPayments","selectedPaymentOld","newValue","onSelectedPayment","KlarnaCampaigns","Fodselsnummer","RegisteredZip","isValidDateddmmyy","date","input","symbol","Orgnr","updateOrgNr","selectedSveaPaymentPlanOptionRadio","showSveaPaymentPlanOptionInfo","campaignCode","formatMoney","money","formatInterest","interest","GothiaTOS","GothiaRequireCustomerConfirmation","AcceptedTermsAndConditions","showRefreshSpin","showRefreshSpinMargin","SveaWebPayPaymentPlanOptions","GetSveaWebPayPaymentPlanOptions","KlarnaInvoiceFee","showCustomerSelection","hight","parseFloat","height","NaN","selectedKlarnaPclass","hasCartItem","onChangedCustomerData","RegisterKlarnaListener","previousFunctionalAcceptanceStatus","KCOisLoaded","processPaymentMethods","UpdateCheckoutCartItems","loginCheckout","onShowLoginPassword","tabContent","tabHeight","css","form","detach","tab","appendTo","queue","duration","nav","onShowHideLogin","getFakturaGebyr","getGothiaAccountTos","getSveaWebPayPaymentPlanOptions","inlineEditor","init","paymentType","paymentText","PaymentText","handlePaymentChange","qtip","clickPrivate","porterbuddy","setRecipientInfoLocked","orgnrTemp","birthdate","SocialSecurityNumber","CampaignCode","AcceptCreditCheck","OrgNumber","indexOfKlarnaFaktura","group","code","indexOfFirstKlarnaKonto","paymentTypes","getKlarnaJson","JSON","parse","payment_methods","updatePaymentWithPBAddress","recipientInfo","provider","addressLine","streetAddress","postCode","req","Provider","AddressLine","ZipCode","Email","radioButtonListArray","checked","type","paymentDiv","toFind","found","TermsAndConditions","RequireCustomerConfirmation","gothiaShowTermsAndConditions","generator","open","write","close","klarna","regEx","test","isZipCodeValid","isZipCodeValidFormat","landId","match","isPhoneValidFormat","phone","dateString","showKlarnaTerms","href","terms","uri","selectFirstInList","filter","GetCheckoutSnippet","GetCheckout","disableSveaCheckout","customerData","trim","Customer","IsPaymentChange","SetKlarnaCheckout","SetNetsEasyCheckout","CheckoutOptions","enableSveaCheckout","SetSveaCheckout","scoApi","setCheckoutEnabled","snippet","RegisterSveaCheckoutListener","netsEasyCheckoutPaymentId","checkoutOptions","checkoutSnippetHtml","cleanup","Dibs","Checkout","RegisterNetsEasyCallback","response","redirectMsg","onHideLightbox","address","countryCode","postalCode","landKode3","onChangedZipCode","UpdateCheckoutZipCode","paymentAddress","Name","StreetAddress","StreetAddress2","PostalCode","City","CountryCode","SetPorterbuddyRecipientInfo","defaultCustomerType","showPaymentProviderCartReloadLightbox","send","SuspendKlarnaCheckout","_klarnaCheckout","api","suspend","ResumeKlarnaCheckout","resume","IsKcoEnabled","kcoEnabled","isKcoEnabled","netsEasyFrozen","freezeCheckout","netsEasyFreezeStack","push","pop","thawCheckout","Success","showKcoCartReloadLightbox","addEventListener","changeCustomerType","onChangedCustomerType","clickBusiness","showCustomerType","showRegButtons","VippsExpressCheckout","checkoutFooter","okToContinue","url","ajax","contentType","logPb","customEventHandlers","observeEvent","toString","previousPbEmail","previousPbPostCode","previousPbStreetAddress","shippingOptionsHandled","shippingOptions","homeDeliveryOptions","refreshShippingOptions","includes","setRecipientInfo","savePbRecipientToLocalStorage","getShippingOptions","refresh","pb","sri","SetRecipientInfo","PostCode","PreviousEmail","PreviousPostCode","PreviousStreetAddress","recipient","localStorage","setItem","logTxt","logData","Text","Data","stringify","cartService","change","kcoData","onChangedEmail","postal_code","give_name","family_name","city","shipping_option_change","jsonData","shippingId","price","taxRate","tax_rate","taxAmount","tax_amount","shipmentService","billing_address_change","selectedCountry","m_Item1","countryText","m_Item2","zipCodePrev","showOrgnrSsn","Show","FieldToShow","updateKco","onChangedCampaignCode","onChangedQuantityCart","onSelectedShipment","onChangedShipment","ResetLoginCheckoutPosision","focusFirstName","responsive","getScreenSize","setTimeout","login","onIsloggedIn","promise","validateModel","res","lastValidationResult","every","elementIsValid","SoftAdressValidation","addressWarningFlag","forEach","valid","remove","index","validationRules","removeValidCss","rule","validateElement","eledata","target","elemValidationResult","salesConditions","showConditons","onClickConditions","showShipments","showShipmentsDetails","showShipmentPrice","showOnlyCarrierList","showCheckoutZipCode","selectedCarrierName","carrierList","selectedCarrierId","selectedCarrierPrice","pickupPointEnabled","pickupPointRegionList","pickupPointCustomerList","pickupPointSelectedRegion","pickupPointSelectedCustomer","pickupPointRegion","pickupPointRegionId","pickupPointCustomername","popoverOpen","focusZipCode","postOffice","adressDelivery","adresstillegDelivery","poststedDelivery","isCheckout","showCollectedDelivery","useCollectedDeliveryPrev","useCollectedDelivery","onChangeCollectedDelivery","showInsuranceProduct","useInsuranceProduct","showPrintPackingList","usePrintPackingListPrev","usePrintPackingList","onChangedUsePrintPackingList","active","ShowShipments","ShowShipmentPrice","ShowOnlyCarrierList","ShowCheckoutZipCode","ShowCollectedDelivery","ShowPrintPackingList","ShowInsuranceProduct","InlineEditor","PickupPointEnabled","CarrierList","SelectedCarrierId","setSelectedCarrier","UseCollectedDelivery","UseInsuranceProduct","KlarnaShippingAssistantEnabled","UsePrintPackingList","addProduct","Message","err","getPickupPointRegions","Region","RegionId","regionId","Customername","saveSelectedPickupPointCustomer","customerId","customerName","customerEmail","selectedPickupPoint","customername","EmailAddress","CustomerId","each","Id","PrintPrice","cartsmall","onChangedQuantityCartSmall","saveSelectedCarrier","carrier","removeAll","authenticationGuid","currentUser","getAuthenticationGUID","getEmail","PickupPoint","carrierItem","CustomerRegistration","SelectedCarrierRemoved","Carriers","showCarrierList","useDifferentDeliveryAddress","postnrDelivery","LoadZipCode","adresstilleg","onChangedCity","betBetId","stopUpdateIcon","shipmentInfo","text","onToggleCarrierTypes","slideToggle","isNumberKey","sender","key","which","activeElement","popover","trigger","title","content","placement","container","bindingHandlers","popoverShipping","valueAccessor","allBindingsAccessor","viewModel","bindingContext","node","popoverNode","option","utils","unwrapObservable","conId","contentid","titId","titleid","kn","contentkn","titlekn","togglePopover","parentElement","innerData","cleanNode","context","con","contentClass","module","click"],"sourceRoot":""}