{"version":3,"sources":["main.js"],"names":["lazyLoadInstance","LazyLoad","elements_selector","site","init","this","win","getSizes","_window","$","window","_header","_drop","lastScroll","scrollOffset","_searchbar","not","_subdrop","_subnav","_hamburger","_logoscroller","w","innerWidth","h","updateSubnav","hh","bindings","height","scroll","innerHeight","resize","scrollTop","click","openSearch","openMobileSearch","on","event","charCode","keyCode","code","_searchField","focus","_more","toggleTabs","document","querySelectorAll","forEach","item","e","preventDefault","stopPropagation","currentlyOpen","querySelector","classList","remove","parentNode","add","addEventListener","thisDropdown","text","attr","addClass","mouseenter","hasClass","removeClass","append","mouseleave","fadeOut","toggleMobileMenu","close","dropdown","subdropdown","toggleClass","offset","top","animate","scrollY","val","keepOpen","length","scrollToSection","target","location","hash","toggleFilters","newTab","history","html","overflow","parent","scrollWidth","outerWidth","_step","width","_iterator","_createForOfIteratorHelper","s","n","done","a","right","is","pushState","careers","checkHash","el","bind","scroller","appendTo","err","f","getBoundingClientRect","setScrollerWidth","animation-duration","quote","scrollDistance","halfWindow","each","i","position","eq","postcode","_form","_formWrapper","_error","checkQuery","sourceparam","hasSource","landingparam","landing","hasLanding","_postcode","replace","toUpperCase","source","_source","_landing","validateInput","search","match","postcodeRegEx","href","_results","url","substr","indexOf","split","r_params","param","validateQuery","validate","test","finalSource","finalLanding","params","Accordion","summary","console","animation","isClosing","_this","onClick","open","isExpanding","shrink","startHeight","offsetHeight","getComputedStyle","getPropertyValue","parseInt","paddTop","cancel","endHeight","duration","onfinish","_this2","onAnimationFinish","oncancel","_this3","style","requestAnimationFrame","expand","content","easing","_this4","details","call","closest"],"mappings":"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","file":"main.js","sourcesContent":["\"use strict\";\n\nvar lazyLoadInstance = new LazyLoad({\n elements_selector: \".lazyload\",\n});\n\nvar site = {\n init: function () {\n this.win = this.getSizes();\n this._window = $(window);\n this._header = $(\"header\");\n this._drop = $(\".drop\");\n this.lastScroll = 0;\n\n this._more = $(\".more\");\n this._subdrop = $(\".sub-nav-drop\");\n this.scrollOffset = 150;\n\n this._searchbar = $(\".searchbar\");\n this._searchField = $(\".search-field\");\n this._subnav = $(\".sub-nav .main-sub-nav a\").not(\".more\");\n\n this._mobileMenu = $(\".mobile-menu\");\n this._hamburger = $(\".hamburger\");\n\n this._logoscroller = $(\".logos\");\n // this.setScrollerWidth();\n this.updateSubnav();\n\n this.bindings();\n },\n getSizes: function () {\n return {\n w: window.innerWidth,\n h: window.innerHeight,\n hh: $(\"#hero\").height(),\n };\n },\n bindings: function () {\n site._window.scroll(site.scroll);\n site._window.scroll();\n site._window.resize(site.resize);\n\n site.lastScroll = site._window.scrollTop();\n\n site._drop.click(site.keepOpen);\n $(\".search\").click(site.openSearch);\n $(\".mobile-search\").click(site.openMobileSearch);\n $(\".search\").on(\"keypress\", function (event) {\n var code = event.charCode || event.keyCode;\n if (code === 32 || code === 13) {\n site._searchbar.addClass(\"show\");\n site._searchField.focus();\n }\n });\n site._searchField.click(site.keepOpen);\n site._more.click(site.subdropdown);\n // site._subnav.click(site.scrollToSection);\n $(\".filter-toggle\").click(site.toggleFilters);\n $(\".change-careers\").click(site.toggleTabs);\n // $('.faq-question').click(site.toggleFaq);\n\n document.querySelectorAll(\".has-dropdown\").forEach((item) => {\n item.addEventListener(\"click\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n let currentlyOpen = document.querySelector(\".drop.show\");\n if (currentlyOpen) {\n currentlyOpen.classList.remove(\"show\");\n }\n let thisDropdown = item.parentNode.querySelector(\".drop\");\n thisDropdown.classList.add(\"show\");\n });\n item.addEventListener(\"focus\", (e) => {\n e.preventDefault();\n e.stopPropagation();\n let currentlyOpen = document.querySelector(\".drop.show\");\n if (currentlyOpen) {\n currentlyOpen.classList.remove(\"show\");\n }\n let thisDropdown = item.parentNode.querySelector(\".drop\");\n thisDropdown.classList.add(\"show\");\n });\n });\n\n $(\"body\").addClass(\"loaded\");\n\n $('a[href=\"#tooltip\"]')\n .click(function (e) {\n e.preventDefault();\n e.stopPropagation();\n if ($(this).hasClass(\"hovering\")) {\n $(\".tooltip\").remove();\n $(this).removeClass(\"hovering\");\n } else {\n var text = $(this).attr(\"title\") || $(this).attr(\"data-copy\");\n $(this).attr(\"data-copy\", text);\n $(this).attr(\"title\", \"\");\n $(this).append('
' + text + \"
\");\n $(this).addClass(\"hovering\");\n }\n return false;\n })\n .mouseenter(function (e) {\n e.preventDefault();\n if (!$(this).hasClass(\"hovering\")) {\n var text = $(this).attr(\"title\") || $(this).attr(\"data-copy\");\n $(this).attr(\"data-copy\", text);\n $(this).attr(\"title\", \"\");\n $(this).append('
' + text + \"
\");\n $(this).addClass(\"hovering\");\n }\n })\n .mouseleave(function () {\n $(\".tooltip\").remove();\n $(this).removeClass(\"hovering\");\n });\n\n $(\".tooltip\").click(function (e) {\n e.preventDefault();\n e.stopPropagation();\n $(\".tooltip\").remove();\n });\n\n $(\".show-postcode-form\").click(function (e) {\n $(\".form-cover\").fadeOut();\n $(\".form-wrapper\").addClass(\"show-postcode\");\n });\n\n $(\".show-normal-form\").click(function (e) {\n $(\".form-cover\").fadeOut();\n $(\".form-wrapper\").addClass(\"show-normal\");\n });\n\n site._hamburger.click(site.toggleMobileMenu);\n //================================================================================================================================\n // this goes last!!!\n $(window).click(site.close);\n },\n scroll: function () {\n var st = site._window.scrollTop();\n st > site.win.hh - 100 ? site._header.addClass(\"white\") : site._header.removeClass(\"white\");\n },\n dropdown: function (e) {\n e.preventDefault();\n e.stopPropagation();\n $(this).toggleClass(\"show\");\n },\n subdropdown: function (e) {\n e.preventDefault();\n e.stopPropagation();\n site._subdrop.toggleClass(\"show\");\n if (site._subdrop.height() + site._subdrop.offset().top > site.win.h) {\n const offset = site._subdrop.offset().top;\n $(\"html, body\").animate(\n {\n scrollTop: offset - 135,\n },\n Math.abs(window.scrollY - offset) * 0.5\n );\n }\n },\n close: function (e) {\n if (site._drop.hasClass(\"show\")) site._drop.removeClass(\"show\");\n if (site._subdrop.hasClass(\"show\")) site._subdrop.removeClass(\"show\");\n if (site._searchbar.hasClass(\"show\")) {\n site._searchbar.removeClass(\"show\");\n site._searchField.val(\"\");\n }\n if ($(\".tooltip\").length) {\n $(\".tooltip\").remove();\n $('a[href=\"#tooltip\"]').removeClass(\"hovering\");\n }\n },\n keepOpen: function (e) {\n e.stopPropagation();\n },\n openSearch: function (e) {\n e.preventDefault();\n e.stopPropagation();\n site._searchbar.addClass(\"show\");\n site._searchField.focus();\n },\n openMobileSearch: function (e) {\n e.preventDefault();\n e.stopPropagation();\n $(\".mobile-searchbar\").addClass(\"show\");\n $(\".mobile-search-field\").focus();\n },\n scrollToSection: function (e) {\n e.preventDefault();\n var target = $(this).attr(\"href\");\n site._subnav.removeClass(\"selected\");\n $(this).addClass(\"selected\");\n var target = $(this).attr(\"href\");\n var offset = $(target).offset().top;\n $(\"html, body\").animate(\n {\n scrollTop: offset - 135,\n },\n Math.abs(window.scrollY - offset) * 0.5\n );\n\n if (history.pushState) {\n history.pushState(null, null, target);\n } else {\n location.hash = target;\n }\n },\n toggleFilters: function (e) {\n e.preventDefault();\n $(\".filter-list\").toggleClass(\"show\");\n },\n // toggleFaq: function (e) {\n // \te.preventDefault();\n // \t$(this).parent().toggleClass('show');\n // \t$('.faqs-container').removeClass('partial-faqs');\n // },\n toggleTabs: function (e) {\n e.preventDefault();\n var newTab = $(this).attr(\"data-tab\");\n $(\".careers-types-container\").attr(\"data-show\", newTab);\n $(\".selected-tab\").removeClass(\"selected-tab\");\n $(\".careers-types-container\")\n .find('.careers-tab[data-tab=\"' + newTab + '\"]')\n .addClass(\"selected-tab\");\n location.hash = newTab;\n return false;\n },\n updateSubnav: function () {\n if (!site._subnav.length) return;\n site._more.removeClass(\"show\");\n site._subdrop.removeClass(\"show\").html(\"\");\n const overflow = site._subnav.parent()[0].scrollWidth;\n var width = site._more.hasClass(\"show\") ? site.win.w - (site._more.outerWidth() + 40) : site.win.w;\n if (overflow > width) {\n site._subnav.parent().addClass(\"left\");\n site._more.addClass(\"show\");\n width = site.win.w - (site._more.outerWidth() + 40);\n for (var a of site._subnav) {\n const rect = a.getBoundingClientRect();\n if (rect.right >= width) {\n var el = $(a).clone();\n if (!$(\"body\").is(\"#careers\")) {\n el.bind(\"click\", scroller.scrollToSection);\n } else {\n el.click(function (e) {\n e.preventDefault();\n var target = $(this).attr(\"href\");\n if (history.pushState) {\n history.pushState(null, null, target);\n careers.checkHash();\n } else {\n location.hash = target;\n }\n return false;\n });\n }\n el.appendTo(site._subdrop);\n\n $(a).addClass(\"hide\");\n } else {\n // site._subnav.parent().append($(a))\n $(a).removeClass(\"hide\");\n // site._subdrop.find('a[href=\"'+$(a).attr('href')+'\"]').remove()\n }\n }\n } else {\n site._subnav.removeClass(\"hide\");\n site._subnav.parent().removeClass(\"left\");\n }\n },\n resize: function () {\n site.win = site.getSizes();\n site.updateSubnav();\n },\n setScrollerWidth: function () {\n if (!site._logoscroller.length) return;\n var w = site._logoscroller[0].scrollWidth;\n site._logoscroller.css({\n width: w,\n \"animation-duration\": w / 100 + \"s\",\n });\n },\n toggleMobileMenu: function () {\n $(\"body\").toggleClass(\"show-mobile-menu\");\n },\n};\n\nsite.init();\n\n// Sub Nav Highlighting as you scroll\n\n$(window).scroll(function () {\n var scrollDistance = $(window).scrollTop();\n var halfWindow = window.innerHeight / 2;\n\n $(\".scroll-target\").each(function (i) {\n if ($(this).position().top <= scrollDistance + halfWindow) {\n $(\".sub-nav a.active\").removeClass(\"active\");\n $(\".sub-nav a\").eq(i).addClass(\"active\");\n }\n });\n});\n\nvar quote = {\n init: function () {\n this.param = \"q\";\n this.postcode = \"\";\n this._form = $(\".quote-form\");\n this._formWrapper = $(\".enter-postcode-wrapper\");\n this._postcode = $(\".quote-postcode\");\n this._results = $(\".quote-result-wrapper\");\n this._error = $(\".quote-error\");\n this.bindings();\n this.postcodeRegEx = /[A-Z]{1,2}[A-Z0-9]{1,2} ?[0-9][A-Z]{2}/i;\n this.checkQuery();\n this.sourceparam = \"s\";\n this.source = \"\";\n this._source = $(\".quote-source\");\n this.hasSource = false;\n this.landingparam = \"l\";\n this.landing = \"\";\n this._landing = $(\".quote-landing\");\n this.hasLanding = false;\n },\n bindings: function () {\n $(\".submit-quote\").click(function (e) {\n e.preventDefault();\n quote.postcode = quote._postcode.val().replace(/\\s+/g, \"\").toUpperCase();\n if (quote._source.length && quote._source.val().length) {\n quote.hasSource = true;\n quote.source = quote._source.val().replace(/\\s+/g, \"\");\n }\n if (quote._landing.length && quote._landing.val().length) {\n quote.hasLanding = true;\n quote.landing = quote._landing.val().replace(/\\s+/g, \"\");\n }\n quote.validateInput();\n });\n },\n checkQuery: function () {\n if (window.location.search.match(\"q\")) {\n try {\n const url = window.location.href;\n const query_str = url.substr(url.indexOf(\"?\") + 1, url.length - 1);\n const r_params = query_str.split(\"&\");\n var params = {};\n var found = false;\n for (var i in r_params) {\n const param = r_params[i].split(\"=\");\n params[param[0]] = param[1];\n if (param[0] == quote.param) {\n quote.postcode = param[1];\n quote.validateQuery();\n found = true;\n }\n }\n if (!found) {\n quote._formWrapper.addClass(\"show\");\n }\n } catch (e) {\n console.log(e);\n }\n } else {\n quote._formWrapper.addClass(\"show\");\n }\n },\n validate: function () {\n return quote.postcodeRegEx.test(quote.postcode);\n },\n validateQuery: function () {\n if (quote.validate()) {\n quote._results.addClass(\"show\");\n } else {\n quote._formWrapper.addClass(\"show\");\n }\n },\n validateInput: function () {\n if (quote.validate()) {\n quote._postcode.val(quote.postcode.replace(/\\s+/g, \"\"));\n let finalSource = \"\";\n let finalLanding = \"\";\n if (quote.hasSource) {\n finalSource = \"&s=\" + quote.source;\n }\n if (quote.hasLanding) {\n finalLanding = \"&l=\" + quote.landing;\n }\n window.location = quote._form.attr(\"action\") + \"?q=\" + quote.postcode + finalSource + finalLanding;\n } else {\n quote._error.addClass(\"show\");\n }\n },\n};\n\nquote.init();\n\nclass Accordion {\n constructor(el) {\n this.el = el;\n this.summary = el.querySelector(\"summary\");\n this.content = el.querySelector(\".faq-answer-wrapper\");\n this.animation = null;\n this.isClosing = false;\n this.isExpanding = false;\n this.summary.addEventListener(\"click\", (e) => this.onClick(e));\n }\n\n onClick(e) {\n e.preventDefault();\n this.el.style.overflow = \"hidden\";\n if (this.isClosing || !this.el.open) {\n this.open();\n } else if (this.isExpanding || this.el.open) {\n this.shrink();\n }\n }\n\n shrink() {\n this.isClosing = true;\n const startHeight = `${this.el.offsetHeight}px`;\n const paddTop = window.getComputedStyle(this.el, null).getPropertyValue(\"padding-top\");\n const endHeight = `${this.summary.offsetHeight + parseInt(paddTop, 10)}px`;\n\n if (this.animation) {\n this.animation.cancel();\n }\n\n this.animation = this.el.animate(\n {\n height: [startHeight, endHeight],\n },\n {\n duration: 400,\n easing: \"ease-out\",\n }\n );\n\n this.animation.onfinish = () => this.onAnimationFinish(false);\n this.animation.oncancel = () => (this.isClosing = false);\n }\n\n open() {\n this.el.style.height = `${this.el.offsetHeight}px`;\n this.el.open = true;\n window.requestAnimationFrame(() => this.expand());\n }\n\n expand() {\n this.isExpanding = true;\n const startHeight = `${this.el.offsetHeight}px`;\n const endHeight = `${this.el.offsetHeight + this.content.offsetHeight}px`;\n console.log(startHeight, endHeight);\n if (this.animation) {\n this.animation.cancel();\n }\n\n this.animation = this.el.animate(\n {\n height: [startHeight, endHeight],\n },\n {\n duration: 400,\n easing: \"ease-out\",\n }\n );\n this.animation.onfinish = () => this.onAnimationFinish(true);\n this.animation.oncancel = () => (this.isExpanding = false);\n }\n\n onAnimationFinish(open) {\n this.el.open = open;\n this.animation = null;\n this.isClosing = false;\n this.isExpanding = false;\n this.el.style.height = this.el.style.overflow = \"\";\n }\n}\n\n(() => {\n const details = document.querySelectorAll(\"details\");\n [].forEach.call(details, (el) => {\n if (!el.closest(\".tfm\")) {\n new Accordion(el);\n }\n });\n})();\n"]}