{"version":3,"sources":["survey.js","messages.js","site.js"],"names":[],"mappings":"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","file":"site-compiled.js","sourcesContent":["class Survey {\r\n constructor() {\r\n this.triggerScroll = 200; // 200px scroll minimum\r\n this.triggerDelay = 3000; // 3 seconds pause when scrolling\r\n this.triggerImmediate = 2000; // 2 seconds pause when immediate (after dynamic action)\r\n this.triggerTime = 15000; // 15 seconds timeout when not scrolling\r\n this.intialScrollPosition = 0;\r\n\r\n this.timeoutHandle = -1;\r\n this.delayHandle = -1;\r\n this.surveyElement = null;\r\n this.pad = 30;\r\n this.setDelay(0);\r\n this.setTimeout(0);\r\n this.triggerQuestion = this.trigger.bind(this);\r\n }\r\n\r\n configure(type) {\r\n const cd = new Date();\r\n const h = cd.getHours();\r\n if (h >= 8 && h <= 23) {\r\n this.type = type;\r\n\r\n this.intialScrollPosition = window.scrollY;\r\n this.setTimeout(this.triggerTime);\r\n\r\n window.addEventListener('scroll', this.triggerQuestion);\r\n }\r\n }\r\n\r\n configureImmediate(type) {\r\n const cd = new Date();\r\n const h = cd.getHours();\r\n if (h >= 8 && h <= 23) {\r\n this.type = type;\r\n this.setTimeout(this.triggerDelay);\r\n }\r\n }\r\n\r\n trigger(event) {\r\n if (Math.abs(window.scrollY - this.intialScrollPosition) > this.triggerScroll) {\r\n this.setDelay(this.triggerDelay);\r\n }\r\n }\r\n\r\n setDelay(time) {\r\n window.clearTimeout(this.delayHandle);\r\n if (time && time > 0) {\r\n this.delayHandle = window.setTimeout(() => {\r\n this.present();\r\n }, time);\r\n }\r\n }\r\n\r\n setTimeout(time) {\r\n window.clearTimeout(this.timeoutHandle);\r\n if (time && time > 0) {\r\n this.timeoutHandle = window.setTimeout(() => {\r\n this.present();\r\n }, time);\r\n }\r\n }\r\n\r\n present() {\r\n this.setTimeout(0);\r\n this.setDelay(0);\r\n window.removeEventListener('scroll', this.triggerQuestion);\r\n\r\n // This will be an ajax request from the back end\r\n $.getJSON(`/survey/getquestion/${this.type}`, (q, s) => {\r\n if (s === 'success') {\r\n this.display(`Private Health Insurance Ombudsman Survey`, 'Your answers will be used by the Ombudsman to improve this website.', 'Please use the feedback link for any other suggestions.', q.QuestionID, q.QuestionText, q.Answers);\r\n } else {\r\n console.info(`Survey returned '${s}' (probably threshold).`);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} heading The heading for the message (optional)\r\n * @param {*} question The question to present\r\n * @param {...any} answers One or more answers to display\r\n */\r\n display(heading, intro, footer, id, question, answers) {\r\n const m = document.getElementById('survey');\r\n if (m) {\r\n document.body.removeChild(m);\r\n }\r\n\r\n if (!document.getElementById('survey')) {\r\n const surveyDiv = document.createElement('div');\r\n surveyDiv.id = 'survey';\r\n\r\n const headingDiv = document.createElement('heading');\r\n\r\n if (question && question.length > 0) {\r\n const h = document.createElement('h1');\r\n h.appendChild(document.createTextNode(heading));\r\n headingDiv.appendChild(h);\r\n }\r\n\t\t\t\r\n\t\t\tconst instructionElement = document.createElement('small');\r\n\t\t\tinstructionElement.appendChild(document.createTextNode(intro));\r\n\t\t\t\r\n\r\n const b = document.createElement('button');\r\n b.type = 'button';\r\n b.classList.add('close');\r\n b.setAttribute('aria-label', 'Close');\r\n b.title = `Don't answer`;\r\n b.addEventListener('click', () => {\r\n setSession('survey-closed', 12 * 60);\r\n\r\n $.ajax(`/survey/dontask/${id}`)\r\n .done(() => {\r\n console.info(`Survey submit 'don't ask ${id}'`);\r\n })\r\n .fail(() => {\r\n console.error(`Survey submit failed 'don't ask ${id}'`);\r\n });\r\n\r\n this.destroy();\r\n });\r\n\r\n const s = document.createElement('span');\r\n s.setAttribute('aria-hidden', true);\r\n s.innerHTML = '×';\r\n b.appendChild(s);\r\n headingDiv.appendChild(b);\r\n\r\n surveyDiv.appendChild(headingDiv);\r\n\t\t\tsurveyDiv.appendChild(instructionElement);\r\n\r\n const questionDiv = document.createElement('p');\r\n questionDiv.appendChild(document.createTextNode(question));\r\n surveyDiv.appendChild(questionDiv);\r\n\r\n if (answers.length > 0) {\r\n const d = document.createElement('div');\r\n d.classList.add('answers');\r\n\r\n answers.forEach(answer => {\r\n const l = document.createElement('label');\r\n\r\n const i = document.createElement('input');\r\n i.type = 'radio';\r\n i.name = 'survey';\r\n i.value = answer.AnswerID;\r\n i.setAttribute('data-question', id);\r\n i.addEventListener('click', e => {\r\n const q = e.target.getAttribute('data-question');\r\n const v = e.target.getAttribute('value');\r\n\r\n $.ajax(`/survey/submitanswer/${q}/${v}`)\r\n .done(() => {\r\n console.info(`Survey submit 'answer ${q}=>${v}'`);\r\n })\r\n .fail(() => {\r\n console.error(`Survey submit failed 'answer ${q}=>${v}'`);\r\n });\r\n\r\n setSession('survey-asked', 10);\r\n this.destroy();\r\n });\r\n\r\n l.appendChild(i);\r\n l.appendChild(document.createTextNode(answer.AnswerText));\r\n d.appendChild(l);\r\n });\r\n\r\n surveyDiv.appendChild(d);\r\n }\r\n\t\t\t\r\n\t\t\tconst footerDiv = document.createElement('small');\r\n\t\t\tfooterDiv.classList.add('float-right');\r\n\t\t\tfooterDiv.appendChild(document.createTextNode(footer));\r\n\t\t\tsurveyDiv.appendChild(footerDiv);\r\n\r\n document.body.appendChild(surveyDiv);\r\n\r\n this.messageElement = surveyDiv;\r\n\r\n const offsetX = '0px';\r\n const offsetY = '50%';\r\n\r\n surveyDiv.style.cssText = `--desktop-message-offset: ${offsetY}; --desktop-message-x: ${offsetX};`;\r\n }\r\n\r\n this.messageElement.classList.add('active');\r\n }\r\n\r\n destroy() {\r\n const e = this.messageElement;\r\n this.messageElement = null;\r\n\r\n if (e) {\r\n e.addEventListener('webkitAnimationEnd', this.remove, false);\r\n e.addEventListener('animationend', this.remove, false);\r\n e.addEventListener('oanimationend', this.remove, false);\r\n\r\n e.classList.remove('active');\r\n e.classList.add('inactive');\r\n }\r\n }\r\n}\r\n","const MessageSize = {\r\n large: 2,\r\n medium: 1,\r\n small: 0,\r\n\r\n className: size => {\r\n switch (size) {\r\n case MessageSize.small:\r\n return 'small';\r\n case MessageSize.medium:\r\n return 'medium';\r\n default:\r\n case MessageSize.large:\r\n return 'large';\r\n }\r\n },\r\n};\r\n\r\nclass Messages {\r\n constructor() {\r\n this.activeTimeout = -1;\r\n this.messageElement = null;\r\n this.pad = 30;\r\n this.setTimeout(0);\r\n }\r\n\r\n /**\r\n * Initialise all abbr tags on the page with the message library\r\n */\r\n abbrInit() {\r\n const abbrevs = document.querySelectorAll('abbr[title]');\r\n\r\n if (abbrevs.length > 0) {\r\n document.addEventListener('keydown', t => {\r\n if (this.messageElement && (t.key === 'Escape' || t.key === 'Tab')) {\r\n if (t.key === 'Escape') t.preventDefault();\r\n this.destroy();\r\n }\r\n });\r\n document.addEventListener('click', t => {\r\n if (this.messageElement && t.target.tagName !== 'ABBR') {\r\n this.destroy();\r\n }\r\n });\r\n }\r\n\r\n Array.from(abbrevs).forEach(e => {\r\n e.setAttribute('tabindex', 0);\r\n e.addEventListener(\r\n 'click',\r\n t => {\r\n this.display({ timeout: 20000, clientY: t.clientY }, t.target.textContent, t.target.title);\r\n },\r\n false\r\n );\r\n\r\n e.addEventListener('keydown', t => {\r\n if (t.key === ' ' || t.key === 'Spacebar' || t.key === 'Enter') {\r\n t.preventDefault();\r\n if (this.messageElement) this.destroy();\r\n else\r\n this.display(\r\n 20000,\r\n document.activeElement.getBoundingClientRect().y,\r\n t.target.textContent,\r\n t.target.title\r\n );\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {*} options A structure containing the optional values for the message. Properties can be any of the following\r\n * timeout - seconds until the message is automatically closed)\r\n * clientY - Y offset of the click location\r\n * clientX - X offset of the click location\r\n * size - One of the MessageSize constants (affects >768px wide only, otherwise always full width)\r\n * @param {*} heading The heading for the message (optional)\r\n * @param {...any} paragraphs One or more paragraphs to display\r\n */\r\n display(options, heading, ...paragraphs) {\r\n const { timeout, clientY, clientX, size } = options;\r\n\r\n const m = document.getElementById('message');\r\n if (m) {\r\n document.body.removeChild(m);\r\n }\r\n\r\n if (!document.getElementById('message')) {\r\n const messagesDiv = document.createElement('div');\r\n messagesDiv.id = 'message';\r\n messagesDiv.classList.add(MessageSize.className(size));\r\n\r\n const headingDiv = document.createElement('heading');\r\n\r\n if (heading && heading.length > 0) {\r\n const h = document.createElement('h1');\r\n h.appendChild(document.createTextNode(heading));\r\n headingDiv.appendChild(h);\r\n }\r\n\r\n const b = document.createElement('button');\r\n b.type = 'button';\r\n b.classList.add('close');\r\n b.setAttribute('aria-label', 'Close');\r\n b.title = 'Click to close';\r\n b.addEventListener('click', () => {\r\n this.destroy();\r\n });\r\n\r\n const s = document.createElement('span');\r\n s.setAttribute('aria-hidden', true);\r\n s.innerHTML = '×';\r\n b.appendChild(s);\r\n headingDiv.appendChild(b);\r\n\r\n messagesDiv.appendChild(headingDiv);\r\n\r\n const d = document.createElement('div');\r\n\r\n paragraphs.forEach(text => {\r\n if (!text.startsWith('

')) {\r\n const p = document.createElement('p');\r\n p.innerHTML = text;\r\n d.appendChild(p);\r\n } else {\r\n d.innerHTML = text;\r\n }\r\n });\r\n\r\n messagesDiv.appendChild(d);\r\n\r\n document.body.appendChild(messagesDiv);\r\n\r\n this.messageElement = messagesDiv;\r\n\r\n if (clientY || clientX) {\r\n const { x, y } = this.position(clientY, clientX, messagesDiv);\r\n\r\n const offsetX = x === undefined ? '0px' : `${x}px`;\r\n const offsetY = y === undefined ? '50%' : `${y}px`;\r\n\r\n messagesDiv.style.cssText = `--desktop-message-offset: ${offsetY}; --desktop-message-x: ${offsetX};`;\r\n }\r\n }\r\n\r\n this.messageElement.classList.add('active');\r\n this.setTimeout(timeout);\r\n }\r\n\r\n position(clientY, clientX, messagesDiv) {\r\n let x = undefined;\r\n let y = undefined;\r\n\r\n if (clientY) {\r\n const offsetY = clientY + messagesDiv.clientHeight + this.pad;\r\n y = offsetY < window.innerHeight ? clientY + this.pad : clientY - (messagesDiv.clientHeight + this.pad);\r\n if (y < 0 || y > window.innerHeight) y = undefined;\r\n }\r\n\r\n if (clientX) {\r\n // if possible we need to adjust so that the center point is as close as possible to the click point without going off screen\r\n\r\n // Center of the window\r\n const centerX = window.innerWidth * 0.5;\r\n let cx = clientX;\r\n\r\n if (cx - messagesDiv.clientWidth * 0.5 <= 20) cx = messagesDiv.clientWidth * 0.5 + 20;\r\n if (cx + messagesDiv.clientWidth * 0.5 >= window.innerWidth - 20)\r\n cx = window.innerWidth - (messagesDiv.clientWidth * 0.5 + 20);\r\n\r\n x = cx - centerX;\r\n }\r\n\r\n return { x, y };\r\n }\r\n\r\n setTimeout(time) {\r\n window.clearTimeout(this.activeTimeout);\r\n if (time && time > 0) {\r\n this.activeTimeout = window.setTimeout(() => {\r\n this.destroy();\r\n }, time);\r\n }\r\n }\r\n\r\n remove(e) {\r\n if (e.target) {\r\n document.body.removeChild(this);\r\n }\r\n }\r\n\r\n destroy() {\r\n const e = this.messageElement;\r\n this.messageElement = null;\r\n\r\n if (e) {\r\n e.addEventListener('webkitAnimationEnd', this.remove, false);\r\n e.addEventListener('animationend', this.remove, false);\r\n e.addEventListener('oanimationend', this.remove, false);\r\n\r\n e.classList.remove('active');\r\n e.classList.add('inactive');\r\n }\r\n }\r\n}\r\n","class SubNavMenu {\r\n constructor(show) {\r\n const subnav = document.querySelector('#subnav');\r\n if (show) subnav.classList.add('show');\r\n\r\n this.subnavcontrol = document.createElement('div');\r\n subnav.parentElement.appendChild(this.subnavcontrol);\r\n this.subnavcontrol.classList.add('subnav-control');\r\n if (show) this.subnavcontrol.classList.add('show');\r\n\r\n this.subnavcontrol.appendChild(document.createElement('i'));\r\n\r\n this.button = this.subnavcontrol.appendChild(document.createElement('div'));\r\n const buttonText = document.createTextNode(show ? SubNavMenu.hideText() : SubNavMenu.showText());\r\n this.button.appendChild(buttonText);\r\n }\r\n\r\n static showText() {\r\n return 'Click to show menu';\r\n }\r\n\r\n static hideText() {\r\n return 'Click to hide menu';\r\n }\r\n\r\n toggle() {\r\n const { subnavcontrol } = this;\r\n const subnav = document.querySelector('#subnav');\r\n\r\n subnavcontrol.classList.toggle('show');\r\n subnav.classList.toggle('show');\r\n\r\n const show = subnavcontrol.classList.contains('show');\r\n this.button.innerText = show ? SubNavMenu.hideText() : SubNavMenu.showText();\r\n }\r\n}\r\n\r\nfunction toggleShowAll(...showAllButtons) {\r\n showAllButtons.forEach(showAllButton => {\r\n if (showAllButton.classList.contains('down')) {\r\n showAllButton.classList.remove('down');\r\n showAllButton.classList.add('up');\r\n showAllButton.innerText = 'Hide all';\r\n\r\n Array.from(document.querySelectorAll('dl.expand dt')).forEach(title => {\r\n const definition = title.nextElementSibling;\r\n\r\n if (title && definition) {\r\n title.classList.add('open');\r\n definition.classList.add('open');\r\n }\r\n });\r\n } else {\r\n showAllButton.classList.remove('up');\r\n showAllButton.classList.add('down');\r\n showAllButton.innerText = 'Show all';\r\n\r\n Array.from(document.querySelectorAll('dl.expand dt')).forEach(title => {\r\n const definition = title.nextElementSibling;\r\n\r\n if (title && definition) {\r\n title.classList.remove('open');\r\n definition.classList.remove('open');\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction toggleListTitle(title) {\r\n const definition = title.nextElementSibling;\r\n\r\n if (title && definition) {\r\n if (title.classList.contains('open')) {\r\n title.classList.remove('open');\r\n definition.classList.remove('open');\r\n } else {\r\n title.classList.add('open');\r\n definition.classList.add('open');\r\n }\r\n }\r\n}\r\n\r\nfunction generateListIndex(list) {\r\n Array.from(list.querySelectorAll('dt')).forEach((title, i) => {\r\n if (title.id === '') {\r\n title.id = `list${i}`;\r\n }\r\n });\r\n\r\n const titles = Array.from(list.querySelectorAll('dt'));\r\n const index = {};\r\n\r\n const alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n [...alpha].forEach(char => {\r\n const matchedTitle = [...titles].find(\r\n el =>\r\n el.textContent\r\n .replace(\"'\", '')\r\n .substring(0, 1)\r\n .toUpperCase() === char\r\n );\r\n\r\n if (matchedTitle) {\r\n index[char] = matchedTitle.id;\r\n } else {\r\n index[char] = null;\r\n }\r\n });\r\n\r\n return index;\r\n}\r\n\r\nfunction setFeedbackLink(link, feedbackId) {\r\n if (link) {\r\n const data = {};\r\n data.URL = window.location.pathname;\r\n const result = encodeURIComponent(data.URL);\r\n link.href = `/dynamic/${feedbackId}?url=${result}`;\r\n }\r\n}\r\n\r\n// eslint-disable-next-line no-undef\r\nif (typeof Sentry !== 'undefined') Sentry.init({ dsn: 'https://11aae9b0f3054a9dbd63ef2b0a2d6632@sentry.io/1437310' });\r\n\r\n// eslint-disable-next-line no-undef\r\nconst message = new Messages();\r\nconst survey = new Survey();\r\n\r\nfunction getStorage(key) {\r\n const value = null;\r\n\r\n try {\r\n if (window.localStorage) {\r\n return window.localStorage.getItem(key);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch {}\r\n\r\n return null;\r\n}\r\n\r\nfunction setStorage(key, value) {\r\n try {\r\n if (window.localStorage) {\r\n window.localStorage.setItem(key, value);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch {}\r\n}\r\n\r\n// eslint-disable-next-line class-methods-use-this\r\nfunction getSession(key) {\r\n try {\r\n if (window.sessionStorage) {\r\n const t = window.sessionStorage.getItem(key);\r\n if (parseInt(t) > Date.now()) return window.sessionStorage.getItem(key);\r\n }\r\n // eslint-disable-next-line no-empty\r\n } catch {}\r\n\r\n return null;\r\n}\r\n\r\n// eslint-disable-next-line class-methods-use-this\r\nfunction setSession(key, timeout) {\r\n try {\r\n let d = new Date();\r\n d.setMinutes(d.getMinutes() + timeout);\r\n\r\n if (window.sessionStorage) window.sessionStorage.setItem(key, d.getTime());\r\n // eslint-disable-next-line no-empty\r\n } catch {}\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n message.abbrInit();\r\n\r\n if (!getSession('survey-asked') && !getSession('survey-closed')) {\r\n if (typeof surveyType !== 'undefined') {\r\n survey.configureImmediate(surveyType);\r\n } else {\r\n const tag = document.querySelector(\"meta[name='page-type']\");\r\n\r\n if (tag && tag.content.length > 0) {\r\n console.info(`Survey was initialised with page type ${tag.content}`);\r\n survey.configure(tag.content);\r\n } else {\r\n console.info(`No survey for this page`);\r\n }\r\n }\r\n }\r\n\r\n if (document.getElementById('site-message')) {\r\n const messageDatestamp = getStorage('message');\r\n\r\n if (!Number.isNaN(parseInt(messageDatestamp))) {\r\n const messageDate = new Date(parseInt(messageDatestamp));\r\n const today = new Date();\r\n const diff = Math.round((today - messageDate) / (1000 * 60 * 60));\r\n if (diff < 2) return;\r\n }\r\n\r\n $('#site-message').modal('show');\r\n setStorage('message', new Date().getTime());\r\n }\r\n\r\n const menu = document.querySelector('#menu');\r\n const menuButton = document.querySelector('#menu-button');\r\n const menuCloseButton = document.querySelector('#menu-close-button');\r\n\r\n if (menu && menuButton && menuCloseButton) {\r\n menu.addEventListener('transitionend', () => {\r\n if (menu.classList.contains('open')) {\r\n menu.style.cssText = 'position: absolute';\r\n } else {\r\n menu.style.cssText = 'position: fixed';\r\n }\r\n });\r\n\r\n menuButton.addEventListener('click', () => {\r\n menu.classList.add('open');\r\n });\r\n\r\n menuButton.addEventListener('keydown', e => {\r\n if (e.key !== 'Tab' && e.key !== 'Shift') {\r\n e.preventDefault();\r\n menu.classList.add('open');\r\n menuCloseButton.focus();\r\n }\r\n });\r\n\r\n menuCloseButton.addEventListener('click', () => {\r\n menu.classList.remove('open');\r\n });\r\n\r\n menuCloseButton.addEventListener('keydown', e => {\r\n if (e.key !== 'Tab' && e.key !== 'Shift') {\r\n e.preventDefault();\r\n menu.classList.remove('open');\r\n menuButton.focus();\r\n }\r\n });\r\n\r\n menuButton.setAttribute('tabindex', '0');\r\n menuCloseButton.setAttribute('tabindex', '0');\r\n }\r\n\r\n const search = document.querySelector('ul.navigation li.search');\r\n\r\n if (search) {\r\n const searchButton = search.querySelector('#search-icon');\r\n const searchBox = search.querySelector('input.inline-search-box');\r\n const line = document.querySelector('#line');\r\n\r\n searchButton.addEventListener('click', () => {\r\n search.classList.toggle('open');\r\n if (line && line.classList) line.classList.toggle('open');\r\n if (search.classList.contains('open')) {\r\n searchBox.value = '';\r\n searchBox.focus();\r\n }\r\n });\r\n }\r\n\r\n const pagecontent = document.querySelector('#pagecontent');\r\n const moreLink = document.querySelector('a.more-link');\r\n const lessLink = document.querySelector('a.less-link');\r\n\r\n if (moreLink && lessLink) {\r\n const moreid = `more_${moreLink.getAttribute('data-page')}`;\r\n\r\n if (sessionStorage.getItem(moreid) === 'true') {\r\n pagecontent.classList.add('detail_visible');\r\n }\r\n\r\n if (moreLink) {\r\n moreLink.addEventListener('click', e => {\r\n pagecontent.classList.add('detail_visible');\r\n sessionStorage.setItem(moreid, true);\r\n e.stopPropagation();\r\n });\r\n\r\n moreLink.addEventListener('keydown', e => {\r\n e.preventDefault();\r\n pagecontent.classList.add('detail_visible');\r\n sessionStorage.setItem(moreid, true);\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n if (lessLink) {\r\n lessLink.addEventListener('click', e => {\r\n pagecontent.classList.remove('detail_visible');\r\n sessionStorage.setItem(moreid, false);\r\n e.stopPropagation();\r\n });\r\n lessLink.addEventListener('keydown', e => {\r\n e.preventDefault();\r\n pagecontent.classList.remove('detail_visible');\r\n sessionStorage.setItem(moreid, false);\r\n e.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n const subnav = document.querySelector('#subnav');\r\n\r\n if (subnav && !document.querySelector('div.subnav-control')) {\r\n const subnavmenu = new SubNavMenu(false);\r\n\r\n subnavmenu.button.addEventListener('click', e => {\r\n subnavmenu.toggle();\r\n e.stopPropagation();\r\n });\r\n }\r\n\r\n const expandableLists = document.querySelectorAll('dl.expand');\r\n const expandableListTitles = document.querySelectorAll('dl.expand dt');\r\n\r\n const showAllButton = document.createElement('a');\r\n showAllButton.classList.add('button', 'action', 'down');\r\n showAllButton.href = '#';\r\n showAllButton.innerText = 'Show all';\r\n showAllButton.setAttribute('tabindex', '0');\r\n\r\n const showAllTopButton = showAllButton.cloneNode(true);\r\n\r\n showAllButton.addEventListener('click', () => {\r\n toggleShowAll(showAllButton, showAllTopButton);\r\n });\r\n showAllTopButton.addEventListener('click', () => {\r\n toggleShowAll(showAllButton, showAllTopButton);\r\n });\r\n showAllButton.addEventListener('keydown', e => {\r\n if (e.key !== 'Tab' && e.key !== 'Shift') {\r\n e.preventDefault();\r\n toggleShowAll(showAllButton, showAllTopButton);\r\n }\r\n });\r\n showAllTopButton.addEventListener('keydown', e => {\r\n if (e.key !== 'Tab' && e.key !== 'Shift') {\r\n e.preventDefault();\r\n toggleShowAll(showAllButton, showAllTopButton);\r\n }\r\n });\r\n\r\n Array.from(expandableLists).forEach(list => {\r\n const showAllDiv = document.createElement('div');\r\n showAllDiv.appendChild(showAllButton);\r\n const showAllTopDiv = document.createElement('div');\r\n showAllTopDiv.appendChild(showAllTopButton);\r\n\r\n list.insertAdjacentElement('afterend', showAllDiv);\r\n list.insertAdjacentElement('beforebegin', showAllTopDiv);\r\n\r\n if (list.classList.contains('index')) {\r\n const index = generateListIndex(list);\r\n const indexSection = document.createElement('div');\r\n indexSection.classList.add('list_index');\r\n\r\n Object.keys(index).forEach(i => {\r\n if (index[i]) {\r\n const indexElement = document.createElement('a');\r\n indexElement.innerText = i;\r\n indexElement.href = `#${index[i]}`;\r\n indexSection.appendChild(indexElement);\r\n }\r\n });\r\n\r\n list.insertAdjacentElement('beforebegin', indexSection);\r\n }\r\n });\r\n\r\n Array.from(expandableListTitles).forEach(item => {\r\n item.setAttribute('tabindex', '0');\r\n\r\n item.addEventListener('click', e => {\r\n toggleListTitle(e.currentTarget);\r\n e.stopPropagation();\r\n });\r\n\r\n item.addEventListener('keydown', e => {\r\n if (e.key !== 'Tab' && e.key !== 'Shift') {\r\n e.preventDefault();\r\n toggleListTitle(e.currentTarget);\r\n e.stopPropagation();\r\n }\r\n });\r\n });\r\n\r\n const { location } = document;\r\n\r\n if (location.hash && location.hash !== '#' && expandableLists.length > 0) {\r\n const title = document.querySelector(location.hash);\r\n if (title) {\r\n const definition = title.nextElementSibling;\r\n\r\n if (definition) {\r\n title.classList.add('open');\r\n definition.classList.add('open');\r\n }\r\n }\r\n }\r\n\r\n const askAQuestion = document.querySelector('#footer79');\r\n if (askAQuestion) {\r\n setFeedbackLink(askAQuestion, 'AskAQuestion');\r\n }\r\n\r\n const askAQuestion2 = document.querySelector('#contactus_askaquestion');\r\n if (askAQuestion2) {\r\n setFeedbackLink(askAQuestion2, 'AskAQuestion');\r\n }\r\n\r\n const feedbackLink = document.querySelector('#contactus_feedback');\r\n if (feedbackLink) {\r\n setFeedbackLink(feedbackLink, 'Feedback');\r\n }\r\n\r\n const feedbackLink2 = document.querySelector('#footer137');\r\n if (feedbackLink2) {\r\n setFeedbackLink(feedbackLink2, 'Feedback');\r\n }\r\n});\r\n"]}