{"version":3,"sources":["Assets/JavaScript/js.cookie.js","Assets/JavaScript/common/FourDConfiguration.js","Assets/JavaScript/config.js","Assets/JavaScript/main.js"],"names":["global","factory","exports","module","define","amd","self","current","Cookies","noConflict","this","assign","target","i","arguments","length","source","key","api","init","converter","defaultAttributes","set","value","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","Object","create","get","cookies","jar","parts","slice","join","foundKey","read","e","remove","withAttributes","withConverter","freeze","path","FourDConfigurationHelper","constructor","endpoints","applePayInitialisePayment","applePayValidateSession","applePayRequestPayment","cybersourceCardRequestPaymentFields","cybersourceCardRequestAuthorisationFields","cybersourceCardRequestSubscriptionAuthorisationFields","googlePayInitialisePayment","googlePayRequestPayment","paypalCreatePayment","paypalExecutePayment","initialise","options","callbacks","FourDConfiguration","onError","err","stageText","GETADDRESSESBYPOSTCODE","TRANSACTION_HISTORY_ENDPOINT","fourdLogError","currentURL","window","location","host","hostname","protocol","port","currentHostname","searchWatermark","searchUrl","closeAllPopovers","$","removeClass","slideUp","setUserDesktopSite","showDesktop","secure","sameSite","performExpertSearch","searchTerm","IsKeyPressed","event","which","keyCode","addToSelect","selector","val","text","isSelected","append","html","attr","InitialiseJqueryValidationOverrides","validator","each","currentForm","validatorData","data","settings","errorPlacementOriginal","errorPlacement","errorPlacementUpdated","apply","errorElement","inputElement","errorText","textContent","setCustomValidity","successOriginal","success","successUpdated","invalidHandlerOriginal","invalidHandler","invalidHandlerUpdated","off","on","defaultRangeValidator","methods","range","element","param","type","checked","call","isFourDMaintenance","click","confirm","href","hide","show","containerObject","keypress","passwordControl","addClass","is","slideDown","focus","blur","user_accepted_maintenance","maintenanceNotification","anchorItem","nodeName","closest","hrefVal","eventTargetLocation","charAt","pathname","pageSectionVal","eventName","eventLabel","gtag","event_action","event_category","event_label","target_location","page_section","InitialisePwa"],"mappings":"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","file":"Assets/JavaScript/min/MainJs.min.js","sourcesContent":["/*! js-cookie v3.0.1 | MIT */\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, (function () {\n var current = global.Cookies;\n var exports = global.Cookies = factory();\n exports.noConflict = function () { global.Cookies = current; return exports; };\n }()));\n}(this, (function () { 'use strict';\n\n /* eslint-disable no-var */\n function assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n }\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n var defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n };\n /* eslint-enable no-var */\n\n /* eslint-disable no-var */\n\n function init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n }\n\n var api = init(defaultConverter, { path: '/' });\n /* eslint-enable no-var */\n\n return api;\n\n})));\n","class FourDConfigurationHelper {\r\n constructor() {\r\n this.endpoints = {\r\n applePayInitialisePayment: \"/CyberSourceSop/InitialiseApplePayPayment\",\r\n applePayValidateSession: \"/CyberSourceSop/ValidateApplePaySession\",\r\n applePayRequestPayment: \"/CyberSourceSop/RequestApplePayPayment\",\r\n cybersourceCardRequestPaymentFields: \"/CyberSourceSop/RequestPaymentFields\",\r\n cybersourceCardRequestAuthorisationFields: \"/CyberSourceSop/RequestAuthorisationFields\",\r\n cybersourceCardRequestSubscriptionAuthorisationFields: \"/CyberSourceSop/RequestSubscriptionAuthorisationFields\",\r\n googlePayInitialisePayment: \"/CyberSourceSop/InitialiseGooglePayPayment\",\r\n googlePayRequestPayment: \"/CyberSourceSop/RequestGooglePayPayment\",\r\n paypalCreatePayment: \"/PayPal/RequestPayment\",\r\n paypalExecutePayment: \"/PayPal/ExecutePayment\"\r\n };\r\n }\r\n\r\n initialise(options) {\r\n var result = false;\r\n\r\n try {\r\n if (!options) options = {};\r\n if (!options.callbacks) options.callbacks = {};\r\n if (typeof (options.callbacks.onError) == 'function') FourDConfiguration.onError = options.callbacks.onError;\r\n if (!options.endpoints) options.endpoints = {};\r\n if (typeof (options.endpoints.applePayInitialisePayment) == 'string') FourDConfiguration.applePayInitialisePayment = options.endpoints.applePayInitialisePayment;\r\n if (typeof (options.endpoints.applePayValidateSession) == 'string') FourDConfiguration.applePayValidateSession = options.endpoints.applePayValidateSession;\r\n if (typeof (options.endpoints.applePayRequestPayment) == 'string') FourDConfiguration.applePayRequestPayment = options.endpoints.applePayRequestPayment;\r\n if (typeof (options.endpoints.cybersourceCardRequestPaymentFields) == 'string') FourDConfiguration.cybersourceCardRequestPaymentFields = options.endpoints.cybersourceCardRequestPaymentFields;\r\n if (typeof (options.endpoints.cybersourceCardRequestAuthorisationFields) == 'string') FourDConfiguration.cybersourceCardRequestAuthorisationFields = options.endpoints.cybersourceCardRequestAuthorisationFields;\r\n if (typeof (options.endpoints.cybersourceCardRequestSubscriptionAuthorisationFields) == 'string') FourDConfiguration.cybersourceCardRequestSubscriptionAuthorisationFields = options.endpoints.cybersourceCardRequestSubscriptionAuthorisationFields;\r\n if (typeof (options.endpoints.googlePayInitialisePayment) == 'string') FourDConfiguration.googlePayInitialisePayment = options.endpoints.googlePayInitialisePayment;\r\n if (typeof (options.endpoints.googlePayRequestPayment) == 'string') FourDConfiguration.googlePayRequestPayment = options.endpoints.googlePayRequestPayment;\r\n if (typeof (options.endpoints.paypalCreatePayment) == 'string') FourDConfiguration.paypalCreatePayment = options.endpoints.paypalCreatePayment;\r\n if (typeof (options.endpoints.paypalExecutePayment) == 'string') FourDConfiguration.paypalExecutePayment = options.endpoints.paypalExecutePayment;\r\n\r\n }\r\n catch (err) {\r\n FourDConfiguration.onError(err, 'FourDConfiguration/initialise');\r\n }\r\n return result;\r\n }\r\n\r\n onError(err, stageText) { }\r\n};\r\n\r\nconst FourDConfiguration = new FourDConfigurationHelper();","// Endpoints\r\nvar GETADDRESSESBYPOSTCODE = \"/Location/GetAddressesByPostcode\";\r\nvar TRANSACTION_HISTORY_ENDPOINT = \"/Account/GetTransactionHistory\";\r\n\r\nif (typeof (FourDConfiguration) !== 'undefined') {\r\n // Already exists as expected\r\n let options = {\r\n onError: function (err, stageText) {\r\n if (typeof (fourdLogError) !== 'undefined') {\r\n fourdLogError(`Error '${err}' at stage '${stageText}'`, err);\r\n }\r\n },\r\n };\r\n FourDConfiguration.initialise(options);\r\n}\r\nelse {\r\n // Doesn't exist, create blank\r\n FourDConfiguration = {\r\n endpoints: {},\r\n };\r\n}\r\n ","// Define variables\r\nvar currentURL = window.location;\r\nvar host = window.location.host;\r\nvar hostname = window.location.hostname;\r\nvar protocol = window.location.protocol;\r\nvar port = window.location.port;\r\n\r\nvar currentHostname = (port === 80 || port === 443) ? hostname : host;\r\n\r\nvar searchWatermark = 'Reader Name/Pin';\r\nvar searchUrl = '/Psychic-Reader-Search/Name-Pin/';\r\n\r\n// Define functions\r\n\r\nfunction closeAllPopovers() {\r\n //Close navigation popovers\r\n $('#fixed_nav .nav_menu li.skillsMenuButton').removeClass(\"selected\");\r\n $('#fixed_nav .nav_menu li.footerMenuButton').removeClass(\"selected\");\r\n $('#fixed_nav .nav_menu li.searchMenuButton').removeClass(\"selected\");\r\n $(\".fixed_skills\").slideUp();\r\n $(\".fixed_footer\").slideUp();\r\n $(\".fixed_search\").slideUp();\r\n};\r\n\r\n// Desktop site link\r\nfunction setUserDesktopSite(showDesktop) {\r\n var user_accepted_desktop = \"user_accepted_desktop\";\r\n var expires = showDesktop ? 1 : -1;\r\n Cookies.set(\"user_accepted_desktop\", user_accepted_desktop, { expires: expires, path: '/', secure: true, sameSite: 'none' });\r\n};\r\n\r\n// Search Reader Widget\r\nfunction performExpertSearch(searchTerm) {\r\n window.location = protocol + '//' + currentHostname + searchUrl + searchTerm + \"/\";\r\n};\r\n\r\nfunction IsKeyPressed(event, key) {\r\n return (\r\n (event.which ? event.which === key : false) ||\r\n (event.keyCode ? event.keyCode === key : false) ||\r\n (event.key ? event.key === key : false)\r\n );\r\n}\r\n\r\nfunction addToSelect(selector, val, text, isSelected) {\r\n $(selector).append($('').val(val).html(text).attr('selected', isSelected));\r\n}\r\n\r\n$(\".loginRequired\").click(function () {\r\n var r = confirm($(this).attr('title'));\r\n if (r === true) {\r\n window.location = \"/Login/\";\r\n }\r\n});\r\n\r\nfunction InitialiseJqueryValidationOverrides() {\r\n if ($ && $.validator) {\r\n $(\"form\").each(function () {\r\n var currentForm = this;\r\n var validatorData = $(currentForm).data(\"validator\");\r\n if (validatorData && validatorData.settings) {\r\n // Override errorPlacement function\r\n var errorPlacementOriginal = validatorData.settings.errorPlacement;\r\n var errorPlacementUpdated = function () {\r\n if (errorPlacementOriginal) {\r\n // Call original function to maintain functionality\r\n errorPlacementOriginal.apply(currentForm, arguments);\r\n }\r\n var errorElement = arguments && arguments.length > 0 ? arguments[0] : null;\r\n var inputElement = arguments && arguments.length > 1 ? arguments[1] : null;\r\n // Add additional functionality\r\n //console.info(\"New errorPlacement\");\r\n if (inputElement) {\r\n var errorText = errorElement ? $(errorElement)[0].textContent : null;\r\n errorText = errorText ? errorText : \"Error\";\r\n $(inputElement).each(function () {\r\n this.setCustomValidity(errorText);\r\n });\r\n }\r\n };\r\n if (validatorData.settings.errorPlacement !== errorPlacementUpdated) {\r\n validatorData.settings.errorPlacement = errorPlacementUpdated;\r\n }\r\n\r\n // Override success function\r\n var successOriginal = validatorData.settings.success;\r\n var successUpdated = function () {\r\n if (successOriginal) {\r\n // Call original function to maintain functionality\r\n successOriginal.apply(currentForm, arguments);\r\n }\r\n //var errorElement = arguments && arguments.length > 0 ? arguments[0] : null;\r\n var inputElement = arguments && arguments.length > 1 ? arguments[1] : null;\r\n // Add additional functionality\r\n //console.info(\"New success\");\r\n if (inputElement) {\r\n $(inputElement).each(function () {\r\n this.setCustomValidity('');\r\n });\r\n }\r\n };\r\n if (validatorData.settings.success !== successUpdated) {\r\n validatorData.settings.success = successUpdated;\r\n }\r\n\r\n // Override invalidHandler\r\n var invalidHandlerOriginal = validatorData.settings.invalidHandler;\r\n var invalidHandlerUpdated = function () {\r\n if (invalidHandlerOriginal) {\r\n // Call original function to maintain functionality\r\n invalidHandlerOriginal.apply(currentForm, arguments);\r\n }\r\n //var event = arguments && arguments.length > 0 ? arguments[0] : null;\r\n //var validator = arguments && arguments.length > 1 ? arguments[1] : null;\r\n // Add additional functionality\r\n //console.info(\"New invalidHandler\");\r\n };\r\n if (validatorData.settings.invalidHandler !== invalidHandlerUpdated) {\r\n validatorData.settings.invalidHandler = invalidHandlerUpdated;\r\n // Rebind invalidHandler\r\n $(currentForm).off(\"invalid-form.validate\", validatorData.settings.invalidHandler);\r\n $(currentForm).on(\"invalid-form.validate\", validatorData.settings.invalidHandler);\r\n }\r\n }\r\n });\r\n\r\n // extend range validator method to treat checkboxes differently\r\n var defaultRangeValidator = $.validator.methods.range;\r\n $.validator.methods.range = function (value, element, param) {\r\n if (element.type === 'checkbox') {\r\n // if it's a checkbox return true if it is checked\r\n return element.checked;\r\n } else {\r\n // otherwise run the default validation function\r\n return defaultRangeValidator.call(this, value, element, param);\r\n }\r\n };\r\n }\r\n}\r\n\r\nfunction isFourDMaintenance() {\r\n return (typeof (fourDMaintenance) !== 'undefined');\r\n}\r\n\r\n$(function () {\r\n try {\r\n $('.share-button').each(function () {\r\n $(this).attr('href', $(this).attr('href') + currentURL.href);\r\n });\r\n\r\n if (Cookies.get(\"user_accepted_desktop\")) {\r\n //alert(\"cookie is in place\");\r\n $('meta[name=viewport]').attr('content', 'width=1000,initial-scale=1,maximum-scale=1');\r\n $(\".desktop_link\").hide();\r\n $(\".mobile_link\").show();\r\n // Hide before show due to jQuery issue in some browsers\r\n $(\".mobile_footer\").hide();\r\n $(\".mobile_footer\").show();\r\n\r\n $(\".mobile_link\").click(function () {\r\n setUserDesktopSite(false);\r\n });\r\n }\r\n else {\r\n //alert(\"cookie is not in place\");\r\n $(\".mobile_link\").hide();\r\n $(\".desktop_link\").show();\r\n\r\n $(\".desktop_link\").click(function () {\r\n setUserDesktopSite(true);\r\n });\r\n }\r\n\r\n if ($(\"fourd-tile-grid\").length === 0) {\r\n $(\".fixed_search, .search\").each(function () {\r\n var containerObject = this;\r\n\r\n // Input box\r\n $(\"input\", this).each(function () {\r\n var thisObjSearch = $(this);\r\n //// Watermark\r\n //if (thisObjSearch.val() === \"\") {\r\n // thisObjSearch.val(searchWatermark);\r\n //}\r\n //thisObjSearch.bind(\"focus\", function () {\r\n // if (thisObjSearch.val() === searchWatermark) { thisObjSearch.val(\"\"); }\r\n //}).bind(\"blur\", function () {\r\n // if (thisObjSearch.val() === \"\") { thisObjSearch.val(searchWatermark); }\r\n //});\r\n // Enter keypress\r\n thisObjSearch.keypress(function (e) {\r\n\r\n if (IsKeyPressed(e, 13)) {\r\n var searchTerm = $(this).val();\r\n if (/*searchTerm === searchWatermark ||*/ searchTerm === null || searchTerm.length < 1) {\r\n $('.error', containerObject).show();\r\n }\r\n else {\r\n performExpertSearch(searchTerm);\r\n return false;\r\n }\r\n }\r\n\r\n });\r\n });\r\n // Submit button\r\n $(\".submit\", this).click(function () {\r\n var searchTerm = $('input', containerObject).val();\r\n if (/*searchTerm === searchWatermark ||*/ searchTerm === null || searchTerm.length < 1) {\r\n $('.error', containerObject).show();\r\n }\r\n else {\r\n performExpertSearch(searchTerm);\r\n }\r\n });\r\n });\r\n }\r\n\r\n $('.toggle_password').click(function () {\r\n let passwordControl = $(\"#\" + $(this).data(\"password-control\"));\r\n\r\n if (passwordControl.attr(\"type\") === \"password\") {\r\n // Currently password, toggle to text\r\n passwordControl.attr(\"type\", \"text\");\r\n $(this).addClass(\"icon-eye-blocked\");\r\n $(this).removeClass(\"icon-eye\");\r\n }\r\n else {\r\n // Currently text, toggle to password\r\n passwordControl.attr(\"type\", \"password\");\r\n $(this).addClass(\"icon-eye\");\r\n $(this).removeClass(\"icon-eye-blocked\");\r\n }\r\n });\r\n\r\n // Navigation\r\n $('#fixed_nav .nav_menu li.skillsMenuButton').click(function () {\r\n if ($(\".fixed_skills\").is(':visible')) {\r\n $(this).removeClass(\"selected\");\r\n $(\".fixed_skills\").slideUp();\r\n } else {\r\n closeAllPopovers();\r\n $(this).addClass(\"selected\");\r\n $(\".fixed_skills\").slideDown();\r\n }\r\n });\r\n\r\n $('#fixed_nav .nav_menu li.footerMenuButton').click(function () {\r\n if ($(\".fixed_footer\").is(':visible')) {\r\n $(this).removeClass(\"selected\");\r\n $(\".fixed_footer\").slideUp();\r\n } else {\r\n closeAllPopovers();\r\n $(this).addClass(\"selected\");\r\n $(\".fixed_footer\").slideDown();\r\n }\r\n });\r\n\r\n $('#fixed_nav .nav_menu li.searchMenuButton').click(function () {\r\n if ($(\".fixed_search\").is(':visible')) {\r\n $(this).removeClass(\"selected\");\r\n $(\".fixed_search\").slideUp();\r\n } else {\r\n closeAllPopovers();\r\n $(this).addClass(\"selected\");\r\n $(\".fixed_search\").slideDown();\r\n }\r\n });\r\n\r\n $(\".fixed_search input\").focus(function () {\r\n $(\".nav_menu\").slideUp();\r\n });\r\n\r\n $(\".fixed_search input\").blur(function () {\r\n $(\".nav_menu\").slideDown();\r\n });\r\n\r\n if (isFourDMaintenance()) {\r\n var user_accepted_maintenance = \"user_accepted_maintenance\";\r\n var maintenanceNotification = $(\"#maintenance-notification\");\r\n if (!Cookies.get(user_accepted_maintenance)) {\r\n var acceptMaintenance = function () {\r\n // Session cookies can remain in some browsers so using 30 mins\r\n var in30Minutes = 1 / 48;\r\n Cookies.set(user_accepted_maintenance, user_accepted_maintenance, { expires: in30Minutes, path: '/', secure: true, sameSite: 'none' });\r\n };\r\n maintenanceNotification.slideDown('slow');\r\n\r\n maintenanceNotification.click(function () {\r\n maintenanceNotification.slideUp();\r\n acceptMaintenance();\r\n });\r\n } else {\r\n maintenanceNotification.remove();\r\n }\r\n }\r\n\r\n // global click handler\r\n $(document).click(function (event) {\r\n try {\r\n if (typeof (event) !== 'undefined'\r\n && event.target\r\n //&& event.target.nodeName === 'A'\r\n && typeof (gtag) !== 'undefined') {\r\n //target can be element inside the \r\n anchorItem = null\r\n if (event.target.nodeName === 'A') {\r\n anchorItem = $(event.target);\r\n }\r\n else {\r\n anchorItem = $(event.target).closest('a');\r\n }\r\n\r\n if (anchorItem.length > 0) {\r\n hrefVal = anchorItem.attr('href');\r\n eventTargetLocation = hrefVal;\r\n\r\n if (!hrefVal) { eventTargetLocation = window.location.pathname; }\r\n else if (hrefVal.charAt(0) === '#') { eventTargetLocation = window.location.pathname + hrefVal; }\r\n\r\n pageSectionVal = anchorItem.closest('[data-page-section]').attr('data-page-section');\r\n\r\n eventName = 'Links';\r\n eventLabel = anchorItem.text();\r\n\r\n gtag('event', eventName, {\r\n 'event_action': 'Click',\r\n 'event_category': eventName,\r\n 'event_label': eventLabel,\r\n 'target_location': eventTargetLocation,\r\n 'page_section': pageSectionVal\r\n });\r\n }\r\n }\r\n }\r\n catch (err) {\r\n if (typeof (fourdLogError) !== 'undefined') {\r\n fourdLogError(`Error '${err}' at document click`, err);\r\n }\r\n }\r\n });\r\n }\r\n catch (err) {\r\n if (typeof (fourdLogError) !== 'undefined') {\r\n fourdLogError(`Error '${err}' at document ready`, err);\r\n }\r\n }\r\n});\r\n\r\n$(function () {\r\n // executes when HTML-Document is loaded and DOM is ready \r\n\r\n //Initialise Controls and Pages\r\n if (typeof (InitialiseJqueryValidationOverrides) === 'function')\r\n InitialiseJqueryValidationOverrides();\r\n\r\n if (typeof (InitialisePwa) === 'function')\r\n InitialisePwa();\r\n\r\n});\r\n"]}