{"mappings":"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","sources":["","wwwroot/app.bundle.js","wwwroot/js/i247.VehicleLookup.js","wwwroot/js/i247.Common.js","wwwroot/js/utilities.js","wwwroot/js/i247.VE103.js","wwwroot/js/i247.Address.js","wwwroot/js/i247.Mapping.js"],"sourcesContent":["(() => {\n//working bundle - With CDN Links.\n//import kendo from '@progress/kendo-ui';\n//import { isDate } from 'util';\nlet $254a84bc556d8bd3$export$8e0397c03d8b0af5 = new WeakMap();\nclass $254a84bc556d8bd3$var$Utilities {\n constructor(){\n $(document).on('change', 'input', function(e) {\n var currentInput = $(e.target);\n var errorSign = currentInput.closest('div').find('.fa-exclamation-circle.text-danger');\n if (errorSign !== undefined && errorSign.length > 0) errorSign.remove();\n });\n $(document).on('focus', 'textarea', function(e) {\n var currentInput = $(e.target);\n var errorSign = currentInput.closest('.row').find('label .fa-exclamation-circle.text-danger');\n if (errorSign !== undefined && errorSign.length > 0) errorSign.remove();\n });\n }\n IsInternetExplorer() {\n let ua = window.navigator.userAgent;\n let oldIE = ua.indexOf('MSIE ');\n let newIE = ua.indexOf('Trident/');\n return oldIE > -1 || newIE > -1;\n }\n IsEdgeBrowser() {\n return /Edge\\/\\d./i.test(navigator.userAgent);\n }\n LoadHtmlTemplate(path, options, callback) {\n $.get(path, {\n 'partialViewPath': options.viewName,\n 'tyrePosition': options.positionLabel\n }).done(function(template) {\n var $template = $(template);\n callback($template);\n });\n }\n isDate(date) {\n return date instanceof Date && !isNaN(date.valueOf());\n }\n IsInArray(date, dates) {\n for(let idx = 0, length = dates.length; idx < length; idx++){\n let d = dates[idx];\n if (this.isDate(d)) {\n if (date.getFullYear() === d.getFullYear() && date.getMonth() === d.getMonth() && date.getDate() === d.getDate()) return true;\n }\n }\n return false;\n }\n IsEven(n) {\n return n % 2 === 0;\n }\n GetMonthNames() {\n return [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ];\n }\n ShowNextRow(currentDomElement, nextXrows, targetClass) {\n $(currentDomElement).parents('.' + targetClass).nextAll(':lt(' + nextXrows + ')').show();\n }\n CheckIfMobilePhoneProvided(inputList) {\n var regex = /^(\\+44\\s?7\\d{3}|\\(?07\\d{3}\\)?)\\s?\\d{3}\\s?\\d{3}$/;\n if (inputList !== undefined && inputList.length > 0) for(var index = 0; index < inputList.length; index++){\n var currentInput = inputList[index];\n var phoneNumber = $(currentInput).val();\n if (regex.test(phoneNumber) === true) return true;\n }\n return false;\n }\n GetVisibleCount() {\n // Left-align the breadcrumbs to simplify the calculation\n var offsetWidth = $('.mobile-breadcrumb-nav')[0].offsetWidth;\n var justifyContent = $('.mobile-breadcrumb-nav').css('justify-content');\n var visibleItemCount = 0;\n $('.mobile-breadcrumb-nav').css('justify-content', 'left');\n $('.mobile-breadcrumb-nav li').each(function(index) {\n var right = $(this).position().left + $(this).outerWidth();\n if (right > offsetWidth) {\n // Exit, because our breadcrumb is not completely visible\n visibleItemCount = index;\n return false;\n }\n });\n // Restore alignment, as soon as we know how many breadcrumbs are visible\n $('.mobile-breadcrumb-nav').css('justify-content', justifyContent);\n return visibleItemCount;\n }\n FormatMobileBreadcrumbNav() {\n var serviceBreadcrumbs = $('.mobile-breadcrumb-nav li');\n serviceBreadcrumbs.show();\n var scrollWidth = $('.mobile-breadcrumb-nav')[0].scrollWidth;\n var offsetWidth = $('.mobile-breadcrumb-nav')[0].offsetWidth;\n var contentFits = scrollWidth <= offsetWidth;\n // Work out how many breadcrumbs will fit in space\n var itemCount = serviceBreadcrumbs.length;\n var visibleItemCount = 0;\n if (!contentFits) {\n // Show overflow buttons, which will reduce the size of our container, so\n // calculate visible breadcrumbs afterwards\n $('.mobile-breadcrumb-overflow').parent().show();\n visibleItemCount = this.GetVisibleCount();\n } else {\n $('.mobile-breadcrumb-nav').css('justify-content', 'center');\n $('.mobile-breadcrumb-overflow').parent().hide();\n return;\n }\n // Works out a range that positions the active breadcrumb two positions from the end\n // using a 1-based active index\n var activeIndex = serviceBreadcrumbs.index($('.mobile-breadcrumb-nav li.active')) + 1;\n var end = activeIndex + 2;\n if (end > itemCount) end = itemCount;\n var start;\n if (end < visibleItemCount) {\n start = 1;\n end = visibleItemCount;\n } else start = end - visibleItemCount + 1;\n var range = {\n active: activeIndex,\n start: start,\n end: end,\n left: start - 1,\n right: itemCount - end\n };\n // Show buttons that fall within our visible range and hide the rest\n $('.mobile-breadcrumb-nav').css('justify-content', 'space-between');\n $('#leftOverflow').text('-' + (range.left > 0 ? range.left : ''));\n $('#rightOverflow').text('+' + (range.right > 0 ? range.right : ''));\n $('.mobile-breadcrumb-nav li').each(function(index) {\n if (index + 1 < range.start || index + 1 > range.end) $(this).hide();\n else $(this).show();\n });\n }\n BuildMobileBreadcrumbNav() {\n var html = '';\n var template = kendo.template($('#mobile-breadcrumb-template').html());\n $(\"#serviceBreadcrumb li:not([style*='display: none'])\").each(function(index) {\n var li = $(this);\n var heading = li.attr('data-menuanchor').toLowerCase().replace('anchor', '');\n // skip confirmation step because we'll add an 'fa-check' for it after this loop\n if (heading === 'confirmation') return;\n // Evaluate CSS class\n var cssClass = '';\n if (li.hasClass('active')) cssClass = 'active';\n else if (li.hasClass('validated')) cssClass = 'validated';\n // Pass data to template\n var data = {\n index: index + 1,\n cssClass: cssClass,\n heading: heading\n };\n html += template(data);\n });\n html += \"
  • \";\n $('.mobile-breadcrumb-nav').empty().html(html);\n this.FormatMobileBreadcrumbNav();\n }\n RefreshMobileBreadcrumbNav() {\n $(\"#serviceBreadcrumb li:not([style*='display: none'])\").each(function(index) {\n // Remove classes on our mobile breadcrumb\n var mobileBreadcrumb = $('.mobile-breadcrumb-nav li:nth-child(' + (index + 1) + ')');\n mobileBreadcrumb.removeClass('active');\n // Find out active class on main breadcrumb and set on mobile\n // breadcrumb\n var breadcrumb = $(this);\n if (breadcrumb.hasClass('active')) mobileBreadcrumb.addClass('active');\n else if (breadcrumb.hasClass('validated')) mobileBreadcrumb.addClass('validated');\n });\n this.FormatMobileBreadcrumbNav();\n }\n incrementBreadCrumbs(activeSection, nextSection) {\n $('[data-menuanchor=\"' + nextSection.anchor + '\"]').addClass('active');\n $('[data-menuanchor=\"' + activeSection.anchor + '\"]').removeClass('active').addClass('validated');\n this.RefreshMobileBreadcrumbNav();\n }\n}\nclass $254a84bc556d8bd3$export$61b5e5bf1558fa5f {\n constructor(success, inputConcerned, errorMessage){\n this.success = success;\n this.input = inputConcerned;\n this.errorMessage = errorMessage;\n }\n}\nlet $254a84bc556d8bd3$export$366dc4c52172531e = new $254a84bc556d8bd3$var$Utilities();\n\n\n\nclass $f736a2b71cdbd3b5$var$Common {\n static HideUserMessage() {\n $('#UserMessage').hide();\n }\n static ShowUserMessage(title, message, hidePanels) {\n if (hidePanels) $('#mainContent').hide();\n $('#UserMessage #UserMessage_Title').html(title);\n $('#UserMessage #UserMessage_Message').html(message);\n $('#UserMessage').show();\n }\n static ShowGenericError() {\n $('#ErrorDialog').kendoDialog({\n width: '450px',\n title: 'Error',\n closable: true,\n modal: false,\n content: 'Sorry, an error occured. Please try again or contact your dedicated Driverline for assistance'\n });\n }\n static GetExtraValidator() {\n var dropDownValid = true;\n var colour = $('#vehicle-colour-select');\n if (colour[0] !== null) {\n colour.parent().removeClass('k-invalid');\n if (colour.val() === '') {\n colour.parent().addClass('k-invalid');\n dropDownValid = false;\n }\n }\n var seats = $(\"#vehicle-number-of-seats-select\");\n if (seats[0] !== null) {\n seats.parent().removeClass('k-invalid');\n if (seats.val() === '') {\n seats.parent().addClass('k-invalid');\n dropDownValid = false;\n }\n }\n var vehicleClass = $('#vehicle-class-select');\n if (vehicleClass[0] !== null) {\n vehicleClass.parent().removeClass('k-invalid');\n if (vehicleClass.val() === '') {\n vehicleClass.parent().addClass('k-invalid');\n dropDownValid = false;\n }\n }\n return dropDownValid;\n }\n static GetVehicleValidator() {\n return $('#Mileage').kendoValidator({\n rules: {\n minimumMileageRequired: function(input) {\n var mileageSupplied = $('#Mileage').val().replace(/\\,/g, '');\n var currentMileage = $('#VehicleMileage').val();\n var ConfirmMileageCheckBox = $('#ConfirmMileageCheckBox').is(':checked');\n if (input.is('#Mileage')) {\n if (parseInt(currentMileage) > parseInt(mileageSupplied) && !ConfirmMileageCheckBox) {\n let msg = `The mileage provided is lower than the last reading (${currentMileage}).
    Check this box to confirm the mileage you have entered is correct, or re enter.`;\n $('#ConfirmMileageCheckBox').next().addClass('k-checkbox-label').html(msg);\n $('#ConfirmMileageContainer').removeClass('d-none').addClass('d-inline-block');\n $('#vehicle-mileage').text(currentMileage);\n return false;\n } else if (!ConfirmMileageCheckBox) $('#ConfirmMileageContainer').removeClass('d-inline-block').addClass('d-none');\n if (parseInt(mileageSupplied) > 2000000) {\n let msg = `The provided mileage can not be higher than 2,000,000 miles!`;\n $('#ConfirmMileageCheckBox').next().removeClass('k-checkbox-label').html(msg);\n $('#ConfirmMileageContainer').removeClass('d-none').addClass('d-inline-block');\n return false;\n } else if (!ConfirmMileageCheckBox) $('#ConfirmMileageContainer').removeClass('d-inline-block').addClass('d-none');\n }\n return true;\n }\n },\n messages: {\n minimumMileageRequired: 'Invalid mileage. Must be greater than previous mileage.'\n }\n }).data('kendoValidator');\n }\n static BindValidationStyles(validator) {\n validator.bind(\"validate\", function(e) {\n let $container = $(e.sender.element);\n let $invalidInputs = $container.find(\".k-invalid\");\n let validationManager = {\n _tooltipTemplate: `
    `,\n _highlightLabel: (invalidInput)=>$(invalidInput).closest(\".row\").find(\"label:not(.k-radio-label)\").addClass(\"error-label\"),\n applyPrivacyCheckboxInputValidationStyle: (invalidInput)=>{\n $(invalidInput).prop(\"data-toggle\", \"tooltip\");\n $(invalidInput).parent().find(\"label\").addClass(\"privacy-checkbox-validation-label\");\n $(invalidInput).tooltip({\n boundary: \"body\",\n trigger: \"manual\",\n placement: \"auto\",\n template: validationManager._tooltipTemplate\n });\n $(invalidInput).tooltip(\"show\");\n },\n applyLabelLessTextboxValidationStyle: (invalidInput)=>{\n const errorMessage = $(invalidInput).parent().find('.k-tooltip-validation.k-invalid-msg').text();\n if ($(invalidInput).parent().find(\".error-icon-absolute\").length === 0) {\n let newElement = ``;\n $(invalidInput).parent().append(newElement);\n $('[data-toggle=\"tooltip\"]').tooltip({\n boundary: \"body\",\n trigger: \"focus\",\n placement: \"auto\",\n template: validationManager._tooltipTemplate\n });\n (0, $254a84bc556d8bd3$export$8e0397c03d8b0af5).set(invalidInput, $(invalidInput).prop(\"placeholder\"));\n $(invalidInput).removeAttr(\"placeholder\");\n }\n },\n applyGenericValidationStyle: (invalidInput)=>{\n const errorMessage = $(invalidInput).closest(\".row.form-group\").find(\".k-tooltip-validation.k-invalid-msg\").text();\n const newElement = ``;\n if ($(invalidInput).closest(\".row.form-group\").find(\".error-icon\").length === 0) {\n validationManager._highlightLabel(invalidInput);\n $(invalidInput).closest(\".row.form-group\").find(\"label:not(.k-radio-label)\").append(newElement);\n $('[data-toggle=\"tooltip\"]').tooltip({\n boundary: \"body\",\n trigger: \"focus\",\n placement: \"auto\",\n template: validationManager._tooltipTemplate\n });\n if ($(invalidInput).is(':radio')) $(invalidInput).closest(\".row.form-group\").find(\".k-radio-label\").addClass(\"error-radio-btn-label\");\n }\n },\n applyWheelplanPanelValidation: (invalidPanel)=>{\n let newElement = ``;\n $(invalidPanel).parent().append(newElement);\n $('[data-toggle=\"tooltip\"]').tooltip({\n boundary: \"body\",\n trigger: \"focus\",\n placement: \"auto\",\n template: validationManager._tooltipTemplate\n });\n },\n applyBtnValidationStyle: (invalidInput)=>{\n const $btn = $(invalidInput).parent().find(\".btn-to-validate\");\n const errorMessage = $(invalidInput).parent().find(\".k-invalid-msg\").text();\n const newElement = ``;\n $btn.before(newElement);\n $('[data-toggle=\"tooltip\"]').tooltip({\n boundary: \"body\",\n trigger: \"focus\",\n placement: \"auto\",\n template: validationManager._tooltipTemplate\n });\n }\n };\n if ($container.is('[id^=\"wheelPlanSection\"]')) validationManager.applyWheelplanPanelValidation($container.find('.tyreDetailInvalid'));\n else if ($invalidInputs) $invalidInputs.each((index, invalidInput)=>{\n if (!$invalidInputs.hasClass('noValidationStyle')) {\n // Making sure the input is not hidden\n let isHidden = $(invalidInput).is(':hidden');\n let isDropDownList = $(invalidInput).data(\"role\") === \"dropdownlist\";\n if (!isHidden || isHidden && isDropDownList) {\n // check if input is single checkbox\n if ($(invalidInput).hasClass('privacyCheckboxValidation')) validationManager.applyPrivacyCheckboxInputValidationStyle(invalidInput);\n else // check if input is textbox and without label, if so apply icon within\n if ($(invalidInput).is('input:text') && $(invalidInput).data('role') !== 'dropdownlist' && ($(invalidInput).closest('.row.form-group').length === 0 || $(invalidInput).closest('.form-group.row').find('label:not(.k-radio-label)').length === 0)) validationManager.applyLabelLessTextboxValidationStyle(invalidInput);\n else if (isDropDownList) {\n validationManager.applyGenericValidationStyle(invalidInput);\n $(invalidInput).prevAll().closest(\".k-dropdown-wrap\").addClass('invalid-border');\n } else // for everything else apply generic styles\n validationManager.applyGenericValidationStyle(invalidInput);\n } else if ($(invalidInput).hasClass('btn-validation-input')) validationManager.applyBtnValidationStyle(invalidInput);\n }\n });\n });\n }\n static RemoveValidationStyles(input, panel) {\n if (input) {\n const removeHighlightLabel = (invalidInput)=>$(invalidInput).closest('.row.form-group').find('label').removeClass('error-label');\n const removeErrorIcon = (invalidInput)=>$(invalidInput).closest('.row.form-group').find('label').find('.error-icon').remove();\n const removeErrorIconOnBtn = (invalidHiddenInput)=>$(invalidHiddenInput).parent().find('.error-icon').remove();\n const removeInputErrorIcon = (invalidInput)=>{\n const errorIconEl = $(invalidInput).parent().find('.error-icon-absolute');\n if (errorIconEl.length !== 0) {\n errorIconEl.remove();\n if ((0, $254a84bc556d8bd3$export$8e0397c03d8b0af5).has(input)) {\n (0, $254a84bc556d8bd3$export$8e0397c03d8b0af5).get(input);\n $(input).attr('placeholder', (0, $254a84bc556d8bd3$export$8e0397c03d8b0af5).get(input));\n (0, $254a84bc556d8bd3$export$8e0397c03d8b0af5).delete(input);\n }\n }\n };\n const removeKendoHighlight = (invalidInput)=>$(invalidInput).removeClass('k-invalid');\n const removePrivacyCheckboxValidationStyles = (invalidInput)=>{\n $(invalidInput).removeAttr('data-toggle');\n $(invalidInput).parent().find('label').removeClass('privacy-checkbox-validation-label');\n };\n if ($(input).prop('data-toggle') === 'tooltip') // dispose of a tooltip when applied to the DOM Element itself.\n $(input).tooltip('dispose');\n else // dispose of a tooltip when applied to the DOM Element parent.\n $(input).closest('.row').find('[data-toggle=\"tooltip\"]').tooltip('dispose');\n if ($(input).hasClass('privacyCheckboxValidation')) removePrivacyCheckboxValidationStyles(input);\n else if ($(input).hasClass('noLabelValidation')) removeInputErrorIcon(input);\n else {\n removeHighlightLabel(input);\n removeErrorIcon(input);\n removeErrorIconOnBtn(input);\n removeKendoHighlight(input);\n let isDropDownList = $(input).data(\"role\") === \"dropdownlist\";\n if ($(input).is(':radio')) $(input).closest('.row.form-group').find('.k-radio-label').removeClass('error-radio-btn-label');\n else if (isDropDownList) $(input).prevAll().closest(\".k-dropdown-wrap\").removeClass('invalid-border');\n }\n } else if (panel && panel.length > 0) {\n $(panel).find('[data-toggle=\"tooltip\"]').tooltip('dispose');\n $(panel).find('.error-icon-absolute').remove();\n $(panel).find('.tyreDetailInvalid').removeClass('tyreDetailInvalid');\n }\n }\n static Bounce(element, times, distance, speed) {\n for(var i = 0; i < times; i++)element.animate({\n marginTop: '-=' + distance\n }, speed).animate({\n marginTop: '+=' + distance\n }, speed);\n }\n static InitialiseEmailSupportTab() {\n $('#email-tab').click(()=>{\n $(\"#help-form\").detach().appendTo('#email-container');\n $('#email-container').toggle('slide');\n });\n $('#supportModalBtn').click(()=>{\n $(\"#help-form\").detach().appendTo('#mobile-email-container');\n $('#emailModal').toggle('slide');\n });\n if ($('#fullPageContainer[data-formName=\"VE103\"]').length) $('#supportModalBtn').removeClass('d-none').show();\n [\n $('#supportLargeScreenForm'),\n $('#supportSmallScreenForm')\n ].forEach((form)=>{\n form.on('submit', (event)=>{\n if (event.target.checkValidity() === false) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n let driverData = null;\n let endpoint = null;\n let $formContainer = $(event.target).closest('.form');\n $formContainer.find('#sendSupportEmail').prop('disabled', true);\n let formData = {\n fullname: $formContainer.find('#user-name').val(),\n email: $formContainer.find('#user-email').val(),\n phone: $formContainer.find('#user-phone').val(),\n note: $formContainer.find('#user-note').val()\n };\n let formName = $('#fullPageContainer').attr('data-formName');\n switch(formName){\n case 'VE103':\n driverData = (0, $f90b7548d54d161a$export$76b090c025b4ff78).model;\n endpoint = '/foreigntravel/SendSupportEmail';\n break;\n default:\n driverData = null;\n break;\n }\n let data = {\n 'driverData': driverData,\n 'formData': formData\n };\n $.ajax({\n type: 'POST',\n url: endpoint,\n data: data,\n success: function() {\n $('#email-container, #emailModal').find('#confirmationMessage').show(), setTimeout(function() {\n $('#email-container, #emailModal').find('#confirmationMessage').fadeOut();\n $('#email-container, #emailModal').toggle('slide').find('textarea').val('');\n $('.modal-backdrop, #emailModal').hide();\n }, 3000);\n },\n error: ()=>console.log('error sending email.')\n });\n }\n event.target.classList.add('was-validated');\n event.preventDefault();\n });\n });\n }\n static GetQueryStringValue(key, url) {\n if (!url) url = window.location.href;\n key = key.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n}\nvar $f736a2b71cdbd3b5$export$2e2bcd8739ae039 = $f736a2b71cdbd3b5$var$Common;\n$(document).ready(function() {\n if (LAYOUT_MODE == 'mode2') $('#breadcrumb').detach().prependTo('#mainContent');\n $('body').removeClass('d-none');\n $('.tip').tooltip({\n boundary: \"body\",\n trigger: \"focus\",\n placement: \"auto\"\n });\n $(document).on('focus focusout click', 'input.k-invalid', (event)=>$f736a2b71cdbd3b5$var$Common.RemoveValidationStyles(event.target));\n $(document).on('change', '.k-dropdown', (event)=>$f736a2b71cdbd3b5$var$Common.RemoveValidationStyles(event.target));\n $(document).on('click', '.btn', (event)=>$f736a2b71cdbd3b5$var$Common.RemoveValidationStyles(event.target));\n document.documentElement.style.setProperty('--customer-font-family', SITE_FONT_FAMILY);\n document.documentElement.style.setProperty('--customer-color', SITE_COLOR);\n document.documentElement.style.setProperty('--customer-sub-color', SITE_COLOR2);\n document.documentElement.style.setProperty('--customer-color-gradient1', SITE_COLOR_GRADIENT_1);\n document.documentElement.style.setProperty('--customer-color-gradient2', SITE_COLOR_GRADIENT_2);\n document.documentElement.style.setProperty('--customer-color-gradient3', SITE_COLOR_GRADIENT_3);\n document.documentElement.style.setProperty('--customer-color-gradient4', SITE_COLOR_GRADIENT_4);\n document.documentElement.style.setProperty('--customer-header-bar-style', SITE_HEADER_BAR_STYLE);\n document.documentElement.style.setProperty('--customer-header-row-style', SITE_HEADER_ROW_STYLE);\n if (SITE_TITLE_BAR_COLOR_USE_GRADIENT.toUpperCase() === 'TRUE') {\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient1', SITE_COLOR_GRADIENT_1);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient2', SITE_COLOR_GRADIENT_2);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient3', SITE_COLOR_GRADIENT_3);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient4', SITE_COLOR_GRADIENT_4);\n } else {\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient1', SITE_COLOR);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient2', SITE_COLOR);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient3', SITE_COLOR);\n document.documentElement.style.setProperty('--customer-title-bar-color-gradient4', SITE_COLOR);\n }\n $('.view-privacy-policy').on('click', (event)=>{\n $('#privacyPolicy').toggleClass('d-none');\n });\n});\n\n\n\n\n\nclass $0f9b377c2aa86abc$var$Address {\n constructor(){\n this.ElementID = null;\n }\n // Built to only have one address visible on the page at once\n // Call setup after you make your address visible to the user\n Setup(AddressListElementID, UniqueReference, LogDescription) {\n let _this = this;\n let container = new ContainingElement(UniqueReference);\n var $buttonSelector = $('#' + container.ElementID + 'ButtonPostCodeLookup');\n $buttonSelector.unbind('click');\n $buttonSelector.click(function() {\n _this.Search(AddressListElementID, LogDescription, container.ElementID);\n });\n $buttonSelector.trigger('click');\n }\n GetAddressList(PostCode, RequestVerificationToken, Logdescription) {\n var result = $.Deferred();\n $.ajax({\n url: '/address/addresslist',\n type: 'POST',\n data: {\n postcode: PostCode,\n __RequestVerificationToken: RequestVerificationToken,\n LogDescription: Logdescription\n },\n cache: true,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {},\n complete: function(data) {}\n });\n return result.promise();\n }\n GetCoordinates(postcode, requestVerificationToken, logDescription) {\n return new Promise(function(resolve, reject) {\n $.ajax({\n url: '/address/coordinates',\n type: 'POST',\n data: {\n postcode: postcode,\n __RequestVerificationToken: requestVerificationToken,\n logDescription: logDescription\n },\n cache: true,\n success: function(data) {\n resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {\n reject(thrownError);\n },\n complete: function(data) {}\n });\n });\n }\n GetPostCodeAddress(Key, RequestVerificationToken, VehicleRegistration) {\n var result = $.Deferred();\n $.ajax({\n url: '/address/PostCodeAddress',\n type: 'POST',\n data: {\n key: Key,\n __RequestVerificationToken: RequestVerificationToken,\n vehicleRegistration: VehicleRegistration\n },\n cache: true,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {},\n complete: function(data) {}\n });\n return result.promise();\n }\n Search(addressListElementID, logDescription, containerElementID) {\n let _this = this;\n var addressHTML = '';\n var postcode = $('#' + containerElementID + 'Postcode').val().toLocaleUpperCase();\n $('#' + containerElementID + 'Postcode').val(postcode);\n if (!postcode) {\n $('#' + containerElementID + 'Postcode').addClass('k-invalid');\n return;\n } else $('#' + containerElementID + 'Postcode').removeClass('k-invalid');\n var addresses = this.GetAddressList(postcode, $('input[name=__RequestVerificationToken]').val(), logDescription);\n $.when(addresses).done(function(l_addresses) {\n if (l_addresses.length > 0) {\n addressHTML += '';\n } else {\n addressHTML += \"

    We're sorry but we cannot find the postcode \" + postcode + \". If that is the correct postcode, please call your driverline for further assistance.

    \";\n addressHTML += '
    ';\n }\n $('#' + containerElementID + 'AddressList').html('').html(addressHTML).css('height', $('#' + containerElementID).height() + 'px');\n $('#' + containerElementID + 'AddressList').find('.address-list-item').each(function(index, element) {\n $(element).on('click', function(event) {\n event.preventDefault();\n _this.PopulateAddress(this, addressListElementID, containerElementID);\n });\n });\n $('#' + containerElementID + 'AddressList').find('.btn-outline-dark').each(function(index, element) {\n $(element).on('click', function() {\n _this.SlideBack(containerElementID);\n });\n });\n $('#' + containerElementID).animate({\n marginLeft: '-1500px'\n }, 500, function() {\n $('#' + containerElementID + 'AddressList').animate({\n marginRight: '0px'\n }, 500, function() {\n // Animation complete.\n });\n });\n });\n }\n PopulateAddress(addressElement, addressListElementID, containerElement) {\n this.SlideBack(containerElement);\n let street = $(addressElement).data('property') ? `${$(addressElement).data('property')}, ${$(addressElement).data('street')}` : $(addressElement).data('street');\n let address = {\n addressLine1Input: $('#' + containerElement).find('#' + containerElement + 'Address_AddressLine1'),\n addressLine2Input: $('#' + containerElement).find('#' + containerElement + 'Address_AddressLine2'),\n addressTown: $('#' + containerElement).find('#' + containerElement + 'Address_Town'),\n addressCounty: $('#' + containerElement).find('#' + containerElement + 'Address_County'),\n addressPostCode: $('#' + containerElement).find('#' + containerElement + 'Address_Postcode')\n };\n for(let prop in address){\n $(address[prop]).val('');\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).RemoveValidationStyles(address[prop]);\n }\n if ($(addressElement).data('organisation')) {\n address.addressLine1Input.val($(addressElement).data('organisation'));\n address.addressLine2Input.val(street);\n } else address.addressLine1Input.val(street);\n address.addressTown.val($(addressElement).data('town'));\n address.addressCounty.val($(addressElement).data('postalcounty'));\n address.addressPostCode.val($(addressElement).data('postcode'));\n }\n BindControls() {\n let _this = this;\n $('.buttonPostCodeLookup').on('click', function() {\n var containerId = $(this).parents('.addressContainer').prop('id').replace(' ', '');\n _this.Search('PostCodeLookupDialog', '', containerId);\n });\n }\n SlideBack(containerElement) {\n $('#' + containerElement + 'AddressList').animate({\n marginRight: '-1500px'\n }, 500, function() {\n $('#' + containerElement).animate({\n marginLeft: '0px'\n }, 500, function() {\n $('#' + containerElement + 'AddressList').html('');\n });\n });\n }\n ContainingElement(elementID) {\n this.ElementID = elementID;\n }\n}\nlet $0f9b377c2aa86abc$export$f5c65d7eccbf77d4 = new $0f9b377c2aa86abc$var$Address();\n\n\n//import kendo from '@progress/kendo-ui';\n\nclass $1ab168822f4abc32$var$Mapping {\n constructor(){\n this.green = '#00C800';\n this.blue = '#4472c4';\n this.selectedDepotId = null;\n this.map = null;\n this.infobox = null;\n this.depots = [];\n this.debug = false;\n this.manufacturerId = 0;\n this.serviceId = 0;\n this.level = 1;\n this.tier = 1;\n this.postcode = null;\n this.serviceType = null;\n this.customerId = null;\n }\n ResetState() {\n $('#grid').html('');\n $('#map').html('');\n this.selectedDepotId = null;\n this.map = null;\n this.infobox = null;\n this.depots = [];\n this.manufacturerId = 0;\n this.serviceId = 0;\n this.postcode = null;\n }\n SetManufacturerId(manufacturerId) {\n this.manufacturerId = manufacturerId;\n }\n SetServiceType(serviceType) {\n this.serviceType = serviceType;\n }\n SetCustomerId(customerId) {\n this.customerId = customerId;\n }\n GetPostcodeCoordinates() {\n kendo.ui.progress($(\"body\"), true);\n let _this = this;\n if (this.postcode != $('#jobPostcode').val()) {\n this.ResetState();\n this.postcode = $('#jobPostcode').val();\n var coordinatesRequest = (0, $0f9b377c2aa86abc$export$f5c65d7eccbf77d4).GetCoordinates(this.postcode, $('input[name=__RequestVerificationToken]').val(), '');\n $.when(coordinatesRequest).then(function(coordinates) {\n _this.coordinates = coordinates;\n _this.RefreshMap(coordinates);\n var depotsRequest = _this.GetDepotList(coordinates.latitude, coordinates.longitude);\n $.when(depotsRequest).then(function(response) {\n _this.depots = response;\n var clusterDepots = false;\n _this.PlotDepots(clusterDepots);\n _this.RefreshDepotList();\n kendo.ui.progress($(\"body\"), false);\n });\n });\n } else kendo.ui.progress($(\"body\"), false);\n }\n RefreshMap(coords) {\n let _this = this;\n if (!coords) coords = _this.coordinates;\n // Create map\n var jobLocation = new Microsoft.Maps.Location(coords.latitude, coords.longitude);\n _this.map = new Microsoft.Maps.Map(document.getElementById('map'), {\n center: jobLocation,\n zoom: 12\n });\n // Create an infobox for depot information. This is hidden by default, and\n // populated and displayed when a pushpin is selected\n _this.infobox = new Microsoft.Maps.Infobox(_this.map.getCenter(), {\n visible: false,\n autoAlignment: true\n });\n _this.infobox.setMap(_this.map);\n // Draw proximity circles\n Microsoft.Maps.loadModule('Microsoft.Maps.SpatialMath', function() {\n // Inner circle\n var greenFill = new Microsoft.Maps.Color(0.1, 0, 200, 0);\n var greenStroke = new Microsoft.Maps.Color(1, 0, 200, 0);\n _this.DrawMapCircle(jobLocation, 5, greenFill, greenStroke);\n // Outer circle\n var blueFill = new Microsoft.Maps.Color(0, 0, 0, 200);\n var blueStroke = new Microsoft.Maps.Color(1, 0, 0, 200);\n _this.DrawMapCircle(jobLocation, 10, blueFill, blueStroke);\n // Add a pushpin at the user's location.\n var pin = new Microsoft.Maps.Pushpin(jobLocation);\n _this.map.entities.push(pin);\n });\n }\n}\nlet $1ab168822f4abc32$export$9d1417450875059f = new $1ab168822f4abc32$var$Mapping();\n\n\nclass $3a1136aee2ee508e$var$VE103 {\n constructor(){\n // Anchors\n this.vehicleSearchAnchor = \"VehicleSearchAnchor\";\n this.vehicleAnchor = \"VehicleAnchor\";\n this.ve103Anchor = \"VE103Anchor\";\n this.driverAnchor = \"DriverAnchor\";\n this.driverAddressAnchor = \"DriverAddressAnchor\";\n this.summaryAnchor = \"SummaryAnchor\";\n this.postageAnchor = \"PostageAnchor\";\n this.ve103InfoPage1Anchor = 've103InfoPage1Anchor';\n this.ve103InfoPage2Anchor = 've103InfoPage2Anchor';\n // Navigation Text\n this.vehicleSearchNavigationText = \"Vehicle Search\";\n this.vehicleNavigationText = \"Vehicle Details\";\n this.ve103NavigationText = \"Travel Dates\";\n this.driverNavigationText = \"Driver Details\";\n this.driverAddressNavigationText = \"Driver Address\";\n this.summaryNavigationText = \"Summary\";\n this.postageNavigationText = \"Delivery\";\n this.ve103InfoPage1Text = 'Info';\n this.ve103InfoPage2Text = 'Info2';\n this.viewModel = null;\n this.vehicle = null;\n this.clicked = false;\n this.createCertificatePressed = false;\n this.returnToSummary = false;\n this.orderTotal = 0;\n this.postageOptions = {};\n this.postageServiceId = null;\n this.postageService = null;\n this.useDeliveryAddress = false;\n this.useInvoiceAddress = false;\n this.certificateReference = null;\n this.doBounce = null;\n this.utilities = (0, $254a84bc556d8bd3$export$366dc4c52172531e);\n this.numOfDrivers = 1;\n this.vehicleSearchDetails = \"VehicleSearchDetails\";\n this.vehicleDetails = \"VehicleDetails\";\n this.ve103Details = \"VE103Details\";\n this.driverDetails = \"DriverDetails\";\n this.driverAddressDetails = \"DriverAddressDetails\";\n this.summaryDetails = \"SummaryDetails\";\n this.postageDetails = \"PostageDetails\";\n this.paymentDetails = \"PaymentDetails\";\n this.confirmation = \"Confirmation\";\n this.currentStage = this.vehicleDetails;\n this.ve103InfoPage1Details = 've103InfoPage1Details';\n this.ve103InfoPage2Details = 've103InfoPage2Details';\n this.stages = [\n this.vehicleSearchDetails,\n this.vehicleDetails,\n this.ve103InfoPage1Details,\n this.ve103InfoPage2Details,\n this.ve103Details,\n this.driverDetails,\n this.driverAddressDetails,\n this.postageDetails,\n this.summaryDetails,\n this.paymentDetails\n ];\n this.anchors = [\n this.vehicleSearchAnchor,\n this.vehicleAnchor,\n this.ve103InfoPage1Anchor,\n this.ve103InfoPage2Anchor,\n this.ve103Anchor,\n this.driverAnchor,\n this.driverAddressAnchor,\n this.postageAnchor,\n this.summaryAnchor\n ];\n this.navigationTexts = [\n this.vehicleSearchNavigationText,\n this.ve103InfoPage1Text,\n this.ve103InfoPage2Text,\n this.vehicleNavigationText,\n this.ve103NavigationText,\n this.driverNavigationText,\n this.driverAddressNavigationText,\n this.postageNavigationText,\n this.summaryNavigationText\n ];\n this.model = null;\n kendo.culture(\"en-GB\");\n this.BindFormControls();\n $(\"#fullPageContainer\").show();\n $(\"#breadcrumb, #mobileBreadcrumbNav\").removeClass('d-none');\n }\n SetVehicle(vehicleIn) {\n let _this = this;\n _this.vehicle = _this.model = vehicleIn;\n }\n Initialise() {\n let _this = this;\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '1: FT - entered registration'\n });\n var viewModelRequest = _this.GetViewModel();\n $.when(viewModelRequest).done(function(model) {\n _this.viewModel = model;\n if (model.hpi !== null && model.errors.length == 0) {\n $(\"#HpiExRegNo\").text(model.hpi.exRegNo);\n $(\"#HpiExMake\").text(model.hpi.exMake);\n $(\"#HpiExModel\").text(model.hpi.exModel);\n $(\"#HpiExFirstRegDate\").text(kendo.toString(new Date(model.hpi.exFirstRegDate), \"dd/MM/yyyy\"));\n //REMOVE FROM API - TODO\n //$(\"#vehicle-driver-company\").text(_this.vehicle.driverCompanyName);\n //$(\"#vehicle-lease-company\").text(_this.vehicle.customerName);\n if (model.hpi.exColour) $(\"#vehicle-colour\").html(`${model.hpi.exColour}`);\n else {\n $(\"#vehicle-colour\").append('');\n var colourSelect = $(\"#vehicle-colour-select\").append($(\"
  • `;\n listItem += ``;\n listItem += `
    ${parseInt(parseInt(index) + 1)}
    `;\n listItem += `
    ${_this.navigationTexts[index]}
    `;\n listItem += \"
    \";\n listItem += \"
  • \";\n $(\"#serviceBreadcrumb\").append(listItem);\n });\n // Postage\n $(\"input[type=radio][name=Postage]\").change(function() {\n _this.SetNextButtonText();\n });\n // Main Driver (Driver 1 of 3)\n $(\"#ButtonBackToMainDriver\").click(function() {\n $('[data-toggle=\"tooltip\"]').tooltip('hide');\n _this.DisplayStage(_this.driverDetails, 0);\n $(\"#AdditionalDriver1\").delay(500).hide();\n $(\"#ButtonUseAdditionalDriverOne\").closest(\".row\").show();\n });\n $(\"#ButtonBackToAdditionalDriverOne\").click(function() {\n $('[data-toggle=\"tooltip\"]').tooltip('hide');\n $(\"#AdditionalDriver2\").hide();\n _this.DisplayStage(_this.driverDetails, 1);\n });\n $(\".driver-next-button\").click(function() {\n const validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n validator.hideMessages();\n if (validator.validate()) {\n var activeSlide = _this.GetActiveSlide();\n $(\".slide\").hide();\n var activeSlideIndex = activeSlide.Index;\n if (_this.numOfDrivers > 1 && activeSlideIndex < _this.numOfDrivers - 1) _this.ShowStage(_this.driverDetails, false, activeSlideIndex + 1);\n else if (LAYOUT_MODE == 'mode2') _this.Navigate(_this.driverAddressDetails);\n else $(\"#DataProtectionSlide\").show();\n }\n });\n // Additional Driver 1 (Driver 2 of 3)\n $(\"#AdditionalDriver1\").hide();\n $(\"#ButtonUseAdditionalDriverOne\").click(function() {\n var validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n if (validator.validate()) {\n $(\"#MainDriver\").hide();\n $(\"#AdditionalDriver1\").show();\n _this.DisplayStage(_this.driverDetails, 1);\n $('#Driver_Additional1Title, #Driver_Additional1FirstName, #Driver_Additional1Surname').attr('required', 'required');\n _this.numOfDrivers = 2;\n $(\"#ButtonUseAdditionalDriverOne\").closest(\".row\").hide();\n }\n });\n $(\"#ButtonDoNotUseAdditionalDriverOne\").click(function() {\n var validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n validator.hideMessages();\n _this.DisplayStage(_this.driverDetails, 0);\n $(\"#AdditionalDriver1\").delay(500).hide();\n _this.numOfDrivers = 1;\n $(\"#ButtonUseAdditionalDriverOne\").closest(\".row\").show();\n // refresh form\n $(\"#Driver_Additional1Title\").data(\"kendoDropDownList\").select(0);\n $(\"#Driver_Additional1FirstName\").val(\"\");\n $(\"#Driver_Additional1Surname\").val(\"\");\n $('#Driver_Additional1Title, #Driver_Additional1FirstName, #Driver_Additional1Surname').removeAttr(\"required\");\n });\n // Additional Driver 2 (Driver 3 of 3)\n $(\"#AdditionalDriver2\").hide();\n $(\"#ButtonUseAdditionalDriverTwo\").click(function() {\n var validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n if (validator.validate()) {\n $(\"#AdditionalDriver1\").hide();\n $(\"#AdditionalDriver2\").show();\n _this.DisplayStage(_this.driverDetails, 2);\n $('#Driver_Additional2Title, #Driver_Additional2FirstName, #Driver_Additional2Surname').attr('required', 'required');\n _this.numOfDrivers = 3;\n $(\"#ButtonUseAdditionalDriverTwo\").closest(\".row\").hide();\n $(\"#ButtonDoNotUseAdditionalDriverOne\").closest(\".row\").hide();\n }\n });\n $(\"#ButtonDoNotUseAdditionalDriverTwo\").click(function() {\n var validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n validator.hideMessages();\n _this.DisplayStage(_this.driverDetails, 1);\n $(\"#AdditionalDriver2\").delay(500).hide();\n _this.numOfDrivers = 2;\n $(\"#ButtonUseAdditionalDriverTwo\").closest(\".row\").show();\n $(\"#ButtonDoNotUseAdditionalDriverOne\").closest(\".row\").show();\n // refresh form\n $(\"#Driver_Additional2Title\").data(\"kendoDropDownList\").select(0);\n $(\"#Driver_Additional2FirstName\").val(\"\");\n $(\"#Driver_Additional2Surname\").val(\"\");\n $('#Driver_Additional2Title, #Driver_Additional2FirstName, #Driver_Additional2Surname').removeAttr(\"required\");\n });\n // Data Protection\n $(\"#ButtonBackToDriverFromDataProtection\").click(function() {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).RemoveValidationStyles($('.privacyCheckboxValidation'));\n _this.ShowStage(_this.driverDetails, false, _this.numOfDrivers - 1);\n $(\"#DataProtectionSlide\").delay(500).hide();\n });\n // Delivery Address\n $(\"#AddressDelivery, #AddressDeliveryAddressList\").hide();\n $(\"#ButtonUseDeliveryAddress\").click(function() {\n _this.useDeliveryAddress = true;\n $(\"#AddressDelivery, #AddressDeliveryAddressList\").show();\n $(\"#ButtonUseDeliveryAddress\").hide();\n $(\"#CopyDeliveryToInvoice\").show();\n $(\"#ButtonDoNotUseDeliveryAddress\").show();\n $(\"#UseDeliveryAddress\").val(\"y\");\n $(\"#MainDriverAddress span\").hide();\n $(\"#AddressDelivery :input\").each(function() {\n if ($(this).attr(\"cached-required\")) {\n $(this).removeAttr(\"cached-required\");\n $(this).attr(\"required\", \"required\");\n }\n });\n $(\".delivery-address-next-button\").addClass(\"ml-2\");\n });\n $(\"#ButtonDoNotUseDeliveryAddress\").click(function() {\n _this.useDeliveryAddress = false;\n $(\"#AddressDelivery, #AddressDeliveryAddressList\").hide();\n $(\"#ButtonUseDeliveryAddress\").show();\n $(\"#ButtonDoNotUseDeliveryAddress\").hide();\n $(\"#CopyDeliveryToInvoice\").hide();\n $(\"#UseDeliveryAddress\").val(\"n\");\n $(\"#MainDriverAddress span\").show();\n $(\"#AddressDelivery :input\").val(\"\");\n $(\"#AddressDelivery :input\").each(function() {\n if ($(this).attr(\"required\")) {\n $(this).removeAttr(\"required\");\n $(this).attr(\"cached-required\", true);\n }\n });\n $(\".delivery-address-next-button\").removeClass(\"ml-2\");\n });\n // Invoice Address\n $(\"#AddressInvoice, #AddressInvoiceAddressList\").hide();\n $(\"#ButtonUseInvoiceAddress\").click(function() {\n _this.useInvoiceAddress = true;\n if ($(\"#AddressDelivery\").is(\":visible\")) $(\"#CopyDeliveryToInvoice\").show();\n $(\"#AddressInvoice, #AddressInvoiceAddressList\").show();\n $(\"#ButtonUseInvoiceAddress\").hide();\n $(\"#ButtonDoNotUseInvoiceAddress\").show();\n $(\"#UseInvoiceAddress\").val(\"y\");\n $(\"#InvoiceAddress span\").hide();\n $(\"#AddressInvoice :input\").each(function() {\n if ($(this).attr(\"cached-required\")) {\n $(this).removeAttr(\"cached-required\");\n $(this).attr(\"required\", \"required\");\n }\n });\n $(\".invoice-address-next-button\").addClass(\"ml-2\");\n });\n $(\"#ButtonDoNotUseInvoiceAddress\").click(function() {\n _this.useInvoiceAddress = false;\n $(\"#CopyDeliveryToInvoice\").show();\n $(\"#AddressInvoice, #AddressInvoiceAddressList\").hide();\n $(\"#ButtonUseInvoiceAddress\").show();\n $(\"#ButtonDoNotUseInvoiceAddress\").hide();\n $(\"#UseInvoiceAddress\").val(\"n\");\n $(\"#InvoiceAddress span\").show();\n $(\"#AddressInvoice :input\").val(\"\");\n $(\"#AddressInvoice :input\").each(function() {\n if ($(this).attr(\"required\")) {\n $(this).removeAttr(\"required\");\n $(this).attr(\"cached-required\", true);\n }\n });\n $(\"#InvoiceAddress span\").html(_this.GetDriverAddress());\n $(\".invoice-address-next-button\").removeClass(\"ml-2\");\n });\n // Fire a click event on do not use delivery/invoice address buttons to change 'required' attribute to 'cached-required'.\n // Invoice/delivery address hidden initially, so fields are not required.\n // When they are made visible, 'cached-required' attribute is changed to 'required'\n $(\"#ButtonDoNotUseDeliveryAddress\").trigger(\"click\");\n $(\"#ButtonDoNotUseInvoiceAddress\").trigger(\"click\");\n $(\"#ButtonCopyDeliveryAddressToInvoiceAddress\").click(function() {\n $(\"#AddressDelivery\").kendoValidator();\n var validator = $(\"#AddressDelivery\").data(\"kendoValidator\");\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).BindValidationStyles(validator);\n var addressValidated = validator.validate();\n if (addressValidated) {\n let addressName = $(\"#Driver_Title\").val();\n if ($(\"#Driver_MainFirstName\").val().length > 0) addressName += ` ${$(\"#Driver_MainFirstName\").val()}`;\n addressName += ` ${$(\"#Driver_MainSurname\").val()}`;\n addressName.trim();\n _this.useInvoiceAddress = true;\n $(\"#AddressInvoiceAddress_Name\").val(addressName);\n $(\"#AddressInvoiceAddress_AddressLine1\").val($(\"#AddressDeliveryAddress_AddressLine1\").val());\n $(\"#AddressInvoiceAddress_AddressLine2\").val($(\"#AddressDeliveryAddress_AddressLine2\").val());\n $(\"#AddressInvoiceAddress_Town\").val($(\"#AddressDeliveryAddress_Town\").val());\n $(\"#AddressInvoiceAddress_County\").val($(\"#AddressDeliveryAddress_County\").val());\n $(\"#AddressInvoicePostcode\").val($(\"#AddressDeliveryPostcode\").val());\n $(\"#InvoiceAddress span\").html(_this.GetInvoiceAddress());\n $(\"#ButtonDoNotUseInvoiceAddress\").show();\n $(\"#CopyDeliveryToInvoice\").hide();\n }\n });\n _this.BindDatePicker();\n (0, $0f9b377c2aa86abc$export$f5c65d7eccbf77d4).BindControls();\n $(\".nextButton span\").html(\"Next\");\n _this.BindNextButton(_this.driverDetails, _this.ve103Details);\n $(\".nextSlideButton\").on(\"click\", function() {\n const validator = _this.BindValidation($(\".slide:visible\").attr(\"id\"));\n const validated = validator.validate();\n if (validated) {\n const activeSlide = _this.GetActiveSlide();\n switch(activeSlide.Index){\n case 1:\n if ($('#InvoiceAddressContainer').css('display') == 'none') {\n $(\"#AddressInvoice :input\").each(function() {\n if ($(this).attr(\"required\")) $(this).removeAttr(\"required\");\n });\n $(\".nextButton\").first().trigger('click');\n } else {\n _this.DisplayStage(_this.postageDetails, 2);\n $('#postageDetailsTitle').text('Invoice');\n if ($(\"#AddressInvoiceAddress_AddressLine1\").val() === '') $(\"#InvoiceAddress span\").html(_this.GetDriverAddress());\n else $(\"#InvoiceAddress span\").html(_this.GetInvoiceAddress());\n }\n break;\n default:\n _this.DisplayStage(_this.postageDetails, 1);\n }\n }\n });\n $(\".backSlideButton\").click(function() {\n const activeSlide = _this.GetActiveSlide();\n $('#postageDetailsTitle').text('Postal Service');\n _this.DisplayStage(_this.postageDetails, activeSlide.Index - 1);\n });\n _this.BindTitles();\n //_utilities.BuildMobileBreadcrumbNav();\n // remove 8 n 9 breadcrumb\n if (LAYOUT_MODE == 'mode2') {\n $('#mobileBreadcrumbNav .mobile-breadcrumb:nth-last-child(2)').remove();\n $('#mobileBreadcrumbNav .mobile-breadcrumb:nth-last-child(2)').remove();\n }\n // Allow user to navigate to different sections from summary page\n let summaryPanel = $(\"#SummaryDetails\");\n summaryPanel.find(\"a\").on(\"click\", function() {\n // The links have data attributes representing the section and slide\n let anchor = $(this).data().sectionAnchor;\n let slide = $(this).data().sectionSlide;\n if (anchor) {\n _this.clicked = true;\n // Show a button to allow navigation back to summary\n let targetSection = $(`div[data-anchor=\"${anchor}\"]`);\n if (targetSection.find(\".back-to-summary\")) targetSection.find(\".back-to-summary\").show();\n // Go to section\n let stage = _this.TranslateAnchorToStage(anchor);\n if (slide !== null) _this.ShowStage(stage, false, slide);\n else _this.ShowStage(stage, false);\n }\n });\n // Allow navigation back to summary\n $(\".back-to-summary\").on(\"click\", function(event) {\n _this.clicked = true;\n _this.returnToSummary = true;\n _this.MoveToNextSection($(this).closest(\".section\"));\n });\n $('input.submitOnEnter').on('keyup', function(event) {\n if (event.keyCode === 13) {\n event.preventDefault();\n let btn = $(this).closest('.section').find('.btn-success');\n btn.trigger('click');\n }\n });\n }\n BindNextButton(stageNext, stageCurrent) {\n let _this = this;\n $(\".nextButton\").unbind(\"click\");\n $(\".nextButton\").click(function() {\n if ($(this).hasClass(\"createCertificateButton\")) {\n if ($('#newPrivacyCheckBox').prop(\"checked\")) {\n $('#DataProtectionSummary').hide();\n _this.CreateCertificate();\n } else $('#DataProtectionSummary').show();\n } else switch(stageCurrent.toLowerCase()){\n case 'vehicledetails':\n var mileageNotRequired = $('#mileageContainer').is(':hidden');\n if (mileageNotRequired) {\n _this.clicked = true;\n _this.Navigate(stageNext);\n } else {\n let validator = (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).GetVehicleValidator();\n let reasonValid = $('#AskBusinessUse').hasClass('d-none') ? true : $('#PersonalUse').kendoValidator().data('kendoValidator').validate();\n let valid = validator.validate();\n if (valid & reasonValid & (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).GetExtraValidator()) {\n if (!_this.model.class && $(\"#vehicle-class-select\").val().toUpperCase() === 'LCV' && _this.model.isAllowedAbroad !== 1) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowUserMessage('Vehicle Not Allowed Abroad', SITE_NOT_ALLOWED_MSG, false);\n $('#fullPageContainer').hide();\n kendo.ui.progress($('body'), false);\n return;\n }\n _this.clicked = true;\n _this.Navigate(stageNext);\n }\n }\n break;\n case 've103infopage1details':\n if ($('#agreedProceed').is(':checked')) {\n $('#agreedProceed').next('label').removeClass('text-danger');\n _this.clicked = true;\n _this.Navigate(stageNext);\n } else $('#agreedProceed').next('label').addClass('text-danger');\n break;\n case 've103infopage2details':\n if ($('#agreedUnderstood').is(':checked')) {\n $('#agreedUnderstood').next('label').removeClass('text-danger');\n _this.clicked = true;\n _this.Navigate(stageNext);\n } else $('#agreedUnderstood').next('label').addClass('text-danger');\n break;\n default:\n _this.clicked = true;\n _this.Navigate(stageNext);\n break;\n }\n });\n $('#agreedProceed, #agreedUnderstood').unbind().change(function() {\n if (this.checked) {\n _this.clicked = true;\n $(this).closest('.card').find('.nextButton').parent().removeClass('d-none');\n } else $(this).closest('.card').find('.nextButton').parent().addClass('d-none');\n });\n }\n BindBackButton(stageNext, stageCurrent) {\n let _this = this;\n $(\".backButton\").unbind(\"click\");\n if (stageCurrent === _this.postageDetails) $(\".backButton\").click(function() {\n var activeSlide = _this.GetActiveSlide();\n if (!activeSlide) return;\n switch(activeSlide.Index){\n case 0:\n _this.clicked = true;\n _this.NavigateBack(stageNext);\n break;\n case 1:\n _this.DisplayStage(_this.postageDetails, 0);\n $(\"#PostageDetails .nextButton span\").html(\"Next\");\n break;\n case 2:\n _this.DisplayStage(_this.postageDetails, 1);\n if (_this.orderTotal > 0) setTimeout(function() {\n $(\"#PostageDetails .nextButton span\").html(\"Next\");\n }, 300);\n break;\n }\n });\n else $(\".backButton\").click(function() {\n $('[data-toggle=\"tooltip\"]').tooltip('hide');\n if ($(this).html() === \"Not My Vehicle\") location.reload(true);\n else {\n _this.clicked = true;\n _this.NavigateBack(stageNext);\n }\n });\n }\n BindTitles() {\n $(\"#Driver_Title,#Driver_Additional1Title,#Driver_Additional2Title\").kendoDropDownList({\n dataSource: {\n transport: {\n read: {\n url: \"/Driver/GetAllDriverTitles\"\n }\n }\n },\n dataTextField: \"text\",\n dataValueField: \"value\"\n });\n }\n BindValidation(stage) {\n let _this = this;\n _this.stages.forEach(function(s) {\n var validator = $(`#${s}`).data(\"kendoValidator\");\n if (validator !== undefined) validator.destroy();\n });\n var container = $(`#${stage}`);\n container.kendoValidator({\n rules: {\n atLeastOneNumber: function(input) {\n if (input[0].id === \"AlternativePhone\" || input[0].id === \"Mobile\") {\n var value = \"\";\n $(container).find(\"#AlternativePhone,#Mobile\").each(function(index) {\n value += $(this).val();\n });\n if (value.length > 0) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).RemoveValidationStyles(input);\n return true;\n }\n return false;\n }\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).RemoveValidationStyles(input);\n return true;\n },\n dataProtection: function(input) {\n var activeSlide = _this.GetActiveSlide();\n if (activeSlide && activeSlide.Id === \"DataProtectionSlide\" && input[0].id === \"PrivacyCheckBox\") return $(container).find(\"#PrivacyCheckBox\").is(\":checked\");\n return true;\n },\n radio: function(input) {\n if (input.filter(\"[type=radio]\").length > 0 && input.attr(\"required\")) return $(container).find(`[name=${input.attr(\"name\")}]`).is(\":checked\");\n return true;\n }\n },\n messages: {\n radio: \"Select an option\"\n }\n });\n var validator = $(container).data(\"kendoValidator\");\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).BindValidationStyles(validator);\n return validator;\n }\n ShowStage(stage, fromVehicleSearch, slideIndex) {\n let _this = this;\n // hide all sections and slides\n $(\".section\").hide();\n $(\".slide\").hide();\n $(\".nextButton\").show();\n _this.currentStage = stage;\n switch(stage){\n case _this.vehicleSearchDetails:\n break;\n case _this.vehicleDetails:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '2: FT - Vehicle Details'\n });\n if (fromVehicleSearch === true) _this.clicked = true;\n _this.BindNextButton(_this.ve103InfoPage1Details, _this.currentStage);\n _this.BindBackButton(_this.vehicleSearchDetails, _this.currentStage);\n break;\n case _this.ve103InfoPage1Details:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '3: FT - Info Page 1'\n });\n _this.BindNextButton(_this.ve103InfoPage2Details, _this.currentStage);\n _this.BindBackButton(_this.vehicleDetails, _this.currentStage);\n break;\n case _this.ve103InfoPage2Details:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '4: FT - Info Page 2'\n });\n _this.BindNextButton(_this.ve103Details, _this.currentStage);\n _this.BindBackButton(_this.ve103InfoPage1Details, _this.currentStage);\n break;\n case _this.ve103Details:\n if (_this.model.businessUse === 'Y') {\n if ($('#PersonalUse').val() === 'N') {\n $(\"#CompanyPaysMsg\").removeClass('d-none');\n $(\"#VE103Cost\").text(\"\\xa30.00\");\n } else {\n let cost = _this.viewModel.vE103Cost;\n $(\"#VE103Cost\").text(`\\xa3${cost.toFixed(2)}`);\n $(\"#CompanyPaysMsg\").addClass('d-none');\n }\n }\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '5: FT - VE103 Details'\n });\n _this.BindNextButton(_this.driverDetails, _this.currentStage);\n _this.BindBackButton(_this.ve103InfoPage2Details, _this.currentStage);\n break;\n case _this.driverDetails:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '6: FT - Driver Details'\n });\n _this.BindNextButton(_this.driverAddressDetails, _this.currentStage);\n _this.BindBackButton(_this.ve103Details, _this.currentStage);\n break;\n case _this.driverAddressDetails:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '7: FT - Driver Address Details'\n });\n _this.BindNextButton(_this.postageDetails, _this.currentStage);\n _this.BindBackButton(_this.driverDetails, _this.currentStage);\n break;\n case _this.postageDetails:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '8: FT - Postage Details'\n });\n $(\"#MainDriverAddress span\").html(_this.GetDriverAddress());\n if ($(\"#AddressInvoiceAddress_AddressLine1\").val() === '') $(\"#InvoiceAddress span\").html(_this.GetDriverAddress());\n else $(\"#InvoiceAddress span\").html(_this.GetInvoiceAddress());\n $(\"#AddressDelivery :input\").each(function() {\n if ($(this).attr(\"required\")) {\n $(this).removeAttr(\"required\");\n $(this).attr(\"cached-required\", true);\n }\n });\n $(\"#AddressInvoice :input\").each(function() {\n if ($(this).attr(\"required\")) {\n $(this).removeAttr(\"required\");\n $(this).attr(\"cached-required\", true);\n }\n });\n _this.BindNextButton(_this.summaryDetails, _this.currentStage);\n _this.BindBackButton(_this.driverAddressDetails, _this.currentStage);\n break;\n case _this.summaryDetails:\n gtag('event', 'entered', {\n 'event_category': 'section',\n 'event_label': '9: FT - Summary'\n });\n var totalCost = _this.orderTotal;\n if (_this.model.businessUse === 'Y') {\n if ($('#PersonalUse').val() === 'N') totalCost -= _this.viewModel.vE103Cost;\n }\n if (totalCost <= 0) $(\"#SummaryDetails .nextButton span\").html(\"Order Certificate\");\n else $(\"#SummaryDetails .nextButton span\").html(\"Proceed to Payment\");\n _this.PopulateSummary(totalCost);\n _this.BindNextButton(_this.paymentDetails, _this.currentStage);\n _this.BindBackButton(_this.postageDetails, _this.currentStage);\n break;\n case _this.confirmation:\n $(\"#CertificateReference\").text(_this.certificateReference);\n $(\".nextButton\").hide();\n break;\n }\n let anchor = _this.TranslateStageToAnchor(stage);\n _this.DisplayStage(stage, slideIndex);\n _this.RefreshPageModel();\n (0, $254a84bc556d8bd3$export$366dc4c52172531e).RefreshMobileBreadcrumbNav();\n }\n PostageDetails(stage, slideIndex) {\n // hide all sections and slides\n $(\".section\").hide();\n $(\".slide\").hide();\n // Show the required stage/slide\n if ($.isNumeric(slideIndex)) {\n $(`#${stage}`).show();\n $($(`#${stage}`).find(\".slide\")[slideIndex]).show();\n } else $(`#${stage}`).show();\n }\n DisplayStage(stage, slideIndex) {\n // hide all sections and slides\n $(\".section\").hide();\n $(\".slide\").hide();\n // Show the required stage/slide\n if ($.isNumeric(slideIndex)) {\n $(`#${stage}`).show();\n $($(`#${stage}`).find(\".slide\")[slideIndex]).show();\n } else $(`#${stage}`).show();\n }\n GetActiveSlide() {\n var activeSlideId = \"\";\n var activeSlideIndex = 0;\n var count = 0;\n $(\".section:visible\").find(\".slide\").each(function() {\n if ($(this).is(\":visible\")) {\n activeSlideId = $(this).attr(\"id\");\n activeSlideIndex = count;\n }\n count++;\n });\n return {\n Index: activeSlideIndex,\n Id: activeSlideId\n };\n }\n PopulateSummary(totalCost) {\n let _this = this;\n if (_this.viewModel.hpi.exRegNo) $(\"#SummaryRegistration\").text(_this.viewModel.hpi.exRegNo);\n else $(\"#SummaryRegistration\").text(_this.viewModel.vehicle.registration);\n if (_this.viewModel.hpi.exMake) $(\"#SummaryMake\").text(_this.viewModel.hpi.exMake);\n else $(\"#SummaryMake\").text(_this.viewModel.vehicle.manufacturer);\n if (_this.viewModel.hpi.exModel) $(\"#SummaryModel\").text(_this.viewModel.hpi.exModel);\n else $(\"#SummaryModel\").text(_this.viewModel.vehicle.description);\n if (_this.viewModel.hpi.exFirstRegDate) {\n $(\"#SummaryRegisteredDate\").closest(\".row\").show();\n $(\"#SummaryRegisteredDate\").text(kendo.toString(new Date(_this.viewModel.hpi.exFirstRegDate), \"dd/MM/yyyy\"));\n } else $(\"#SummaryRegisteredDate\").closest(\".row\").hide();\n if (_this.viewModel.hpi.exColour) {\n $(\"#SummaryColour\").closest(\".row\").show();\n $(\"#SummaryColour\").text(_this.viewModel.hpi.exColour);\n } else $(\"#SummaryColour\").closest(\".row\").hide();\n if (_this.viewModel.vehicle.businessUse === 'Y') {\n let val = $('#PersonalUse').val() === 'Y' ? 'Pleasure' : 'Business';\n $(\"#SummaryBusinessUse\").closest(\".row\").show();\n $(\"#SummaryBusinessUse\").text(val);\n } else $(\"#SummaryBusinessUse\").closest(\".row\").hide();\n $(\"#SummaryLeaseCompany\").text(_this.viewModel.vehicle.customerName);\n $(\"#SummaryCertificateStartDate\").text($(\"#StartDate\").val());\n $(\"#SummaryMainDriver\").text(`${$(\"#Driver_Title\").val()} ${$(\"#Driver_MainFirstName\").val()} ${$(\"#Driver_MainSurname\").val()}`);\n if (_this.numOfDrivers >= 2) {\n $(\"#SummarySecondDriver\").closest(\".row.no-gutters\").show();\n $(\"#SummarySecondDriver\").text(`${$(\"#Driver_Additional1Title\").val()} ${$(\"#Driver_Additional1FirstName\").val()} ${$(\"#Driver_Additional1Surname\").val()}`);\n } else $(\"#SummarySecondDriver\").closest(\".row.no-gutters\").hide();\n if (_this.numOfDrivers >= 3) {\n $(\"#SummaryThirdDriver\").closest(\".row.no-gutters\").show();\n $(\"#SummaryThirdDriver\").text(`${$(\"#Driver_Additional2Title\").val()} ${$(\"#Driver_Additional2FirstName\").val()} ${$(\"#Driver_Additional2Surname\").val()}`);\n } else $(\"#SummaryThirdDriver\").closest(\".row.no-gutters\").hide();\n var address = \"\";\n if ($(\"#AddressDriverAddress_AddressLine1\").val()) address += `${$(\"#AddressDriverAddress_AddressLine1\").val()}
    `;\n if ($(\"#AddressDriverAddress_AddressLine2\").val()) address += `${$(\"#AddressDriverAddress_AddressLine2\").val()}
    `;\n if ($(\"#AddressDriverAddress_Town\").val()) address += `${$(\"#AddressDriverAddress_Town\").val()}
    `;\n if ($(\"#AddressDriverAddress_County\").val()) address += `${$(\"#AddressDriverAddress_County\").val()}
    `;\n if ($(\"#AddressDriverPostcode\").val()) address += `${$(\"#AddressDriverPostcode\").val()}
    `;\n $(\"#SummaryAddress\").html(address);\n if (_this.useDeliveryAddress === true) {\n $(\"#SummaryDeliveryAddress\").closest(\".row.no-gutters\").show();\n let deliveryAddress = {};\n deliveryAddress.line1 = $(\"#AddressDeliveryAddress_AddressLine1\").val().trim();\n deliveryAddress.line2 = $(\"#AddressDeliveryAddress_AddressLine2\").val().trim();\n deliveryAddress.town = $(\"#AddressDeliveryAddress_Town\").val().trim();\n deliveryAddress.county = $(\"#AddressDeliveryAddress_County\").val().trim();\n deliveryAddress.postcode = $(\"#AddressDeliveryPostcode\").val().trim();\n $(\"#SummaryDeliveryAddress\").html('');\n for(let prop in deliveryAddress){\n if (deliveryAddress.hasOwnProperty(prop)) {\n if (deliveryAddress[prop]) $(\"#SummaryDeliveryAddress\").append(`${deliveryAddress[prop]}
    `);\n }\n }\n } else {\n $(\"#SummaryDeliveryAddress\").closest(\".row.no-gutters\").show();\n $(\"#SummaryDeliveryAddress\").html(address);\n }\n if (_this.useInvoiceAddress === true) {\n $(\"#SummaryInvoiceAddress\").closest(\".row.no-gutters\").show();\n let invoiceAddress = {};\n invoiceAddress.line1 = $(\"#AddressInvoiceAddress_AddressLine1\").val().trim();\n invoiceAddress.line2 = $(\"#AddressInvoiceAddress_AddressLine2\").val().trim();\n invoiceAddress.town = $(\"#AddressInvoiceAddress_Town\").val().trim();\n invoiceAddress.county = $(\"#AddressInvoiceAddress_County\").val().trim();\n invoiceAddress.postcode = $(\"#AddressInvoicePostcode\").val().trim();\n $(\"#SummaryInvoiceAddress\").html('');\n for(let prop in invoiceAddress){\n if (invoiceAddress.hasOwnProperty(prop)) {\n if (invoiceAddress[prop]) $(\"#SummaryInvoiceAddress\").append(`${invoiceAddress[prop]}
    `);\n }\n }\n } else {\n let $invoiceAddressItem = $(\"#SummaryInvoiceAddress\").closest(\".row.no-gutters\");\n if ($('#InvoiceAddressContainer').css('display') == 'none') $invoiceAddressItem.hide();\n else $invoiceAddressItem.show();\n $(\"#SummaryInvoiceAddress\").html(address);\n }\n $(\"#SummaryPostage\").html(_this.postageService);\n $(\"#SummaryCost\").html(`\\xa3${Number.parseFloat(totalCost).toFixed(2)}`);\n }\n RefreshPageModel() {\n let _this = this;\n _this.model.Vehicle = {\n RegNumber: _this.viewModel.hpi.exRegNo ? _this.viewModel.hpi.exRegNo : _this.viewModel.vehicle.registration,\n FirstRegDate: _this.viewModel.hpi.exFirstRegDate ? _this.viewModel.hpi.exFirstRegDate : undefined,\n Make: _this.viewModel.hpi.exMake ? _this.viewModel.hpi.exMake : _this.viewModel.vehicle.manufacturer,\n Model: _this.viewModel.hpi.exModel ? _this.viewModel.hpi.exModel : _this.viewModel.vehicle.description,\n Color: _this.viewModel.hpi.exFirstRegDate ? _this.viewModel.hpi.exColour : undefined,\n MileageEntered: $(\"#Mileage\").val()\n };\n _this.model.DriverCompany = _this.viewModel.vehicle.driverCompanyName;\n _this.model.LeaseCompany = _this.viewModel.vehicle.leaseCompanyName;\n _this.model.BusinessUse = _this.viewModel.vehicle.BusinessUse;\n _this.model.Certificate = {\n StartDate: $(\"#StartDate\").val()\n };\n _this.model.MainDriver = {\n Title: $(\"#Driver_Title\").val(),\n FirstName: $(\"#Driver_MainFirstName\").val(),\n LastName: $(\"#Driver_MainSurname\").val(),\n Address: {\n AddressLine1: $(\"#AddressDriverAddress_AddressLine1\").val(),\n AddressLine2: $(\"#AddressDriverAddress_AddressLine2\").val(),\n Town: $(\"#AddressDriverAddress_Town\").val(),\n County: $(\"#AddressDriverAddress_County\").val(),\n Postcode: $(\"#AddressDriverPostcode\").val()\n }\n };\n if (_this.numOfDrivers >= 2) _this.model.SecondDriver = {\n Title: $(\"#Driver_Additional1Title\").val(),\n FirstName: $(\"#Driver_Additional1FirstName\").val(),\n LastName: $(\"#Driver_Additional1Surname\").val()\n };\n else _this.model.SecondDriver = undefined;\n if (_this.numOfDrivers >= 3) _this.model.ThirdDriver = {\n Title: $(\"#Driver_Additional2Title\").val(),\n FirstName: $(\"#Driver_Additional2FirstName\").val(),\n LastName: $(\"#Driver_Additional2Surname\").val()\n };\n else _this.model.ThirdDriver = undefined;\n _this.model.DeliveryAddress = _this.useDeliveryAddress !== true ? _this.model.MainDriver.Address : {\n AddressLine1: $(\"#AddressDeliveryAddress_AddressLine1\").val().trim(),\n AddressLine2: $(\"#AddressDeliveryAddress_AddressLine2\").val().trim(),\n Town: $(\"#AddressDeliveryAddress_Town\").val().trim(),\n County: $(\"#AddressDeliveryAddress_County\").val().trim(),\n Postcode: $(\"#AddressDeliveryPostcode\").val().trim()\n };\n _this.model.InvoiceAddress = _this.useInvoiceAddress !== true ? _this.model.MainDriver.Address : {\n AddressLine1: $(\"#AddressInvoiceAddress_AddressLine1\").val().trim(),\n AddressLine2: $(\"#AddressInvoiceAddress_AddressLine2\").val().trim(),\n Town: $(\"#AddressInvoiceAddress_Town\").val().trim(),\n County: $(\"#AddressInvoiceAddress_County\").val().trim(),\n Postcode: $(\"#AddressInvoicePostcode\").val().trim()\n };\n _this.model.PostageService = _this.postageService;\n _this.model.OrderTotal = `\\xa3${Number.parseFloat(_this.orderTotal).toFixed(2)}`;\n }\n OrderTotal() {\n let _this = this;\n var result = $.Deferred();\n if ($(\"input[name='Postage']:checked\").val() !== undefined) {\n _this.postageServiceId = $(\"input[name=Postage]:checked\").val();\n let postageItem = _this.postageOptions.filter((option)=>option.id.toString() === _this.postageServiceId)[0];\n _this.postageService = postageItem.description;\n _this.postageServiceCode = postageItem.code;\n if (_this.postageServiceCode.toUpperCase() !== 'STANDARD') $(\"#ConfirmPostalContainer\").removeClass('d-none');\n else $(\"#ConfirmPostalContainer\").addClass('d-none');\n }\n $.ajax({\n url: `/foreigntravel/getordertotal?postageserviceid=${_this.postageServiceId}`,\n type: \"GET\",\n cache: false,\n success: function(data, status, xhr) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(xhr.responseText);\n console.log(thrownError);\n kendo.ui.progress($(\"#VehicleSearchForm\"), false);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n }\n });\n return result.promise();\n }\n CreateCertificate() {\n let _this = this;\n if (!_this.createCertificatePressed) {\n _this.createCertificatePressed = true;\n var validator = _this.BindValidation($(\".section:visible\").attr(\"id\"));\n if (!validator.validate()) return;\n var seats = null;\n var colour = null;\n var vehicleClass = null;\n if (_this.viewModel.hpi.exSeating) seats = _this.viewModel.hpi.exSeating;\n else seats = $(\"#vehicle-number-of-seats-select\").val();\n if (_this.viewModel.hpi.exColour) colour = _this.viewModel.hpi.exColour;\n else colour = $(\"#vehicle-colour-select\").val();\n if (_this.viewModel.vehicle.class) vehicleClass = _this.viewModel.vehicle.class;\n else vehicleClass = $(\"#vehicle-class-select\").val();\n var data = {\n PostageServiceID: _this.postageServiceId,\n StartDate: $(\"#StartDate\").val(),\n Telephone: $(\"#AlternativePhone\").val().length > 0 ? $(\"#AlternativePhone\").val() : $(\"#Mobile\").val(),\n Email: $(\"#Email\").val(),\n DriverMainTitle: $(\"#Driver_Title\").val(),\n DriverMainFirstName: $(\"#Driver_MainFirstName\").val(),\n DriverMainSurname: $(\"#Driver_MainSurname\").val(),\n DriverMainAddressLine1: $(\"#AddressDriverAddress_AddressLine1\").val(),\n DriverMainAddressLine2: $(\"#AddressDriverAddress_AddressLine2\").val(),\n DriverMainTown: $(\"#AddressDriverAddress_Town\").val(),\n DriverMainCounty: $(\"#AddressDriverAddress_County\").val(),\n DriverMainPostcode: $(\"#AddressDriverPostcode\").val(),\n AdditionalDriver1_Title: $(\"#Driver_Additional1Title\").val(),\n AdditionalDriver1_FirstName: $(\"#Driver_Additional1FirstName\").val(),\n AdditionalDriver1_Surname: $(\"#Driver_Additional1Surname\").val(),\n AdditionalDriver2_Title: $(\"#Driver_Additional2Title\").val(),\n AdditionalDriver2_FirstName: $(\"#Driver_Additional2FirstName\").val(),\n AdditionalDriver2_Surname: $(\"#Driver_Additional2Surname\").val(),\n DeliveryAddressName: $(\"#AddressDeliveryAddress_Name\").val(),\n DeliveryAddressLine1: $(\"#AddressDeliveryAddress_AddressLine1\").val(),\n DeliveryAddressLine2: $(\"#AddressDeliveryAddress_AddressLine2\").val(),\n DeliveryTown: $(\"#AddressDeliveryAddress_Town\").val(),\n DeliveryCounty: $(\"#AddressDeliveryAddress_County\").val(),\n DeliveryPostcode: $(\"#AddressDeliveryPostcode\").val(),\n InvoiceAddressName: $(\"#AddressInvoiceAddress_Name\").val(),\n InvoiceAddressLine1: $(\"#AddressInvoiceAddress_AddressLine1\").val(),\n InvoiceAddressLine2: $(\"#AddressInvoiceAddress_AddressLine2\").val(),\n InvoiceTown: $(\"#AddressInvoiceAddress_Town\").val(),\n InvoiceCounty: $(\"#AddressInvoiceAddress_County\").val(),\n InvoicePostcode: $(\"#AddressInvoicePostcode\").val(),\n UseDeliveryAddress: $(\"#UseDeliveryAddress\").val(),\n UseBillingAddress: $(\"#UseInvoiceAddress\").val(),\n VehicleClass: vehicleClass,\n VehicleNumberOfSeats: seats,\n VehicleColour: colour,\n PersonalUse: $(\"#PersonalUse\").val()\n };\n $.ajax({\n type: \"POST\",\n url: \"/foreigntravel/createcertificate\",\n data: data,\n dataType: \"json\",\n success: function(idata, status, xhr) {\n if (xhr.status === 200) {\n _this.certificateReference = idata.Reference;\n if (_this.certificateReference === null) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n return;\n }\n let params = new URL(document.location).searchParams;\n let cmpParam = params.get(\"q\");\n if (idata.OrderTotal > 0) {\n var addressContainer = \"#AddressDriver\";\n if ($(\"#UseInvoiceAddress\").val() === \"y\") addressContainer = \"#AddressInvoice\";\n var address = \"\";\n var addressLine1 = $(addressContainer + \"Address_AddressLine1\").val();\n var addressLine2 = $(addressContainer + \"Address_AddressLine2\").val();\n var addressTown = $(addressContainer + \"Address_Town\").val();\n var addressCounty = $(addressContainer + \"Address_County\").val();\n var addressPostcode = $(addressContainer + \"Postcode\").val();\n if (addressLine1.length > 0) address += addressLine1 + \", \";\n if (addressLine2.length > 0) address += addressLine2 + \", \";\n if (addressTown.length > 0) address += addressTown + \", \";\n if (addressCounty.length > 0) address += addressCounty;\n var name = $(\"#Driver_Title\").val() + \" \" + $(\"#Driver_MainFirstName\").val() + \" \" + $(\"#Driver_MainSurname\").val();\n var telephone = $(\"#Telephone\").val();\n var email = $(\"#Email\").val();\n var description = `VE103 Foreign Travel Certificate - ${_this.postageService}`;\n var registration = $(\"#Registration\").val();\n $(\"#PaymentForm [name=cartId]\").val(_this.certificateReference);\n $(\"#PaymentForm [name=amount]\").val(idata.OrderTotal);\n $(\"#PaymentForm [name=name]\").val(name);\n $(\"#PaymentForm [name=address]\").val(address);\n $(\"#PaymentForm [name=postcode]\").val(addressPostcode);\n $(\"#PaymentForm [name=tel]\").val(telephone);\n $(\"#PaymentForm [name=email]\").val(email);\n $(\"#PaymentForm [name=desc]\").val(description);\n $(\"#PaymentForm [name=MC_Registration]\").val(registration);\n $(\"#PaymentForm [name=signature]\").val(idata.Signature);\n $(\"#PaymentForm [name=MC_RedirectURL]\").val(`${window.location.origin}/foreigntravel/confirmation?reference=${encodeURIComponent(_this.certificateReference)}&q=${cmpParam}`);\n $('#PaymentForm [name=MC_RedirectCancelledURL]').val(`${window.location.origin}/foreigntravel/confirmation?q=${cmpParam}`);\n $(\"#PaymentForm [name=MC_ReturnURL]\").val(window.location.href + \"/confirmation\");\n $(\"#PaymentForm\").submit();\n } else if (params.has(\"q\")) window.location.href = `/foreigntravel/confirmation?reference=${encodeURIComponent(_this.certificateReference)}&q=${params.get(\"q\")}`;\n else window.location.href = `/foreigntravel/confirmation?reference=${encodeURIComponent(_this.certificateReference)}`;\n } else (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n },\n error: function(xhr, ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(xhr.responseText);\n console.log(thrownError);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n _this.createCertificatePressed = false;\n },\n complete: function() {}\n });\n }\n }\n GetDriverAddress() {\n var address = \"\";\n address += $(\"#Driver_Title\").val();\n if ($(\"#Driver_MainFirstName\").val().length > 0) address += ` ${$(\"#Driver_MainFirstName\").val()}`;\n address += ` ${$(\"#Driver_MainSurname\").val()}
    `;\n address.trim();\n if ($(\"#AddressDriverAddress_AddressLine1\").val().length > 0) address += `${$(\"#AddressDriverAddress_AddressLine1\").val()}
    `;\n if ($(\"#AddressDriverAddress_AddressLine2\").val().length > 0) address += `${$(\"#AddressDriverAddress_AddressLine2\").val()}
    `;\n if ($(\"#AddressDriverAddress_Town\").val().length > 0) address += `${$(\"#AddressDriverAddress_Town\").val()}
    `;\n if ($(\"#AddressDriverAddress_County\").val().length > 0) address += `${$(\"#AddressDriverAddress_County\").val()}
    `;\n if ($(\"#AddressDriverPostcode\").val().length > 0) address += `${$(\"#AddressDriverPostcode\").val().toUpperCase()}
    `;\n address = address.substr(0, address.lastIndexOf(\"
    \"));\n return address;\n }\n GetDeliveryAddress() {\n var address = \"\";\n if ($(\"#AddressDeliveryAddress_Name\").val() !== undefined) address += `${$(\"#AddressDeliveryAddress_Name\").val()}
    `;\n else {\n address += $(\"#Driver_Title\").val();\n if ($(\"#Driver_MainFirstName\").val().length > 0) address += ` ${$(\"#Driver_MainFirstName\").val()}`;\n address += ` ${$(\"#Driver_MainSurname\").val()}
    `;\n }\n address.trim();\n if ($(\"#AddressDeliveryAddress_AddressLine1\").val().length > 0) address += `${$(\"#AddressDeliveryAddress_AddressLine1\").val()}
    `;\n if ($(\"#AddressDeliveryAddress_AddressLine2\").val().length > 0) address += `${$(\"#AddressDeliveryAddress_AddressLine2\").val()}
    `;\n if ($(\"#AddressDeliveryAddress_Town\").val().length > 0) address += `${$(\"#AddressDeliveryAddress_Town\").val()}
    `;\n if ($(\"#AddressDeliveryAddress_County\").val().length > 0) address += `${$(\"#AddressDeliveryAddress_County\").val()}
    `;\n if ($(\"#AddressDeliveryPostcode\").val().length > 0) address += `${$(\"#AddressDeliveryPostcode\").val().toUpperCase()}
    `;\n address = address.substr(0, address.lastIndexOf(\"
    \"));\n return address;\n }\n GetInvoiceAddress() {\n var address = \"\";\n if ($(\"#AddressInvoiceAddress_Name\").val() !== undefined) address += `${$(\"#AddressInvoiceAddress_Name\").val()}
    `;\n else {\n address += $(\"#Driver_Title\").val();\n if ($(\"#Driver_MainFirstName\").val().length > 0) address += ` ${$(\"#Driver_MainFirstName\").val()}`;\n address += ` ${$(\"#Driver_MainSurname\").val()}
    `;\n }\n address.trim();\n if ($(\"#AddressInvoiceAddress_AddressLine1\").val().length > 0) address += `${$(\"#AddressInvoiceAddress_AddressLine1\").val()}
    `;\n if ($(\"#AddressInvoiceAddress_AddressLine2\").val().length > 0) address += `${$(\"#AddressInvoiceAddress_AddressLine2\").val()}
    `;\n if ($(\"#AddressInvoiceAddress_Town\").val().length > 0) address += `${$(\"#AddressInvoiceAddress_Town\").val()}
    `;\n if ($(\"#AddressInvoiceAddress_County\").val().length > 0) address += `${$(\"#AddressInvoiceAddress_County\").val()}
    `;\n if ($(\"#AddressInvoicePostcode\").val().length > 0) address += `${$(\"#AddressInvoicePostcode\").val().toUpperCase()}
    `;\n address = address.substr(0, address.lastIndexOf(\"
    \"));\n return address;\n }\n SetNextButtonText() {\n let _this = this;\n _this.OrderTotal().done(function(total) {\n _this.orderTotal = total;\n if (_this.model.businessUse === 'Y') {\n if ($('#PersonalUse').val() === 'N') total -= _this.viewModel.vE103Cost;\n }\n if (total > 0) $(\"#InvoiceAddressContainer\").show();\n else $(\"#InvoiceAddressContainer\").hide();\n $(\"#PostageDetails .nextButton span\").show();\n });\n }\n BindDatePicker() {\n var maxDate = new Date();\n maxDate.setDate(maxDate.getDate() + 90);\n var minDate = new Date();\n var kendoDatePicker = $(\"#StartDate\").data(\"kendoDatePicker\");\n if (typeof kendoDatePicker === \"undefined\") $(\"#StartDate\").kendoDatePicker({\n format: \"dd/MM/yyyy\",\n min: minDate,\n max: maxDate\n });\n $(\"#StartDate\").unbind(\"click\");\n $(\"#StartDate\").click(function() {\n $(\"#StartDate\").data(\"kendoDatePicker\").open();\n });\n }\n TranslateStageToAnchor(stage) {\n let _this = this;\n return _this.anchors[_this.stages.indexOf(stage)];\n }\n TranslateAnchorToStage(anchor) {\n let _this = this;\n return _this.stages[_this.anchors.indexOf(anchor)];\n }\n GetViewModel() {\n var result = $.Deferred();\n $.ajax({\n url: \"/foreigntravel/viewmodel\",\n type: \"GET\",\n cache: false,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {},\n complete: function() {}\n });\n return result.promise();\n }\n Navigate(nextStage) {\n let _this = this;\n var validated;\n var validator = _this.BindValidation($(\".section:visible\").attr(\"id\"));\n validated = validator.validate();\n if (nextStage === _this.ve103InfoPage1Details) validated = true;\n if (validated) {\n if (nextStage === _this.driverDetails || nextStage === _this.postageDetails) _this.ShowStage(nextStage, false, 0);\n else _this.ShowStage(nextStage, false);\n // Progress bar - Mark the currently active stage\n var currentStageIndex = _this.stages.indexOf(nextStage) - 1;\n $($(\".mobile-breadcrumb-nav li\")[currentStageIndex]).addClass(\"active\");\n // Progress bar - Mark the previous stage as completed\n var previousStageIndex = _this.stages.indexOf(nextStage) - 2;\n $($(\".mobile-breadcrumb-nav li\")[previousStageIndex]).removeClass(\"active\").addClass(\"validated\");\n window.scrollTo(0, 0);\n }\n }\n NavigateBack(nextStage) {\n let _this = this;\n if (nextStage === _this.postageDetails) {\n let addressStage = 2;\n if ($('#InvoiceAddressContainer').css('display') == 'none') addressStage = 1;\n _this.ShowStage(nextStage, false, addressStage);\n } else if (nextStage === _this.driverDetails) _this.ShowStage(nextStage, false, _this.numOfDrivers - 1);\n else _this.ShowStage(nextStage, false);\n }\n MoveToNextSection($currentSection) {\n var $nextSection = $currentSection.nextAll(\".section\").filter(\":visible\").first();\n this.Navigate($nextSection.prop(\"id\"));\n }\n}\nvar $3a1136aee2ee508e$export$2e2bcd8739ae039 = $3a1136aee2ee508e$var$VE103;\n\n\n\nlet $f90b7548d54d161a$export$76b090c025b4ff78;\nlet $f90b7548d54d161a$var$vehicleLookup;\nclass $f90b7548d54d161a$export$2e2bcd8739ae039 {\n constructor(){\n // local fields\n this._vehicle = undefined;\n // Class initialization\n this.BindFormControls();\n if ($('#ServiceIdentifier').val() === 'VE103') $f90b7548d54d161a$export$76b090c025b4ff78 = new (0, $3a1136aee2ee508e$export$2e2bcd8739ae039)();\n }\n // --------------------------------------------------\n // GETTER AND SETTER\n // --------------------------------------------------\n get Vehicle() {\n return this._vehicle;\n }\n set Vehicle(newVehicle) {\n this._vehicle = newVehicle;\n }\n // --------------------------------------------------\n // FUNCTIONS\n // --------------------------------------------------\n BindFormControls() {\n let _this = this;\n if ($('#ServiceIdentifier').val()) $('#vehicle-search-input').focus();\n else $('#Registration').focus();\n $('.i247service .fa-info-circle').click(function() {\n var windowText = $(this).data('infotext');\n var windowTitle = $(this).data('infotitle');\n var infoWindow = $('#infoWindow').kendoWindow({\n width: 'auto',\n height: 'auto',\n position: {\n top: 100\n }\n }).data('kendoWindow');\n infoWindow.title(windowTitle);\n infoWindow.content(windowText);\n infoWindow.center().open();\n });\n $('#ButtonSearchAgain').click(function() {\n $('#PrivacyStatement').hide();\n $('#SearchAgain').hide();\n $('#ServiceList').hide();\n $('#ServicesHeader').hide();\n $('#SearchForm').show();\n });\n $('#PrivacyCheckBox').change(function() {\n if ($(this).is(':checked')) _this.BindServiceButtons(true);\n else _this.BindServiceButtons(false);\n });\n }\n GetVehicle(vehicleRegistration, grecaptcharesponse) {\n let result = $.Deferred();\n // send the q as well, which has the customer id in it to filter the vehicles returned.\n let queryString = (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).GetQueryStringValue('q', null);\n let url = '/vehicle/GetVehicle?q=' + queryString + '&vehicleRegistration=' + vehicleRegistration + '&grecaptcharesponse=' + grecaptcharesponse;\n $.ajax({\n url: url,\n type: 'GET',\n cache: false,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(xhr.responseText);\n console.log(thrownError);\n kendo.ui.progress($('body'), false);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n },\n complete: function() {}\n });\n return result.promise();\n }\n GetVehicleServices(vehicleRegistration) {\n var result = $.Deferred();\n var url = '/vehicle/GetServices?vehicleRegistration=' + vehicleRegistration;\n $.ajax({\n url: url,\n type: 'GET',\n cache: false,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(xhr.responseText);\n console.log(thrownError);\n kendo.ui.progress($('body'), false);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n },\n complete: function() {}\n });\n return result.promise();\n }\n GetDriverCompanySettings(driverCompanyId) {\n let result = $.Deferred();\n let url = '/foreigntravel/GetDriverCompanySettings?&driverCompanyId=' + driverCompanyId;\n $.ajax({\n url: url,\n type: 'GET',\n cache: false,\n success: function(data) {\n result.resolve(data);\n },\n error: function(xhr, ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(xhr.responseText);\n console.log(thrownError);\n kendo.ui.progress($('body'), false);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n },\n complete: function() {}\n });\n return result.promise();\n }\n DoLookup(registration, grecaptcharesponse) {\n let _this = this;\n var serviceIdentifier = $('#ServiceIdentifier').val();\n $.get(\"/foreigntravel/CustomerLink\").fail(function() {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowGenericError();\n }).done(function(customer) {\n if (serviceIdentifier) {\n kendo.ui.progress($('body'), true);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).HideUserMessage();\n const registration = $('#vehicle-search-input').val().replace(' ', '').toUpperCase();\n let label = customer.name.substring(0, 1).toUpperCase() === 'A' ? 'an' : 'a';\n let serviceText = serviceIdentifier === 'VE103' ? 'Customer Service' : 'Tyres';\n let customerName = '';\n switch(customer.name){\n case 'Omodaandjaecoo':\n customerName = \"Omoda and Jaecoo Contract Hire\";\n break;\n case 'Mg':\n customerName = 'MG Contract Hire';\n break;\n case 'Hyundai':\n customerName = 'Hyundai Contract Hire';\n break;\n case 'Honda':\n customerName = 'Honda Contract Hire';\n break;\n case 'Byd':\n customerName = 'BYD';\n break;\n default:\n customerName = customer.name;\n break;\n }\n let vehicleNotFoundMessage1 = `

    Sorry no vehicle details are currently held against registration ${registration}. Please check the registration entered and try again.

    If registration still doesn\\u{2019}t validate, check this is definitely ${label} ${customerName} vehicle, contact the Driverline and select the option for ${serviceText}, one of the team will then call you to assist.

    Try again

    `;\n _this.GetVehicle(registration, grecaptcharesponse).done(function(vehicle1) {\n if (!vehicle1) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowUserMessage('Vehicle Not Found', vehicleNotFoundMessage1, true);\n kendo.ui.progress($('body'), false);\n return;\n }\n _this.ShowCallMe();\n _this.Vehicle = vehicle1;\n // isAllowedAbroad Msg\n if (serviceIdentifier === 'VE103' && _this.Vehicle.isAllowedAbroad != '1' && _this.Vehicle.isAllowedAbroad != null) {\n var msg = {\n title: '',\n body: ''\n };\n switch(_this.Vehicle.isAllowedAbroad){\n case 0:\n msg.title = 'Vehicle Not Allowed Abroad';\n msg.body = SITE_NOT_ALLOWED_MSG;\n break;\n case 2:\n msg.title = 'Authorisation Required';\n msg.body = SITE_AUTHORISATION_MSG;\n break;\n }\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowUserMessage(msg.title, msg.body, false);\n $('#fullPageContainer').hide();\n kendo.ui.progress($('body'), false);\n return;\n }\n _this.GetDriverCompanySettings(_this.Vehicle.driverCompanyId).done(function(settings) {\n var greenCardText = settings.filter((option)=>option.sysName.toUpperCase() === 'GREENCARDTEXT')[0];\n if (greenCardText !== undefined) $('#dcs_greenCardText').html(greenCardText.settingValue);\n });\n _this.GetVehicleServices(_this.Vehicle.registration).done(function(services) {\n if (services.length === 0 || services.indexOf(serviceIdentifier) === -1) {\n $('#no-services-found-for-vehicle-message').show();\n $('#ServicesHeader').hide();\n kendo.ui.progress($('body'), false);\n } else {\n $('#ServicesHeader').show();\n $('#no-services-found-for-vehicle-message').hide();\n if (serviceIdentifier === 'VE103') {\n $f90b7548d54d161a$export$76b090c025b4ff78.SetVehicle(_this.Vehicle);\n $f90b7548d54d161a$export$76b090c025b4ff78.Initialise();\n }\n }\n });\n if (_this.Vehicle.mileageCheckSuppression) $('#mileageContainer').hide();\n });\n } else {\n $('#PrivacyCheckBox').attr('checked', false);\n kendo.ui.progress($('body'), true);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).HideUserMessage();\n $('#ServicesHeader').hide();\n $('#ServiceList').hide();\n _this.GetVehicle(registration, grecaptcharesponse).done(function(vehicles) {\n if (!vehicle) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowUserMessage('Vehicle Not Found', vehicleNotFoundMessage, true);\n _this.ShowCallMe();\n kendo.ui.progress($('body'), false);\n return;\n }\n var selectedServiceUrl = $('#SelectedServiceUrl').val();\n if (selectedServiceUrl !== '') {\n window.location = selectedServiceUrl;\n return;\n }\n _this.Vehicle = vehicles[0];\n _this.GetVehicleServices(_this.Vehicle.registration).done(function(services) {\n kendo.ui.progress($('body'), false);\n $('.i247service').hide();\n $('#SearchAgain').hide();\n $('#ServiceList').hide();\n $('#PrivacyStatement').hide();\n if (services.length === 0) {\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).ShowUserMessage('Unable to Proceed', `

    We could not find any services associated with vehicle registration ${_this.Vehicle.registration}.

    Please call your dedicated Driverline for assistance.

    `, true);\n return;\n } else {\n $('#PrivacyStatement').show();\n $('#ServicesHeader').show();\n $('#HeaderRegistration').text(registration.toUpperCase());\n $('#HeaderVehicleMake').text(_this.Vehicle.manufacturer);\n $('#HeaderVehicleDescription').text(_this.Vehicle.description);\n $('#HeaderVehicleLeaseCompany').text(_this.Vehicle.customerName);\n $('#HeaderVehicleDriverCompany').text(_this.Vehicle.driverCompanyName);\n $('#SearchAgain').show();\n $('#SearchForm').hide();\n }\n $.each(services, function(i, service) {\n var selector = '#DIV' + service.toUpperCase();\n $(selector).show();\n });\n });\n });\n }\n });\n }\n ShowCallMe() {\n (0, $254a84bc556d8bd3$export$366dc4c52172531e).LoadHtmlTemplate('/ForeignTravel/GetEmailForm', {}, async function(template) {\n $('#email-helper').html(template);\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).InitialiseEmailSupportTab();\n });\n }\n BindServiceButtons(ShowService) {\n $('.i247service .gobutton').unbind('click');\n if (ShowService) {\n $('#ServiceList').slideDown();\n $('.i247service .gobutton').click(function() {\n window.location = $(this).data('url');\n });\n } else {\n $('#ServiceList').slideUp();\n $('.i247service .gobutton').click(function() {\n if (!$('#PrivacyCheckBox').is(':checked')) $('#PrivacyCheckBox').kendoTooltip({\n width: 240,\n position: 'top',\n animation: {\n open: {\n effects: 'zoom',\n duration: 150\n }\n }\n }).data('kendoTooltip').show();\n });\n }\n }\n}\n// Google Captcha Callback (Needs to be in global scope)\nfunction $f90b7548d54d161a$var$RecaptchaCallBack(result) {\n let validator = $('#VehicleSearchFormContainer').kendoValidator().data('kendoValidator');\n (0, $f736a2b71cdbd3b5$export$2e2bcd8739ae039).BindValidationStyles(validator);\n let recaptchaResponse = grecaptcha.getResponse();\n if (!validator.validate()) return;\n let registration = $('#Registration').val();\n if ($('#ServiceIdentifier').val()) registration = $('#vehicle-search-input').val();\n registration = registration.replace(' ', '');\n grecaptcha.reset();\n $f90b7548d54d161a$var$vehicleLookup.DoLookup(registration, recaptchaResponse);\n}\n$(function() {\n $f90b7548d54d161a$var$vehicleLookup = new $f90b7548d54d161a$export$2e2bcd8739ae039();\n window.grecaptcha.ready(()=>{\n grecaptcha.render('vehicle-search-button', {\n 'sitekey': '6LecsgkbAAAAAB6gO3yIsno1RUQoGE3VXB3rEjX3',\n 'callback': $f90b7548d54d161a$var$RecaptchaCallBack\n });\n });\n});\n\n\n\n})();\n//# sourceMappingURL=app.bundle.js.map\n","//working bundle - With CDN Links.\r\nimport './js/i247.VehicleLookup.js'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import Common from './i247.Common.js';\r\nimport VE103 from './i247.VE103.js';\r\nimport { _utilities } from \"./utilities.js\";\r\n\r\nexport let _ve103Form;\r\n\r\nlet vehicleLookup;\r\n\r\nexport default class VehicleLookup {\r\n constructor () {\r\n // local fields\r\n this._vehicle = undefined;\r\n\r\n // Class initialization\r\n this.BindFormControls();\r\n\r\n if ($('#ServiceIdentifier').val() === 'VE103') {\r\n _ve103Form = new VE103();\r\n }\r\n }\r\n\r\n // --------------------------------------------------\r\n // GETTER AND SETTER\r\n // --------------------------------------------------\r\n\r\n get Vehicle () {\r\n return this._vehicle;\r\n }\r\n\r\n set Vehicle (newVehicle) {\r\n this._vehicle = newVehicle;\r\n }\r\n\r\n // --------------------------------------------------\r\n // FUNCTIONS\r\n // --------------------------------------------------\r\n\r\n BindFormControls () {\r\n let _this = this;\r\n if ($('#ServiceIdentifier').val()) {\r\n $('#vehicle-search-input').focus();\r\n } else {\r\n $('#Registration').focus();\r\n }\r\n\r\n $('.i247service .fa-info-circle').click(function () {\r\n var windowText = $(this).data('infotext');\r\n var windowTitle = $(this).data('infotitle');\r\n var infoWindow = $('#infoWindow').kendoWindow({\r\n width: 'auto',\r\n height: 'auto',\r\n position: {\r\n top: 100\r\n }\r\n }).data('kendoWindow');\r\n infoWindow.title(windowTitle);\r\n infoWindow.content(windowText);\r\n infoWindow.center().open();\r\n });\r\n\r\n $('#ButtonSearchAgain').click(function () {\r\n $('#PrivacyStatement').hide();\r\n $('#SearchAgain').hide();\r\n $('#ServiceList').hide();\r\n $('#ServicesHeader').hide();\r\n $('#SearchForm').show();\r\n });\r\n\r\n $('#PrivacyCheckBox').change(function () {\r\n if ($(this).is(':checked')) {\r\n _this.BindServiceButtons(true);\r\n } else {\r\n _this.BindServiceButtons(false);\r\n }\r\n });\r\n };\r\n\r\n GetVehicle (vehicleRegistration, grecaptcharesponse) {\r\n let result = $.Deferred();\r\n\r\n\t\t// send the q as well, which has the customer id in it to filter the vehicles returned.\r\n\t\tlet queryString = Common.GetQueryStringValue('q', null);\r\n let url = '/vehicle/GetVehicle?q=' + queryString + '&vehicleRegistration=' + vehicleRegistration + '&grecaptcharesponse=' + grecaptcharesponse;\r\n\r\n $.ajax({\r\n url: url,\r\n type: 'GET',\r\n cache: false,\r\n success: function (data) {\r\n result.resolve(data);\r\n },\r\n error: function (xhr, ajaxOptions, thrownError) {\r\n console.log(xhr.status);\r\n console.log(xhr.responseText);\r\n console.log(thrownError);\r\n kendo.ui.progress($('body'), false);\r\n Common.ShowGenericError();\r\n },\r\n complete: function () {\r\n }\r\n });\r\n\r\n return result.promise();\r\n };\r\n\r\n GetVehicleServices(vehicleRegistration) {\r\n var result = $.Deferred();\r\n var url = '/vehicle/GetServices?vehicleRegistration=' + vehicleRegistration;\r\n $.ajax({\r\n url: url,\r\n type: 'GET',\r\n cache: false,\r\n success: function (data) {\r\n result.resolve(data);\r\n },\r\n error: function (xhr, ajaxOptions, thrownError) {\r\n console.log(xhr.status);\r\n console.log(xhr.responseText);\r\n console.log(thrownError);\r\n kendo.ui.progress($('body'), false);\r\n Common.ShowGenericError();\r\n },\r\n complete: function () {\r\n }\r\n });\r\n\r\n return result.promise();\r\n };\r\n\r\n GetDriverCompanySettings(driverCompanyId) {\r\n let result = $.Deferred();\r\n\r\n let url = '/foreigntravel/GetDriverCompanySettings?&driverCompanyId=' + driverCompanyId;\r\n\r\n $.ajax({\r\n url: url,\r\n type: 'GET',\r\n cache: false,\r\n success: function (data) {\r\n result.resolve(data);\r\n },\r\n error: function (xhr, ajaxOptions, thrownError) {\r\n console.log(xhr.status);\r\n console.log(xhr.responseText);\r\n console.log(thrownError);\r\n kendo.ui.progress($('body'), false);\r\n Common.ShowGenericError();\r\n },\r\n complete: function () {\r\n }\r\n });\r\n\r\n return result.promise();\r\n };\r\n\r\n DoLookup (registration, grecaptcharesponse) {\r\n let _this = this;\r\n var serviceIdentifier = $('#ServiceIdentifier').val();\r\n\r\n $.get(\"/foreigntravel/CustomerLink\")\r\n .fail(function () {\r\n Common.ShowGenericError();\r\n })\r\n .done(function (customer) {\r\n\r\n if (serviceIdentifier) {\r\n kendo.ui.progress($('body'), true);\r\n\r\n Common.HideUserMessage();\r\n\r\n const registration = $('#vehicle-search-input').val().replace(' ', '').toUpperCase();\r\n let label = (customer.name.substring(0, 1).toUpperCase() === 'A') ? 'an' : 'a';\r\n let serviceText = (serviceIdentifier === 'VE103') ? 'Customer Service' : 'Tyres';\r\n let customerName = '';\r\n switch (customer.name) {\r\n case 'Omodaandjaecoo':\r\n customerName = \"Omoda and Jaecoo Contract Hire\"\r\n break;\r\n\r\n case 'Mg':\r\n customerName = 'MG Contract Hire';\r\n break;\r\n\r\n case 'Hyundai':\r\n customerName = 'Hyundai Contract Hire';\r\n break;\r\n\r\n case 'Honda':\r\n customerName = 'Honda Contract Hire';\r\n break;\r\n\r\n case 'Byd':\r\n customerName = 'BYD';\r\n break;\r\n\r\n default:\r\n customerName = customer.name;\r\n break;\r\n }\r\n let vehicleNotFoundMessage = `

    Sorry no vehicle details are currently held against registration ${registration}. Please check the registration entered and try again.

    If registration still doesn’t validate, check this is definitely ${label} ${customerName} vehicle, contact the Driverline and select the option for ${serviceText}, one of the team will then call you to assist.

    Try again

    `;\r\n\r\n _this.GetVehicle(registration, grecaptcharesponse).done(function (vehicle) {\r\n if (!vehicle) {\r\n Common.ShowUserMessage('Vehicle Not Found', vehicleNotFoundMessage, true);\r\n kendo.ui.progress($('body'), false);\r\n return;\r\n }\r\n\r\n _this.ShowCallMe();\r\n _this.Vehicle = vehicle;\r\n\r\n // isAllowedAbroad Msg\r\n if (serviceIdentifier === 'VE103' && _this.Vehicle.isAllowedAbroad != '1' && _this.Vehicle.isAllowedAbroad != null) {\r\n var msg = {\r\n title: '',\r\n body: ''\r\n }\r\n switch (_this.Vehicle.isAllowedAbroad) {\r\n case 0:\r\n msg.title = 'Vehicle Not Allowed Abroad';\r\n msg.body = SITE_NOT_ALLOWED_MSG;\r\n break;\r\n case 2:\r\n msg.title = 'Authorisation Required';\r\n msg.body = SITE_AUTHORISATION_MSG;\r\n break;\r\n }\r\n Common.ShowUserMessage(msg.title, msg.body, false);\r\n $('#fullPageContainer').hide();\r\n kendo.ui.progress($('body'), false);\r\n return;\r\n }\r\n\r\n _this.GetDriverCompanySettings(_this.Vehicle.driverCompanyId).done(function (settings) {\r\n var greenCardText = settings.filter(option => option.sysName.toUpperCase() === 'GREENCARDTEXT')[0];\r\n if (greenCardText !== undefined) {\r\n $('#dcs_greenCardText').html(greenCardText.settingValue);\r\n }\r\n });\r\n\r\n _this.GetVehicleServices(_this.Vehicle.registration).done(function (services) {\r\n if (services.length === 0 || services.indexOf(serviceIdentifier) === -1) {\r\n $('#no-services-found-for-vehicle-message').show();\r\n $('#ServicesHeader').hide();\r\n kendo.ui.progress($('body'), false);\r\n } else {\r\n $('#ServicesHeader').show();\r\n $('#no-services-found-for-vehicle-message').hide();\r\n\r\n if (serviceIdentifier === 'VE103') {\r\n _ve103Form.SetVehicle(_this.Vehicle);\r\n _ve103Form.Initialise();\r\n }\r\n }\r\n });\r\n\r\n if (_this.Vehicle.mileageCheckSuppression) {\r\n $('#mileageContainer').hide();\r\n }\r\n });\r\n } else {\r\n $('#PrivacyCheckBox').attr('checked', false);\r\n\r\n kendo.ui.progress($('body'), true);\r\n\r\n Common.HideUserMessage();\r\n $('#ServicesHeader').hide();\r\n $('#ServiceList').hide();\r\n\r\n _this.GetVehicle(registration, grecaptcharesponse).done(function (vehicles) {\r\n if (!vehicle) {\r\n Common.ShowUserMessage('Vehicle Not Found', vehicleNotFoundMessage, true);\r\n _this.ShowCallMe();\r\n kendo.ui.progress($('body'), false);\r\n return;\r\n }\r\n\r\n var selectedServiceUrl = $('#SelectedServiceUrl').val();\r\n if (selectedServiceUrl !== '') {\r\n window.location = selectedServiceUrl;\r\n return;\r\n }\r\n\r\n _this.Vehicle = vehicles[0];\r\n\r\n _this.GetVehicleServices(_this.Vehicle.registration).done(function (services) {\r\n kendo.ui.progress($('body'), false);\r\n\r\n $('.i247service').hide();\r\n $('#SearchAgain').hide();\r\n $('#ServiceList').hide();\r\n $('#PrivacyStatement').hide();\r\n\r\n if (services.length === 0) {\r\n Common.ShowUserMessage('Unable to Proceed', `

    We could not find any services associated with vehicle registration ${_this.Vehicle.registration}.

    Please call your dedicated Driverline for assistance.

    `, true);\r\n return;\r\n } else {\r\n $('#PrivacyStatement').show();\r\n $('#ServicesHeader').show();\r\n $('#HeaderRegistration').text(registration.toUpperCase());\r\n $('#HeaderVehicleMake').text(_this.Vehicle.manufacturer);\r\n $('#HeaderVehicleDescription').text(_this.Vehicle.description);\r\n $('#HeaderVehicleLeaseCompany').text(_this.Vehicle.customerName);\r\n $('#HeaderVehicleDriverCompany').text(_this.Vehicle.driverCompanyName);\r\n $('#SearchAgain').show();\r\n $('#SearchForm').hide();\r\n }\r\n\r\n $.each(services, function (i, service) {\r\n var selector = '#DIV' + service.toUpperCase();\r\n $(selector).show();\r\n });\r\n });\r\n });\r\n }\r\n });\r\n };\r\n\r\n ShowCallMe() {\r\n _utilities.LoadHtmlTemplate('/ForeignTravel/GetEmailForm', {},\r\n async function (template) {\r\n $('#email-helper').html(template);\r\n Common.InitialiseEmailSupportTab();\r\n });\r\n }\r\n\r\n BindServiceButtons (ShowService) {\r\n $('.i247service .gobutton').unbind('click');\r\n\r\n if (ShowService) {\r\n $('#ServiceList').slideDown();\r\n $('.i247service .gobutton').click(function () {\r\n window.location = $(this).data('url');\r\n });\r\n } else {\r\n $('#ServiceList').slideUp();\r\n $('.i247service .gobutton').click(function () {\r\n if (!$('#PrivacyCheckBox').is(':checked')) {\r\n $('#PrivacyCheckBox').kendoTooltip({\r\n width: 240,\r\n position: 'top',\r\n animation: {\r\n open: {\r\n effects: 'zoom',\r\n duration: 150\r\n }\r\n }\r\n }).data('kendoTooltip').show();\r\n }\r\n });\r\n }\r\n }\r\n};\r\n\r\n// Google Captcha Callback (Needs to be in global scope)\r\nfunction RecaptchaCallBack (result) {\r\n let validator = $('#VehicleSearchFormContainer').kendoValidator().data('kendoValidator');\r\n Common.BindValidationStyles(validator);\r\n\r\n let recaptchaResponse = grecaptcha.getResponse();\r\n\r\n if (!validator.validate()) return;\r\n\r\n let registration = $('#Registration').val();\r\n\r\n if ($('#ServiceIdentifier').val()) {\r\n registration = $('#vehicle-search-input').val();\r\n }\r\n registration = registration.replace(' ', '');\r\n\r\n grecaptcha.reset();\r\n vehicleLookup.DoLookup(registration, recaptchaResponse);\r\n};\r\n\r\n$(function () {\r\n vehicleLookup = new VehicleLookup();\r\n\r\n window.grecaptcha.ready(() => {\r\n grecaptcha.render('vehicle-search-button', {\r\n 'sitekey': '6LecsgkbAAAAAB6gO3yIsno1RUQoGE3VXB3rEjX3',\r\n 'callback': RecaptchaCallBack\r\n })\r\n });\r\n});","import { placeHolderMap } from './utilities.js';\r\nimport { _ve103Form } from './i247.VehicleLookup.js';\r\n\r\nclass Common {\r\n\tstatic HideUserMessage() {\r\n\t\t$('#UserMessage').hide();\r\n\t}\r\n\r\n\tstatic ShowUserMessage(title, message, hidePanels) {\r\n\t\tif (hidePanels) {\r\n\t\t\t$('#mainContent').hide();\r\n\t\t}\r\n\t\t\r\n\t\t$('#UserMessage #UserMessage_Title').html(title);\r\n\t\t$('#UserMessage #UserMessage_Message').html(message);\r\n\t\t$('#UserMessage').show();\r\n\t}\r\n\r\n\tstatic ShowGenericError() {\r\n\t\t$('#ErrorDialog').kendoDialog({\r\n\t\t\twidth: '450px',\r\n\t\t\ttitle: 'Error',\r\n\t\t\tclosable: true,\r\n\t\t\tmodal: false,\r\n\t\t\tcontent: 'Sorry, an error occured. Please try again or contact your dedicated Driverline for assistance'\r\n\t\t});\r\n\t}\r\n\r\n\tstatic GetExtraValidator() {\t\r\n\t\tvar dropDownValid = true;\r\n\r\n\t\tvar colour = $('#vehicle-colour-select');\r\n\t\tif (colour[0] !== null) {\r\n\t\t\tcolour.parent().removeClass('k-invalid');\r\n\t\t\tif (colour.val() === '') {\r\n\t\t\t\tcolour.parent().addClass('k-invalid');\r\n\t\t\t\tdropDownValid = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar seats = $(\"#vehicle-number-of-seats-select\");\r\n\t\tif (seats[0] !== null) {\r\n\t\t\tseats.parent().removeClass('k-invalid');\r\n\t\t\tif (seats.val() === '') {\r\n\t\t\t\tseats.parent().addClass('k-invalid');\r\n\t\t\t\tdropDownValid = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar vehicleClass = $('#vehicle-class-select');\r\n\t\tif (vehicleClass[0] !== null) {\r\n\t\t\tvehicleClass.parent().removeClass('k-invalid');\r\n\t\t\tif (vehicleClass.val() === '') {\r\n\t\t\t\tvehicleClass.parent().addClass('k-invalid');\r\n\t\t\t\tdropDownValid = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn dropDownValid;\t\t\t\r\n }\r\n\r\n\tstatic GetVehicleValidator() {\r\n\t\treturn $('#Mileage').kendoValidator({\r\n\t\t\trules: {\r\n\t\t\t\tminimumMileageRequired: function (input) {\r\n\t\t\t\t\tvar mileageSupplied = $('#Mileage').val().replace(/\\,/g, '');\r\n\t\t\t\t\tvar currentMileage = $('#VehicleMileage').val();\r\n\t\t\t\t\tvar ConfirmMileageCheckBox = $('#ConfirmMileageCheckBox').is(':checked');\r\n\t\t\t\t\tif (input.is('#Mileage')) {\r\n\t\t\t\t\t\tif (parseInt(currentMileage) > parseInt(mileageSupplied) && !ConfirmMileageCheckBox) {\r\n\t\t\t\t\t\t\tlet msg = `The mileage provided is lower than the last reading (${currentMileage}).
    Check this box to confirm the mileage you have entered is correct, or re enter.`;\r\n\t\t\t\t\t\t\t$('#ConfirmMileageCheckBox').next().addClass('k-checkbox-label').html(msg);\r\n\t\t\t\t\t\t\t$('#ConfirmMileageContainer').removeClass('d-none').addClass('d-inline-block');\r\n\t\t\t\t\t\t\t$('#vehicle-mileage').text(currentMileage);\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t} else if (!ConfirmMileageCheckBox) {\r\n\t\t\t\t\t\t\t$('#ConfirmMileageContainer').removeClass('d-inline-block').addClass('d-none');\r\n }\r\n\r\n\t\t\t\t\t\tif (parseInt(mileageSupplied) > 2000000) {\r\n\t\t\t\t\t\t\tlet msg = `The provided mileage can not be higher than 2,000,000 miles!`;\r\n\t\t\t\t\t\t\t$('#ConfirmMileageCheckBox').next().removeClass('k-checkbox-label').html(msg);\r\n\t\t\t\t\t\t\t$('#ConfirmMileageContainer').removeClass('d-none').addClass('d-inline-block');\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t} else if (!ConfirmMileageCheckBox) {\r\n\t\t\t\t\t\t\t$('#ConfirmMileageContainer').removeClass('d-inline-block').addClass('d-none');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmessages: {\r\n\t\t\t\tminimumMileageRequired: 'Invalid mileage. Must be greater than previous mileage.'\r\n\t\t\t}\r\n\t\t}).data('kendoValidator');\r\n\t}\r\n\r\n\tstatic BindValidationStyles(validator) {\r\n\t\tvalidator.bind(\"validate\", function (e) {\r\n\t\t\tlet $container = $(e.sender.element);\r\n\t\t\tlet $invalidInputs = $container.find(\".k-invalid\");\r\n\t\t\tlet validationManager = {\r\n\t\t\t\t_tooltipTemplate: `
    `,\r\n\t\t\t\t_highlightLabel: (invalidInput) => $(invalidInput).closest(\".row\").find(\"label:not(.k-radio-label)\").addClass(\"error-label\"),\r\n\t\t\t\tapplyPrivacyCheckboxInputValidationStyle: invalidInput => {\r\n\t\t\t\t\t$(invalidInput).prop(\"data-toggle\", \"tooltip\");\r\n\t\t\t\t\t$(invalidInput).parent().find(\"label\").addClass(\"privacy-checkbox-validation-label\");\r\n\t\t\t\t\t$(invalidInput).tooltip({\r\n\t\t\t\t\t\tboundary: \"body\",\r\n\t\t\t\t\t\ttrigger: \"manual\",\r\n\t\t\t\t\t\tplacement: \"auto\",\r\n\t\t\t\t\t\ttemplate: validationManager._tooltipTemplate\r\n\t\t\t\t\t});\r\n\t\t\t\t\t$(invalidInput).tooltip(\"show\");\r\n\t\t\t\t},\r\n\t\t\t\tapplyLabelLessTextboxValidationStyle: invalidInput => {\r\n\t\t\t\t\tconst errorMessage = $(invalidInput).parent().find('.k-tooltip-validation.k-invalid-msg').text();\r\n\t\t\t\t\tif ($(invalidInput).parent().find(\".error-icon-absolute\").length === 0) {\r\n\t\t\t\t\t\tlet newElement = ``;\r\n\t\t\t\t\t\t$(invalidInput).parent().append(newElement);\r\n\t\t\t\t\t\t$('[data-toggle=\"tooltip\"]').tooltip({\r\n\t\t\t\t\t\t\tboundary: \"body\",\r\n\t\t\t\t\t\t\ttrigger: \"focus\",\r\n\t\t\t\t\t\t\tplacement: \"auto\",\r\n\t\t\t\t\t\t\ttemplate: validationManager._tooltipTemplate\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tplaceHolderMap.set(invalidInput, $(invalidInput).prop(\"placeholder\"));\r\n\t\t\t\t\t\t$(invalidInput).removeAttr(\"placeholder\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tapplyGenericValidationStyle: invalidInput => {\r\n\t\t\t\t\tconst errorMessage = $(invalidInput).closest(\".row.form-group\").find(\".k-tooltip-validation.k-invalid-msg\").text();\r\n\t\t\t\t\tconst newElement = ``;\r\n\t\t\t\t\tif ($(invalidInput).closest(\".row.form-group\").find(\".error-icon\").length === 0) {\r\n\t\t\t\t\t\tvalidationManager._highlightLabel(invalidInput);\r\n\t\t\t\t\t\t$(invalidInput).closest(\".row.form-group\").find(\"label:not(.k-radio-label)\").append(newElement);\r\n\t\t\t\t\t\t$('[data-toggle=\"tooltip\"]').tooltip({\r\n\t\t\t\t\t\t\tboundary: \"body\",\r\n\t\t\t\t\t\t\ttrigger: \"focus\",\r\n\t\t\t\t\t\t\tplacement: \"auto\",\r\n\t\t\t\t\t\t\ttemplate: validationManager._tooltipTemplate\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif ($(invalidInput).is(':radio')) {\r\n\t\t\t\t\t\t\t$(invalidInput).closest(\".row.form-group\").find(\".k-radio-label\").addClass(\"error-radio-btn-label\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tapplyWheelplanPanelValidation: invalidPanel => {\r\n\t\t\t\t\tlet newElement = ``;\r\n\t\t\t\t\t$(invalidPanel).parent().append(newElement);\r\n\t\t\t\t\t$('[data-toggle=\"tooltip\"]').tooltip({\r\n\t\t\t\t\t\tboundary: \"body\",\r\n\t\t\t\t\t\ttrigger: \"focus\",\r\n\t\t\t\t\t\tplacement: \"auto\",\r\n\t\t\t\t\t\ttemplate: validationManager._tooltipTemplate\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tapplyBtnValidationStyle: invalidInput => {\r\n\t\t\t\t\tconst $btn = $(invalidInput).parent().find(\".btn-to-validate\");\r\n\t\t\t\t\tconst errorMessage = $(invalidInput).parent().find(\".k-invalid-msg\").text();\r\n\t\t\t\t\tconst newElement = ``;\r\n\t\t\t\t\t$btn.before(newElement);\r\n\t\t\t\t\t$('[data-toggle=\"tooltip\"]').tooltip({\r\n\t\t\t\t\t\tboundary: \"body\",\r\n\t\t\t\t\t\ttrigger: \"focus\",\r\n\t\t\t\t\t\tplacement: \"auto\",\r\n\t\t\t\t\t\ttemplate: validationManager._tooltipTemplate\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tif ($container.is('[id^=\"wheelPlanSection\"]')) {\r\n\t\t\t\tvalidationManager.applyWheelplanPanelValidation($container.find('.tyreDetailInvalid'));\r\n\t\t\t} else {\r\n\t\t\t\tif ($invalidInputs) {\r\n\t\t\t\t\t$invalidInputs.each((index, invalidInput) => {\r\n\t\t\t\t\t\tif (!$invalidInputs.hasClass('noValidationStyle')) {\r\n\t\t\t\t\t\t\t// Making sure the input is not hidden\r\n\t\t\t\t\t\t\tlet isHidden = $(invalidInput).is(':hidden');\r\n\t\t\t\t\t\t\tlet isDropDownList = $(invalidInput).data(\"role\") === \"dropdownlist\";\r\n\t\t\t\t\t\t\tif (!isHidden || (isHidden && isDropDownList)) {\r\n\t\t\t\t\t\t\t\t// check if input is single checkbox\r\n\t\t\t\t\t\t\t\tif ($(invalidInput).hasClass('privacyCheckboxValidation')) {\r\n\t\t\t\t\t\t\t\t\tvalidationManager.applyPrivacyCheckboxInputValidationStyle(invalidInput);\r\n\t\t\t\t\t\t\t\t} else\r\n\t\t\t\t\t\t\t\t\t// check if input is textbox and without label, if so apply icon within\r\n\t\t\t\t\t\t\t\t\tif (($(invalidInput).is('input:text') && $(invalidInput).data('role') !== 'dropdownlist') && ($(invalidInput).closest('.row.form-group').length === 0 || $(invalidInput).closest('.form-group.row').find('label:not(.k-radio-label)').length === 0)) {\r\n\t\t\t\t\t\t\t\t\t\tvalidationManager.applyLabelLessTextboxValidationStyle(invalidInput);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse if (isDropDownList) {\r\n\t\t\t\t\t\t\t\t\t\tvalidationManager.applyGenericValidationStyle(invalidInput);\r\n\t\t\t\t\t\t\t\t\t\t$(invalidInput).prevAll().closest(\".k-dropdown-wrap\").addClass('invalid-border');\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t\t// for everything else apply generic styles\r\n\t\t\t\t\t\t\t\t\t\tvalidationManager.applyGenericValidationStyle(invalidInput);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if ($(invalidInput).hasClass('btn-validation-input')) {\r\n\t\t\t\t\t\t\t\tvalidationManager.applyBtnValidationStyle(invalidInput);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic RemoveValidationStyles(input, panel) {\r\n\t\tif (input) {\r\n\t\t\tconst removeHighlightLabel = (invalidInput) => $(invalidInput).closest('.row.form-group').find('label').removeClass('error-label');\r\n\t\t\tconst removeErrorIcon = (invalidInput) => $(invalidInput).closest('.row.form-group').find('label').find('.error-icon').remove();\r\n\t\t\tconst removeErrorIconOnBtn = (invalidHiddenInput) => $(invalidHiddenInput).parent().find('.error-icon').remove();\r\n\t\t\tconst removeInputErrorIcon = (invalidInput) => {\r\n\t\t\t\tconst errorIconEl = $(invalidInput).parent().find('.error-icon-absolute');\r\n\t\t\t\tif (errorIconEl.length !== 0) {\r\n\t\t\t\t\terrorIconEl.remove();\r\n\t\t\t\t\tif (placeHolderMap.has(input)) {\r\n\t\t\t\t\t\tplaceHolderMap.get(input);\r\n\t\t\t\t\t\t$(input).attr('placeholder', placeHolderMap.get(input));\r\n\t\t\t\t\t\tplaceHolderMap.delete(input);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tconst removeKendoHighlight = (invalidInput) => $(invalidInput).removeClass('k-invalid');\r\n\t\t\tconst removePrivacyCheckboxValidationStyles = (invalidInput) => {\r\n\t\t\t\t$(invalidInput).removeAttr('data-toggle');\r\n\t\t\t\t$(invalidInput).parent().find('label').removeClass('privacy-checkbox-validation-label');\r\n\t\t\t};\r\n\r\n\t\t\tif ($(input).prop('data-toggle') === 'tooltip') {\r\n\t\t\t\t// dispose of a tooltip when applied to the DOM Element itself.\r\n\t\t\t\t$(input).tooltip('dispose');\r\n\t\t\t} else {\r\n\t\t\t\t// dispose of a tooltip when applied to the DOM Element parent.\r\n\t\t\t\t$(input).closest('.row').find('[data-toggle=\"tooltip\"]').tooltip('dispose');\r\n\t\t\t}\r\n\r\n\t\t\tif ($(input).hasClass('privacyCheckboxValidation')) {\r\n\t\t\t\tremovePrivacyCheckboxValidationStyles(input);\r\n\t\t\t} else if ($(input).hasClass('noLabelValidation')) {\r\n\t\t\t\tremoveInputErrorIcon(input);\r\n\t\t\t} else {\r\n\t\t\t\tremoveHighlightLabel(input);\r\n\t\t\t\tremoveErrorIcon(input);\r\n\t\t\t\tremoveErrorIconOnBtn(input);\r\n\t\t\t\tremoveKendoHighlight(input);\r\n\r\n\t\t\t\tlet isDropDownList = $(input).data(\"role\") === \"dropdownlist\";\r\n\t\t\t\tif ($(input).is(':radio')) {\r\n\t\t\t\t\t$(input).closest('.row.form-group').find('.k-radio-label').removeClass('error-radio-btn-label');\r\n\t\t\t\t}\r\n\t\t\t\telse if (isDropDownList) {\r\n\t\t\t\t\t$(input).prevAll().closest(\".k-dropdown-wrap\").removeClass('invalid-border');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (panel && panel.length > 0) {\r\n\t\t\t$(panel).find('[data-toggle=\"tooltip\"]').tooltip('dispose');\r\n\t\t\t$(panel).find('.error-icon-absolute').remove();\r\n\t\t\t$(panel).find('.tyreDetailInvalid').removeClass('tyreDetailInvalid');\r\n\t\t}\r\n\t}\r\n\r\n\tstatic Bounce(element, times, distance, speed) {\r\n\t\tfor (var i = 0; i < times; i++) {\r\n\t\t\telement.animate({ marginTop: '-=' + distance }, speed)\r\n\t\t\t\t.animate({ marginTop: '+=' + distance }, speed);\r\n\t\t}\r\n }\r\n\r\n\tstatic InitialiseEmailSupportTab() {\r\n\t\t$('#email-tab').click(() => {\r\n\t\t\t$(\"#help-form\").detach().appendTo('#email-container');\r\n\t\t\t$('#email-container').toggle('slide');\r\n\t\t});\r\n\r\n\t\t$('#supportModalBtn').click(() => {\r\n\t\t\t$(\"#help-form\").detach().appendTo('#mobile-email-container');\r\n\t\t\t$('#emailModal').toggle('slide');\r\n\t\t});\r\n\r\n\t\tif ($('#fullPageContainer[data-formName=\"VE103\"]').length) {\r\n\t\t\t$('#supportModalBtn').removeClass('d-none').show();\r\n\t\t}\r\n\r\n\t\t[$('#supportLargeScreenForm'), $('#supportSmallScreenForm')].forEach(form => {\r\n\t\t\tform.on('submit', (event) => {\t\t\t\t\r\n\t\t\t\tif (event.target.checkValidity() === false) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tevent.stopPropagation();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet driverData = null;\r\n\t\t\t\t\tlet endpoint = null;\r\n\t\t\t\t\tlet $formContainer = $(event.target).closest('.form');\r\n\t\t\t\t\t$formContainer.find('#sendSupportEmail').prop('disabled', true);\r\n\r\n\t\t\t\t\tlet formData = {\r\n\t\t\t\t\t\tfullname: $formContainer.find('#user-name').val(),\r\n\t\t\t\t\t\temail: $formContainer.find('#user-email').val(),\r\n\t\t\t\t\t\tphone: $formContainer.find('#user-phone').val(),\r\n\t\t\t\t\t\tnote: $formContainer.find('#user-note').val()\r\n\t\t\t\t\t};\r\n\t\t\t\t\tlet formName = $('#fullPageContainer').attr('data-formName');\r\n\t\t\t\t\tswitch (formName) {\r\n\t\t\t\t\t\tcase 'VE103':\r\n\t\t\t\t\t\t\tdriverData = _ve103Form.model;\r\n\t\t\t\t\t\t\tendpoint = '/foreigntravel/SendSupportEmail';\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault: driverData = null;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet data = { 'driverData': driverData, 'formData': formData };\r\n $.ajax({\r\n type: 'POST',\r\n url: endpoint,\r\n data: data,\r\n success: function () {\r\n\t\t\t\t\t\t\t$('#email-container, #emailModal').find('#confirmationMessage').show(),\r\n setTimeout(function() {\r\n\t\t\t\t\t\t\t\t\t$('#email-container, #emailModal').find('#confirmationMessage').fadeOut();\r\n\t\t\t\t\t\t\t\t\t$('#email-container, #emailModal').toggle('slide').find('textarea').val('');\r\n\t\t\t\t\t\t\t\t\t$('.modal-backdrop, #emailModal').hide();\r\n }, 3000);\r\n },\r\n error: () => console.log('error sending email.')\r\n });\r\n\t\t\t\t}\r\n\t\t\t\tevent.target.classList.add('was-validated');\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t});\r\n\t\t});\t\t\r\n\t}\r\n\r\n\tstatic GetQueryStringValue(key, url) {\r\n\t\tif (!url) url = window.location.href;\r\n\r\n\t\tkey = key.replace(/[\\[\\]]/g, '\\\\$&');\r\n\r\n\t\tvar regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)'),\r\n\t\t\tresults = regex.exec(url);\r\n\r\n\t\tif (!results) return null;\r\n\r\n\t\tif (!results[2]) return '';\r\n\r\n\t\treturn decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n\t}\r\n}\r\n\r\nexport default Common;\r\n\r\n$(document).ready(function () {\t\r\n\tif (LAYOUT_MODE == 'mode2') {\r\n\t\t$('#breadcrumb').detach().prependTo('#mainContent');\r\n\t}\r\n\t$('body').removeClass('d-none');\r\n\r\n\t$('.tip').tooltip({\r\n\t\tboundary: \"body\",\r\n\t\ttrigger: \"focus\",\r\n\t\tplacement: \"auto\"\r\n\t});\r\n\r\n\t$(document).on('focus focusout click', 'input.k-invalid', event => Common.RemoveValidationStyles(event.target));\r\n\r\n\t$(document).on('change', '.k-dropdown', event => Common.RemoveValidationStyles(event.target));\r\n\r\n\t$(document).on('click', '.btn', event => Common.RemoveValidationStyles(event.target));\r\n\r\n\tdocument.documentElement.style.setProperty('--customer-font-family', SITE_FONT_FAMILY);\r\n\tdocument.documentElement.style.setProperty('--customer-color', SITE_COLOR);\r\n\tdocument.documentElement.style.setProperty('--customer-sub-color', SITE_COLOR2);\r\n\tdocument.documentElement.style.setProperty('--customer-color-gradient1', SITE_COLOR_GRADIENT_1);\r\n\tdocument.documentElement.style.setProperty('--customer-color-gradient2', SITE_COLOR_GRADIENT_2);\r\n\tdocument.documentElement.style.setProperty('--customer-color-gradient3', SITE_COLOR_GRADIENT_3);\r\n\tdocument.documentElement.style.setProperty('--customer-color-gradient4', SITE_COLOR_GRADIENT_4);\r\n\tdocument.documentElement.style.setProperty('--customer-header-bar-style', SITE_HEADER_BAR_STYLE);\r\n\tdocument.documentElement.style.setProperty('--customer-header-row-style', SITE_HEADER_ROW_STYLE);\r\n\r\n\tif (SITE_TITLE_BAR_COLOR_USE_GRADIENT.toUpperCase() === 'TRUE') {\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient1', SITE_COLOR_GRADIENT_1);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient2', SITE_COLOR_GRADIENT_2);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient3', SITE_COLOR_GRADIENT_3);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient4', SITE_COLOR_GRADIENT_4);\r\n\t} else {\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient1', SITE_COLOR);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient2', SITE_COLOR);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient3', SITE_COLOR);\r\n\t\tdocument.documentElement.style.setProperty('--customer-title-bar-color-gradient4', SITE_COLOR);\r\n\t}\r\n\r\n\t$('.view-privacy-policy').on('click', event => {\r\n\t\t$('#privacyPolicy').toggleClass('d-none');\r\n\t});\t\r\n});\r\n","//import kendo from '@progress/kendo-ui';\r\n//import { isDate } from 'util';\r\n\r\nlet placeHolderMap = new WeakMap();\r\n\r\nclass Utilities {\r\n\tconstructor() {\r\n\t\t$(document).on('change', 'input', function (e) {\r\n\t\t\tvar currentInput = $(e.target);\r\n\t\t\tvar errorSign = currentInput.closest('div').find('.fa-exclamation-circle.text-danger');\r\n\t\t\tif (errorSign !== undefined && errorSign.length > 0) {\r\n\t\t\t\terrorSign.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\t$(document).on('focus', 'textarea', function (e) {\r\n\t\t\tvar currentInput = $(e.target);\r\n\t\t\tvar errorSign = currentInput.closest('.row').find('label .fa-exclamation-circle.text-danger');\r\n\t\t\tif (errorSign !== undefined && errorSign.length > 0) {\r\n\t\t\t\terrorSign.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tIsInternetExplorer() {\r\n\t\tlet ua = window.navigator.userAgent;\r\n\t\tlet oldIE = ua.indexOf('MSIE ');\r\n\t\tlet newIE = ua.indexOf('Trident/');\r\n\t\treturn oldIE > -1 || newIE > -1;\r\n\t}\r\n\r\n\tIsEdgeBrowser() {\r\n\t\treturn /Edge\\/\\d./i.test(navigator.userAgent);\r\n\t}\r\n\r\n\tLoadHtmlTemplate(path, options, callback) {\r\n\t\t$.get(path, {\r\n\t\t\t'partialViewPath': options.viewName,\r\n\t\t\t'tyrePosition': options.positionLabel\r\n\t\t}).done(function (template) {\r\n\t\t\tvar $template = $(template);\r\n\t\t\tcallback($template);\r\n\t\t});\r\n\t}\r\n\r\n\tisDate(date) {\r\n\t\treturn date instanceof Date && !isNaN(date.valueOf()); \r\n\t}\r\n\t\r\n\tIsInArray(date, dates) {\r\n for (let idx = 0, length = dates.length; idx < length; idx++) {\r\n let d = dates[idx];\r\n if (this.isDate(d)) {\r\n if (date.getFullYear() === d.getFullYear() &&\r\n date.getMonth() === d.getMonth() &&\r\n date.getDate() === d.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n\t}\r\n\r\n\tIsEven(n) {\r\n\t\treturn n % 2 === 0;\r\n\t}\r\n\r\n\tGetMonthNames() {\r\n\t\treturn ['January', 'February', 'March', 'April', 'May', 'June',\r\n\t\t\t'July', 'August', 'September', 'October', 'November', 'December'\r\n\t\t];\r\n\t}\r\n\r\n\tShowNextRow(currentDomElement, nextXrows, targetClass) {\r\n\t\t$(currentDomElement).parents('.' + targetClass).nextAll(':lt(' + nextXrows + ')').show();\r\n\t}\r\n\r\n\tCheckIfMobilePhoneProvided(inputList) {\r\n\t\tvar regex = /^(\\+44\\s?7\\d{3}|\\(?07\\d{3}\\)?)\\s?\\d{3}\\s?\\d{3}$/;\r\n\t\tif (inputList !== undefined && inputList.length > 0) {\r\n\t\t\tfor (var index = 0; index < inputList.length; index++) {\r\n\t\t\t\tvar currentInput = inputList[index];\r\n\t\t\t\tvar phoneNumber = $(currentInput).val();\r\n\t\t\t\tif (regex.test(phoneNumber) === true) return true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tGetVisibleCount() {\r\n\t\t// Left-align the breadcrumbs to simplify the calculation\r\n\t\tvar offsetWidth = $('.mobile-breadcrumb-nav')[0].offsetWidth;\r\n\t\tvar justifyContent = $('.mobile-breadcrumb-nav').css('justify-content');\r\n\r\n\t\tvar visibleItemCount = 0;\r\n\t\t$('.mobile-breadcrumb-nav').css('justify-content', 'left');\r\n\t\t$('.mobile-breadcrumb-nav li').each(function (index) {\r\n\t\t\tvar right = $(this).position().left + $(this).outerWidth();\r\n\t\t\tif (right > offsetWidth) {\r\n\t\t\t\t// Exit, because our breadcrumb is not completely visible\r\n\t\t\t\tvisibleItemCount = index;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\t// Restore alignment, as soon as we know how many breadcrumbs are visible\r\n\t\t$('.mobile-breadcrumb-nav').css('justify-content', justifyContent);\r\n\t\treturn visibleItemCount;\r\n\t}\r\n\r\n\tFormatMobileBreadcrumbNav() {\r\n\t\tvar serviceBreadcrumbs = $('.mobile-breadcrumb-nav li');\r\n\t\tserviceBreadcrumbs.show();\r\n\t\tvar scrollWidth = $('.mobile-breadcrumb-nav')[0].scrollWidth;\r\n\t\tvar offsetWidth = $('.mobile-breadcrumb-nav')[0].offsetWidth;\r\n\t\tvar contentFits = scrollWidth <= offsetWidth;\r\n\r\n\t\t// Work out how many breadcrumbs will fit in space\r\n\t\tvar itemCount = serviceBreadcrumbs.length;\r\n\t\tvar visibleItemCount = 0;\r\n\t\tif (!contentFits) {\r\n\t\t\t// Show overflow buttons, which will reduce the size of our container, so\r\n\t\t\t// calculate visible breadcrumbs afterwards\r\n\t\t\t$('.mobile-breadcrumb-overflow').parent().show();\r\n\t\t\tvisibleItemCount = this.GetVisibleCount();\r\n\t\t} else {\r\n\t\t\t$('.mobile-breadcrumb-nav').css('justify-content', 'center');\r\n\t\t\t$('.mobile-breadcrumb-overflow').parent().hide();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Works out a range that positions the active breadcrumb two positions from the end\r\n\t\t// using a 1-based active index\r\n\t\tvar activeIndex = serviceBreadcrumbs.index($('.mobile-breadcrumb-nav li.active')) + 1;\r\n\t\tvar end = activeIndex + 2;\r\n\t\tif (end > itemCount) {\r\n\t\t\tend = itemCount;\r\n\t\t}\r\n\t\tvar start;\r\n\t\tif (end < visibleItemCount) {\r\n\t\t\tstart = 1;\r\n\t\t\tend = visibleItemCount;\r\n\t\t} else {\r\n\t\t\tstart = end - visibleItemCount + 1;\r\n\t\t}\r\n\t\tvar range = {\r\n\t\t\tactive: activeIndex,\r\n\t\t\tstart: start,\r\n\t\t\tend: end,\r\n\t\t\tleft: start - 1,\r\n\t\t\tright: itemCount - end\r\n\t\t};\r\n\r\n\t\t// Show buttons that fall within our visible range and hide the rest\r\n\t\t$('.mobile-breadcrumb-nav').css('justify-content', 'space-between');\r\n\r\n\t\t$('#leftOverflow').text('-' + (range.left > 0 ? range.left : ''));\r\n\t\t$('#rightOverflow').text('+' + (range.right > 0 ? range.right : ''));\r\n\r\n\t\t$('.mobile-breadcrumb-nav li').each(function (index) {\r\n\t\t\tif (index + 1 < range.start || index + 1 > range.end) {\r\n\t\t\t\t$(this).hide();\r\n\t\t\t} else {\r\n\t\t\t\t$(this).show();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tBuildMobileBreadcrumbNav() {\r\n\t\tvar html = '';\r\n\t\tvar template = kendo.template($('#mobile-breadcrumb-template').html());\r\n\t\t$(\"#serviceBreadcrumb li:not([style*='display: none'])\").each(function (index) {\r\n\t\t\tvar li = $(this);\r\n\t\t\tvar heading = li.attr('data-menuanchor').toLowerCase().replace('anchor','');\r\n\r\n\t\t\t// skip confirmation step because we'll add an 'fa-check' for it after this loop\r\n\t\t\tif (heading === 'confirmation') return;\r\n\r\n\t\t\t// Evaluate CSS class\r\n\t\t\tvar cssClass = '';\r\n\t\t\tif (li.hasClass('active')) {\r\n\t\t\t\tcssClass = 'active';\r\n\t\t\t} else if (li.hasClass('validated')) {\r\n\t\t\t\tcssClass = 'validated';\r\n\t\t\t}\r\n\t\t\t// Pass data to template\r\n\t\t\tvar data = {\r\n\t\t\t\tindex: index + 1,\r\n\t\t\t\tcssClass: cssClass,\r\n\t\t\t\theading: heading\r\n\t\t\t};\r\n\t\t\thtml += template(data);\r\n\t\t});\r\n\t\thtml += \"
  • \";\r\n\t\t$('.mobile-breadcrumb-nav').empty().html(html);\r\n\r\n\t\tthis.FormatMobileBreadcrumbNav();\r\n\t}\r\n\r\n\tRefreshMobileBreadcrumbNav() {\r\n\t\t$(\"#serviceBreadcrumb li:not([style*='display: none'])\").each(function (index) {\r\n\t\t\t// Remove classes on our mobile breadcrumb\r\n\t\t\tvar mobileBreadcrumb = $('.mobile-breadcrumb-nav li:nth-child(' + (index + 1) + ')');\r\n\t\t\tmobileBreadcrumb.removeClass('active');\r\n\r\n\t\t\t// Find out active class on main breadcrumb and set on mobile\r\n\t\t\t// breadcrumb\r\n\t\t\tvar breadcrumb = $(this);\r\n\t\t\tif (breadcrumb.hasClass('active')) {\r\n\t\t\t\tmobileBreadcrumb.addClass('active');\r\n\t\t\t} else if (breadcrumb.hasClass('validated')) {\r\n\t\t\t\tmobileBreadcrumb.addClass('validated');\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.FormatMobileBreadcrumbNav();\r\n\t}\r\n\r\n\tincrementBreadCrumbs(activeSection, nextSection) {\r\n\t\t$('[data-menuanchor=\"' + nextSection.anchor + '\"]').addClass('active');\r\n\t\t$('[data-menuanchor=\"' + activeSection.anchor + '\"]').removeClass('active').addClass('validated');\r\n\t\tthis.RefreshMobileBreadcrumbNav();\r\n\t}\r\n}\r\n\r\nclass ValidationResponse {\r\n\tconstructor(success, inputConcerned, errorMessage) {\r\n\t\tthis.success = success;\r\n\t\tthis.input = inputConcerned;\r\n\t\tthis.errorMessage = errorMessage;\r\n\t}\r\n}\r\n\r\nexport let _utilities = new Utilities();\r\nexport { ValidationResponse, placeHolderMap };\r\n","import Common from './i247.Common.js';\r\nimport { _utilities } from \"./utilities.js\";\r\nimport { _address } from \"./i247.Address.js\";\r\nimport { _mapping } from './i247.Mapping.js';\r\n\r\nclass VE103 {\r\n\tconstructor() {\r\n\t\t// Anchors\r\n\t\tthis.vehicleSearchAnchor = \"VehicleSearchAnchor\";\r\n\t\tthis.vehicleAnchor = \"VehicleAnchor\";\r\n\t\tthis.ve103Anchor = \"VE103Anchor\";\r\n\t\tthis.driverAnchor = \"DriverAnchor\";\r\n\t\tthis.driverAddressAnchor = \"DriverAddressAnchor\";\r\n\t\tthis.summaryAnchor = \"SummaryAnchor\";\r\n\t\tthis.postageAnchor = \"PostageAnchor\";\r\n\t\tthis.ve103InfoPage1Anchor = 've103InfoPage1Anchor';\r\n\t\tthis.ve103InfoPage2Anchor = 've103InfoPage2Anchor';\r\n\r\n\t\t// Navigation Text\r\n\t\tthis.vehicleSearchNavigationText = \"Vehicle Search\";\r\n\t\tthis.vehicleNavigationText = \"Vehicle Details\";\r\n\t\tthis.ve103NavigationText = \"Travel Dates\";\r\n\t\tthis.driverNavigationText = \"Driver Details\";\r\n\t\tthis.driverAddressNavigationText = \"Driver Address\";\r\n\t\tthis.summaryNavigationText = \"Summary\";\r\n\t\tthis.postageNavigationText = \"Delivery\";\r\n\t\tthis.ve103InfoPage1Text = 'Info';\r\n\t\tthis.ve103InfoPage2Text = 'Info2';\r\n\r\n\t\tthis.viewModel = null;\r\n\t\tthis.vehicle = null;\r\n\t\tthis.clicked = false;\r\n\t\tthis.createCertificatePressed = false;\r\n\t\tthis.returnToSummary = false;\r\n\t\tthis.orderTotal = 0;\r\n\t\tthis.postageOptions = {};\r\n\t\tthis.postageServiceId = null;\r\n\t\tthis.postageService = null;\r\n\t\tthis.useDeliveryAddress = false;\r\n\t\tthis.useInvoiceAddress = false;\r\n\t\tthis.certificateReference = null;\r\n\t\tthis.doBounce = null;\r\n\t\tthis.utilities = _utilities;\r\n\t\tthis.numOfDrivers = 1;\r\n\t\tthis.vehicleSearchDetails = \"VehicleSearchDetails\";\r\n\t\tthis.vehicleDetails = \"VehicleDetails\";\r\n\t\tthis.ve103Details = \"VE103Details\";\r\n\t\tthis.driverDetails = \"DriverDetails\";\r\n\t\tthis.driverAddressDetails = \"DriverAddressDetails\";\r\n\t\tthis.summaryDetails = \"SummaryDetails\";\r\n\t\tthis.postageDetails = \"PostageDetails\";\r\n\t\tthis.paymentDetails = \"PaymentDetails\";\r\n\t\tthis.confirmation = \"Confirmation\";\r\n\t\tthis.currentStage = this.vehicleDetails;\r\n\t\tthis.ve103InfoPage1Details = 've103InfoPage1Details';\r\n\t\tthis.ve103InfoPage2Details = 've103InfoPage2Details';\r\n\t\tthis.stages = [this.vehicleSearchDetails, this.vehicleDetails, this.ve103InfoPage1Details, this.ve103InfoPage2Details, this.ve103Details, this.driverDetails, this.driverAddressDetails, this.postageDetails, this.summaryDetails, this.paymentDetails];\r\n\r\n\t\tthis.anchors = [this.vehicleSearchAnchor, this.vehicleAnchor, this.ve103InfoPage1Anchor, this.ve103InfoPage2Anchor, this.ve103Anchor, this.driverAnchor, this.driverAddressAnchor, this.postageAnchor, this.summaryAnchor];\r\n\t\tthis.navigationTexts = [this.vehicleSearchNavigationText, this.ve103InfoPage1Text, this.ve103InfoPage2Text, this.vehicleNavigationText, this.ve103NavigationText, this.driverNavigationText, this.driverAddressNavigationText, this.postageNavigationText, this.summaryNavigationText];\r\n\r\n\t\tthis.model = null;\r\n\r\n\t\tkendo.culture(\"en-GB\");\r\n\t\tthis.BindFormControls();\r\n\t\t$(\"#fullPageContainer\").show();\r\n\t\t$(\"#breadcrumb, #mobileBreadcrumbNav\").removeClass('d-none');\r\n\t}\r\n\r\n\tSetVehicle(vehicleIn) {\r\n\t\tlet _this = this;\r\n\t\t_this.vehicle = _this.model = vehicleIn;\r\n\t}\r\n\r\n\tInitialise() {\r\n\t\tlet _this = this;\r\n\r\n\t\tgtag('event', 'entered', { 'event_category': 'section', 'event_label': '1: FT - entered registration' });\r\n\t\tvar viewModelRequest = _this.GetViewModel();\r\n\r\n\t\t$.when(viewModelRequest).done(function (model) {\r\n\t\t\t_this.viewModel = model;\r\n\r\n\t\t\tif (model.hpi !== null && model.errors.length == 0) {\r\n\t\t\t\t$(\"#HpiExRegNo\").text(model.hpi.exRegNo);\r\n\t\t\t\t$(\"#HpiExMake\").text(model.hpi.exMake);\r\n\t\t\t\t$(\"#HpiExModel\").text(model.hpi.exModel);\r\n\t\t\t\t$(\"#HpiExFirstRegDate\").text(kendo.toString(new Date(model.hpi.exFirstRegDate), \"dd/MM/yyyy\"));\r\n\r\n\t\t\t\t//REMOVE FROM API - TODO\r\n\t\t\t\t//$(\"#vehicle-driver-company\").text(_this.vehicle.driverCompanyName);\r\n\t\t\t\t//$(\"#vehicle-lease-company\").text(_this.vehicle.customerName);\r\n\r\n\t\t\t\tif (model.hpi.exColour) {\r\n\t\t\t\t\t$(\"#vehicle-colour\").html(`${model.hpi.exColour}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(\"#vehicle-colour\").append('');\r\n\r\n\t\t\t\t\tvar colourSelect = $(\"#vehicle-colour-select\").append($(\"