{"version":3,"file":"webpack-chunks/chunk.scripts_components_forms_js.357064c093b86d0f6d13.js","mappings":"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","sources":["webpack://freightliner/./scripts/components/forms.js","webpack://freightliner/./scripts/const/countries.js","webpack://freightliner/./scripts/constants.js","webpack://freightliner/./scripts/utils/FormValidation.js","webpack://freightliner/./scripts/utils/connectLabels.js","webpack://freightliner/./scripts/utils/domWrap.js","webpack://freightliner/./scripts/utils/formField.js","webpack://freightliner/./scripts/utils/getDistance.js","webpack://freightliner/./scripts/utils/htm.js","webpack://freightliner/./scripts/utils/http.js","webpack://freightliner/./scripts/utils/locationFromPostal.js"],"sourcesContent":["import { googleMapsKey, rootURL } from '../constants';\r\nimport connectLabels from '../utils/connectLabels';\r\nimport domWrap from '../utils/domWrap';\r\nimport formField from '../utils/formField';\r\nimport getDistance from '../utils/getDistance';\r\nimport h from '../utils/htm';\r\nimport http from '../utils/http';\r\n//Potential Quote Form Validation Separation\r\n//import { formValidation } from '../../scripts/quoteSubmitValidation';\r\nimport { formValidation } from '../utils/FormValidation'\r\nimport { locationFromPostal } from '../utils/locationFromPostal';\r\n\r\n\r\nexport default async form => { // 'form[type]:not([type*=\"Calc\"])'\r\n\r\n\tconst formType = form.getAttribute('type');\r\n\r\n\tif (formType && (formType === 'DownloadGuide' || formType === 'RCOGuide' || formType === 'Newsletter' || formType === 'Cascadia')) {\r\n\t\twhitePaper(form, formType);\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst captchaKey = form.getAttribute('data-captchakey');\r\n\tconst captchaProperty = form.getAttribute('data-captchaproperty');\r\n\tconst saveButton = form.querySelector('input[type = \"Submit\"]');\r\n\tconst scriptFields = [...document.querySelectorAll('script[type=\"fields\"]')];\r\n\tlet isProcessing = false;\r\n\r\n\tif (scriptFields.length < 1) return;\r\n\r\n\tif (!saveButton)\r\n\t\tsaveButton = {\r\n\t\t\tclassList: {\r\n\t\t\t\tadd: (element) => { }\r\n\t\t\t},\r\n\t\t\tvalue: ''\r\n\t\t};\r\n\r\n\tconnectLabels(form);\r\n\r\n\tscriptFields.forEach(script => {\r\n\t\tscript.insertAdjacentHTML('afterend', [...eval(script.innerHTML)].reduce((html, item) => html + formField(item), ''));\r\n\t\tscript.remove();\r\n\t});\r\n\r\n\t[...form.querySelectorAll('select[children]')].forEach(select => select.addEventListener('change', () => {\r\n\t\tselect.getAttribute('children').split(',').forEach(childId => {\r\n\t\t\tvar child = form.querySelector('select#' + childId),\r\n\t\t\t\toptions = (select.querySelector('option:checked').getAttribute(childId.toLowerCase()) || '').split(',');\r\n\t\t\tif (!child) return;\r\n\t\t\t[...child.querySelectorAll('option:not([disabled])')].forEach(option => option.remove());\r\n\t\t\tchild.insertAdjacentHTML('beforeend', options.filter(String).reduce((html, item) => html + h('option value=\"' + item + '\"', item), ''));\r\n\t\t\tchild.value = '';\r\n\t\t\tchild.style.display = child.querySelectorAll('option:not([disabled])').length > 0 ? '' : 'none';\r\n\t\t});\r\n\t}));\r\n\r\n\t[...form.querySelectorAll('select')].forEach(select => {\r\n\t\tvalidateSelect(select);\r\n\t\tselect.addEventListener('change', () => validateSelect(select));\r\n\t});\r\n\r\n\t[...form.querySelectorAll('select[name=\"TruckModel\"]')].forEach(select => {\r\n\t\tconst matches = [...form.querySelectorAll('select[name=\"TruckModel\"] option')]\r\n\t\t\t.map(x => { return { value: x.getAttribute('value') }; })\r\n\t\t\t.filter(x => { return isReferrerMatch(x.value); });\r\n\t\tconst match = (matches && matches.length > 0) ? matches[0].value : '';\r\n\t\tselect.value = match;\r\n\t\tdomWrap(select).trigger('change');\r\n\t});\r\n\r\n\t[...form.querySelectorAll('[dealer-selector]')].forEach(dealerSelect);\r\n\r\n\t[...form.querySelectorAll('[location-check]')].forEach(locationCheck);\r\n\r\n\t[...form.querySelectorAll('[location-from-postal]')].forEach(locationFromPostal);\r\n\r\n\tconst fnOnComplete = (response) => {\r\n\t\tisProcessing = false;\r\n\t\tsetButtonState(saveButton, isProcessing);\r\n\r\n\t\tif (response) {\r\n\r\n\t\t\tconst tag = form.querySelector('input[name=\"tag\"]')?.value\r\n\r\n\t\t\tif (tag && tag !== '' && gtag_report_conversion\r\n\t\t\t\t&& typeof gtag_report_conversion === 'function')\r\n\t\t\t\tgtag_report_conversion(tag);\r\n\r\n\t\t\tconst thankyou = form.querySelector('.thankyou');\r\n\r\n\t\t\tif (thankyou) {\r\n\t\t\t\tconst href = thankyou.getAttribute('href');\r\n\r\n\t\t\t\tif (href && href !== '') {\r\n\t\t\t\t\tconst distanceElement = form.elements['Dealer[distance]'];\r\n\t\t\t\t\tconst distance = (distanceElement)\r\n\t\t\t\t\t\t? distanceElement.value\r\n\t\t\t\t\t\t: 'Unknown';\r\n\r\n\t\t\t\t\tlet newLocation = `${href}?type=truck`;\r\n\r\n\t\t\t\t\tif (response.identifier)\r\n\t\t\t\t\t\tnewLocation += `&surveyid=${response.identifier}`;\r\n\r\n\t\t\t\t\tif (response.token)\r\n\t\t\t\t\t\tnewLocation += `&surveytoken=${response.token}`;\r\n\r\n\t\t\t\t\tnewLocation += `&distance=${distance}`;\r\n\r\n\t\t\t\t\twindow.location.href = newLocation;\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tform.innerHTML = thankyou.innerHTML;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ((navigator.userAgent || navigator.vendor || window.opera).match(/Android/i)) {\r\n\t\t\t\tsetTimeout(() => document.body.scrollTop = form.offsetTop - 70, 100);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst setToken = (token) => {\r\n\t\tconst field = document.createElement('input');\r\n\t\tconst name = (typeof captchaProperty === 'string'\r\n\t\t\t&& captchaProperty.length > 0)\r\n\t\t\t? captchaProperty\r\n\t\t\t: 'CaptchaToken';\r\n\t\tfield.setAttribute('type', 'hidden');\r\n\t\tfield.setAttribute('id', name);\r\n\t\tfield.setAttribute('name', name);\r\n\t\tfield.setAttribute('value', token);\r\n\r\n\t\tform.appendChild(field);\r\n\r\n\t\tsendLead(formType, form, fnOnComplete)\r\n\t};\r\n\r\n\tform.addEventListener('submit', event => {\r\n\t\tevent.preventDefault();\r\n\r\n\t\tif (isProcessing)\r\n\t\t\treturn;\r\n\r\n\t\tisProcessing = true;\r\n\r\n\t\tsetButtonState(saveButton, isProcessing)\r\n\r\n\t\tconst validation = formValidation(formType, form);\r\n\r\n\t\tif (!validation.validate()) {\r\n\t\t\tfnOnComplete();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof captchaKey === 'string' && captchaKey.length > 0) {\r\n\t\t\tif (!window.grecaptcha)\r\n\t\t\t\tloadCaptcha(captchaKey, setToken);\r\n\t\t\telse\r\n\t\t\t\tgetCaptchaToken(captchaKey, setToken);\r\n\t\t} else {\r\n\t\t\tsendLead(formType, form, fnOnComplete)\r\n\t\t}\r\n\r\n\t});\r\n}\r\n\r\nfunction setButtonState(btn, isProcessing) {\r\n\tif (isProcessing) {\r\n\t\tbtn.classList.add('form-button-loading');\r\n\t\tbtn.setAttribute('data-value', btn.value);\r\n\t\tbtn.value = '';\r\n\t} else {\r\n\t\tbtn.classList.remove('form-button-loading');\r\n\t\tbtn.value = btn.getAttribute('data-value');\r\n\t}\r\n}\r\n\r\nfunction getCaptchaToken(captchaKey, fnOnComplete) {\r\n\twindow.grecaptcha.ready(() => {\r\n\t\twindow.grecaptcha\r\n\t\t\t.execute(captchaKey, { action: 'submit' })\r\n\t\t\t.then(token => {\r\n\t\t\t\tfnOnComplete(token);\r\n\t\t\t});\r\n\t});\r\n}\r\n\r\nfunction loadCaptcha(captchaKey, fnOnComplete) {\r\n\tconst script = document.createElement('script');\r\n\tscript.setAttribute('type', 'text/javascript');\r\n\tscript.setAttribute('src', `https://www.google.com/recaptcha/api.js?render=${captchaKey}`);\r\n\tscript.addEventListener('load', () => {\r\n\t\tgetCaptchaToken(captchaKey, fnOnComplete)\r\n\t});\r\n\tdocument.body.appendChild(script);\r\n}\r\n\r\nfunction sendLead(formType, form, fnOnComplete) {\r\n\r\n\tconst headers = {};\r\n\r\n\tif (form['X-CSRF-TOKEN-FTL'])\r\n\t\theaders['X-CSRF-TOKEN-FTL'] = form['X-CSRF-TOKEN-FTL'].value;\r\n\r\n\thttp(`/${form.getAttribute('type')}`)\r\n\t\t.create(formData(form), headers)\r\n\t\t.then((response) => {\r\n\t\t\tfnOnComplete(response);\r\n\t\t}).catch((e) => {\r\n\t\t\tconsole.error(e);\r\n\t\t\tform.querySelector('.errors').innerHTML =\r\n\t\t\t\th('p', 'There was an error submitting. Please check your connection and try again.');\r\n\t\t\tfnOnComplete();\r\n\t\t});\r\n}\r\n\r\nclass WhitePaperForm {\r\n\tconstructor(form) {\r\n\t\tthis.Form = form;\r\n\t\tif (!this.Form)\r\n\t\t\tconsole.error(\"ArgumentNullException: Form\");\r\n\r\n\t\tthis.SubmitButton = form.querySelector('[type=\"submit\"]');\r\n\t\tif (!this.SubmitButton)\r\n\t\t\tconsole.error(\"ArgumentNullException: SubmitButton\");\r\n\r\n\t\tthis.Token = form.querySelector('input[name=\"X-CSRF-TOKEN-FTL\"]');\r\n\t\tif (!this.Token)\r\n\t\t\tconsole.error(\"ArgumentNullException: Token\");\r\n\r\n\t\tthis.Api = undefined;\r\n\r\n\t\tthis.Fields = {};\r\n\r\n\t\tthis.LoadingText = 'Loading';\r\n\r\n\t\tthis.CaptchaKey = undefined;\r\n\r\n\t}\r\n\r\n\tgetData() {\r\n\t\tconst data = {};\r\n\r\n\t\tfor (let x in this.Fields)\r\n\t\t\tdata[x] = this.Fields[x].element.value;\r\n\r\n\t\treturn data;\r\n\t}\r\n\r\n\tonComplete() { }\r\n\r\n\tsendLead() {\r\n\t\tconst headers = {};\r\n\r\n\t\tif (this.Form['X-CSRF-TOKEN-FTL'])\r\n\t\t\theaders['X-CSRF-TOKEN-FTL'] = this.Token.value;\r\n\r\n\t\tconst data = this.getData();\r\n\r\n\t\thttp(this.Api)\r\n\t\t\t.create(data, headers)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tconst fieldsContainer = this.Form.querySelector('.fields-container');\r\n\t\t\t\tif (fieldsContainer)\r\n\t\t\t\t\tfieldsContainer.style.display = 'none';\r\n\r\n\t\t\t\tconst thankyou = this.Form.querySelector('.thankyou');\r\n\t\t\t\tif (thankyou)\r\n\t\t\t\t\tthankyou.style.display = 'block';\r\n\r\n\t\t\t\tthis.onComplete();\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tconsole.error('Error: Download Guide', e);\r\n\t\t\t\tthis.SubmitButton.value = 'Submit';\r\n\t\t\t\tthis.SubmitButton.classList.remove('loading');\r\n\t\t\t\tthis.ErrorContainer.innerHTML = `An error occurred while processing your request. Please try again.`;\r\n\t\t\t});\r\n\t}\r\n\r\n\tsetToken(token) { }\r\n\r\n\tvalidateFields() {\r\n\t\tlet isValid = true;\r\n\r\n\t\tfor (let x in this.Fields) {\r\n\t\t\tif (this.Fields[x].required && this.Fields[x].element.value === '') {\r\n\t\t\t\tthis.Fields[x].element.classList.add('error');\r\n\t\t\t\tisValid = false;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t\tthis.Fields[x].element.classList.remove('error');\r\n\t\t}\r\n\r\n\t\treturn isValid;\r\n\t}\r\n\r\n\tsubmit() {\r\n\t\tif (this.SubmitButton.value !== this.LoadingText) {\r\n\r\n\t\t\tthis.SubmitButton.classList.add('loading');\r\n\r\n\t\t\tconst isValid = this.validateFields();\r\n\r\n\t\t\tif (isValid) {\r\n\t\t\t\tthis.SubmitButton.value = 'Loading';\r\n\r\n\t\t\t\tif (typeof this.CaptchaKey === 'string' && this.CaptchaKey.length > 0) {\r\n\r\n\t\t\t\t\tconst fnSetToken = (token) => {\r\n\t\t\t\t\t\tthis.setToken(token);\r\n\t\t\t\t\t\tthis.sendLead();\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (!window.grecaptcha)\r\n\t\t\t\t\t\tloadCaptcha(this.CaptchaKey, fnSetToken);\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tgetCaptchaToken(this.CaptchaKey, fnSetToken);\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.sendLead()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.SubmitButton.classList.remove('loading');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nclass DownloadGuide extends WhitePaperForm {\r\n\tconstructor(form) {\r\n\t\tsuper(form);\r\n\r\n\t\tthis.Api = '/DownloadGuide';\r\n\r\n\t\tthis.CaptchaKey = form.getAttribute('data-captchakey');\r\n\r\n\t\tthis.Fields = {\r\n\t\t\tCaptchaToken: { element: { value: '' }, required: false },\r\n\t\t\tFirstName: { element: form.querySelector('input[name=\"first_name\"]'), required: true },\r\n\t\t\tLastName: { element: form.querySelector('input[name=\"last_name\"]'), required: true },\r\n\t\t\tEmail: { element: form.querySelector('input[name=\"email\"]'), required: true }\r\n\t\t};\r\n\t}\r\n\r\n\tsetToken(token) {\r\n\t\tthis.Fields.CaptchaToken.element.value = token;\r\n\t};\r\n\r\n\tvalidateFields() {\r\n\t\tconst validation = formValidation('DownloadGuide', this.Form);\r\n\r\n\t\treturn validation.validate();\r\n\t};\r\n}\r\n\r\nclass Newsletter extends WhitePaperForm {\r\n\tconstructor(form) {\r\n\t\tsuper(form);\r\n\t\tconsole.log(\"HELLO!\")\r\n\t\tthis.Form = form;\r\n\r\n\t\tthis.Api = '/Newsletter';\r\n\r\n\t\tthis.CaptchaKey = form.getAttribute('data-captchakey');\r\n\r\n\t\tthis.ErrorContainer = form.querySelector('div.errors');\r\n\t\tif (!this.ErrorContainer)\r\n\t\t\tconsole.error(\"ArgumentNullException: ErrorContainer\");\r\n\r\n\t\tthis.Fields = {\r\n\t\t\tCaptchaToken: { element: { value: '' }, required: false },\r\n\t\t\tFirstName: { element: form.querySelector('input[name=\"FirstName\"]'), required: true, message: \"Moo!\" },\r\n\t\t\tLastName: { element: form.querySelector('input[name=\"LastName\"]'), required: true },\r\n\t\t\tEmail: { element: form.querySelector('input[name=\"Email\"]'), required: true },\r\n\t\t\tBusinessCountry: { element: form.querySelector('select[name=\"BusinessCountry\"]'), required: true },\r\n\t\t\tUTM_AdGroup: { element: form.querySelector('input[name=\"UTM_AdGroup\"]'), required: false },\r\n\t\t\tUTM_Campaign: { element: form.querySelector('input[name=\"UTM_Campaign\"]'), required: false },\r\n\t\t\tUTM_Content: { element: form.querySelector('input[name=\"UTM_Content\"]'), required: false },\r\n\t\t\tUTM_Medium: { element: form.querySelector('input[name=\"UTM_Medium\"]'), required: false },\r\n\t\t\tUTM_Source: { element: form.querySelector('input[name=\"UTM_Source\"]'), required: false }\r\n\t\t};\r\n\r\n\t\tthis.ThankYouPage = form.querySelector('a.thankyou');\r\n\r\n\t\tif (!this.ErrorContainer)\r\n\t\t\tconsole.error(\"ArgumentNullException: ErrorContainer\");\r\n\t}\r\n\r\n\tonComplete() {\r\n\t\twindow.location.href = this.ThankYouPage.href;\r\n\t}\r\n\r\n\tsetToken(token) {\r\n\t\tthis.Fields.CaptchaToken.element.value = token;\r\n\t}\r\n\r\n\tvalidateFields() {\r\n\t\tthis.ErrorContainer.innerHTML = '';\r\n\r\n\t\tconst validation = formValidation('Newsletter', this.Form);\r\n\r\n\t\treturn validation.validate();\r\n\t}\r\n}\r\n\r\nclass RCOGuide extends WhitePaperForm {\r\n\tconstructor(form) {\r\n\t\tsuper(form);\r\n\r\n\t\tthis.Api = '/RCO';\r\n\r\n\t\tthis.CaptchaKey = form.getAttribute('data-captchakey');\r\n\r\n\t\tthis.Fields = {\r\n\t\t\tCaptchaToken: { element: { value: '' }, required: false },\r\n\t\t\tFirstName: { element: form.querySelector('input[name=\"first_name\"]'), required: true },\r\n\t\t\tLastName: { element: form.querySelector('input[name=\"last_name\"]'), required: true },\r\n\t\t\tEmail: { element: form.querySelector('input[name=\"email\"]'), required: true }\r\n\t\t};\r\n\r\n\t\tthis.OptIn = form.querySelector('input[name=\"optIn\"]');\r\n\r\n\t\tif (!this.OptIn)\r\n\t\t\tconsole.error(\"ArgumentNullException: OptIn\");\r\n\t}\r\n\r\n\tgetData() {\r\n\t\tconst data = super.getData();\r\n\t\tdata.OptIn = this.OptIn.checked ? 'true' : 'false';\r\n\t\treturn data;\r\n\t}\r\n\r\n\tsetToken(token) {\r\n\t\tthis.Fields.CaptchaToken.element.value = token;\r\n\t}\r\n\r\n\tvalidateFields() {\r\n\t\tconst validation = formValidation('RCO', this.Form);\r\n\r\n\t\treturn validation.validate();\r\n\t}\r\n}\r\n\r\nfunction whitePaper(form, formType) {\r\n\r\n\tif (!form)\r\n\t\tconsole.error(\"ArgumentNullException: form\");\r\n\r\n\tif (!formType)\r\n\t\tconsole.error(\"ArgumentNullException: formType\");\r\n\r\n\tlet whitepaper = undefined;\r\n\r\n\tswitch (formType) {\r\n\t\tcase 'RCOGuide':\r\n\t\t\twhitepaper = new RCOGuide(form);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'DownloadGuide':\r\n\t\t\twhitepaper = new DownloadGuide(form);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'Newsletter':\r\n\t\t\twhitepaper = new Newsletter(form);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'Newsletter':\r\n\t\t\twhitepaper = new Cascadia(form);\r\n\t}\r\n\r\n\tif (!whitepaper)\r\n\t\tconsole.error(`NotImplementedException: ${formType}`)\r\n\r\n\tform.addEventListener('submit', event => {\r\n\t\tevent.preventDefault();\r\n\t\twhitepaper.submit();\r\n\t\treturn;\r\n\t});\r\n}\r\n\r\nfunction formData(form) {\r\n\tconst data = new FormData(form);\r\n\tconst params = new URLSearchParams(data);\r\n\tconst serialized = params.toString();\r\n\treturn serialized;\r\n}\r\n\r\nfunction validateSelect(select) {\r\n\tif (select.classList.contains('validate')) {\r\n\t\tselect.classList.toggle('valid', !!select.value);\r\n\t}\r\n}\r\n\r\nfunction parseLocationValue(value) {\r\n\tif (typeof value === 'string')\r\n\t\treturn value.toLowerCase()\r\n\t\t\t.replaceAll(' ', '-')\r\n\t\t\t.replaceAll(/[^0-9a-zA-Z-]/g, '');\r\n\r\n\treturn '';\r\n}\r\n\r\nfunction isReferrerMatch(model) {\r\n\tconst parsedModel = parseLocationValue(model);\r\n\r\n\tconst referrer = document.referrer;\r\n\tif (referrer) {\r\n\t\tconst matches = referrer.split('/')\r\n\t\t\t.filter(x => { return x !== '' && parseLocationValue(x) === parsedModel; });\r\n\r\n\t\tif (matches.length > 0)\r\n\t\t\treturn true;\r\n\t}\r\n\r\n\tif (typeof URLSearchParams === 'function') {\r\n\t\tconst urlParams = new URLSearchParams(window.location.search);\r\n\t\tconst truck = urlParams.get('truck');\r\n\t\tif (truck && parsedModel === parseLocationValue(truck))\r\n\t\t\treturn true;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nasync function locationCheck(container) {\r\n\tconst { default: MapsLoader } = await import('load-google-maps-api'),\r\n\t\t{ default: _ } = await import('lodash'),\r\n\t\tMaps = await MapsLoader({\r\n\t\t\tv: '3.30',\r\n\t\t\tkey: googleMapsKey,\r\n\t\t\tlibraries: ['places']\r\n\t\t});\r\n\tvar input = container.querySelector('input[location]'),\r\n\t\terrors = container.querySelector('.errors'),\r\n\t\tinternational = container.querySelector('[international] textarea'),\r\n\t\taddress = container.querySelector('input[name=\"Address\"]'),\r\n\t\tcity = container.querySelector('input[name=\"City\"]'),\r\n\t\tstate = container.querySelector('input[name=\"State\"]'),\r\n\t\tpostalcode = container.querySelector('input[name=\"PostalCode\"]'),\r\n\t\tcountry = container.querySelector('input[name=\"Country\"]'),\r\n\t\tlocationAutocomplete = new Maps.places.Autocomplete(input, { types: ['geocode'] });\r\n\t// When the user selects an address from the dropdown, populate the address\r\n\t// fields in the form.\r\n\tlocationAutocomplete.addListener('place_changed', () => {\r\n\t\tconst place = autocomplete.getPlace(),\r\n\t\t\tmailingAddress = _.chain(place.address_components).map(item => {\r\n\t\t\t\treturn [item.types[0], item.long_name];\r\n\t\t\t}).fromPairs().value(),\r\n\t\t\tat = joinedAttributes(mailingAddress);\r\n\r\n\t\tif (!(mailingAddress.street_number && mailingAddress.route)) {\r\n\t\t\terrors.innerHTML = h('p', 'Please enter a more specific mailing address.').toString();\r\n\t\t}\r\n\t\telse {\r\n\t\t\terrors.innerHTML = '';\r\n\t\t\tif (['United States', 'Canada'].indexOf(mailingAddress.country) === -1 && mailingAddress.street_number && mailingAddress.route) {\r\n\t\t\t\tinternational.value = place.formatted_address;\r\n\t\t\t\tcontainer.setAttribute('region', 'international');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcontainer.setAttribute('region', 'national');\r\n\t\t\t\taddress.value = at(['street_number', 'route'], ' ');\r\n\t\t\t\tcity.value = at(['locality']);\r\n\t\t\t\tstate.value = at(['administrative_area_level_1']);\r\n\t\t\t\tpostalcode.value = at(['postal_code', 'postal_code_suffix'], '-');\r\n\t\t\t\tcountry.value = at(['country']);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\tfunction joinedAttributes(source) {\r\n\t\treturn (paths, glue) => {\r\n\t\t\tglue = glue || '';\r\n\t\t\treturn _.compact(paths.reduce(function (list, path) {\r\n\t\t\t\treturn list.concat(_.at(source, path));\r\n\t\t\t}, [])).join(glue);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nasync function dealerSelect(container) {\r\n\tconst { default: MapsLoader } = await import('load-google-maps-api'),\r\n\t\tMaps = await MapsLoader({\r\n\t\t\tv: '3.30',\r\n\t\t\tkey: googleMapsKey,\r\n\t\t\tlibraries: ['places']\r\n\t\t});\r\n\tlet dealerInput = container.querySelector('input[location]'),\r\n\t\terrors = container.querySelector('[errors]'),\r\n\t\tdealer = container.querySelector('input[name=\"DealerCode\"]'),\r\n\t\theader = container.querySelector('header'),\r\n\t\theaderDefaultText = header.textContent,\r\n\t\tallDealers = [],\r\n\t\tdealerArray = [],\r\n\t\tdealerFields = [\r\n\t\t\t'address',\r\n\t\t\t'city',\r\n\t\t\t'email',\r\n\t\t\t'name',\r\n\t\t\t'phone',\r\n\t\t\t'zip',\r\n\t\t\t'state',\r\n\t\t\t'isInternational',\r\n\t\t\t'website',\r\n\t\t\t'distance'\r\n\t\t],\r\n\t\tdealerList = container.querySelector('[dealers]'),\r\n\t\tdealerAutocomplete = new Maps.places.Autocomplete(dealerInput, { types: ['geocode'] }),\r\n\t\taddressFields,\r\n\t\tdealerApiAddress = (container.attributes['api-address'] && container.attributes['api-address'].value !== '')\r\n\t\t\t? container.attributes['api-address'].value : rootURL + '/dealers/GetByDistance';\r\n\r\n\tfunction filterDealers(dealers) {\r\n\t\tconst filtered = [],\r\n\t\t\tselectedTruck = container.parentNode.querySelector('[name=\"TruckModel\"]')?.value || '';\r\n\r\n\t\t// currently we're only applying logic for Cascadia trucks, all others leave unfiltered\r\n\t\tif (selectedTruck.toLowerCase().indexOf('cascadia') === -1)\r\n\t\t\treturn dealers;\r\n\r\n\t\tdealers.forEach(x => {\r\n\t\t\tif (x.isInternational) {\r\n\t\t\t\tfiltered.push(x);\r\n\t\t\t} else {\r\n\t\t\t\tvar lowerCaseTrucks = x.slsSvcProdDescList\r\n\t\t\t\t\t.concat(x.slsOnlyProdDescList)\r\n\t\t\t\t\t.map(a => a.toLowerCase());\r\n\t\t\t\tif (lowerCaseTrucks.indexOf('cascadia') !== -1) {\r\n\t\t\t\t\tfiltered.push(x);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn filtered;\r\n\t}\r\n\r\n\tfunction getAddressFields() {\r\n\t\treturn addressFields || dealerFields.map(key => {\r\n\t\t\treturn { Key: key, Object: container.querySelector('[name=\"Dealer[' + key + ']\"]') };\r\n\t\t});\r\n\t}\r\n\r\n\tfunction getLocation() {\r\n\t\tvar place = dealerAutocomplete.getPlace(),\r\n\t\t\tloc = place.geometry.location\r\n\r\n\t\treturn {\r\n\t\t\tlatitude: loc.lat(),\r\n\t\t\tlongitude: loc.lng()\r\n\t\t};\r\n\t}\r\n\r\n\tfunction populateDealers(dealers, location = getLocation()) {\r\n\t\tdealerList.innerHTML = h('h6', dealers.length + ' nearest Results')\r\n\t\t\t('ul',\r\n\t\t\t\tdealers.reduce((html, dealer) => {\r\n\t\t\t\t\tdealer.distance = Math.round(getDistance(dealer.latitude, dealer.longitude, location.latitude, location.longitude));\r\n\t\t\t\t\treturn html + h('li code=\"' + dealer.code + '\"',\r\n\t\t\t\t\t\th('label name', dealer.name)\r\n\t\t\t\t\t\t\t(dealer.city && dealer.state ? 'label address' : '', dealer.city + ', ' + dealer.state)\r\n\t\t\t\t\t\t\t('label distance', dealer.distance + ' Miles Away')\r\n\t\t\t\t\t)\r\n\t\t\t\t}, '')\r\n\t\t\t).toString();\r\n\t}\r\n\r\n\tfunction resetAddress() {\r\n\t\theader.textContent = headerDefaultText;\r\n\t\theader.classList.add('expanded');\r\n\t\tdealer.value = '';\r\n\t\tgetAddressFields().forEach(field => {\r\n\t\t\tfield.Object.value = '';\r\n\t\t\tif (field.Object.classList.contains('validate'))\r\n\t\t\t\tfield.Object.className = 'validate';\r\n\t\t});\r\n\t\t[...container.querySelectorAll('li.selected')].forEach(li => li.classList.remove('selected'));\r\n\r\n\t\tif (allDealers.length > 0) {\r\n\t\t\tdealerArray = filterDealers(allDealers);\r\n\t\t\tpopulateDealers(dealerArray);\r\n\t\t}\r\n\t}\r\n\r\n\t// When the user selects an address from the dropdown, populate the address\r\n\t// fields in the form.\r\n\tdealerAutocomplete.addListener('place_changed', function () {\r\n\t\tconst location = getLocation();\r\n\t\terrors.innerHTML = '';\r\n\t\thttp(dealerApiAddress).get({\r\n\t\t\t...location,\r\n\t\t\ttype: \"FTL\",\r\n\t\t\tcount: 10,\r\n\t\t\tradius: 1000,\r\n\t\t\tsource: 'requestquote'\r\n\t\t}).then(dealers => {\r\n\t\t\tallDealers = dealers;\r\n\t\t\tdealerArray = filterDealers(dealers);\r\n\t\t\tpopulateDealers(dealerArray, location);\r\n\t\t}).catch((error) => {\r\n\t\t\tconsole.error(error);\r\n\t\t});\r\n\t});\r\n\r\n\tcontainer.parentNode.querySelector('[name=\"TruckModel\"]')?.addEventListener('change', resetAddress);\r\n\r\n\tdomWrap(container).on('click', 'li', function () {\r\n\t\tconst dealerCode = this.getAttribute('code');\r\n\t\tdealer.value = dealerCode;\r\n\t\tconst event = new Event(\"dealer-change\", {});\r\n\t\tdealer.dispatchEvent(event);\r\n\t\tdomWrap(this).setSelected();\r\n\t\theader.textContent = 'My Dealer: ' + this.querySelector('label').textContent;\r\n\t\theader.classList.remove('expanded');\r\n\r\n\t\t(dealer => {\r\n\t\t\tgetAddressFields().forEach(field => {\r\n\t\t\t\tfield.Object.value = dealer[field.Key];\r\n\t\t\t\tif (\r\n\t\t\t\t\tfield.Object.classList.contains('validate')\r\n\t\t\t\t\t&& field.Object.validity.valid\r\n\t\t\t\t) {\r\n\t\t\t\t\tfield.Object.classList.add('valid');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t})(dealerArray.find(item => item.code === dealerCode));\r\n\r\n\t});\r\n\r\n\theader.addEventListener('click', function () {\r\n\t\theader.classList.toggle('expanded');\r\n\t});\r\n}","export const countries = [\r\n {\"code\": \"US\", \"code3\": \"USA\", \"name\": \"United States\", \"number\": \"840\"},\r\n {\"code\": \"CA\", \"code3\": \"CAN\", \"name\": \"Canada\", \"number\": \"124\"},\r\n\t{\"code\": \"AF\", \"code3\": \"AFG\", \"name\": \"Afghanistan\", \"number\": \"004\"},\r\n\t{\"code\": \"AX\", \"code3\": \"ALA\", \"name\": \"Aland Islands\", \"number\": \"248\"},\r\n\t{\"code\": \"AL\", \"code3\": \"ALB\", \"name\": \"Albania\", \"number\": \"008\"},\r\n\t{\"code\": \"DZ\", \"code3\": \"DZA\", \"name\": \"Algeria\", \"number\": \"012\"},\r\n\t{\"code\": \"AD\", \"code3\": \"AND\", \"name\": \"Andorra\", \"number\": \"020\"},\r\n\t{\"code\": \"AO\", \"code3\": \"AGO\", \"name\": \"Angola\", \"number\": \"024\"},\r\n\t{\"code\": \"AI\", \"code3\": \"AIA\", \"name\": \"Anguilla\", \"number\": \"660\"},\r\n\t{\"code\": \"AQ\", \"code3\": \"ATA\", \"name\": \"Antarctica\", \"number\": \"010\"},\r\n\t{\"code\": \"AG\", \"code3\": \"ATG\", \"name\": \"Antigua and Barbuda\", \"number\": \"028\"},\r\n\t{\"code\": \"AR\", \"code3\": \"ARG\", \"name\": \"Argentina\", \"number\": \"032\"},\r\n\t{\"code\": \"AM\", \"code3\": \"ARM\", \"name\": \"Armenia\", \"number\": \"051\"},\r\n\t{\"code\": \"AW\", \"code3\": \"ABW\", \"name\": \"Aruba\", \"number\": \"533\"},\r\n\t{\"code\": \"AU\", \"code3\": \"AUS\", \"name\": \"Australia\", \"number\": \"036\"},\r\n\t{\"code\": \"AT\", \"code3\": \"AUT\", \"name\": \"Austria\", \"number\": \"040\"},\r\n\t{\"code\": \"AZ\", \"code3\": \"AZE\", \"name\": \"Azerbaijan\", \"number\": \"031\"},\r\n\t{\"code\": \"BS\", \"code3\": \"BHS\", \"name\": \"Bahamas\", \"number\": \"044\"},\r\n\t{\"code\": \"BH\", \"code3\": \"BHR\", \"name\": \"Bahrain\", \"number\": \"048\"},\r\n\t{\"code\": \"BD\", \"code3\": \"BGD\", \"name\": \"Bangladesh\", \"number\": \"050\"},\r\n\t{\"code\": \"BB\", \"code3\": \"BRB\", \"name\": \"Barbados\", \"number\": \"052\"},\r\n\t{\"code\": \"BY\", \"code3\": \"BLR\", \"name\": \"Belarus\", \"number\": \"112\"},\r\n\t{\"code\": \"BE\", \"code3\": \"BEL\", \"name\": \"Belgium\", \"number\": \"056\"},\r\n\t{\"code\": \"BZ\", \"code3\": \"BLZ\", \"name\": \"Belize\", \"number\": \"084\"},\r\n\t{\"code\": \"BJ\", \"code3\": \"BEN\", \"name\": \"Benin\", \"number\": \"204\"},\r\n\t{\"code\": \"BM\", \"code3\": \"BMU\", \"name\": \"Bermuda\", \"number\": \"060\"},\r\n\t{\"code\": \"BT\", \"code3\": \"BTN\", \"name\": \"Bhutan\", \"number\": \"064\"},\r\n\t{\"code\": \"BO\", \"code3\": \"BOL\", \"name\": \"Bolivia, Plurinational State of\", \"number\": \"068\"},\r\n\t{\"code\": \"BQ\", \"code3\": \"BES\", \"name\": \"Bonaire, Sint Eustatius and Saba\", \"number\": \"535\"},\r\n\t{\"code\": \"BA\", \"code3\": \"BIH\", \"name\": \"Bosnia and Herzegovina\", \"number\": \"070\"},\r\n\t{\"code\": \"BW\", \"code3\": \"BWA\", \"name\": \"Botswana\", \"number\": \"072\"},\r\n\t{\"code\": \"BV\", \"code3\": \"BVT\", \"name\": \"Bouvet Island\", \"number\": \"074\"},\r\n\t{\"code\": \"BR\", \"code3\": \"BRA\", \"name\": \"Brazil\", \"number\": \"076\"},\r\n\t{\"code\": \"IO\", \"code3\": \"IOT\", \"name\": \"British Indian Ocean Territory\", \"number\": \"086\"},\r\n\t{\"code\": \"BN\", \"code3\": \"BRN\", \"name\": \"Brunei Darussalam\", \"number\": \"096\"},\r\n\t{\"code\": \"BG\", \"code3\": \"BGR\", \"name\": \"Bulgaria\", \"number\": \"100\"},\r\n\t{\"code\": \"BF\", \"code3\": \"BFA\", \"name\": \"Burkina Faso\", \"number\": \"854\"},\r\n\t{\"code\": \"BI\", \"code3\": \"BDI\", \"name\": \"Burundi\", \"number\": \"108\"},\r\n\t{\"code\": \"KH\", \"code3\": \"KHM\", \"name\": \"Cambodia\", \"number\": \"116\"},\r\n\t{\"code\": \"CM\", \"code3\": \"CMR\", \"name\": \"Cameroon\", \"number\": \"120\"},\r\n\t{\"code\": \"CA\", \"code3\": \"CAN\", \"name\": \"Canada\", \"number\": \"124\"},\r\n\t{\"code\": \"CV\", \"code3\": \"CPV\", \"name\": \"Cape Verde\", \"number\": \"238\"},\r\n\t{\"code\": \"KY\", \"code3\": \"CYM\", \"name\": \"Cayman Islands\", \"number\": \"136\"},\r\n\t{\"code\": \"CF\", \"code3\": \"CAF\", \"name\": \"Central African Republic\", \"number\": \"140\"},\r\n\t{\"code\": \"TD\", \"code3\": \"TCD\", \"name\": \"Chad\", \"number\": \"148\"},\r\n\t{\"code\": \"CL\", \"code3\": \"CHL\", \"name\": \"Chile\", \"number\": \"152\"},\r\n\t{\"code\": \"CN\", \"code3\": \"CHN\", \"name\": \"China\", \"number\": \"156\"},\r\n\t{\"code\": \"CX\", \"code3\": \"CXR\", \"name\": \"Christmas Island\", \"number\": \"162\"},\r\n\t{\"code\": \"CC\", \"code3\": \"CCK\", \"name\": \"Cocos (Keeling) Islands\", \"number\": \"166\"},\r\n\t{\"code\": \"CO\", \"code3\": \"COL\", \"name\": \"Colombia\", \"number\": \"170\"},\r\n\t{\"code\": \"KM\", \"code3\": \"COM\", \"name\": \"Comoros\", \"number\": \"174\"},\r\n\t{\"code\": \"CG\", \"code3\": \"COG\", \"name\": \"Congo\", \"number\": \"178\"},\r\n\t{\"code\": \"CD\", \"code3\": \"COD\", \"name\": \"Congo, the Democratic Republic of the\", \"number\": \"180\"},\r\n\t{\"code\": \"CK\", \"code3\": \"COK\", \"name\": \"Cook Islands\", \"number\": \"184\"},\r\n\t{\"code\": \"CR\", \"code3\": \"CRI\", \"name\": \"Costa Rica\", \"number\": \"188\"},\r\n\t{\"code\": \"CI\", \"code3\": \"CIV\", \"name\": \"Cote d'Ivoire\", \"number\": \"384\"},\r\n\t{\"code\": \"HR\", \"code3\": \"HRV\", \"name\": \"Croatia\", \"number\": \"191\"},\r\n\t{\"code\": \"CU\", \"code3\": \"CUB\", \"name\": \"Cuba\", \"number\": \"192\"},\r\n\t{\"code\": \"CW\", \"code3\": \"CUW\", \"name\": \"Curaçao\", \"number\": \"531\"},\r\n\t{\"code\": \"CY\", \"code3\": \"CYP\", \"name\": \"Cyprus\", \"number\": \"196\"},\r\n\t{\"code\": \"CZ\", \"code3\": \"CZE\", \"name\": \"Czech Republic\", \"number\": \"203\"},\r\n\t{\"code\": \"DK\", \"code3\": \"DNK\", \"name\": \"Denmark\", \"number\": \"208\"},\r\n\t{\"code\": \"DJ\", \"code3\": \"DJI\", \"name\": \"Djibouti\", \"number\": \"262\"},\r\n\t{\"code\": \"DM\", \"code3\": \"DMA\", \"name\": \"Dominica\", \"number\": \"212\"},\r\n\t{\"code\": \"DO\", \"code3\": \"DOM\", \"name\": \"Dominican Republic\", \"number\": \"214\"},\r\n\t{\"code\": \"EC\", \"code3\": \"ECU\", \"name\": \"Ecuador\", \"number\": \"218\"},\r\n\t{\"code\": \"EG\", \"code3\": \"EGY\", \"name\": \"Egypt\", \"number\": \"818\"},\r\n\t{\"code\": \"SV\", \"code3\": \"SLV\", \"name\": \"El Salvador\", \"number\": \"222\"},\r\n\t{\"code\": \"GQ\", \"code3\": \"GNQ\", \"name\": \"Equatorial Guinea\", \"number\": \"226\"},\r\n\t{\"code\": \"ER\", \"code3\": \"ERI\", \"name\": \"Eritrea\", \"number\": \"232\"},\r\n\t{\"code\": \"EE\", \"code3\": \"EST\", \"name\": \"Estonia\", \"number\": \"233\"},\r\n\t{\"code\": \"ET\", \"code3\": \"ETH\", \"name\": \"Ethiopia\", \"number\": \"231\"},\r\n\t{\"code\": \"FK\", \"code3\": \"FLK\", \"name\": \"Falkland Islands (Malvinas)\", \"number\": \"238\"},\r\n\t{\"code\": \"FO\", \"code3\": \"FRO\", \"name\": \"Faroe Islands\", \"number\": \"234\"},\r\n\t{\"code\": \"FJ\", \"code3\": \"FJI\", \"name\": \"Fiji\", \"number\": \"242\"},\r\n\t{\"code\": \"FI\", \"code3\": \"FIN\", \"name\": \"Finland\", \"number\": \"246\"},\r\n\t{\"code\": \"FR\", \"code3\": \"FRA\", \"name\": \"France\", \"number\": \"250\"},\r\n\t{\"code\": \"GF\", \"code3\": \"GUF\", \"name\": \"French Guiana\", \"number\": \"254\"},\r\n\t{\"code\": \"PF\", \"code3\": \"PYF\", \"name\": \"French Polynesia\", \"number\": \"258\"},\r\n\t{\"code\": \"TF\", \"code3\": \"ATF\", \"name\": \"French Southern Territories\", \"number\": \"260\"},\r\n\t{\"code\": \"GA\", \"code3\": \"GAB\", \"name\": \"Gabon\", \"number\": \"266\"},\r\n\t{\"code\": \"GM\", \"code3\": \"GMB\", \"name\": \"Gambia\", \"number\": \"270\"},\r\n\t{\"code\": \"GE\", \"code3\": \"GEO\", \"name\": \"Georgia\", \"number\": \"268\"},\r\n\t{\"code\": \"DE\", \"code3\": \"DEU\", \"name\": \"Germany\", \"number\": \"276\"},\r\n\t{\"code\": \"GH\", \"code3\": \"GHA\", \"name\": \"Ghana\", \"number\": \"288\"},\r\n\t{\"code\": \"GI\", \"code3\": \"GIB\", \"name\": \"Gibraltar\", \"number\": \"292\"},\r\n\t{\"code\": \"GR\", \"code3\": \"GRC\", \"name\": \"Greece\", \"number\": \"300\"},\r\n\t{\"code\": \"GL\", \"code3\": \"GRL\", \"name\": \"Greenland\", \"number\": \"304\"},\r\n\t{\"code\": \"GD\", \"code3\": \"GRD\", \"name\": \"Grenada\", \"number\": \"308\"},\r\n\t{\"code\": \"GP\", \"code3\": \"GLP\", \"name\": \"Guadeloupe\", \"number\": \"312\"},\r\n\t{\"code\": \"GT\", \"code3\": \"GTM\", \"name\": \"Guatemala\", \"number\": \"320\"},\r\n\t{\"code\": \"GG\", \"code3\": \"GGY\", \"name\": \"Guernsey\", \"number\": \"831\"},\r\n\t{\"code\": \"GN\", \"code3\": \"GIN\", \"name\": \"Guinea\", \"number\": \"324\"},\r\n\t{\"code\": \"GW\", \"code3\": \"GNB\", \"name\": \"Guinea-Bissau\", \"number\": \"624\"},\r\n\t{\"code\": \"GY\", \"code3\": \"GUY\", \"name\": \"Guyana\", \"number\": \"328\"},\r\n\t{\"code\": \"HT\", \"code3\": \"HTI\", \"name\": \"Haiti\", \"number\": \"332\"},\r\n\t{\"code\": \"HM\", \"code3\": \"HMD\", \"name\": \"Heard Island and McDonald Islands\", \"number\": \"334\"},\r\n\t{\"code\": \"VA\", \"code3\": \"VAT\", \"name\": \"Holy See (Vatican City State)\", \"number\": \"336\"},\r\n\t{\"code\": \"HN\", \"code3\": \"HND\", \"name\": \"Honduras\", \"number\": \"340\"},\r\n\t{\"code\": \"HU\", \"code3\": \"HUN\", \"name\": \"Hungary\", \"number\": \"348\"},\r\n\t{\"code\": \"IS\", \"code3\": \"ISL\", \"name\": \"Iceland\", \"number\": \"352\"},\r\n\t{\"code\": \"IN\", \"code3\": \"IND\", \"name\": \"India\", \"number\": \"356\"},\r\n\t{\"code\": \"ID\", \"code3\": \"IDN\", \"name\": \"Indonesia\", \"number\": \"360\"},\r\n\t{\"code\": \"IR\", \"code3\": \"IRN\", \"name\": \"Iran, Islamic Republic of\", \"number\": \"364\"},\r\n\t{\"code\": \"IQ\", \"code3\": \"IRQ\", \"name\": \"Iraq\", \"number\": \"368\"},\r\n\t{\"code\": \"IE\", \"code3\": \"IRL\", \"name\": \"Ireland\", \"number\": \"372\"},\r\n\t{\"code\": \"IM\", \"code3\": \"IMN\", \"name\": \"Isle of Man\", \"number\": \"833\"},\r\n\t{\"code\": \"IL\", \"code3\": \"ISR\", \"name\": \"Israel\", \"number\": \"376\"},\r\n\t{\"code\": \"IT\", \"code3\": \"ITA\", \"name\": \"Italy\", \"number\": \"380\"},\r\n\t{\"code\": \"JM\", \"code3\": \"JAM\", \"name\": \"Jamaica\", \"number\": \"388\"},\r\n\t{\"code\": \"JP\", \"code3\": \"JPN\", \"name\": \"Japan\", \"number\": \"392\"},\r\n\t{\"code\": \"JE\", \"code3\": \"JEY\", \"name\": \"Jersey\", \"number\": \"832\"},\r\n\t{\"code\": \"JO\", \"code3\": \"JOR\", \"name\": \"Jordan\", \"number\": \"400\"},\r\n\t{\"code\": \"KZ\", \"code3\": \"KAZ\", \"name\": \"Kazakhstan\", \"number\": \"398\"},\r\n\t{\"code\": \"KE\", \"code3\": \"KEN\", \"name\": \"Kenya\", \"number\": \"404\"},\r\n\t{\"code\": \"KI\", \"code3\": \"KIR\", \"name\": \"Kiribati\", \"number\": \"296\"},\r\n\t{\"code\": \"KP\", \"code3\": \"PRK\", \"name\": \"Korea, Democratic People's Republic of\", \"number\": \"408\"},\r\n\t{\"code\": \"KR\", \"code3\": \"KOR\", \"name\": \"Korea, Republic of\", \"number\": \"410\"},\r\n\t{\"code\": \"KW\", \"code3\": \"KWT\", \"name\": \"Kuwait\", \"number\": \"414\"},\r\n\t{\"code\": \"KG\", \"code3\": \"KGZ\", \"name\": \"Kyrgyzstan\", \"number\": \"417\"},\r\n\t{\"code\": \"LA\", \"code3\": \"LAO\", \"name\": \"Lao People's Democratic Republic\", \"number\": \"418\"},\r\n\t{\"code\": \"LV\", \"code3\": \"LVA\", \"name\": \"Latvia\", \"number\": \"428\"},\r\n\t{\"code\": \"LB\", \"code3\": \"LBN\", \"name\": \"Lebanon\", \"number\": \"422\"},\r\n\t{\"code\": \"LS\", \"code3\": \"LSO\", \"name\": \"Lesotho\", \"number\": \"426\"},\r\n\t{\"code\": \"LR\", \"code3\": \"LBR\", \"name\": \"Liberia\", \"number\": \"430\"},\r\n\t{\"code\": \"LY\", \"code3\": \"LBY\", \"name\": \"Libya\", \"number\": \"434\"},\r\n\t{\"code\": \"LI\", \"code3\": \"LIE\", \"name\": \"Liechtenstein\", \"number\": \"438\"},\r\n\t{\"code\": \"LT\", \"code3\": \"LTU\", \"name\": \"Lithuania\", \"number\": \"440\"},\r\n\t{\"code\": \"LU\", \"code3\": \"LUX\", \"name\": \"Luxembourg\", \"number\": \"442\"},\r\n\t{\"code\": \"MO\", \"code3\": \"MAC\", \"name\": \"Macao\", \"number\": \"446\"},\r\n\t{\"code\": \"MK\", \"code3\": \"MKD\", \"name\": \"Macedonia, the former Yugoslav Republic of\", \"number\": \"389\"},\r\n\t{\"code\": \"MG\", \"code3\": \"MDG\", \"name\": \"Madagascar\", \"number\": \"450\"},\r\n\t{\"code\": \"MW\", \"code3\": \"MWI\", \"name\": \"Malawi\", \"number\": \"454\"},\r\n\t{\"code\": \"MY\", \"code3\": \"MYS\", \"name\": \"Malaysia\", \"number\": \"458\"},\r\n\t{\"code\": \"MV\", \"code3\": \"MDV\", \"name\": \"Maldives\", \"number\": \"462\"},\r\n\t{\"code\": \"ML\", \"code3\": \"MLI\", \"name\": \"Mali\", \"number\": \"466\"},\r\n\t{\"code\": \"MT\", \"code3\": \"MLT\", \"name\": \"Malta\", \"number\": \"470\"},\r\n\t{\"code\": \"MQ\", \"code3\": \"MTQ\", \"name\": \"Martinique\", \"number\": \"474\"},\r\n\t{\"code\": \"MR\", \"code3\": \"MRT\", \"name\": \"Mauritania\", \"number\": \"478\"},\r\n\t{\"code\": \"MU\", \"code3\": \"MUS\", \"name\": \"Mauritius\", \"number\": \"480\"},\r\n\t{\"code\": \"YT\", \"code3\": \"MYT\", \"name\": \"Mayotte\", \"number\": \"175\"},\r\n\t{\"code\": \"MX\", \"code3\": \"MEX\", \"name\": \"Mexico\", \"number\": \"484\"},\r\n\t{\"code\": \"MD\", \"code3\": \"MDA\", \"name\": \"Moldova, Republic of\", \"number\": \"498\"},\r\n\t{\"code\": \"MC\", \"code3\": \"MCO\", \"name\": \"Monaco\", \"number\": \"492\"},\r\n\t{\"code\": \"MN\", \"code3\": \"MNG\", \"name\": \"Mongolia\", \"number\": \"496\"},\r\n\t{\"code\": \"ME\", \"code3\": \"MNE\", \"name\": \"Montenegro\", \"number\": \"499\"},\r\n\t{\"code\": \"MS\", \"code3\": \"MSR\", \"name\": \"Montserrat\", \"number\": \"500\"},\r\n\t{\"code\": \"MA\", \"code3\": \"MAR\", \"name\": \"Morocco\", \"number\": \"504\"},\r\n\t{\"code\": \"MZ\", \"code3\": \"MOZ\", \"name\": \"Mozambique\", \"number\": \"508\"},\r\n\t{\"code\": \"MM\", \"code3\": \"MMR\", \"name\": \"Myanmar\", \"number\": \"104\"},\r\n\t{\"code\": \"NA\", \"code3\": \"NAM\", \"name\": \"Namibia\", \"number\": \"516\"},\r\n\t{\"code\": \"NR\", \"code3\": \"NRU\", \"name\": \"Nauru\", \"number\": \"520\"},\r\n\t{\"code\": \"NP\", \"code3\": \"NPL\", \"name\": \"Nepal\", \"number\": \"524\"},\r\n\t{\"code\": \"NL\", \"code3\": \"NLD\", \"name\": \"Netherlands\", \"number\": \"528\"},\r\n\t{\"code\": \"NC\", \"code3\": \"NCL\", \"name\": \"New Caledonia\", \"number\": \"540\"},\r\n\t{\"code\": \"NZ\", \"code3\": \"NZL\", \"name\": \"New Zealand\", \"number\": \"554\"},\r\n\t{\"code\": \"NI\", \"code3\": \"NIC\", \"name\": \"Nicaragua\", \"number\": \"558\"},\r\n\t{\"code\": \"NE\", \"code3\": \"NER\", \"name\": \"Niger\", \"number\": \"562\"},\r\n\t{\"code\": \"NG\", \"code3\": \"NGA\", \"name\": \"Nigeria\", \"number\": \"566\"},\r\n\t{\"code\": \"NU\", \"code3\": \"NIU\", \"name\": \"Niue\", \"number\": \"570\"},\r\n\t{\"code\": \"NF\", \"code3\": \"NFK\", \"name\": \"Norfolk Island\", \"number\": \"574\"},\r\n\t{\"code\": \"NO\", \"code3\": \"NOR\", \"name\": \"Norway\", \"number\": \"578\"},\r\n\t{\"code\": \"OM\", \"code3\": \"OMN\", \"name\": \"Oman\", \"number\": \"512\"},\r\n\t{\"code\": \"PK\", \"code3\": \"PAK\", \"name\": \"Pakistan\", \"number\": \"586\"},\r\n\t{\"code\": \"PS\", \"code3\": \"PSE\", \"name\": \"Palestine\", \"number\": \"275\"},\r\n\t{\"code\": \"PA\", \"code3\": \"PAN\", \"name\": \"Panama\", \"number\": \"591\"},\r\n\t{\"code\": \"PG\", \"code3\": \"PNG\", \"name\": \"Papua New Guinea\", \"number\": \"598\"},\r\n\t{\"code\": \"PY\", \"code3\": \"PRY\", \"name\": \"Paraguay\", \"number\": \"600\"},\r\n\t{\"code\": \"PE\", \"code3\": \"PER\", \"name\": \"Peru\", \"number\": \"604\"},\r\n\t{\"code\": \"PH\", \"code3\": \"PHL\", \"name\": \"Philippines\", \"number\": \"608\"},\r\n\t{\"code\": \"PN\", \"code3\": \"PCN\", \"name\": \"Pitcairn\", \"number\": \"612\"},\r\n\t{\"code\": \"PL\", \"code3\": \"POL\", \"name\": \"Poland\", \"number\": \"616\"},\r\n\t{\"code\": \"PT\", \"code3\": \"PRT\", \"name\": \"Portugal\", \"number\": \"620\"},\r\n\t{\"code\": \"QA\", \"code3\": \"QAT\", \"name\": \"Qatar\", \"number\": \"634\"},\r\n\t{\"code\": \"RE\", \"code3\": \"REU\", \"name\": \"Reunion\", \"number\": \"262\"},\r\n\t{\"code\": \"RO\", \"code3\": \"ROU\", \"name\": \"Romania\", \"number\": \"642\"},\r\n\t{\"code\": \"RU\", \"code3\": \"RUS\", \"name\": \"Russian Federation\", \"number\": \"643\"},\r\n\t{\"code\": \"RW\", \"code3\": \"RWA\", \"name\": \"Rwanda\", \"number\": \"646\"},\r\n\t{\"code\": \"BL\", \"code3\": \"BLM\", \"name\": \"Saint Barthélemy\", \"number\": \"652\"},\r\n\t{\"code\": \"SH\", \"code3\": \"SHN\", \"name\": \"Saint Helena, Ascension and Tristan da Cunha\", \"number\": \"654\"},\r\n\t{\"code\": \"KN\", \"code3\": \"KNA\", \"name\": \"Saint Kitts and Nevis\", \"number\": \"659\"},\r\n\t{\"code\": \"LC\", \"code3\": \"LCA\", \"name\": \"Saint Lucia\", \"number\": \"662\"},\r\n\t{\"code\": \"MF\", \"code3\": \"MAF\", \"name\": \"Saint Martin (French part)\", \"number\": \"663\"},\r\n\t{\"code\": \"PM\", \"code3\": \"SPM\", \"name\": \"Saint Pierre and Miquelon\", \"number\": \"666\"},\r\n\t{\"code\": \"VC\", \"code3\": \"VCT\", \"name\": \"Saint Vincent and the Grenadines\", \"number\": \"670\"},\r\n\t{\"code\": \"WS\", \"code3\": \"WSM\", \"name\": \"Samoa\", \"number\": \"882\"},\r\n\t{\"code\": \"SM\", \"code3\": \"SMR\", \"name\": \"San Marino\", \"number\": \"674\"},\r\n\t{\"code\": \"ST\", \"code3\": \"STP\", \"name\": \"Sao Tome and Principe\", \"number\": \"678\"},\r\n\t{\"code\": \"SA\", \"code3\": \"SAU\", \"name\": \"Saudi Arabia\", \"number\": \"682\"},\r\n\t{\"code\": \"SN\", \"code3\": \"SEN\", \"name\": \"Senegal\", \"number\": \"686\"},\r\n\t{\"code\": \"RS\", \"code3\": \"SRB\", \"name\": \"Serbia\", \"number\": \"688\"},\r\n\t{\"code\": \"SC\", \"code3\": \"SYC\", \"name\": \"Seychelles\", \"number\": \"690\"},\r\n\t{\"code\": \"SL\", \"code3\": \"SLE\", \"name\": \"Sierra Leone\", \"number\": \"694\"},\r\n\t{\"code\": \"SG\", \"code3\": \"SGP\", \"name\": \"Singapore\", \"number\": \"702\"},\r\n\t{\"code\": \"SX\", \"code3\": \"SXM\", \"name\": \"Sint Maarten (Dutch part)\", \"number\": \"534\"},\r\n\t{\"code\": \"SK\", \"code3\": \"SVK\", \"name\": \"Slovakia\", \"number\": \"703\"},\r\n\t{\"code\": \"SI\", \"code3\": \"SVN\", \"name\": \"Slovenia\", \"number\": \"705\"},\r\n\t{\"code\": \"SB\", \"code3\": \"SLB\", \"name\": \"Solomon Islands\", \"number\": \"090\"},\r\n\t{\"code\": \"SO\", \"code3\": \"SOM\", \"name\": \"Somalia\", \"number\": \"706\"},\r\n\t{\"code\": \"ZA\", \"code3\": \"ZAF\", \"name\": \"South Africa\", \"number\": \"710\"},\r\n\t{\"code\": \"GS\", \"code3\": \"SGS\", \"name\": \"South Georgia and the South Sandwich Islands\", \"number\": \"239\"},\r\n\t{\"code\": \"SS\", \"code3\": \"SSD\", \"name\": \"South Sudan\", \"number\": \"728\"},\r\n\t{\"code\": \"ES\", \"code3\": \"ESP\", \"name\": \"Spain\", \"number\": \"724\"},\r\n\t{\"code\": \"LK\", \"code3\": \"LKA\", \"name\": \"Sri Lanka\", \"number\": \"144\"},\r\n\t{\"code\": \"SD\", \"code3\": \"SDN\", \"name\": \"Sudan\", \"number\": \"729\"},\r\n\t{\"code\": \"SR\", \"code3\": \"SUR\", \"name\": \"Suriname\", \"number\": \"740\"},\r\n\t{\"code\": \"SJ\", \"code3\": \"SJM\", \"name\": \"Svalbard and Jan Mayen\", \"number\": \"744\"},\r\n\t{\"code\": \"SZ\", \"code3\": \"SWZ\", \"name\": \"Swaziland\", \"number\": \"268\"},\r\n\t{\"code\": \"SE\", \"code3\": \"SWE\", \"name\": \"Sweden\", \"number\": \"752\"},\r\n\t{\"code\": \"CH\", \"code3\": \"CHE\", \"name\": \"Switzerland\", \"number\": \"756\"},\r\n\t{\"code\": \"SY\", \"code3\": \"SYR\", \"name\": \"Syrian Arab Republic\", \"number\": \"760\"},\r\n\t{\"code\": \"TW\", \"code3\": \"TWN\", \"name\": \"Taiwan\", \"number\": \"158\"},\r\n\t{\"code\": \"TJ\", \"code3\": \"TJK\", \"name\": \"Tajikistan\", \"number\": \"762\"},\r\n\t{\"code\": \"TZ\", \"code3\": \"TZA\", \"name\": \"Tanzania, United Republic of\", \"number\": \"834\"},\r\n\t{\"code\": \"TH\", \"code3\": \"THA\", \"name\": \"Thailand\", \"number\": \"764\"},\r\n\t{\"code\": \"TL\", \"code3\": \"TLS\", \"name\": \"Timor-Leste\", \"number\": \"626\"},\r\n\t{\"code\": \"TG\", \"code3\": \"TGO\", \"name\": \"Togo\", \"number\": \"768\"},\r\n\t{\"code\": \"TK\", \"code3\": \"TKL\", \"name\": \"Tokelau\", \"number\": \"772\"},\r\n\t{\"code\": \"TO\", \"code3\": \"TON\", \"name\": \"Tonga\", \"number\": \"776\"},\r\n\t{\"code\": \"TT\", \"code3\": \"TTO\", \"name\": \"Trinidad and Tobago\", \"number\": \"780\"},\r\n\t{\"code\": \"TN\", \"code3\": \"TUN\", \"name\": \"Tunisia\", \"number\": \"788\"},\r\n\t{\"code\": \"TR\", \"code3\": \"TUR\", \"name\": \"Turkey\", \"number\": \"792\"},\r\n\t{\"code\": \"TM\", \"code3\": \"TKM\", \"name\": \"Turkmenistan\", \"number\": \"795\"},\r\n\t{\"code\": \"TC\", \"code3\": \"TCA\", \"name\": \"Turks and Caicos Islands\", \"number\": \"796\"},\r\n\t{\"code\": \"TV\", \"code3\": \"TUV\", \"name\": \"Tuvalu\", \"number\": \"798\"},\r\n\t{\"code\": \"UG\", \"code3\": \"UGA\", \"name\": \"Uganda\", \"number\": \"800\"},\r\n\t{\"code\": \"UA\", \"code3\": \"UKR\", \"name\": \"Ukraine\", \"number\": \"804\"},\r\n\t{\"code\": \"AE\", \"code3\": \"ARE\", \"name\": \"United Arab Emirates\", \"number\": \"784\"},\r\n\t{\"code\": \"GB\", \"code3\": \"GBR\", \"name\": \"United Kingdom\", \"number\": \"826\"},\r\n\t{\"code\": \"US\", \"code3\": \"USA\", \"name\": \"United States\", \"number\": \"840\"},\r\n\t{\"code\": \"UY\", \"code3\": \"URY\", \"name\": \"Uruguay\", \"number\": \"858\"},\r\n\t{\"code\": \"UZ\", \"code3\": \"UZB\", \"name\": \"Uzbekistan\", \"number\": \"860\"},\r\n\t{\"code\": \"VU\", \"code3\": \"VUT\", \"name\": \"Vanuatu\", \"number\": \"548\"},\r\n\t{\"code\": \"VE\", \"code3\": \"VEN\", \"name\": \"Venezuela, Bolivarian Republic of\", \"number\": \"862\"},\r\n\t{\"code\": \"VN\", \"code3\": \"VNM\", \"name\": \"Vietnam\", \"number\": \"704\"},\r\n\t{\"code\": \"VG\", \"code3\": \"VGB\", \"name\": \"Virgin Islands, British\", \"number\": \"092\"},\r\n\t{\"code\": \"WF\", \"code3\": \"WLF\", \"name\": \"Wallis and Futuna\", \"number\": \"876\"},\r\n\t{\"code\": \"EH\", \"code3\": \"ESH\", \"name\": \"Western Sahara\", \"number\": \"732\"},\r\n\t{\"code\": \"YE\", \"code3\": \"YEM\", \"name\": \"Yemen\", \"number\": \"887\"},\r\n\t{\"code\": \"ZM\", \"code3\": \"ZMB\", \"name\": \"Zambia\", \"number\": \"894\"},\r\n\t{\"code\": \"ZW\", \"code3\": \"ZWE\", \"name\": \"Zimbabwe\", \"number\": \"716\"}\r\n];","export const iOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );\r\nexport const rootURL = window.location.hostname.indexOf('tombrasweb.com') !== -1 ? 'https://freightlinertrucks-dev.azurewebsites.net/umbraco/api' : '/umbraco/api';\r\nexport const mapURL = iOS ? 'http://maps.apple.com/?daddr=' : 'https://www.google.com/maps/?q=';\r\nexport const googleMapsKey = 'AIzaSyDYwYS7gcKir2F8RwxwnmagvKBcCtfPRp4';\r\nexport const mapStyles = [\r\n\t{\r\n\t\tfeatureType: \"all\",\r\n\t\tstylers: [\r\n\t\t\t{ saturation: -80 }\r\n\t\t]\r\n\t},{\r\n\t\tfeatureType: \"road.arterial\",\r\n\t\telementType: \"geometry\",\r\n\t\tstylers: [\r\n\t\t\t{ hue: \"#00ffee\" },\r\n\t\t\t{ saturation: 50 }\r\n\t\t]\r\n\t},{\r\n\t\tfeatureType: \"poi.business\",\r\n\t\telementType: \"labels\",\r\n\t\tstylers: [\r\n\t\t\t{ visibility: \"off\" }\r\n\t\t]\r\n\t}\r\n];\r\nexport const jwpKey = 'TtV5iMjD1ORmFr/yZP1lV7lbxWn69lBGpwxo9Pz2IV13Jkn4';\r\nexport const jwpPlayerId = 'sHGOoMEW';","\r\nexport function formValidation(formType, form){\r\n\r\n\tclass ValidateForm {\r\n\t\tconstructor(form) {\r\n\t\t\tthis.Form = form;\r\n\t\t}\r\n\r\n\t\tvalidate() { }\r\n\t}\r\n\r\n\tclass DefaultValidateForm extends ValidateForm {\r\n\t\tconstructor(form) {\r\n\t\t\tsuper(form);\r\n\t\t}\r\n\r\n\t\tvalidate() {\r\n\t\t\tconst errors = [...form.querySelectorAll('.validate:not(.valid)')].reduce((html, item) => {\r\n\t\t\t\treturn html + h('p', (item.placeholder ? item.placeholder.replace('*', '') : item.getAttribute('placeholder') || item.parentNode.querySelector('label').textContent.replace('*', '')) + ' Required').toString();\r\n\t\t\t}, '');\r\n\r\n\t\t\tif (errors.length > 0) {\r\n\t\t\t\tform.querySelector('.errors').innerHTML = errors;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tclass TruckLeadValidateForm extends ValidateForm {\r\n\t\tconstructor(form, formType) {\r\n\t\t\tsuper(form);\r\n\r\n\t\t\tthis.alphaNumericRegex = /^[a-zA-Z0-9]+$/;\r\n\t\t\tthis.emailRegex = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n\t\t\tthis.noNumbersRegex = /^([^0-9]*)$/;\r\n\t\t\tthis.noSpacesRegex = /^\\S*$/;\r\n\t\t\tthis.noSpecialCharsRegex = /^[^<>=;]+$/;\r\n\t\t\tthis.num8Regex = /^[0-9]{8}$/;\r\n\t\t\tthis.numericRegex = /^\\d+$/;\r\n\t\t\tthis.phoneExtRegex = /^\\d{1,4}$/;\r\n\t\t\tthis.postalCodeRegex = /^[a-zA-Z0-9]{1,20}$/;\r\n\t\t\tthis.formType = formType;\r\n\t\t\tconst messageContainer = this.Form.querySelector('.errors');\t\t\t\r\n\t\t\tthis.MessageContainer = messageContainer\r\n\t\t\t\t? messageContainer\r\n\t\t\t\t: { innerHTML: '' };\r\n\t\t}\r\n\r\n\t\tfieldListEvent(event, target) {\r\n\t\t\tconst field = target ? target : event.target;\r\n\r\n\t\t\tconst isValid = this.processField(field);\r\n\t\t}\r\n\r\n\t\tprocessField(field) {\r\n\t\t\tconst isValid = this.validateField(field);\r\n\r\n\t\t\tif (isValid)\r\n\t\t\t\tthis.setFieldToValid(field);\r\n\t\t\telse\r\n\t\t\t\tthis.setFieldToInvalid(field);\r\n\r\n\t\t\treturn isValid;\r\n\t\t}\r\n\r\n\t\tsetEventListener(field) {\r\n\t\t\tconst validateType = field.getAttribute('requiredtype');\r\n\r\n\t\t\tswitch (validateType) {\r\n\t\t\t\tcase 'dealer':\r\n\t\t\t\t\tconst eventField = document.getElementById('DealerCode');\r\n\t\t\t\t\tif (eventField)\r\n\t\t\t\t\t\teventField.addEventListener\r\n\t\t\t\t\t\t\t('dealer-change', (event) => { this.fieldListEvent(event, field); });\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tfield.addEventListener\r\n\t\t\t\t\t\t('blur', (event) => { this.fieldListEvent(event, field) });\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetFieldToInvalid(field) {\r\n\r\n\t\t\tfield.classList.add('invalid');\r\n\r\n\t\t\tthis.setEventListener(field);\r\n\r\n\t\t\tconst msg = field.getAttribute(\"invalidmessage\");\r\n\t\t\tif (msg && msg !== '') {\r\n\t\t\t\tconst options = {\r\n\t\t\t\t\tcontent: msg,\r\n\t\t\t\t\ttrigger: 'focusin',\r\n\t\t\t\t\tplacement: 'top-start'\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (this.formType === 'Configurator')\r\n\t\t\t\t\toptions.appendTo = this.Form;\r\n\r\n\t\t\t\ttippy(field, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetFieldToValid(field) {\r\n\t\t\tfield.classList.remove('invalid');\r\n\t\t}\r\n\r\n\t\tsetFocus(field) {\r\n\t\t\tconst validateType = field.getAttribute('requiredtype');\r\n\r\n\t\t\tswitch (validateType) {\r\n\t\t\t\tcase 'dealer':\r\n\t\t\t\t\tconst locationField = document.getElementById('DealerLocation');\r\n\t\t\t\t\tif (locationField)\r\n\t\t\t\t\t\tlocationField.focus();\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tfield.focus();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvalidate() {\r\n\t\t\ttry {\r\n\t\t\t\tconst errorFields = [];\r\n\t\t\t\tconst fields = [...this.Form.querySelectorAll('[validate=\"onsubmit\"]')];\r\n\t\t\t\t\r\n\t\t\t\tfor (let i = 0, l = fields.length; i < l; i++) {\r\n\t\t\t\t\tconst isValid = this.processField(fields[i]);\r\n\t\t\t\t\tif (!isValid)\r\n\t\t\t\t\t\terrorFields.push(fields[i]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (errorFields.length > 0) {\r\n\t\t\t\t\tthis.setFocus(errorFields[0]);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn true;\r\n\r\n\t\t\t} catch (exception) {\r\n\t\t\t\tconsole.error(exception);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvalidateComments(value) {\r\n\t\t\tif (typeof value === 'string') {\r\n\t\t\t\tif (value.length === 0)\r\n\t\t\t\t\treturn true;\r\n\r\n\t\t\t\treturn value.length <= 1000\r\n\t\t\t\t\t&& this.noSpecialCharsRegex.test(value)\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvalidateEmail(value) {\r\n\t\t\tif (typeof value === 'string')\r\n\t\t\t\treturn value.length > 0\r\n\t\t\t\t\t&& value.length <= 50\r\n\t\t\t\t\t&& value.match(this.emailRegex)\r\n\t\t\t\t\t&& this.noSpacesRegex.test(value)\r\n\t\t\t\t\t&& this.noSpecialCharsRegex.test(value);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvalidateField(field) {\r\n\t\t\tconst validateType = field.getAttribute('requiredtype');\r\n\r\n\t\t\tswitch (validateType) {\r\n\t\t\t\tcase 'comments':\r\n\t\t\t\t\treturn this.validateComments(field.value);\r\n\r\n\t\t\t\tcase 'company':\r\n\t\t\t\t\treturn this.validateText(field.value);\r\n\r\n\t\t\t\tcase 'dealer':\r\n\t\t\t\t\tconst dealerCodeField = document.getElementById('DealerCode');\r\n\t\t\t\t\tconst dealerCode = dealerCodeField ? dealerCodeField.value : '';\r\n\t\t\t\t\treturn this.validateText(dealerCode);\r\n\r\n\t\t\t\tcase 'email':\r\n\t\t\t\t\treturn this.validateEmail(field.value);\r\n\r\n\t\t\t\tcase 'name':\r\n\t\t\t\t\treturn this.validateName(field.value);\r\n\r\n\t\t\t\tcase 'num8Pattern':\r\n\t\t\t\t\treturn this.validateNum8(field.value);\r\n\r\n\t\t\t\tcase 'postalcode':\r\n\t\t\t\t\treturn this.validatePostalCode(field.value);\r\n\r\n\t\t\t\tcase 'tel':\r\n\t\t\t\t\treturn this.validatePhone(field.value);\r\n\r\n\t\t\t\tcase 'sel':\r\n\t\t\t\tcase 'text':\r\n\t\t\t\t\treturn this.validateText(field.value);\r\n\r\n\t\t\t\tcase 'state':\r\n\t\t\t\t\tconst countryElement = document.getElementById('BusinessCountry');\r\n\t\t\t\t\tconst country = countryElement ? countryElement.value : '';\r\n\t\t\t\t\treturn this.validateState(country, field.value);\r\n\r\n\t\t\t\tcase 'website':\r\n\t\t\t\t\treturn this.validateWebsite(field.value);\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvalidateName(value) {\r\n\t\t\tconst name = typeof value === 'string'\r\n\t\t\t\t? value\r\n\t\t\t\t: String(value);\r\n\r\n\t\t\treturn name.length > 0\r\n\t\t\t\t&& name.length <= 50\r\n\t\t\t\t&& this.noNumbersRegex.test(name)\r\n\t\t\t\t&& this.noSpecialCharsRegex.test(name)\r\n\t\t\t\t&& this.noSpacesRegex.test(name);\r\n\t\t}\r\n\r\n\t\tvalidateNonRequired(value, length) {\r\n\t\t\tif (typeof value !== 'string')\r\n\t\t\t\tvalue = String(value);\r\n\r\n\t\t\tif (value.length === 0)\r\n\t\t\t\treturn true;\r\n\r\n\t\t\tif (!length)\r\n\t\t\t\tlength = 50;\r\n\r\n\t\t\treturn value.length <= length\r\n\t\t\t\t&& this.noSpecialCharsRegex.test(value);\r\n\t\t}\r\n\r\n\t\tvalidateNum8(value) {\r\n\t\t\tconst str = typeof value === 'string'\r\n\t\t\t\t? value\r\n\t\t\t\t: String(value);\r\n\r\n\t\t\tif (str.length > 0)\r\n\t\t\t\treturn str.length === 8 && str.match(this.alphaNumericRegex);\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvalidatePhone(value) {\r\n\t\t\tlet phone = typeof value === 'string'\r\n\t\t\t\t? value\r\n\t\t\t\t: String(value);\r\n\r\n\t\t\tphone = phone.replace(/\\D/g, '');\r\n\r\n\t\t\treturn phone.length >= 10;\r\n\t\t}\r\n\r\n\t\tvalidatePostalCode(value) {\r\n\t\t\tconst code = typeof value === 'string'\r\n\t\t\t\t? value\r\n\t\t\t\t: String(value);\r\n\r\n\t\t\treturn this.postalCodeRegex.test(code);\r\n\t\t}\r\n\r\n\t\tvalidateState(country, state) {\r\n\t\t\tif (country === 'US' || country === 'CA')\r\n\t\t\t\treturn state.length >= 2\r\n\t\t\t\t\t&& this.noNumbersRegex.test(state)\r\n\t\t\t\t\t&& this.noSpecialCharsRegex.test(state)\r\n\t\t\t\t\t&& state.length <= 50;\r\n\r\n\t\t\tif (state.length === 0)\r\n\t\t\t\treturn true;\r\n\r\n\t\t\treturn this.noNumbersRegex.test(state)\r\n\t\t\t\t&& this.noSpecialCharsRegex.test(state)\r\n\t\t\t\t&& state.length <= 50;\r\n\t\t}\r\n\r\n\t\tvalidateText(value, length) {\r\n\t\t\tif (!length)\r\n\t\t\t\tlength = 50;\r\n\r\n\t\t\tif (typeof value === 'string')\r\n\t\t\t\treturn value.length > 0\r\n\t\t\t\t\t&& value.length <= length\r\n\t\t\t\t\t&& this.noSpecialCharsRegex.test(value);\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvalidateWebsite(value) {\r\n\t\t\tif (typeof value !== 'string')\r\n\t\t\t\tvalue = String(value);\r\n\r\n\t\t\tif (value.length === 0)\r\n\t\t\t\treturn true;\r\n\r\n\t\t\treturn value.length <= 200\r\n\t\t\t\t&& this.noSpecialCharsRegex.test(value)\r\n\t\t\t\t&& this.noSpacesRegex.test(value);\r\n\t\t}\r\n\t}\r\n\r\n\treturn formType === 'TruckLead'\r\n\t\t|| formType === 'Newsletter'\r\n || formType === 'Cascadia'\r\n\t\t|| formType === 'DownloadGuide'\r\n\t\t|| formType === 'Configurator'\r\n\t\t|| formType === 'RCO'\r\n\t\t? new TruckLeadValidateForm(form, formType)\r\n\t\t: new DefaultValidateForm(form);\r\n}\r\n","export default (form) => {\r\n\t[...form.querySelectorAll('label:not([for])')].forEach(label => {\r\n\t\tconst named = label.parentNode.querySelector('[name]');\r\n\t\tnamed.setAttribute('id', named.getAttribute('id') || uniqueId(named.getAttribute('name')));\r\n\t\tlabel.setAttribute('for', named.getAttribute('id'));\r\n\t});\r\n};\r\n\r\nfunction uniqueId(id,current){\r\n\tcurrent = current || 0;\r\n\tvar idCheck = id + (current === 0 ? '' : '-'+current);\r\n\treturn document.getElementById(idCheck) ? uniqueId(id,current+1) : idCheck;\r\n}","const domWrap = (element) => {\r\n\tif(!element) {\r\n\t\telement = document.createElement('div');\r\n\t\telement.empty = true;\r\n\t}\r\n\telement.store = element.store || {};\r\n\telement.on = (action,delegationOrFn, fn) => {\r\n\t\tif(typeof delegationOrFn === 'function') fn = delegationOrFn;\r\n\t\tlet delegation = typeof delegationOrFn === 'string' ? delegationOrFn : false;\r\n\t\tif(!fn) return;\r\n\t\telement.addEventListener(action, function(event){\r\n\t\t\tfor (let target = event.target; target && target!=this; target=target.parentNode) {\r\n\t\t\t\t// loop parent nodes from the target to the delegation node\r\n\t\t\t\tif (!delegation || target.matches(delegation)) {\r\n\t\t\t\t\tfn.call(target, event);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, false);\r\n\t\treturn element;\r\n\t};\r\n\telement.setSelected = (className = 'selected') => {\r\n\t\t[...element.parentNode.childNodes].forEach(node => node.classList?.remove(className));\r\n\t\telement.classList?.add(className);\r\n\t\treturn element;\r\n\t};\r\n\telement.trigger = event => {\r\n\t\telement.dispatchEvent(new Event(event,{bubbles:true}));\r\n\t\treturn element;\r\n\t};\r\n\telement.css = styles => {\r\n\t\tObject.keys(styles).forEach(key => element.style[key] = styles[key]);\r\n\t\treturn element;\r\n\t};\r\n\telement.wrapInner = (wrapper) => {\r\n\t\telement.appendChild(wrapper);\r\n\t\twhile (element.firstChild !== wrapper) {\r\n\t\t\twrapper.appendChild(element.firstChild);\r\n\t \t}\r\n\t\treturn element;\r\n\t};\r\n\telement.data = (key, value) => {\r\n\t\tif(value) {\r\n\t\t\telement.store[key] = value;\r\n\t\t\treturn element;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn element.store[key];\r\n\t\t}\r\n\t},\r\n\telement.offset = () => {\r\n\t\tconst rect = element.getBoundingClientRect();\r\n\t\treturn { \r\n\t\t\ttop: rect.top + window.scrollY, \r\n\t\t\tleft: rect.left + window.scrollX, \r\n\t\t};\r\n\t},\r\n\telement.check = {\r\n\t\tget overflowLeft() {\r\n\t\t\treturn overflowHorizontal(element) && element.scrollLeft > 0;\r\n\t\t},\r\n\t\tget overflowRight() {\r\n\t\t\treturn overflowHorizontal(element) && element.scrollWidth - element.scrollLeft > element.offsetWidth;\r\n\t\t}\r\n\t};\r\n\r\n\treturn element;\r\n};\r\n\r\nfunction overflowHorizontal(element){\r\n\treturn element.scrollWidth - element.offsetWidth > 1;\r\n}\r\n\r\n\r\nexport default domWrap;","import { countries } from '../const/countries';\r\nimport h from \"./htm\";\r\n\r\nexport default ({ label = '', required = false, type = '', key = '', value = '', apiAddress = '', group, checked, options, children, servercountries, placeholder, requiredtype, invalidMessage }) => {\r\n\r\n\tconst argsRef = { key, label, placeholder };\r\n\r\n\tconst fieldCountries = servercountries ? servercountries : countries;\r\n\r\n\tfunction getRequiredDealer() {\r\n\t\tconst msg = invalidMessage ? ` invalidmessage=\"${invalidMessage}\"` : '';\r\n\t\treturn h(\r\n\t\t\t`div dealer-selector name=\"selDealer\" id=\"selDealer\" class=\"dealer\" api-address=\"${apiAddress}\" validate=\"onsubmit\" requiredType=\"dealer\"${msg}\"`,\r\n\t\t\th('header class=\"expanded\"', 'Select My Dealer *')\r\n\t\t\t\t('section',\r\n\t\t\t\t\th('div specific',\r\n\t\t\t\t\t\th('input id=\"DealerLocation\" name=\"DealerLocation\" location placeholder=\"City or Address\"')\r\n\t\t\t\t\t\t\t('span use-location')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"DealerCode\" id=\"DealerCode\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[address]\" class=\"validate\" placeholder=\"Select My Dealer\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[city]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[state]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[email]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[name]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[phone]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[zip]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[isInternational]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[website]\"')\r\n\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[distance]\"')\r\n\t\t\t\t\t)\r\n\t\t\t\t\t\t('div errors')\r\n\t\t\t\t\t\t('div dealers')\r\n\t\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tfunction getRequiredElement(requiredType) {\r\n\t\tif (!requiredType)\r\n\t\t\trequiredType = requiredtype;\r\n\r\n\t\tconst msg = invalidMessage ? ` invalidmessage=\"${invalidMessage}\"` : '';\r\n\r\n\t\treturn `input id=\"${key}\" name=\"${key}\" type=\"text\" value=\"${value}\" placeholder=\"${placeholder}\" validate=\"onsubmit\" requiredType=\"${requiredType}\"${msg}`;\r\n\t}\r\n\r\n\tfunction getRequiredLocationFromPostal() {\r\n\t\tlet pcInvalidMessage = '';\r\n\t\tlet ctryInvalidMessage = '';\r\n\t\tif (invalidMessage) {\r\n\t\t\tlet pcMsg = invalidMessage;\r\n\t\t\tlet ctryMsg = invalidMessage;\r\n\t\t\tconst x1 = invalidMessage.indexOf('[');\r\n\t\t\tconst x2 = invalidMessage.indexOf(']');\r\n\t\t\tif (x1 > -1 && x2 > -1) {\r\n\t\t\t\tconst msgKey = invalidMessage.substring(x1 + 1, x2);\r\n\r\n\t\t\t\tif (argsRef[msgKey]) {\r\n\t\t\t\t\tpcMsg = pcMsg.replace(`[${msgKey}]`, `${argsRef[msgKey]} Postal Code`);\r\n\t\t\t\t\tctryMsg = ctryMsg.replace(`[${msgKey}]`, `${argsRef[msgKey]} Country`);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tpcInvalidMessage = ` invalidmessage=\"${pcMsg}\"`;\r\n\t\t\tctryInvalidMessage = ` invalidmessage=\"${ctryMsg}\"`;\r\n\t\t}\r\n\r\n\t\tconst postalCode = `input type=\"text\" id=\"${key}ZipCode\" name=\"${key}ZipCode\" placeholder=\"${label} Postal Code *\" validate=\"onsubmit\" requiredType=\"postalcode\"${pcInvalidMessage}`;\r\n\t\tconst select = `select id=\"${key}Country\" name=\"${key}Country\" placeholder=\"${label} Country *\" validate=\"onsubmit\" requiredType=\"sel\"${ctryInvalidMessage}`;\r\n\t\tconst defaultOption = `option value=\"\" disabled selected`;\r\n\t\tconst options = fieldCountries.reduce((html, { code, name }) => html + h('option value=\"' + code + '\"', name), '');\r\n\r\n\t\treturn h(\r\n\t\t\t`div location-from-postal=\"${key}\"`,\r\n\t\t\th(postalCode)\r\n\t\t)('div',\r\n\t\t\th(select,\r\n\t\t\t\th(defaultOption, `${label} Country *`) + options)\r\n\t\t)\r\n\t\t\t('input type=\"hidden\" name=\"' + key + 'City\"')\r\n\t\t\t('input type=\"hidden\" name=\"' + key + 'State\"');\r\n\t}\r\n\r\n\tfunction getRequiredSelect() {\r\n\r\n\t\tconst selOptions = typeof options === 'string'\r\n\t\t\t? options.split(',')\r\n\t\t\t: options;\r\n\r\n\t\tconst fnGetOptionItem = (item) => {\r\n\t\t\tif (typeof item === 'string')\r\n\t\t\t\treturn h(`option value=\"${item}\"`, item);\r\n\r\n\t\t\treturn h(`option value=\"${item.label}\" ` + writeOptions(item), item.label);\r\n\t\t};\r\n\r\n\t\tconst writeOptions = (item) => {\r\n\t\t\tif (item.children) {\r\n\t\t\t\treturn children.split(',').reduce((str, childItem) => {\r\n\t\t\t\t\treturn `${str} ${childItem}=\"${item.children[childItem]}\"`;\r\n\t\t\t\t}, '');\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tconst msg = invalidMessage ? ` invalidmessage=\"${invalidMessage}\"` : '';\r\n\r\n\t\treturn h('div',\r\n\t\t\th(`select id=\"${key}\" name=\"${key}\" placeholder=\"${placeholder}\" children=\"${children}\" validate=\"onsubmit\" requiredType=\"sel\"${msg}`,\r\n\t\t\t\th('option value=\"\" disabled selected', placeholder) +\r\n\t\t\t\tselOptions.reduce((html, optionItem) => {\r\n\t\t\t\t\treturn html + fnGetOptionItem(optionItem);\r\n\t\t\t\t}, '')\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tif (type === 'break') return '<hr>';\r\n\r\n\treturn h('div field', (() => {\r\n\t\tswitch (type) {\r\n\t\t\tcase 'dealer-required':\r\n\t\t\t\treturn getRequiredDealer();\r\n\r\n\t\t\tcase 'email-required':\r\n\t\t\t\treturn h('div', h(getRequiredElement('email')));\r\n\r\n\t\t\tcase 'locationFromPostal-required':\r\n\t\t\t\treturn getRequiredLocationFromPostal();\r\n\r\n\t\t\tcase 'num8-pattern':\r\n\t\t\t\treturn h('div', h(getRequiredElement('num8Pattern')));\r\n\r\n\t\t\tcase 'select-required':\r\n\t\t\t\treturn getRequiredSelect();\r\n\r\n\t\t\tcase 'tel-required':\r\n\t\t\t\treturn h('div', h(getRequiredElement('tel')));\r\n\r\n\t\t\tcase 'text':\r\n\t\t\tcase 'text-required':\r\n\t\t\t\treturn h('div', h(getRequiredElement(requiredtype)));\r\n\r\n\t\t\tcase 'state':\r\n\t\t\t\treturn h('div', h(getRequiredElement('state'))); \r\n\r\n\t\t\tcase 'email':\r\n\t\t\tcase 'number':\r\n\t\t\tcase 'hidden':\r\n\t\t\t\treturn h('div', h('input id=\"' + key + '\" name=\"' + key + '\" type=\"' + type + '\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + (required ? ' *' : '') + '\" value=\"' + (value || '') + '\"'));\r\n\t\t\tcase 'num8':\r\n\t\t\t\treturn h('div', h('input id=\"' + key + '\" name=\"' + key + '\" type=\"text\" pattern=\"^[0-9]{8}$\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + (required ? ' *' : '') + '\" value=\"' + (value || '') + '\"'));\r\n\t\t\tcase 'tel':\r\n\t\t\t\treturn h('div type=\"' + type + '\"',\r\n\t\t\t\t\th('input id=\"' + key + '\" name=\"' + key + '\" type=\"' + type + '\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + (required ? ' *' : '') + '\" value=\"' + (value || '') + '\"')\r\n\t\t\t\t\t\t('input type=\"tel\" name=\"PhoneExtension\" placeholder=\"Ext.\"')\r\n\t\t\t\t);\r\n\t\t\tcase 'textarea':\r\n\t\t\t\treturn h('div', h('textarea id=\"' + key + '\" name=\"' + key + '\" validate=\"onsubmit\" requiredtype=\"' + requiredtype + '\" placeholder=\"' + label + (required ? ' *' : '') + '\"'));\r\n\t\t\tcase 'select':\r\n\t\t\t\treturn h('div',\r\n\t\t\t\t\th('select id=\"' + key + '\" name=\"' + key + '\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + '\"' + (children ? ' children=\"' + children + '\"' : ''),\r\n\t\t\t\t\t\th(label ? 'option value=\"\" disabled selected' : '', label) +\r\n\t\t\t\t\t\t(typeof options === 'string' ? options.split(',') : options).reduce((html, optionItem) => {\r\n\t\t\t\t\t\t\treturn html + (typeof optionItem === 'string' ? h('option value=\"' + optionItem + '\"', optionItem) : h('option value=\"' + optionItem.label + '\" ' + (optionItem.children ? children.split(',').reduce((str, childItem) => {\r\n\t\t\t\t\t\t\t\treturn str + ' ' + childItem + '=\"' + optionItem.children[childItem] + '\"';\r\n\t\t\t\t\t\t\t}, '') : '') + '', optionItem.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\tcase 'country':\r\n\r\n\t\t\t\treturn h('div',\r\n\t\t\t\t\th('select id=\"' + key + '\" name=\"' + key + '\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + '\"' + (children ? ' children=\"' + children + '\"' : ''),\r\n\t\t\t\t\t\th(label ? 'option value=\"\" disabled selected' : '', label) +\r\n\t\t\t\t\t\tfieldCountries.reduce((html, { code, name }) => html + h('option value=\"' + code + '\"', name), '')\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\tcase 'locationFromPostal':\r\n\t\t\t\treturn h('div location-from-postal=\"' + key + '\"',\r\n\t\t\t\t\th('input id=\"' + key + 'ZipCode\" name=\"' + key + 'ZipCode\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + ' Postal Code ' + (required ? '*' : '') + '\" type=\"text\"')\r\n\t\t\t\t)('div',\r\n\t\t\t\t\th('select id=\"' + key + 'Country\" name=\"' + key + 'Country\" class=\"' + (required ? 'validate' : '') + '\" placeholder=\"' + label + ' Country ' + (required ? '*' : '') + '\"',\r\n\t\t\t\t\t\th(label ? 'option value=\"\" disabled selected' : '', label + ' Country ' + (required ? '*' : '')) +\r\n\t\t\t\t\t\tfieldCountries.reduce((html, { code, name }) => html + h('option value=\"' + code + '\"', name), '')\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t\t\t('input type=\"hidden\" name=\"' + key + 'City\"')\r\n\t\t\t\t\t('input type=\"hidden\" name=\"' + key + 'State\"');\r\n\t\t\tcase 'check':\r\n\t\t\t\treturn h('div',\r\n\t\t\t\t\th('input type=\"checkbox\" class=\"filled-in\" id=\"' + key + '\" name=\"' + (group ? group + '[]' : key) + '\" value=\"' + (group ? key : 'true') + '\"' + (checked ? ' checked=\"checked\"' : ''))\r\n\t\t\t\t\t\t('label for=\"' + key + '\"', label)\r\n\t\t\t\t);\r\n\t\t\tcase 'checkLocation':\r\n\t\t\t\treturn h('div location-check',\r\n\t\t\t\t\th('input type=\"checkbox\" class=\"filled-in\" id=\"' + key + '\" name=\"' + (group ? group + '[]' : key) + '\" value=\"' + (group ? key : 'true') + '\"' + (checked ? ' checked=\"checked\"' : ''))\r\n\t\t\t\t\t\t('label for=\"' + key + '\"', label + (required ? ' *' : ''))\r\n\t\t\t\t\t\t('section',\r\n\t\t\t\t\t\t\th('div specific',\r\n\t\t\t\t\t\t\t\th('input location placeholder=\"Mailing Address *\" type=\"text\"')\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t('div class=\"errors\"')\r\n\t\t\t\t\t\t\t\t('div international',\r\n\t\t\t\t\t\t\t\t\th('h6', 'Please make sure this address is correct:')\r\n\t\t\t\t\t\t\t\t\t\t('textarea name=\"InternationalAddress\" placeholder=\"Enter your international address\"')\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t('div national',\r\n\t\t\t\t\t\t\t\t\th('input name=\"Address2\" type=\"text\" placeholder=\"Apartment / Suite (optional)\"')\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Address\"')\r\n\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"City\"')\r\n\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"State\"')\r\n\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"PostalCode\"')\r\n\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Country\"')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\tcase 'dealer':\r\n\t\t\t\treturn h('div dealer-selector class=\"dealer\" api-address=\"' + apiAddress + '\"',\r\n\t\t\t\t\th('header class=\"expanded\"', 'Select My Dealer' + (required ? ' *' : ''))\r\n\t\t\t\t\t\t('section',\r\n\t\t\t\t\t\t\th('div specific',\r\n\t\t\t\t\t\t\t\th('input location placeholder=\"City or Address\"')\r\n\t\t\t\t\t\t\t\t\t('span use-location')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"DealerCode\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[address]\" class=\"validate\" placeholder=\"Select My Dealer\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[city]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[state]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[email]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[name]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[phone]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[zip]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[isInternational]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[website]\"')\r\n\t\t\t\t\t\t\t\t\t('input type=\"hidden\" name=\"Dealer[distance]\"')\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t('div errors')\r\n\t\t\t\t\t\t\t\t('div dealers')\r\n\t\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn '';\r\n\t\t}\r\n\t})());\r\n};","export default (lat1,lon1,lat2,lon2) => {\r\n\tlet R = 6371, // Radius of the earth in km\r\n\t\tdLat = deg2rad(lat2-lat1), // deg2rad below\r\n\t\tdLon = deg2rad(lon2-lon1), \r\n\t\ta = \r\n\t\t\tMath.sin(dLat/2) * Math.sin(dLat/2) +\r\n\t\t\tMath.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * \r\n\t\t\tMath.sin(dLon/2) * Math.sin(dLon/2), \r\n\t\tc = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)), \r\n\t\td = R * c; // Distance in km\r\n\treturn d * 0.621371; // Return miles\r\n};\r\n\r\nfunction deg2rad(deg) {\r\n\treturn deg * (Math.PI/180)\r\n}","function htm(selector,content){\r\n let current = [];\r\n\r\n function self(selector,content){\r\n if(typeof selector === 'string' && selector.trim() !== ''){\r\n current.push(['<', selector, '>',content || '','</', selector.split(' ')[0], '>'].join(''));\r\n }\r\n return self;\r\n }\r\n\r\n self.toString = () => current.join('');\r\n\r\n Object.defineProperty(self, 'Nodes', {\r\n get() { \r\n let template = document.createElement('div');\r\n template.innerHTML = self.toString();\r\n return template.childNodes;\r\n }\r\n });\r\n\r\n Object.defineProperty(self, 'Node', {\r\n get() { \r\n return this.Nodes.length === 1 ? this.Nodes[0] : document.createRange().createContextualFragment(self.toString());\r\n }\r\n });\r\n\r\n return self(selector,content);\r\n}\r\n\r\nexport default htm;","import { rootURL } from '../constants';\r\n\r\nfunction request({method,url,data,headers}){\r\n return new Promise( (resolve,reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onload = function(){\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(response());\r\n } else {\r\n error();\r\n } \r\n }\r\n xhr.onerror = xhr.onabort = error;\r\n function error(){\r\n reject(response() || {ExceptionMessage:'Cannot connect to server, please try again in a few minutes.'});\r\n }\r\n function response(){\r\n return typeof xhr.response === 'string' ? JSON.parse(xhr.response) : xhr.response;\r\n }\r\n xhr.open(method, \r\n (url.indexOf('.json') === -1 && url.indexOf('https://') === -1 && url.indexOf('localhost') === -1 ? rootURL : '') + \r\n url + \r\n (method === 'GET' && !!data ? '?' + Object.keys(data).map(key => `${key}=${encodeURIComponent(data[key])}`).join('&') : '')\r\n );\r\n xhr.setRequestHeader('Accept', 'application/json, text/plain, */*'); \r\n if (headers)\r\n for (let x in headers)\r\n xhr.setRequestHeader(x, headers[x]);\r\n\r\n if(method === 'POST'){\r\n xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');\r\n }\r\n \r\n xhr.responseType = 'json';\r\n xhr.send(data ? method === 'POST' ? data : JSON.stringify(data) : undefined); \r\n });\r\n}\r\n\r\nfunction getScript(source){\r\n return new Promise(resolve => {\r\n const script = document.createElement('script');\r\n script.async = true;\r\n\r\n script.onload = script.onreadystatechange = (_, isAbort) => {\r\n if (isAbort || !script.readyState || /loaded|complete/.test(script.readyState)) {\r\n script.onload = script.onreadystatechange = null;\r\n script.remove();\r\n if (!isAbort) resolve();\r\n }\r\n };\r\n script.src = source;\r\n document.head.appendChild(script); \r\n });\r\n \r\n};\r\n\r\nfunction http(url){\r\n return {\r\n get(data){\r\n return request({method:'GET',url,data});\r\n },\r\n create(data, headers) {\r\n if (typeof data === 'object') {\r\n data = (new URLSearchParams(data)).toString()\r\n }\r\n return request({method:'POST',url,data,headers});\r\n },\r\n script(){\r\n return getScript(url);\r\n }\r\n };\r\n}\r\n\r\nexport default http;","import { googleMapsKey } from '../constants';\r\n\r\nexport async function locationFromPostal(element){\r\n const {default: MapsLoader} = await import('load-google-maps-api'),\r\n\t\t\tMaps = await MapsLoader({\r\n\t\t\t\tv: '3.30',\r\n\t\t\t\tkey: googleMapsKey,\r\n\t\t\t\tlibraries: ['places']\r\n\t\t\t}),\r\n geo = new Maps.Geocoder();\r\n let key = element.getAttribute('location-from-postal'),\r\n /** @type {HTMLInputElement} */ \r\n country = document.querySelector(`[name=\"${key}Country\"]`),\r\n /** @type {HTMLInputElement} */ \r\n postal = document.querySelector(`[name=\"${key}ZipCode\"]`),\r\n /** @type {HTMLInputElement} */ \r\n city = document.querySelector(`[name=\"${key}City\"]`),\r\n /** @type {HTMLInputElement} */ \r\n state = document.querySelector(`[name=\"${key}State\"]`);\r\n [country,postal].forEach(element => element.addEventListener('change',() => {\r\n \r\n let countryVal = country.value.toString(), \r\n postalCode = postal.value.toString();\r\n return countryVal && postalCode ? \r\n geo.geocode( {componentRestrictions:{ country:countryVal, postalCode }}, (results, status) => {\r\n if(status === 'OK'){\r\n let [{address_components}] = results;\r\n\r\n city.value = (address_components.find( ({types}) => types.indexOf('locality') !== -1) || {}).short_name,\r\n state.value = (address_components.find( ({types}) => types.indexOf('administrative_area_level_1') !== -1) || {}).short_name;\r\n }\r\n }) : false;\r\n }));\r\n}"],"names":["googleMapsKey","rootURL","connectLabels","domWrap","formField","getDistance","h","http","formValidation","locationFromPostal","form","formType","getAttribute","whitePaper","captchaKey","captchaProperty","saveButton","querySelector","scriptFields","document","querySelectorAll","isProcessing","length","classList","add","element","value","forEach","script","insertAdjacentHTML","eval","innerHTML","reduce","html","item","remove","select","addEventListener","split","childId","child","options","toLowerCase","option","filter","String","style","display","validateSelect","matches","map","x","isReferrerMatch","match","trigger","dealerSelect","locationCheck","fnOnComplete","response","setButtonState","tag","gtag_report_conversion","thankyou","href","distanceElement","elements","distance","newLocation","identifier","token","window","location","navigator","userAgent","vendor","opera","setTimeout","body","scrollTop","offsetTop","setToken","field","createElement","name","setAttribute","appendChild","sendLead","event","preventDefault","validation","validate","grecaptcha","loadCaptcha","getCaptchaToken","btn","ready","execute","action","then","headers","create","formData","catch","e","console","error","WhitePaperForm","constructor","Form","SubmitButton","Token","Api","undefined","Fields","LoadingText","CaptchaKey","getData","data","onComplete","fieldsContainer","ErrorContainer","validateFields","isValid","required","submit","fnSetToken","DownloadGuide","CaptchaToken","FirstName","LastName","Email","Newsletter","log","message","BusinessCountry","UTM_AdGroup","UTM_Campaign","UTM_Content","UTM_Medium","UTM_Source","ThankYouPage","RCOGuide","OptIn","checked","whitepaper","Cascadia","FormData","params","URLSearchParams","serialized","toString","contains","toggle","parseLocationValue","replaceAll","model","parsedModel","referrer","urlParams","search","truck","get","container","default","MapsLoader","_","Maps","v","key","libraries","input","errors","international","address","city","state","postalcode","country","locationAutocomplete","places","Autocomplete","types","addListener","place","autocomplete","getPlace","mailingAddress","chain","address_components","long_name","fromPairs","at","joinedAttributes","street_number","route","indexOf","formatted_address","source","paths","glue","compact","list","path","concat","join","dealerInput","dealer","header","headerDefaultText","textContent","allDealers","dealerArray","dealerFields","dealerList","dealerAutocomplete","addressFields","dealerApiAddress","attributes","filterDealers","dealers","filtered","selectedTruck","parentNode","isInternational","push","lowerCaseTrucks","slsSvcProdDescList","slsOnlyProdDescList","a","getAddressFields","Key","Object","getLocation","loc","geometry","latitude","lat","longitude","lng","populateDealers","Math","round","code","resetAddress","className","li","type","count","radius","on","dealerCode","Event","dispatchEvent","setSelected","validity","valid","find","countries","iOS","hostname","mapURL","mapStyles","featureType","stylers","saturation","elementType","hue","visibility","jwpKey","jwpPlayerId","ValidateForm","DefaultValidateForm","placeholder","replace","TruckLeadValidateForm","alphaNumericRegex","emailRegex","noNumbersRegex","noSpacesRegex","noSpecialCharsRegex","num8Regex","numericRegex","phoneExtRegex","postalCodeRegex","messageContainer","MessageContainer","fieldListEvent","target","processField","validateField","setFieldToValid","setFieldToInvalid","setEventListener","validateType","eventField","getElementById","msg","content","placement","appendTo","tippy","setFocus","locationField","focus","errorFields","fields","i","l","exception","validateComments","test","validateEmail","validateText","dealerCodeField","validateName","validateNum8","validatePostalCode","validatePhone","countryElement","validateState","validateWebsite","validateNonRequired","str","phone","label","named","uniqueId","id","current","idCheck","empty","store","delegationOrFn","fn","delegation","call","childNodes","node","bubbles","css","styles","keys","wrapInner","wrapper","firstChild","offset","rect","getBoundingClientRect","top","scrollY","left","scrollX","check","overflowLeft","overflowHorizontal","scrollLeft","overflowRight","scrollWidth","offsetWidth","apiAddress","group","children","servercountries","requiredtype","invalidMessage","argsRef","fieldCountries","getRequiredDealer","getRequiredElement","requiredType","getRequiredLocationFromPostal","pcInvalidMessage","ctryInvalidMessage","pcMsg","ctryMsg","x1","x2","msgKey","substring","postalCode","defaultOption","getRequiredSelect","selOptions","fnGetOptionItem","writeOptions","childItem","optionItem","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","sin","cos","c","atan2","sqrt","d","deg","PI","htm","selector","self","trim","defineProperty","template","Nodes","createRange","createContextualFragment","request","method","url","Promise","resolve","reject","xhr","XMLHttpRequest","onload","status","onerror","onabort","ExceptionMessage","JSON","parse","open","encodeURIComponent","setRequestHeader","responseType","send","stringify","getScript","async","onreadystatechange","isAbort","readyState","src","head","geo","Geocoder","postal","countryVal","geocode","componentRestrictions","results","short_name"],"sourceRoot":""}