function toggleMenu(){sideMenu.state==="closed"?(sideMenu.menu&&sideMenu.menu.classList.add("open"),sideMenu.openBtn.classList.add("hidden"),sideMenu.state="open"):(sideMenu.menu&&sideMenu.menu.classList.remove("open"),sideMenu.openBtn.classList.remove("hidden"),sideMenu.state="closed")}function tryRenderVrmLookup(){var i=window.pageYOffset||document.documentElement.scrollTop,t=document.getElementById("header-vrm-lookup"),n;t&&(n=document.getElementsByTagName("header"),n=n?n[0]:null,i>250?(n.classList.add("sticky-header"),t.classList.remove("hidden")):(n.classList.remove("sticky-header"),t.classList.add("hidden")))}function onVrmKeyPress(n){var t=String.fromCharCode(n.charCode);n.charCode===13||/[a-zA-Z0-9]/.test(t)||n.preventDefault()}function onVrmChange(n){n.currentTarget.value!==""?n.currentTarget.classList.add("has-value"):n.currentTarget.classList.remove("has-value")}function validateVrmInput(n){var t=$(n.currentTarget),i=t.find("input")[0];i.value||n.preventDefault()}function initVrmEvents(){var n,t;if(window.addEventListener("scroll",tryRenderVrmLookup),n=$('form[action*="vehiclelookup"]'),n.length){n.on("submit",validateVrmInput);if(t=n.find("input"),t.length){t.on("keypress",onVrmKeyPress);t.on("change",onVrmChange)}}}function pushError(n){$(".postcode-validation-message")[0].innerText=n||""}function validatePostcode(n){pushError("");var t=$(n.currentTarget).find("input")[0];if(!t.value){pushError("Postcode required.");n.preventDefault();return}if(!postcodeRegex.test(t.value)){pushError("Invalid postcode.");n.preventDefault();return}gtmHelper.branchLookup(n.currentTarget)}function onPostcodeChange(n){n.currentTarget.value!==""?n.currentTarget.classList.add("has-value"):n.currentTarget.classList.remove("has-value")}function attachPostcodeEvents(){var n=$('form[action*="branch-locator"]');n.on("submit",validatePostcode);n.find("input").on("change",onPostcodeChange)}let sideMenu={};document.addEventListener("DOMContentLoaded",function(){sideMenu={state:"closed",openBtn:document.getElementById("side-menu-open"),closeBtn:document.getElementById("side-menu-close"),menu:document.getElementById("side-menu")};sideMenu.openBtn&&sideMenu.openBtn.addEventListener("click",toggleMenu);sideMenu.closeBtn&&sideMenu.closeBtn.addEventListener("click",toggleMenu)});$().ready(function(){initVrmEvents();tryRenderVrmLookup()});var postcodeRegex=/^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$/;$().ready(attachPostcodeEvents)