{"webLayers":[{"_id":"66aa27afa1bf9f88a11aa37d","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/us/","type":"contains"}],"exclude_pages":[{"url":"competition","type":"contains"},{"url":"cart","type":"contains"},{"url":"checkout","type":"contains"},{"url":"success","type":"contains"}]},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"66e2b1d8ce0ca4e495bea221","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"black-friday-sign-up","type":"contains"}],"exclude_pages":null},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"always","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"66e2b35b44edbb43def0acf9","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"christmas-sign-up","type":"contains"}],"exclude_pages":null},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"always","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"670ce014b0a2c2e7b708aca5","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/us/","type":"contains"}],"exclude_pages":[{"url":"cart","type":"contains"},{"url":"checkout","type":"contains"},{"url":"competition","type":"contains"},{"url":"success","type":"contains"}]},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"671a0d136b975158b54b96e9","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"/us/","type":"contains"}],"exclude_pages":[{"url":"cart","type":"contains"},{"url":"checkout","type":"contains"},{"url":"competition","type":"contains"},{"url":"success","type":"contains"}]},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"672b54fdcc9a8fb71fbbdd52","date_filter":{"enabled":false,"from_date":null,"to_date":null},"trigger":{"include_pages":[{"url":"us/mens","type":"contains"},{"url":"us/womens","type":"contains"}],"exclude_pages":null},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"once_per_visit","uses_personalization":true,"data":"","variables_target":null,"page_vars":[]},{"_id":"6a7dd9690601d7a97a193fae","date_filter":{"enabled":true,"from_date":null,"to_date":1788501600},"trigger":{"include_pages":[{"url":"us/paul-smith.html","type":"contains"}],"exclude_pages":null},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"always","uses_personalization":false,"data":"return (function insertBanner(data) {\ninsertBanner.inPreview = false;\ninsertBanner.sdk = window.exponea;\ninsertBanner.data = data;\ninsertBanner.html = \"\u003cdiv\u003e\\n    \u003cdiv class=\\\"br-signup-wl\\\"\u003e\\n\\n        \u003cdiv class=\\\"br-header\\\" id=\\\"br-text-line-one\\\"\u003e\\n\\t\\t    Paul Smith loves Barbour\\n\\t\\t\u003c/div\u003e\\n\\t\\t\\n\\t\\t\u003cdiv class=\\\"br-secondary-header\\\" id=\\\"br-text-line-two\\\"\u003e\\n\\t\\t    Sign up below and be the first to hear when the new collection lands.\\n\\t\\t\u003c/div\u003e\\n\\n        \u003cdiv class=\\\"br-wl-step-one\\\"\u003e\\n            \u003cdiv class=\\\"br-flex\\\"\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q1-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q1-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q2-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003ePraesent aliquam tempor felis vel fringilla. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q2-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q3-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003ePellentesque eget metus sit amet tortor faucibus efficitur non eu velit. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q3-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"go-to-step-two-btn\\\"\u003eNext\u003c/div\u003e\\n\\n            \u003c/div\u003e\\n        \u003c/div\u003e\\n\\n        \u003cdiv class=\\\"br-wl-step-two br-hidden\\\"\u003e\\n\\n            \u003cdiv class=\\\"br-2-col\\\"\u003e\\n\\n                \u003cdiv class=\\\"br-flex\\\"\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eEmail Address: \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-email-input\\\" type=\\\"email\\\" /\u003e\\n                        \u003cdiv class=\\\"br-field-error\\\" id=\\\"br-email-error\\\"\u003e\u003c/div\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-firstname-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eFirst Name: \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-firstname-input\\\" /\u003e\\n                    \u003c/div\u003e\\n                    \\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-dob-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eDate of Birth:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-dob-input\\\" type=\\\"date\\\" /\u003e\\n                    \u003c/div\u003e\\n                    \\n\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-flex\\\"\u003e\\n                \\t                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-phone-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePhone Number:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-phone-input\\\" type=\\\"tel\\\" /\u003e\\n                        \u003cdiv class=\\\"br-field-error\\\" id=\\\"br-phone-error\\\"\u003e\u003c/div\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-lastname-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eLast Name:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-lastname-input\\\" /\u003e\\n                    \u003c/div\u003e\\n\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-country-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePlease select your country: \u003cspan class=\\\"br-red\\\"\u003e\u003c/span\u003e\u003c/div\u003e\\n                        \u003cselect id=\\\"br-country-select\\\" class=\\\"br-input-field\\\"\u003e\\n                            \u003coption value=\\\"\\\" disabled selected\u003e[ Please Select ]\u003c/option\u003e\\n                            \u003coption\u003eUnited Kingdom\u003c/option\u003e\\n                            \u003coption\u003eGermany\u003c/option\u003e\\n                            \u003coption\u003eUnited States\u003c/option\u003e\\n                            \u003coption\u003eRest of World\u003c/option\u003e\\n                        \u003c/select\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-store-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePlease select your nearest store:\u003c/div\u003e\\n                        \u003cselect id=\\\"br-store-select\\\" class=\\\"br-input-field\\\"\u003e\\n                            \u003coption value=\\\"\\\" disabled selected\u003e[ Please Select ]\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Beverley\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Blackbrook\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Cambridge\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Carnaby Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Cirencester\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Covent Garden\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Duke Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Edinburgh\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Guildford\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Knutsford\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Leadenhall Market\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Leeds\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Manchester\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Neal Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Regent Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Shrewsbury\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store South Shields\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Windsor\u003c/option\u003e\\n                        \u003c/select\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-hear-about\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eLet us know what you'd like to hear about:\u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour\\\"\u003eBarbour\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour-international\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour-international\\\"\u003eBarbour International\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-menswear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-menswear\\\"\u003eMenswear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-womenswear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-womenswear\\\"\u003eWomenswear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour-dogs\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour-dogs\\\"\u003eBarbour Dogs\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-footwear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-footwear\\\"\u003eFootwear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-accessories\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-accessories\\\"\u003eAccessories\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                    \u003c/div\u003e\\n\\n                \u003c/div\u003e\\n\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-consent-hold\\\"\u003e\\n                \u003cinput type=\\\"checkbox\\\" id=\\\"checkbox-consent\\\" /\u003e\\n                \u003clabel for=\\\"checkbox-consent\\\"\u003eI consent to receiving updates from Barbour. See our \u003ca href=\\\"https://www.barbour.com/us/legal/privacy-policy.html\\\" target=\\\"_blank\\\"\u003e\u003cstrong\u003ePrivacy Policy\u003c/strong\u003e\u003c/a\u003e for more information.\u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/label\u003e\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-privacy-policy\\\" id=\\\"br-tc-hold\\\"\u003e\\n                \u003cinput type=\\\"checkbox\\\" id=\\\"checkbox-tc\\\" /\u003e\\n                \u003clabel for=\\\"checkbox-tc\\\"\u003eBy accepting the \u003ca href=\\\"https://www.barbour.com/us/legal/terms-of-use.html\\\" target=\\\"_blank\\\"\u003e\u003cstrong\u003eTerms and Conditions\u003c/strong\u003e\u003c/a\u003e you are agreeing to share your information with J. Barbour \u0026 Sons and confirming you have read and agreed the T\u0026Cs.\u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/label\u003e\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-flex-row\\\"\u003e\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"go-to-step-one-btn\\\"\u003eBack\u003c/div\u003e\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"br-submit\\\"\u003eSUBMIT\u003c/div\u003e\\n            \u003c/div\u003e\\n\\n        \u003c/div\u003e\\n\\n        \u003cdiv id=\\\"error-message\\\" class=\\\"br-red\\\" style=\\\"display:none\\\"\u003e\u003c/div\u003e\\n\\n    \u003c/div\u003e\\n\u003c/div\u003e\";\ninsertBanner.style = \".br-signup-wl {\\n    display: flex;\\n    flex-direction: column;\\n    padding-left: 5%;\\n    padding-right: 5%;\\n    margin: 40px auto;\\n}\\n\\n.br-2-col {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n.br-input-hold {\\n    display: flex;\\n    flex-direction: column;\\n    padding: 10px;\\n    height: 110px;\\n}\\n\\n.br-flex {\\n    display: flex;\\n    flex-direction: column;\\n    width: 100%;\\n}\\n\\n.br-flex-row {\\n    display: flex;\\n}\\n\\n.br-flex-persist {\\n    display: flex;\\n}\\n\\n.br-flex-col {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n.br-consent-hold {\\n    display: flex;\\n    align-items: flex-start;\\n    margin-top: 20px;\\n}\\n\\n.br-consent-hold input[type=\\\"checkbox\\\"],\\n.br-privacy-policy input[type=\\\"checkbox\\\"] {\\n    flex-shrink: 0;\\n    margin-top: 4px;\\n}\\n\\n.br-input-label {\\n    margin-bottom: 5px;\\n    margin-top: 10px;\\n}\\n\\n.br-half-width {\\n    width: 95%;\\n}\\n\\n.br-privacy-policy {\\n    display: flex;\\n    align-items: flex-start;\\n    margin-top: 10px;\\n}\\n\\n#br-hear-about {\\n    height: auto;\\n}\\n\\n#br-hear-about \u003e .br-flex-persist {\\n    padding-top: 4px;\\n    padding-bottom: 4px;\\n    align-items: center;\\n}\\n\\n.br-input-field {\\n    height: 60px !important;\\n    padding-left: 10px;\\n    padding-right: 10px;\\n}\\n\\n.br-input-field.br-invalid {\\n    border: 2px solid #c30;\\n}\\n\\n.br-field-error {\\n    color: #c30;\\n    font-size: 13px;\\n    margin-top: 4px;\\n    min-height: 0;\\n}\\n\\nlabel {\\n    margin-left: 5px;\\n}\\n\\n.br-header {\\n    font-size: 34px;\\n    text-align: center;\\n}\\n\\n.br-secondary-header {\\n    font-size: 16px;\\n    text-align: center;\\n}\\n\\n.br-btn {\\n    background-color: #EEEEEE;\\n    width: auto;\\n    margin: 20px auto 0;\\n    padding: 10px 15px;\\n    border: 2px solid #999999;\\n    cursor: pointer;\\n}\\n\\n.br-btn:hover {\\n    background-color: #FFFFFF;\\n}\\n\\n.br-btn:active {\\n    border-color: #000000;\\n}\\n\\n.br-red {\\n    color: #c30;\\n}\\n\\n.br-hidden {\\n    display: none !important;\\n}\\n\\n#error-message {\\n    margin-top: 20px;\\n    text-align: center;\\n}\\n\\n@media (min-width: 600px) {\\n    .br-signup-wl {\\n        width: 60%;\\n    }\\n    .br-2-col {\\n        flex-direction: row;\\n    }\\n}\";\ninsertBanner.script = function() { /**\n * Barbour Non-Personalised Weblayer — Master Template\n *\n * Cookie-free sign-up / competition form. All fields togglable via\n * show/hide parameters. Tracks via the public Track API with email_id\n * as the sole customer identifier.\n *\n * On submit, this weblayer:\n * 1. Tracks a 'banner' event with all form data as event properties\n * 2. Tracks a 'consent' or 'double_opt_in' event\n * 3. Updates customer properties directly via the /customers endpoint\n */\n\nvar PARAM_projectId = \"df0e78b4-2a60-11ef-8abb-32631dd12ef9\";\nvar PARAM_apikey = \"qrznkh2zx0smpdx9gslffdweyhnpblt3jikavhkjhxw236w9yc4984jqbh0rmp37\";\n\nvar PARAM_showTextLineOne = \"Show\";\nvar PARAM_showTextLineTwo = \"Show\";\nvar PARAM_showFirstName = \"Show\";\nvar PARAM_showLastName = \"Show\";\nvar PARAM_showPhone = \"Show\";\nvar PARAM_showDOB = \"Show\";\nvar PARAM_showPreferences = \"Hide\";\nvar PARAM_showCountry = \"Show\";\nvar PARAM_showStore = \"Hide\";\nvar PARAM_showQuestion1 = \"Hide\";\nvar PARAM_showQuestion2 = \"Hide\";\nvar PARAM_showQuestion3 = \"Hide\";\nvar PARAM_showTC = \"Show\";\n\nvar PARAM_question1Label = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\";\nvar PARAM_question2Label = \"Praesent aliquam tempor felis vel fringilla.\";\nvar PARAM_question3Label = \"Pellentesque eget metus sit amet tortor faucibus efficitur non eu velit.\";\n\nvar PARAM_successRedirectURL = \"https://www.barbour.com/us/\";\n\nvar PARAM_showAfter = parseInt(\"0\", 10);\nvar PARAM_removeAfter = parseInt(\"0\", 10);\nvar PARAM_trigger = \"On entry\";\nvar PARAM_parentElement = \"#maincontent\";\nvar PARAM_elementIndex = parseInt(\"0\", 10);\nvar PARAM_insertPosition = \"Append\";\n\nvar PARAM_consentCategory = \"email\";\nvar PARAM_doubleOptIn = \"false\";\nvar PARAM_region = \"US\";\nvar PARAM_signUpSource = \"paul_smith_aw26_form_br\";\n\nvar BR_API_EVENTS_URL = \"https://api.uk.exponea.com/track/v2/projects/\" + PARAM_projectId + \"/customers/events\";\nvar BR_API_CUSTOMERS_URL = \"https://api.uk.exponea.com/track/v2/projects/\" + PARAM_projectId + \"/customers\";\n\nvar self = this;\nvar bannerSemiId = Math.random().toString(36).substring(5);\nwindow['__exp_triggered-' + bannerSemiId] = false;\n\nif (self.inPreview) {\n    PARAM_showAfter = 0;\n    PARAM_trigger = 'On entry';\n}\n\nvar hasQuestions = (PARAM_showQuestion1 === 'Show' || PARAM_showQuestion2 === 'Show' || PARAM_showQuestion3 === 'Show');\nvar preferences_updated = false;\nvar submitted = false;\n\nfunction registerStartTrigger() {\n    if (PARAM_trigger === 'On exit') {\n        document.body.addEventListener('mouseout', onExitMouseOutHandler);\n    } else if (PARAM_trigger === 'On scroll') {\n        window.addEventListener('scroll', scheduleShowBanner);\n    } else {\n        scheduleShowBanner();\n    }\n}\n\nfunction scheduleShowBanner() {\n    window.removeEventListener('scroll', scheduleShowBanner);\n    setTimeout(function () {\n        requestAnimationFrame(createBanner);\n        if (PARAM_removeAfter \u003e 0) {\n            setTimeout(removeBanner, PARAM_removeAfter);\n        }\n    }, PARAM_showAfter);\n}\n\nfunction createBanner() {\n    var placeholder = document.createElement('div');\n    placeholder.insertAdjacentHTML('afterbegin', self.html);\n\n    var banner = placeholder.firstElementChild;\n    banner.insertAdjacentHTML('afterbegin', '\u003cstyle\u003e' + self.style + '\u003c/style\u003e');\n\n    attachBannerToDom(banner);\n}\n\nfunction attachBannerToDom(banner) {\n    var parentElement;\n\n    if (self.inPreview) {\n        parentElement = document.querySelector('body');\n    } else {\n        var matches = document.querySelectorAll(PARAM_parentElement);\n        parentElement = matches[PARAM_elementIndex] || matches[0];\n        if (!parentElement) {\n            parentElement = document.querySelector('body');\n        }\n    }\n\n    if (PARAM_insertPosition === 'Prepend') {\n        parentElement.insertAdjacentElement('afterbegin', banner);\n    } else if (PARAM_insertPosition === 'Append') {\n        parentElement.insertAdjacentElement('beforeend', banner);\n    } else {\n        parentElement.insertAdjacentElement('afterend', banner);\n    }\n\n    self.banner = banner;\n\n    applyFieldVisibility();\n    addEventsToDOM();\n}\n\nfunction removeBanner() {\n    if (self.banner \u0026\u0026 self.banner.parentNode) {\n        self.banner.parentNode.removeChild(self.banner);\n    }\n}\n\nfunction setFieldVisible(id, show) {\n    var el = document.getElementById(id);\n    if (!el) return;\n    if (show) {\n        el.classList.remove('br-hidden');\n    } else {\n        el.classList.add('br-hidden');\n    }\n}\n\nfunction applyFieldVisibility() {\n\tsetFieldVisible('br-text-line-one', PARAM_showTextLineOne === 'Show');\n\tsetFieldVisible('br-text-line-two', PARAM_showTextLineTwo === 'Show');\n    setFieldVisible('br-firstname-hold', PARAM_showFirstName === 'Show');\n    setFieldVisible('br-lastname-hold', PARAM_showLastName === 'Show');\n    setFieldVisible('br-phone-hold', PARAM_showPhone === 'Show');\n    setFieldVisible('br-dob-hold', PARAM_showDOB === 'Show');\n    setFieldVisible('br-hear-about', PARAM_showPreferences === 'Show');\n    setFieldVisible('br-country-hold', PARAM_showCountry === 'Show');\n    setFieldVisible('br-store-hold', PARAM_showStore === 'Show');\n    setFieldVisible('br-q1-hold', PARAM_showQuestion1 === 'Show');\n    setFieldVisible('br-q2-hold', PARAM_showQuestion2 === 'Show');\n    setFieldVisible('br-q3-hold', PARAM_showQuestion3 === 'Show');\n    setFieldVisible('br-tc-hold', PARAM_showTC === 'Show');\n\n    if (!hasQuestions) {\n        var stepOne = document.getElementsByClassName('br-wl-step-one')[0];\n        var stepTwo = document.getElementsByClassName('br-wl-step-two')[0];\n        var backBtn = document.getElementById('go-to-step-one-btn');\n        stepOne.classList.add('br-hidden');\n        stepTwo.classList.remove('br-hidden');\n        backBtn.classList.add('br-hidden');\n    }\n}\n\nfunction addEventsToDOM() {\n    document.getElementById('br-email-input').addEventListener('blur', function () {\n        var val = this.value.trim().toLowerCase();\n        var errEl = document.getElementById('br-email-error');\n        if (val === '') {\n            this.classList.remove('br-invalid');\n            errEl.textContent = '';\n        } else if (!validateEmail(val)) {\n            this.classList.add('br-invalid');\n            errEl.textContent = 'Please enter a valid email address (e.g. name@example.com).';\n        } else {\n            this.classList.remove('br-invalid');\n            errEl.textContent = '';\n        }\n    });\n\n    if (PARAM_showPhone === 'Show') {\n        document.getElementById('br-phone-input').addEventListener('blur', function () {\n            var val = this.value.trim();\n            var errEl = document.getElementById('br-phone-error');\n            if (val === '') {\n                this.classList.remove('br-invalid');\n                errEl.textContent = '';\n            } else if (!validatePhone(val)) {\n                this.classList.add('br-invalid');\n                errEl.textContent = 'Please enter a valid phone number (at least 7 digits).';\n            } else {\n                this.classList.remove('br-invalid');\n                errEl.textContent = '';\n            }\n        });\n    }\n\n    if (PARAM_showPreferences === 'Show') {\n        var prefs = Array.from(document.getElementById('br-hear-about').querySelectorAll('input'));\n        for (var i = 0; i \u003c prefs.length; i++) {\n            prefs[i].addEventListener('change', handlePreferenceUpdate);\n        }\n    }\n\n    if (hasQuestions) {\n        document.getElementById('go-to-step-two-btn').addEventListener('click', goToStepTwo);\n        document.getElementById('go-to-step-one-btn').addEventListener('click', goToStepOne);\n    }\n\n    document.getElementById('br-submit').addEventListener('click', handleFormSubmit);\n}\n\nfunction goToStepOne() {\n    document.getElementById('error-message').style.display = 'none';\n    document.getElementsByClassName('br-wl-step-two')[0].classList.add('br-hidden');\n    document.getElementsByClassName('br-wl-step-one')[0].classList.remove('br-hidden');\n}\n\nfunction goToStepTwo() {\n    var visibleInputs = [];\n    if (PARAM_showQuestion1 === 'Show') visibleInputs.push(document.getElementById('br-q1-input'));\n    if (PARAM_showQuestion2 === 'Show') visibleInputs.push(document.getElementById('br-q2-input'));\n    if (PARAM_showQuestion3 === 'Show') visibleInputs.push(document.getElementById('br-q3-input'));\n\n    var allValid = true;\n    for (var i = 0; i \u003c visibleInputs.length; i++) {\n        if (visibleInputs[i].value.trim() === '') allValid = false;\n    }\n\n    if (allValid) {\n        document.getElementById('error-message').style.display = 'none';\n        document.getElementsByClassName('br-wl-step-one')[0].classList.add('br-hidden');\n        document.getElementsByClassName('br-wl-step-two')[0].classList.remove('br-hidden');\n    } else {\n        showError('stepOne');\n    }\n}\n\nfunction handleFormSubmit() {\n    if (submitted) return;\n\n    var emailField = document.getElementById('br-email-input');\n    var email_value = emailField.value.trim().toLowerCase();\n    var emailErrEl = document.getElementById('br-email-error');\n\n    if (!validateEmail(email_value)) {\n        emailField.classList.add('br-invalid');\n        emailErrEl.textContent = 'Please enter a valid email address (e.g. name@example.com).';\n        showError('email');\n        return;\n    } else {\n        emailField.classList.remove('br-invalid');\n        emailErrEl.textContent = '';\n    }\n\n    if (PARAM_showPhone === 'Show') {\n        var phoneField = document.getElementById('br-phone-input');\n        var phone_value = phoneField.value.trim();\n        var phoneErrEl = document.getElementById('br-phone-error');\n\n        if (phone_value !== '' \u0026\u0026 !validatePhone(phone_value)) {\n            phoneField.classList.add('br-invalid');\n            phoneErrEl.textContent = 'Please enter a valid phone number (at least 7 digits).';\n            showError('phone');\n            return;\n        } else {\n            phoneField.classList.remove('br-invalid');\n            phoneErrEl.textContent = '';\n        }\n    }\n\n    if (PARAM_showCountry === 'Show') {\n        var country_value = document.getElementById('br-country-select').value;\n        if (country_value === '') { showError('country'); return; }\n    }\n\n    if (!document.getElementById('checkbox-consent').checked) { showError('consent'); return; }\n\n    if (PARAM_showTC === 'Show' \u0026\u0026 !document.getElementById('checkbox-tc').checked) { showError('tc'); return; }\n\n    submitted = true;\n\n    var customerIds = { email_id: email_value };\n    var customerAttributes = collectCustomerAttributes(email_value);\n\n    var bannerProperties = getEventProperties('subscribe');\n    bannerProperties.tcai = true;\n    bannerProperties.sign_up_source = PARAM_signUpSource;\n\tbannerProperties.consent_category = PARAM_consentCategory;\n\n    if (PARAM_showQuestion1 === 'Show') {\n        bannerProperties.question_1_label = PARAM_question1Label;\n        bannerProperties.question_1 = document.getElementById('br-q1-input').value;\n    }\n    if (PARAM_showQuestion2 === 'Show') {\n        bannerProperties.question_2_label = PARAM_question2Label;\n        bannerProperties.question_2 = document.getElementById('br-q2-input').value;\n    }\n    if (PARAM_showQuestion3 === 'Show') {\n        bannerProperties.question_3_label = PARAM_question3Label;\n        bannerProperties.question_3 = document.getElementById('br-q3-input').value;\n    }\n\n    for (var attr in customerAttributes) {\n        if (Object.prototype.hasOwnProperty.call(customerAttributes, attr)) {\n            bannerProperties[attr] = customerAttributes[attr];\n        }\n    }\n\n    if (preferences_updated) {\n        var prefs = collectCheckedPreferences();\n        bannerProperties.preferences = prefs;\n        customerAttributes.preferences = prefs;\n    }\n\n    var requests = [\n        trackApiEvent(customerIds, bannerProperties),\n        updateCustomerProperties(customerIds, customerAttributes)\n    ];\n\n    if (PARAM_doubleOptIn == 'true') {\n        requests.push(trackApiConsent('double_opt_in', customerIds, {\n            action: 'new',\n            email: email_value,\n            valid_until: 'unlimited',\n            consent_list: [{\n                action: 'accept',\n                category: PARAM_consentCategory,\n                location: window.location.href\n            }]\n        }));\n    } else {\n        requests.push(trackApiConsent('consent', customerIds, {\n            action: 'accept',\n            valid_until: 'unlimited',\n            category: PARAM_consentCategory\n        }));\n    }\n\n    Promise.all(requests.map(function (p) {\n        return p.catch(function (err) { console.error('Bloomreach track failed', err); });\n    })).then(goToSuccessPage);\n\n    setTimeout(goToSuccessPage, 3000);\n}\n\nfunction trackApiEvent(customerIds, properties) {\n    return fetch(BR_API_EVENTS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties,\n            event_type: 'banner',\n            timestamp: Math.floor(Date.now() / 1000)\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction trackApiConsent(eventType, customerIds, properties) {\n    return fetch(BR_API_EVENTS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties,\n            event_type: eventType,\n            timestamp: Math.floor(Date.now() / 1000)\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction updateCustomerProperties(customerIds, properties) {\n    return fetch(BR_API_CUSTOMERS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction collectCustomerAttributes(email_value) {\n    var attrs = { email: email_value };\n\n    if (PARAM_showCountry === 'Show') {\n        var country = document.getElementById('br-country-select').value;\n        if (country !== '') attrs.country = country;\n    }\n\n    if (PARAM_showFirstName === 'Show') {\n        var fn = document.getElementById('br-firstname-input').value;\n        if (fn !== '') attrs.first_name = fn;\n    }\n\n    if (PARAM_showLastName === 'Show') {\n        var ln = document.getElementById('br-lastname-input').value;\n        if (ln !== '') attrs.last_name = ln;\n    }\n\n    if (PARAM_showPhone === 'Show') {\n        var phone = document.getElementById('br-phone-input').value.trim();\n        if (phone !== '') attrs.phone = phone;\n    }\n\n    if (PARAM_showDOB === 'Show') {\n        var dob = document.getElementById('br-dob-input').value;\n        if (dob !== '') {\n            var date = new Date(dob);\n            attrs.birth_date = date.getTime() / 1000;\n        }\n    }\n\n    if (PARAM_showStore === 'Show') {\n        var store = document.getElementById('br-store-select').value;\n        if (store !== '') attrs.closest_store = store;\n    }\n\n    return attrs;\n}\n\n/*\nfunction collectCheckedPreferences() {\n    var checkboxes = Array.from(document.getElementsByClassName('br-checkbox'));\n    var result = [];\n\n    for (var i = 0; i \u003c checkboxes.length; i++) {\n        var split_id = checkboxes[i].id.split('-');\n        split_id.shift();\n        result.push({\n            name: split_id.join(' '),\n            value: checkboxes[i].checked\n        });\n    }\n    return result;\n}\n*/\n\nfunction collectCheckedPreferences() {\n    var checkboxes = Array.from(document.getElementsByClassName('br-checkbox'));\n    var checked = [];\n\n    for (var i = 0; i \u003c checkboxes.length; i++) {\n        if (checkboxes[i].checked) {\n            var split_id = checkboxes[i].id.split('-');\n            split_id.shift();\n            checked.push(split_id.join(' '));\n        }\n    }\n    return checked.join(',');\n}\n\nfunction goToSuccessPage() {\n    if (window.__br_redirected) return;\n    window.__br_redirected = true;\n    window.location = PARAM_successRedirectURL;\n}\n\nfunction showError(type) {\n    var err_el = document.getElementById('error-message');\n    var str = '';\n\n    if (type === 'email') str = 'Please enter a valid email address.';\n    if (type === 'phone') str = 'Please enter a valid phone number.';\n    if (type === 'consent') str = 'Please consent to marketing communications.';\n    if (type === 'country') str = 'Please select a country.';\n    if (type === 'tc') str = 'Please accept the Terms \u0026 Conditions.';\n    if (type === 'stepOne') str = 'Please complete all required fields before continuing.';\n\n    err_el.innerText = str;\n    err_el.style.display = 'block';\n}\n\nfunction handlePreferenceUpdate() {\n    preferences_updated = true;\n}\n\nfunction validateEmail(email) {\n    if (!email) return false;\n    return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/.test(email);\n}\n\nfunction validatePhone(phone) {\n    if (!phone) return false;\n    var digits = phone.replace(/[\\s\\-\\(\\)\\+]/g, '');\n    if (!/^\\d+$/.test(digits)) return false;\n    return digits.length \u003e= 7 \u0026\u0026 digits.length \u003c= 15;\n}\n\nfunction getEventProperties(action, interactive) {\n    return {\n        action: action,\n        banner_id: self.data.banner_id,\n        banner_name: self.data.banner_name,\n        banner_type: self.data.banner_type,\n        variant_id: self.data.variant_id,\n        variant_name: self.data.variant_name,\n        variant_origin: self.data.contextual_personalization != null ? 'contextual personalisation' : 'ABtest',\n        interaction: interactive !== false,\n        region: PARAM_region\n    };\n}\n\nfunction onExitMouseOutHandler(event) {\n    event = event ? event : window.event;\n    var vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    if (event.clientX \u003e= vpWidth) return;\n    if (event.clientY \u003e= 50) return;\n    var from = event.relatedTarget || event.toElement;\n\n    if (!from \u0026\u0026 !window['__exp_triggered-' + bannerSemiId]) {\n        window['__exp_triggered-' + bannerSemiId] = true;\n        scheduleShowBanner();\n    }\n}\n\nregisterStartTrigger();\nreturn {\n    remove: removeBanner\n}; };\ninsertBanner.remove = (insertBanner.script.call(insertBanner) || {} ).remove;\ninsertBanner.contextual_personalization = {};\nreturn insertBanner;\n})({\"banner_id\": \"6a7dd9690601d7a97a193fae\", \"banner_name\": null, \"banner_type\": \"medium_rectangle\", \"banner_group\": \"\", \"variant_id\": 0, \"variant_name\": \"Variant A\"});","variables_target":null,"page_vars":[]},{"_id":"6a96ec229043f2eec80b5d10","date_filter":{"enabled":false,"from_date":1786948200,"to_date":null},"trigger":{"include_pages":[{"url":"us/coming-soon-sign-up","type":"contains"}],"exclude_pages":null},"smart_trigger":null,"device_target":{"type":"any"},"frequency":"always","uses_personalization":false,"data":"return (function insertBanner(data) {\ninsertBanner.inPreview = false;\ninsertBanner.sdk = window.exponea;\ninsertBanner.data = data;\ninsertBanner.html = \"\u003cdiv\u003e\\n    \u003cdiv class=\\\"br-signup-wl\\\"\u003e\\n\\n        \u003cdiv class=\\\"br-header\\\" id=\\\"br-text-line-one\\\"\u003e\\n\\t\\t    Paul Smith loves Barbour\\n\\t\\t\u003c/div\u003e\\n\\t\\t\\n\\t\\t\u003cdiv class=\\\"br-secondary-header\\\" id=\\\"br-text-line-two\\\"\u003e\\n\\t\\t    Sign up below and be the first to hear when new items land.\\n\\t\\t\u003c/div\u003e\\n\\n        \u003cdiv class=\\\"br-wl-step-one\\\"\u003e\\n            \u003cdiv class=\\\"br-flex\\\"\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q1-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003eLorem ipsum dolor sit amet, consectetur adipiscing elit. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q1-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q2-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003ePraesent aliquam tempor felis vel fringilla. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q2-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-q3-hold\\\"\u003e\\n                    \u003cdiv class=\\\"br-input-label\\\"\u003ePellentesque eget metus sit amet tortor faucibus efficitur non eu velit. \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                    \u003cinput class=\\\"br-input-field\\\" id=\\\"br-q3-input\\\" type=\\\"text\\\" /\u003e\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"go-to-step-two-btn\\\"\u003eNext\u003c/div\u003e\\n\\n            \u003c/div\u003e\\n        \u003c/div\u003e\\n\\n        \u003cdiv class=\\\"br-wl-step-two br-hidden\\\"\u003e\\n\\n            \u003cdiv class=\\\"br-2-col\\\"\u003e\\n\\n                \u003cdiv class=\\\"br-flex\\\"\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eEmail Address: \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-email-input\\\" type=\\\"email\\\" /\u003e\\n                        \u003cdiv class=\\\"br-field-error\\\" id=\\\"br-email-error\\\"\u003e\u003c/div\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-firstname-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eFirst Name: \u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-firstname-input\\\" /\u003e\\n                    \u003c/div\u003e\\n                    \\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-dob-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eDate of Birth:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-dob-input\\\" type=\\\"date\\\" /\u003e\\n                    \u003c/div\u003e\\n                    \\n\\n                \u003c/div\u003e\\n\\n                \u003cdiv class=\\\"br-flex\\\"\u003e\\n                \\t                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-phone-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePhone Number:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-phone-input\\\" type=\\\"tel\\\" /\u003e\\n                        \u003cdiv class=\\\"br-field-error\\\" id=\\\"br-phone-error\\\"\u003e\u003c/div\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-lastname-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eLast Name:\u003c/div\u003e\\n                        \u003cinput class=\\\"br-input-field\\\" id=\\\"br-lastname-input\\\" /\u003e\\n                    \u003c/div\u003e\\n\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-country-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePlease select your country: \u003cspan class=\\\"br-red\\\"\u003e\u003c/span\u003e\u003c/div\u003e\\n                        \u003cselect id=\\\"br-country-select\\\" class=\\\"br-input-field\\\"\u003e\\n                            \u003coption value=\\\"\\\" disabled selected\u003e[ Please Select ]\u003c/option\u003e\\n                            \u003coption\u003eUnited Kingdom\u003c/option\u003e\\n                            \u003coption\u003eGermany\u003c/option\u003e\\n                            \u003coption\u003eUnited States\u003c/option\u003e\\n                            \u003coption\u003eRest of World\u003c/option\u003e\\n                        \u003c/select\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold br-half-width\\\" id=\\\"br-store-hold\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003ePlease select your nearest store:\u003c/div\u003e\\n                        \u003cselect id=\\\"br-store-select\\\" class=\\\"br-input-field\\\"\u003e\\n                            \u003coption value=\\\"\\\" disabled selected\u003e[ Please Select ]\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Beverley\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Blackbrook\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Cambridge\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Carnaby Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Cirencester\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Covent Garden\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Duke Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Edinburgh\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Guildford\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Knutsford\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Leadenhall Market\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Leeds\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Manchester\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Neal Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Regent Street\u003c/option\u003e\\n                            \u003coption\u003eBarbour Partner Store Shrewsbury\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store South Shields\u003c/option\u003e\\n                            \u003coption\u003eBarbour Store Windsor\u003c/option\u003e\\n                        \u003c/select\u003e\\n                    \u003c/div\u003e\\n\\n                    \u003cdiv class=\\\"br-input-hold\\\" id=\\\"br-hear-about\\\"\u003e\\n                        \u003cdiv class=\\\"br-input-label\\\"\u003eLet us know what you'd like to hear about:\u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour\\\"\u003eBarbour\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour-international\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour-international\\\"\u003eBarbour International\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-menswear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-menswear\\\"\u003eMenswear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-womenswear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-womenswear\\\"\u003eWomenswear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-barbour-dogs\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-barbour-dogs\\\"\u003eBarbour Dogs\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-footwear\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-footwear\\\"\u003eFootwear\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                        \u003cdiv class=\\\"br-flex-persist\\\"\u003e\\n                            \u003cinput class=\\\"br-checkbox\\\" type=\\\"checkbox\\\" id=\\\"checkbox-accessories\\\" /\u003e\\n                            \u003clabel for=\\\"checkbox-accessories\\\"\u003eAccessories\u003c/label\u003e\\n                        \u003c/div\u003e\\n\\n                    \u003c/div\u003e\\n\\n                \u003c/div\u003e\\n\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-consent-hold\\\"\u003e\\n                \u003cinput type=\\\"checkbox\\\" id=\\\"checkbox-consent\\\" /\u003e\\n                \u003clabel for=\\\"checkbox-consent\\\"\u003eI consent to receiving updates from Barbour. See our \u003ca href=\\\"https://www.barbour.com/us/legal/privacy-policy.html\\\" target=\\\"_blank\\\"\u003e\u003cstrong\u003ePrivacy Policy\u003c/strong\u003e\u003c/a\u003e for more information.\u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/label\u003e\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-privacy-policy\\\" id=\\\"br-tc-hold\\\"\u003e\\n                \u003cinput type=\\\"checkbox\\\" id=\\\"checkbox-tc\\\" /\u003e\\n                \u003clabel for=\\\"checkbox-tc\\\"\u003eBy accepting the \u003ca href=\\\"https://www.barbour.com/us/legal/terms-of-use.html\\\" target=\\\"_blank\\\"\u003e\u003cstrong\u003eTerms and Conditions\u003c/strong\u003e\u003c/a\u003e you are agreeing to share your information with J. Barbour \u0026 Sons and confirm you have read and agreed the T\u0026Cs.\u003cspan class=\\\"br-red\\\"\u003e*\u003c/span\u003e\u003c/label\u003e\\n            \u003c/div\u003e\\n\\n            \u003cdiv class=\\\"br-flex-row\\\"\u003e\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"go-to-step-one-btn\\\"\u003eBack\u003c/div\u003e\\n                \u003cdiv class=\\\"br-btn\\\" id=\\\"br-submit\\\"\u003eSUBMIT\u003c/div\u003e\\n            \u003c/div\u003e\\n\\n        \u003c/div\u003e\\n\\n        \u003cdiv id=\\\"error-message\\\" class=\\\"br-red\\\" style=\\\"display:none\\\"\u003e\u003c/div\u003e\\n\\n    \u003c/div\u003e\\n\u003c/div\u003e\";\ninsertBanner.style = \".br-signup-wl {\\n    display: flex;\\n    flex-direction: column;\\n    padding-left: 5%;\\n    padding-right: 5%;\\n    margin: 40px auto;\\n}\\n\\n.br-2-col {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n.br-input-hold {\\n    display: flex;\\n    flex-direction: column;\\n    padding: 10px;\\n    height: 110px;\\n}\\n\\n.br-flex {\\n    display: flex;\\n    flex-direction: column;\\n    width: 100%;\\n}\\n\\n.br-flex-row {\\n    display: flex;\\n}\\n\\n.br-flex-persist {\\n    display: flex;\\n}\\n\\n.br-flex-col {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n.br-consent-hold {\\n    display: flex;\\n    align-items: flex-start;\\n    margin-top: 20px;\\n}\\n\\n.br-consent-hold input[type=\\\"checkbox\\\"],\\n.br-privacy-policy input[type=\\\"checkbox\\\"] {\\n    flex-shrink: 0;\\n    margin-top: 4px;\\n}\\n\\n.br-input-label {\\n    margin-bottom: 5px;\\n    margin-top: 10px;\\n}\\n\\n.br-half-width {\\n    width: 95%;\\n}\\n\\n.br-privacy-policy {\\n    display: flex;\\n    align-items: flex-start;\\n    margin-top: 10px;\\n}\\n\\n#br-hear-about {\\n    height: auto;\\n}\\n\\n#br-hear-about \u003e .br-flex-persist {\\n    padding-top: 4px;\\n    padding-bottom: 4px;\\n    align-items: center;\\n}\\n\\n.br-input-field {\\n    height: 60px !important;\\n    padding-left: 10px;\\n    padding-right: 10px;\\n}\\n\\n.br-input-field.br-invalid {\\n    border: 2px solid #c30;\\n}\\n\\n.br-field-error {\\n    color: #c30;\\n    font-size: 13px;\\n    margin-top: 4px;\\n    min-height: 0;\\n}\\n\\nlabel {\\n    margin-left: 5px;\\n}\\n\\n.br-header {\\n    font-size: 34px;\\n    text-align: center;\\n}\\n\\n.br-secondary-header {\\n    font-size: 16px;\\n    text-align: center;\\n}\\n\\n.br-btn {\\n    background-color: #EEEEEE;\\n    width: auto;\\n    margin: 20px auto 0;\\n    padding: 10px 15px;\\n    border: 2px solid #999999;\\n    cursor: pointer;\\n}\\n\\n.br-btn:hover {\\n    background-color: #FFFFFF;\\n}\\n\\n.br-btn:active {\\n    border-color: #000000;\\n}\\n\\n.br-red {\\n    color: #c30;\\n}\\n\\n.br-hidden {\\n    display: none !important;\\n}\\n\\n#error-message {\\n    margin-top: 20px;\\n    text-align: center;\\n}\\n\\n@media (min-width: 600px) {\\n    .br-signup-wl {\\n        width: 60%;\\n    }\\n    .br-2-col {\\n        flex-direction: row;\\n    }\\n}\";\ninsertBanner.script = function() { /**\n * Barbour Non-Personalised Weblayer — Master Template\n *\n * Cookie-free sign-up / competition form. All fields togglable via\n * show/hide parameters. Tracks via the public Track API with email_id\n * as the sole customer identifier.\n *\n * On submit, this weblayer:\n * 1. Tracks a 'banner' event with all form data as event properties\n * 2. Tracks a 'consent' or 'double_opt_in' event\n * 3. Updates customer properties directly via the /customers endpoint\n */\n\nvar PARAM_projectId = \"df0e78b4-2a60-11ef-8abb-32631dd12ef9\";\nvar PARAM_apikey = \"qrznkh2zx0smpdx9gslffdweyhnpblt3jikavhkjhxw236w9yc4984jqbh0rmp37\";\n\nvar PARAM_showTextLineOne = \"Show\";\nvar PARAM_showTextLineTwo = \"Show\";\nvar PARAM_showFirstName = \"Show\";\nvar PARAM_showLastName = \"Show\";\nvar PARAM_showPhone = \"Show\";\nvar PARAM_showDOB = \"Show\";\nvar PARAM_showPreferences = \"Hide\";\nvar PARAM_showCountry = \"Show\";\nvar PARAM_showStore = \"Hide\";\nvar PARAM_showQuestion1 = \"Hide\";\nvar PARAM_showQuestion2 = \"Hide\";\nvar PARAM_showQuestion3 = \"Hide\";\nvar PARAM_showTC = \"Show\";\n\nvar PARAM_question1Label = \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\";\nvar PARAM_question2Label = \"Praesent aliquam tempor felis vel fringilla.\";\nvar PARAM_question3Label = \"Pellentesque eget metus sit amet tortor faucibus efficitur non eu velit.\";\n\nvar PARAM_successRedirectURL = \"https://www.barbour.com/us/\";\n\nvar PARAM_showAfter = parseInt(\"0\", 10);\nvar PARAM_removeAfter = parseInt(\"0\", 10);\nvar PARAM_trigger = \"On entry\";\nvar PARAM_parentElement = \"#maincontent\";\nvar PARAM_elementIndex = parseInt(\"0\", 10);\nvar PARAM_insertPosition = \"Append\";\n\nvar PARAM_consentCategory = \"email\";\nvar PARAM_doubleOptIn = \"false\";\nvar PARAM_region = \"US\";\nvar PARAM_signUpSource = \"paul_smith_coming_soon_form_br\";\n\nvar BR_API_EVENTS_URL = \"https://api.uk.exponea.com/track/v2/projects/\" + PARAM_projectId + \"/customers/events\";\nvar BR_API_CUSTOMERS_URL = \"https://api.uk.exponea.com/track/v2/projects/\" + PARAM_projectId + \"/customers\";\n\nvar self = this;\nvar bannerSemiId = Math.random().toString(36).substring(5);\nwindow['__exp_triggered-' + bannerSemiId] = false;\n\nif (self.inPreview) {\n    PARAM_showAfter = 0;\n    PARAM_trigger = 'On entry';\n}\n\nvar hasQuestions = (PARAM_showQuestion1 === 'Show' || PARAM_showQuestion2 === 'Show' || PARAM_showQuestion3 === 'Show');\nvar preferences_updated = false;\nvar submitted = false;\n\nfunction registerStartTrigger() {\n    if (PARAM_trigger === 'On exit') {\n        document.body.addEventListener('mouseout', onExitMouseOutHandler);\n    } else if (PARAM_trigger === 'On scroll') {\n        window.addEventListener('scroll', scheduleShowBanner);\n    } else {\n        scheduleShowBanner();\n    }\n}\n\nfunction scheduleShowBanner() {\n    window.removeEventListener('scroll', scheduleShowBanner);\n    setTimeout(function () {\n        requestAnimationFrame(createBanner);\n        if (PARAM_removeAfter \u003e 0) {\n            setTimeout(removeBanner, PARAM_removeAfter);\n        }\n    }, PARAM_showAfter);\n}\n\nfunction createBanner() {\n    var placeholder = document.createElement('div');\n    placeholder.insertAdjacentHTML('afterbegin', self.html);\n\n    var banner = placeholder.firstElementChild;\n    banner.insertAdjacentHTML('afterbegin', '\u003cstyle\u003e' + self.style + '\u003c/style\u003e');\n\n    attachBannerToDom(banner);\n}\n\nfunction attachBannerToDom(banner) {\n    var parentElement;\n\n    if (self.inPreview) {\n        parentElement = document.querySelector('body');\n    } else {\n        var matches = document.querySelectorAll(PARAM_parentElement);\n        parentElement = matches[PARAM_elementIndex] || matches[0];\n        if (!parentElement) {\n            parentElement = document.querySelector('body');\n        }\n    }\n\n    if (PARAM_insertPosition === 'Prepend') {\n        parentElement.insertAdjacentElement('afterbegin', banner);\n    } else if (PARAM_insertPosition === 'Append') {\n        parentElement.insertAdjacentElement('beforeend', banner);\n    } else {\n        parentElement.insertAdjacentElement('afterend', banner);\n    }\n\n    self.banner = banner;\n\n    applyFieldVisibility();\n    addEventsToDOM();\n}\n\nfunction removeBanner() {\n    if (self.banner \u0026\u0026 self.banner.parentNode) {\n        self.banner.parentNode.removeChild(self.banner);\n    }\n}\n\nfunction setFieldVisible(id, show) {\n    var el = document.getElementById(id);\n    if (!el) return;\n    if (show) {\n        el.classList.remove('br-hidden');\n    } else {\n        el.classList.add('br-hidden');\n    }\n}\n\nfunction applyFieldVisibility() {\n\tsetFieldVisible('br-text-line-one', PARAM_showTextLineOne === 'Show');\n\tsetFieldVisible('br-text-line-two', PARAM_showTextLineTwo === 'Show');\n    setFieldVisible('br-firstname-hold', PARAM_showFirstName === 'Show');\n    setFieldVisible('br-lastname-hold', PARAM_showLastName === 'Show');\n    setFieldVisible('br-phone-hold', PARAM_showPhone === 'Show');\n    setFieldVisible('br-dob-hold', PARAM_showDOB === 'Show');\n    setFieldVisible('br-hear-about', PARAM_showPreferences === 'Show');\n    setFieldVisible('br-country-hold', PARAM_showCountry === 'Show');\n    setFieldVisible('br-store-hold', PARAM_showStore === 'Show');\n    setFieldVisible('br-q1-hold', PARAM_showQuestion1 === 'Show');\n    setFieldVisible('br-q2-hold', PARAM_showQuestion2 === 'Show');\n    setFieldVisible('br-q3-hold', PARAM_showQuestion3 === 'Show');\n    setFieldVisible('br-tc-hold', PARAM_showTC === 'Show');\n\n    if (!hasQuestions) {\n        var stepOne = document.getElementsByClassName('br-wl-step-one')[0];\n        var stepTwo = document.getElementsByClassName('br-wl-step-two')[0];\n        var backBtn = document.getElementById('go-to-step-one-btn');\n        stepOne.classList.add('br-hidden');\n        stepTwo.classList.remove('br-hidden');\n        backBtn.classList.add('br-hidden');\n    }\n}\n\nfunction addEventsToDOM() {\n    document.getElementById('br-email-input').addEventListener('blur', function () {\n        var val = this.value.trim().toLowerCase();\n        var errEl = document.getElementById('br-email-error');\n        if (val === '') {\n            this.classList.remove('br-invalid');\n            errEl.textContent = '';\n        } else if (!validateEmail(val)) {\n            this.classList.add('br-invalid');\n            errEl.textContent = 'Please enter a valid email address (e.g. name@example.com).';\n        } else {\n            this.classList.remove('br-invalid');\n            errEl.textContent = '';\n        }\n    });\n\n    if (PARAM_showPhone === 'Show') {\n        document.getElementById('br-phone-input').addEventListener('blur', function () {\n            var val = this.value.trim();\n            var errEl = document.getElementById('br-phone-error');\n            if (val === '') {\n                this.classList.remove('br-invalid');\n                errEl.textContent = '';\n            } else if (!validatePhone(val)) {\n                this.classList.add('br-invalid');\n                errEl.textContent = 'Please enter a valid phone number (at least 7 digits).';\n            } else {\n                this.classList.remove('br-invalid');\n                errEl.textContent = '';\n            }\n        });\n    }\n\n    if (PARAM_showPreferences === 'Show') {\n        var prefs = Array.from(document.getElementById('br-hear-about').querySelectorAll('input'));\n        for (var i = 0; i \u003c prefs.length; i++) {\n            prefs[i].addEventListener('change', handlePreferenceUpdate);\n        }\n    }\n\n    if (hasQuestions) {\n        document.getElementById('go-to-step-two-btn').addEventListener('click', goToStepTwo);\n        document.getElementById('go-to-step-one-btn').addEventListener('click', goToStepOne);\n    }\n\n    document.getElementById('br-submit').addEventListener('click', handleFormSubmit);\n}\n\nfunction goToStepOne() {\n    document.getElementById('error-message').style.display = 'none';\n    document.getElementsByClassName('br-wl-step-two')[0].classList.add('br-hidden');\n    document.getElementsByClassName('br-wl-step-one')[0].classList.remove('br-hidden');\n}\n\nfunction goToStepTwo() {\n    var visibleInputs = [];\n    if (PARAM_showQuestion1 === 'Show') visibleInputs.push(document.getElementById('br-q1-input'));\n    if (PARAM_showQuestion2 === 'Show') visibleInputs.push(document.getElementById('br-q2-input'));\n    if (PARAM_showQuestion3 === 'Show') visibleInputs.push(document.getElementById('br-q3-input'));\n\n    var allValid = true;\n    for (var i = 0; i \u003c visibleInputs.length; i++) {\n        if (visibleInputs[i].value.trim() === '') allValid = false;\n    }\n\n    if (allValid) {\n        document.getElementById('error-message').style.display = 'none';\n        document.getElementsByClassName('br-wl-step-one')[0].classList.add('br-hidden');\n        document.getElementsByClassName('br-wl-step-two')[0].classList.remove('br-hidden');\n    } else {\n        showError('stepOne');\n    }\n}\n\nfunction handleFormSubmit() {\n    if (submitted) return;\n\n    var emailField = document.getElementById('br-email-input');\n    var email_value = emailField.value.trim().toLowerCase();\n    var emailErrEl = document.getElementById('br-email-error');\n\n    if (!validateEmail(email_value)) {\n        emailField.classList.add('br-invalid');\n        emailErrEl.textContent = 'Please enter a valid email address (e.g. name@example.com).';\n        showError('email');\n        return;\n    } else {\n        emailField.classList.remove('br-invalid');\n        emailErrEl.textContent = '';\n    }\n\n    if (PARAM_showPhone === 'Show') {\n        var phoneField = document.getElementById('br-phone-input');\n        var phone_value = phoneField.value.trim();\n        var phoneErrEl = document.getElementById('br-phone-error');\n\n        if (phone_value !== '' \u0026\u0026 !validatePhone(phone_value)) {\n            phoneField.classList.add('br-invalid');\n            phoneErrEl.textContent = 'Please enter a valid phone number (at least 7 digits).';\n            showError('phone');\n            return;\n        } else {\n            phoneField.classList.remove('br-invalid');\n            phoneErrEl.textContent = '';\n        }\n    }\n\n    if (PARAM_showCountry === 'Show') {\n        var country_value = document.getElementById('br-country-select').value;\n        if (country_value === '') { showError('country'); return; }\n    }\n\n    if (!document.getElementById('checkbox-consent').checked) { showError('consent'); return; }\n\n    if (PARAM_showTC === 'Show' \u0026\u0026 !document.getElementById('checkbox-tc').checked) { showError('tc'); return; }\n\n    submitted = true;\n\n    var customerIds = { email_id: email_value };\n    var customerAttributes = collectCustomerAttributes(email_value);\n\n    var bannerProperties = getEventProperties('subscribe');\n    bannerProperties.tcai = true;\n    bannerProperties.sign_up_source = PARAM_signUpSource;\n\tbannerProperties.consent_category = PARAM_consentCategory;\n\n    if (PARAM_showQuestion1 === 'Show') {\n        bannerProperties.question_1_label = PARAM_question1Label;\n        bannerProperties.question_1 = document.getElementById('br-q1-input').value;\n    }\n    if (PARAM_showQuestion2 === 'Show') {\n        bannerProperties.question_2_label = PARAM_question2Label;\n        bannerProperties.question_2 = document.getElementById('br-q2-input').value;\n    }\n    if (PARAM_showQuestion3 === 'Show') {\n        bannerProperties.question_3_label = PARAM_question3Label;\n        bannerProperties.question_3 = document.getElementById('br-q3-input').value;\n    }\n\n    for (var attr in customerAttributes) {\n        if (Object.prototype.hasOwnProperty.call(customerAttributes, attr)) {\n            bannerProperties[attr] = customerAttributes[attr];\n        }\n    }\n\n    if (preferences_updated) {\n        var prefs = collectCheckedPreferences();\n        bannerProperties.preferences = prefs;\n        customerAttributes.preferences = prefs;\n    }\n\n    var requests = [\n        trackApiEvent(customerIds, bannerProperties),\n        updateCustomerProperties(customerIds, customerAttributes)\n    ];\n\n    if (PARAM_doubleOptIn == 'true') {\n        requests.push(trackApiConsent('double_opt_in', customerIds, {\n            action: 'new',\n            email: email_value,\n            valid_until: 'unlimited',\n            consent_list: [{\n                action: 'accept',\n                category: PARAM_consentCategory,\n                location: window.location.href\n            }]\n        }));\n    } else {\n        requests.push(trackApiConsent('consent', customerIds, {\n            action: 'accept',\n            valid_until: 'unlimited',\n            category: PARAM_consentCategory\n        }));\n    }\n\n    Promise.all(requests.map(function (p) {\n        return p.catch(function (err) { console.error('Bloomreach track failed', err); });\n    })).then(goToSuccessPage);\n\n    setTimeout(goToSuccessPage, 3000);\n}\n\nfunction trackApiEvent(customerIds, properties) {\n    return fetch(BR_API_EVENTS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties,\n            event_type: 'banner',\n            timestamp: Math.floor(Date.now() / 1000)\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction trackApiConsent(eventType, customerIds, properties) {\n    return fetch(BR_API_EVENTS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties,\n            event_type: eventType,\n            timestamp: Math.floor(Date.now() / 1000)\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction updateCustomerProperties(customerIds, properties) {\n    return fetch(BR_API_CUSTOMERS_URL, {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application/json',\n            'Authorization': 'Token ' + PARAM_apikey\n        },\n        body: JSON.stringify({\n            customer_ids: customerIds,\n            properties: properties\n        }),\n        credentials: 'omit',\n        keepalive: true\n    });\n}\n\nfunction collectCustomerAttributes(email_value) {\n    var attrs = { email: email_value };\n\n    if (PARAM_showCountry === 'Show') {\n        var country = document.getElementById('br-country-select').value;\n        if (country !== '') attrs.country = country;\n    }\n\n    if (PARAM_showFirstName === 'Show') {\n        var fn = document.getElementById('br-firstname-input').value;\n        if (fn !== '') attrs.first_name = fn;\n    }\n\n    if (PARAM_showLastName === 'Show') {\n        var ln = document.getElementById('br-lastname-input').value;\n        if (ln !== '') attrs.last_name = ln;\n    }\n\n    if (PARAM_showPhone === 'Show') {\n        var phone = document.getElementById('br-phone-input').value.trim();\n        if (phone !== '') attrs.phone = phone;\n    }\n\n    if (PARAM_showDOB === 'Show') {\n        var dob = document.getElementById('br-dob-input').value;\n        if (dob !== '') {\n            var date = new Date(dob);\n            attrs.birth_date = date.getTime() / 1000;\n        }\n    }\n\n    if (PARAM_showStore === 'Show') {\n        var store = document.getElementById('br-store-select').value;\n        if (store !== '') attrs.closest_store = store;\n    }\n\n    return attrs;\n}\n\n/*\nfunction collectCheckedPreferences() {\n    var checkboxes = Array.from(document.getElementsByClassName('br-checkbox'));\n    var result = [];\n\n    for (var i = 0; i \u003c checkboxes.length; i++) {\n        var split_id = checkboxes[i].id.split('-');\n        split_id.shift();\n        result.push({\n            name: split_id.join(' '),\n            value: checkboxes[i].checked\n        });\n    }\n    return result;\n}\n*/\n\nfunction collectCheckedPreferences() {\n    var checkboxes = Array.from(document.getElementsByClassName('br-checkbox'));\n    var checked = [];\n\n    for (var i = 0; i \u003c checkboxes.length; i++) {\n        if (checkboxes[i].checked) {\n            var split_id = checkboxes[i].id.split('-');\n            split_id.shift();\n            checked.push(split_id.join(' '));\n        }\n    }\n    return checked.join(',');\n}\n\nfunction goToSuccessPage() {\n    if (window.__br_redirected) return;\n    window.__br_redirected = true;\n    window.location = PARAM_successRedirectURL;\n}\n\nfunction showError(type) {\n    var err_el = document.getElementById('error-message');\n    var str = '';\n\n    if (type === 'email') str = 'Please enter a valid email address.';\n    if (type === 'phone') str = 'Please enter a valid phone number.';\n    if (type === 'consent') str = 'Please consent to marketing communications.';\n    if (type === 'country') str = 'Please select a country.';\n    if (type === 'tc') str = 'Please accept the Terms \u0026 Conditions.';\n    if (type === 'stepOne') str = 'Please complete all required fields before continuing.';\n\n    err_el.innerText = str;\n    err_el.style.display = 'block';\n}\n\nfunction handlePreferenceUpdate() {\n    preferences_updated = true;\n}\n\nfunction validateEmail(email) {\n    if (!email) return false;\n    return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/.test(email);\n}\n\nfunction validatePhone(phone) {\n    if (!phone) return false;\n    var digits = phone.replace(/[\\s\\-\\(\\)\\+]/g, '');\n    if (!/^\\d+$/.test(digits)) return false;\n    return digits.length \u003e= 7 \u0026\u0026 digits.length \u003c= 15;\n}\n\nfunction getEventProperties(action, interactive) {\n    return {\n        action: action,\n        banner_id: self.data.banner_id,\n        banner_name: self.data.banner_name,\n        banner_type: self.data.banner_type,\n        variant_id: self.data.variant_id,\n        variant_name: self.data.variant_name,\n        variant_origin: self.data.contextual_personalization != null ? 'contextual personalisation' : 'ABtest',\n        interaction: interactive !== false,\n        region: PARAM_region\n    };\n}\n\nfunction onExitMouseOutHandler(event) {\n    event = event ? event : window.event;\n    var vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    if (event.clientX \u003e= vpWidth) return;\n    if (event.clientY \u003e= 50) return;\n    var from = event.relatedTarget || event.toElement;\n\n    if (!from \u0026\u0026 !window['__exp_triggered-' + bannerSemiId]) {\n        window['__exp_triggered-' + bannerSemiId] = true;\n        scheduleShowBanner();\n    }\n}\n\nregisterStartTrigger();\nreturn {\n    remove: removeBanner\n}; };\ninsertBanner.remove = (insertBanner.script.call(insertBanner) || {} ).remove;\ninsertBanner.contextual_personalization = {};\nreturn insertBanner;\n})({\"banner_id\": \"6a96ec229043f2eec80b5d10\", \"banner_name\": null, \"banner_type\": \"medium_rectangle\", \"banner_group\": \"\", \"variant_id\": 0, \"variant_name\": \"Variant A\"});","variables_target":null,"page_vars":[]}],"experiments":[],"constantManagedTags":[{"uses_overlay":true,"type":"js","parametrized_definition":"/* Action required: Paste your view-count weblayer identified into the \"Weblayer Id\" field above */\nvar pathname = new URL(window.location.href).pathname;\nvar filename = pathname.split('/').pop();\nvar product_id = filename.replace('.html', '').split('-').pop();\nconsole.log('Starting weblayer 6abe5dcf108d19b92e000a5e with '+product_id);\nif (product_id) {\n    exponea.showWebLayer('6abe5dcf108d19b92e000a5e', { \"product_id\": product_id });\n}","trigger":{"include_pages":[{"url":"gb/paul-smith-loves","type":"contains"}],"exclude_pages":null},"_id":"6abe5f44cd44b3843012fb26"},{"uses_overlay":true,"type":"js","parametrized_definition":"/* Action required: Paste your view-count weblayer identified into the \"Weblayer Id\" field above */\nvar attempts = 0;\nvar c_results = 0;\nvar attemptsMax = 10;\n\nvar dataLayerData = [];\n\nfunction makeAttempt(){\n\n    var key = \"event_name\";\n\n    for (var i = 0; i \u003c dataLayer.length; i++) {\n        if (dataLayer[i].hasOwnProperty(key)) {\n            console.log(dataLayer[i][key])\n            if(dataLayer[i][key] == 'view_item_list') {\n                dataLayerData = dataLayer[i]['ecommerce']['items'];\n            }\n            \n        }\n    }\n\n    if (dataLayerData.length === c_results \u0026\u0026 attempts \u003c attemptsMax) {\n        attempts++;\n        setTimeout(function(){\n            makeAttempt()\n        }, 500);\n    }\n\n    else if (dataLayerData !== null) {\n        \n        var product_ids = dataLayerData.map(x =\u003e { return x.item_id });\n    \tconsole.log('Triggering weblayer with these IDs: ' );\n        console.log(product_ids)\n        \n            exponea.showBanner(\"6abe5dce108d19b92e000a57\", {\n                product_ids: product_ids,\n            }, true);\n        }\n\n}\nconsole.log('Attempting to get product IDs')\nmakeAttempt();","trigger":{"include_pages":[{"url":"/us/all-collaborations/paul-smith-loves-barbour","type":"contains"}],"exclude_pages":null},"_id":"6abe5f44cd44b3843012fb2b"}],"vars":{"data":[]}}