{"version":3,"file":"static/scripts/wde.js","mappings":"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","sources":["webpack://app-publicsite-static/./src/scripts/ag.ui.wde-moveable-chat.js","webpack://app-publicsite-static/./src/scripts/ag.ui.wde-resizeable-chat.js","webpack://app-publicsite-static/./src/scripts/ag.ui.wde.js","webpack://app-publicsite-static/webpack/bootstrap","webpack://app-publicsite-static/./src/wde.js"],"sourcesContent":["window.AG = window.AG || {};\nAG.ui = AG.ui || {};\n\nAG.ui.wdeMoveableChat = (function() {\n\n var element,\n trigger;\n\n var posX = 0, \n posY = 0, \n posXdiff = 0, \n posYdiff = 0;\n\n var v_width,\n v_height; \n\n var panel_width,\n panel_height, \n panel_left,\n panel_btm;\n\n var settings = {\n snapAmount: 30\n }\n \n\n function initDraggable(tar) { \n\n element = document.querySelector(tar);\n if(element) trigger = element.querySelector(\".cx-titlebar\"); \n\n if (trigger) { \n v_width = document.documentElement.clientWidth;\n v_height = window.innerHeight || document.documentElement.clientHeight;\n\n panel_width = element.offsetWidth;\n panel_height = element.offsetHeight;\n\n panel_left = element.getBoundingClientRect().left; \n panel_btm = v_height - element.getBoundingClientRect().bottom; \n \n trigger.addEventListener('mousedown', dragMouseDown);\n trigger.addEventListener('touchstart', dragMouseDown);\n\n window.addEventListener('resize', updateAllDimensionsAndConfine);\n window.addEventListener('orientationchange', updateAllDimensionsAndConfine);\n } \n }\n\n function updatePanelDimensionsAndConfine(){\n if (trigger) { \n\n panel_width = element.offsetWidth;\n panel_height = element.offsetHeight;\n \n elementSetPosition();\n }\n }\n\n function updateAllDimensionsAndConfine(){ \n \n if (trigger) { \n v_width = document.documentElement.clientWidth;\n v_height = window.innerHeight || document.documentElement.clientHeight;\n\n panel_width = element.offsetWidth;\n panel_height = element.offsetHeight;\n\n panel_left = element.getBoundingClientRect().left; \n panel_btm = v_height - element.getBoundingClientRect().bottom; \n \n elementSetPosition();\n }\n \n }\n\n function dragMouseDown(e) {\n e = e || window.event;\n e.preventDefault(); \n \n // only applicable on left click/touch\n if(e.button === 0 || typeof e.touches !== 'undefined'){\n\n // get the mouse cursor position at startup:\n // posX = e.clientX || e.touches[0].clientX;\n // posY = e.clientY || e.touches[0].clientY;\n if (e.clientX || e.clientY) {\n posX= e.clientX;\n posY = e.clientY;\n } else if (typeof e.touches !== 'undefined') {\n posX = e.touches[0].clientX;\n posY = e.touches[0].clientY;\n }\n \n panel_width = element.offsetWidth;\n panel_height = element.offsetHeight;\n \n\n // call a function whenever the cursor moves:\n window.addEventListener('mousemove', elementDrag);\n trigger.addEventListener('touchmove', elementDrag);\n\n // stop dragging mouseup\n window.addEventListener('mouseup', closeDragElement);\n trigger.addEventListener('touchend', closeDragElement);\n\n }\n\n }\n\n function elementDrag(e) { \n e = e || window.event;\n e.preventDefault(); \n\n // var clientX = e.clientX || e.touches[0].clientX;\n // var clientY = e.clientY || e.touches[0].clientY; \n if (e.clientX || e.clientY) {\n var clientX = e.clientX;\n var clientY = e.clientY;\n } else if (typeof e.touches !== 'undefined') {\n var clientX = e.touches[0].clientX;\n var clientY = e.touches[0].clientY;\n }\n\n // calculate the new cursor position:\n posXdiff = posX - clientX;\n posYdiff = posY - clientY;\n posX = clientX;\n posY = clientY;\n \n\n // calculate panel positioning co-ords \n panel_left = element.getBoundingClientRect().left - posXdiff;\n panel_btm = v_height - element.getBoundingClientRect().bottom + posYdiff;\n \n\n // set position\n elementSetPosition();\n\n }\n \n\n function elementSetPosition(){\n\n var panelTop = element.offsetTop - posYdiff;\n\n // top & bottom boundaries\n if( (panel_btm <= settings.snapAmount) && posYdiff < 0) { \n panel_btm = 0;\n } else if (panel_btm < 0){ \n panel_btm = 0; \n } else if (panelTop < 0) {\n panel_btm = 0 + (v_height - panel_height); \n } \n\n // left & right boundaries\n if(panel_left < 0){\n panel_left = 0;\n } else if((panel_left + panel_width) > v_width){\n panel_left = v_width - panel_width;\n }\n\n\n element.style.right = 'auto'; \n element.style.left = panel_left + 'px';\n element.style.bottom = panel_btm + 'px';\n }\n\n\n function closeDragElement() { \n // window.removeEventListener('mouseup', elementDrag);\n // window.removeEventListener('mousemove', elementDrag);\n // trigger.removeEventListener('touchend', elementDrag);\n // trigger.removeEventListener('touchmove', elementDrag);\n\n // remove listeners (correctly this time)\n window.removeEventListener('mousemove', elementDrag); \n trigger.removeEventListener('touchmove', elementDrag);\n window.removeEventListener('mouseup', closeDragElement);\n trigger.removeEventListener('touchend', closeDragElement); \n \n }\n\n return {\n initDraggable: initDraggable,\n updateAllDimensionsAndConfine: updateAllDimensionsAndConfine,\n updatePanelDimensionsAndConfine: updatePanelDimensionsAndConfine\n };\n\n});","window.AG = window.AG || {};\nAG.ui = AG.ui || {};\n\nAG.ui.wdeResizeableChat = (function() {\n\n var element,\n elementChat,\n elementDiv,\n resizers,\n currentResizer;\n \n var minimum_width,\n minimum_height,\n v_height,\n v_width;\n\n var original_width = 0,\n original_height = 0,\n original_x = 0,\n original_y = 0,\n original_mouse_x = 0,\n original_mouse_y = 0;\n\n var settings = {\n defaultMinWidth: 320,\n defaultMinHeight: 292\n }\n\n\n function initResizeable(tar) {\n\n elementDiv = tar;\n \n element = document.querySelector(elementDiv);\n elementChat = document.querySelector(elementDiv + ' .cx-transcript'); \n \n if(element) setupResizerHandles(); \n }\n\n function hasClass(element, className) {\n return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;\n }\n \n\n function setupResizerHandles(){\n\n minimum_width = element.offsetWidth;\n minimum_height = elementChat.offsetHeight; \n\n // if chat is restored as minimized, min height recorded as 0, so set to default instead\n if( hasClass(element, 'cx-minimized') ) minimum_height = settings.defaultMinHeight;\n\n\n var resizeHTML = document.createElement('div');\n resizeHTML.className = 'resizers';\n resizeHTML.innerHTML = '
';\n\n element.appendChild(resizeHTML);\n resizers = document.querySelectorAll(elementDiv + ' .resizer');\n\n \n // attach listeners to each resizer\n for (i = 0;i < resizers.length; i++) {\n resizers[i].addEventListener('mousedown', resizeMouseDown);\n resizers[i].addEventListener('touchstart', resizeMouseDown);\n }\n\n\n }\n\n function resizeMouseDown(e){\n e.preventDefault();\n\n if(e.button === 0 || typeof e.touches !== 'undefined'){ \n \n currentResizer = e.target;\n\n // v_width = Math.min(document.documentElement.clientWidth, window.innerWidth);\n // v_height = Math.min(document.documentElement.clientHeight, window.innerHeight);\n v_width = document.documentElement.clientWidth;\n v_height = window.innerHeight || document.documentElement.clientHeight;\n\n original_width = element.offsetWidth;\n original_height = elementChat.offsetHeight; \n original_x = element.getBoundingClientRect().left;\n original_y = v_height - element.getBoundingClientRect().bottom;\n // original_mouse_x = e.clientX || e.touches[0].clientX;\n // original_mouse_y = e.clientY || e.touches[0].clientY;\n if (e.clientX || e.clientY) {\n original_mouse_x = e.clientX;\n original_mouse_y = e.clientY;\n } else if (typeof e.touches !== 'undefined') {\n original_mouse_x = e.touches[0].clientX;\n original_mouse_y = e.touches[0].clientY;\n }\n\n // modify reported mouse y pos to emulate clicking in the center of the resize handle\n var currentResizer_y_center = currentResizer.getBoundingClientRect().top + (Math.ceil(currentResizer.offsetHeight / 2));\n original_mouse_y = original_mouse_y + (currentResizer_y_center - original_mouse_y);\n\n // modify reported mouse x pos to emulate clicking in the center of the resize handle\n var currentResizer_x_center = currentResizer.getBoundingClientRect().left + (Math.floor(currentResizer.offsetWidth / 2));\n original_mouse_x = original_mouse_x + (currentResizer_x_center - original_mouse_x);\n\n\n window.addEventListener('mousemove', resize);\n currentResizer.addEventListener('touchmove', resize);\n\n window.addEventListener('mouseup', stopResize);\n currentResizer.addEventListener('touchend', stopResize);\n }\n }\n\n\n function resize(e) {\n\n // var current_mouse_x = e.clientX || e.touches[0].clientX;\n // var current_mouse_y = e.clientY || e.touches[0].clientY;\n if (e.clientX || e.clientY) {\n var current_mouse_x = e.clientX;\n var current_mouse_y = e.clientY;\n } else if (typeof e.touches !== 'undefined') {\n var current_mouse_x = e.touches[0].clientX;\n var current_mouse_y = e.touches[0].clientY;\n }\n\n\n // modify reported mouse y positions to restrict chat window to viewport Y bounds \n if(current_mouse_y < 1 ) current_mouse_y = 0;\n else if(current_mouse_y > v_height) current_mouse_y = v_height;\n\n // modify reported mouse x positions to restrict chat window to viewport X bounds \n if(current_mouse_x < 1 ) current_mouse_x = 0;\n else if(current_mouse_x > v_width) current_mouse_x = v_width;\n\n\n if (currentResizer.classList.contains('resizer--btm-right')) {\n //console.log('bottom right');\n var width = original_width + (current_mouse_x - original_mouse_x);\n var height = original_height + (current_mouse_y - original_mouse_y);\n \n if (width > minimum_width) {\n element.style.width = width + 'px';\n }\n if (height > minimum_height) {\n elementChat.style.height = height + 'px';\n element.style.bottom = original_y - (current_mouse_y - original_mouse_y) + 'px';\n }\n\n\n }\n else if (currentResizer.classList.contains('resizer--btm-left')) {\n //console.log('bottom left'); \n var width = original_width - (current_mouse_x - original_mouse_x);\n var height = original_height + (current_mouse_y - original_mouse_y);\n \n if (width > minimum_width) {\n element.style.width = width + 'px';\n element.style.left = original_x + (current_mouse_x- original_mouse_x) + 'px';\n } \n if (height > minimum_height) {\n elementChat.style.height = height + 'px';\n element.style.bottom = original_y - (current_mouse_y - original_mouse_y) + 'px';\n }\n \n\n }\n else if (currentResizer.classList.contains('resizer--top-right')) {\n //console.log('top right');\n var width = original_width + (current_mouse_x - original_mouse_x);\n var height = original_height - (current_mouse_y - original_mouse_y);\n \n if (width > minimum_width) {\n element.style.width = width + 'px';\n }\n if (height > minimum_height) {\n elementChat.style.height = height + 'px'; \n }\n\n \n }\n else if (currentResizer.classList.contains('resizer--top-left')) { \n //console.log('top left');\n var width = original_width - (current_mouse_x - original_mouse_x);\n var height = original_height - (current_mouse_y - original_mouse_y);\n\n if (width > minimum_width) {\n element.style.width = width + 'px';\n element.style.left = original_x + (current_mouse_x - original_mouse_x) + 'px';\n }\n if (height > minimum_height) {\n elementChat.style.height = height + 'px';\n }\n } \n else if (currentResizer.classList.contains('resizer--top')) { \n //console.log('top'); \n var height = original_height - (current_mouse_y - original_mouse_y); \n \n if (height > minimum_height) {\n elementChat.style.height = height + 'px';\n }\n } \n else if (currentResizer.classList.contains('resizer--left')) { \n //console.log('left');\n var width = original_width - (current_mouse_x - original_mouse_x); \n if (width > minimum_width) {\n element.style.width = width + 'px';\n element.style.left = original_x + (current_mouse_x - original_mouse_x) + 'px';\n } \n } \n else if (currentResizer.classList.contains('resizer--right')) {\n //console.log('right');\n var width = original_width + (current_mouse_x - original_mouse_x); \n if (width > minimum_width) {\n element.style.width = width + 'px';\n } \n } \n else if (currentResizer.classList.contains('resizer--btm')) {\n //console.log('bottom');\n var height = original_height + (current_mouse_y - original_mouse_y); \n \n if (height > minimum_height) {\n elementChat.style.height = height + 'px';\n element.style.bottom = original_y - (current_mouse_y - original_mouse_y) + 'px';\n } \n }\n \n\n \n }\n\n function stopResize() {\n // window.removeEventListener('mousemove', resize);\n // currentResizer.removeEventListener('touchmove', resize);\n // window.removeEventListener('mouseup', resize);\n // currentResizer.removeEventListener('touchend', resize);\n\n // remove listeners (correctly this time)\n window.removeEventListener('mousemove', resize);\n currentResizer.removeEventListener('touchmove', resize);\n window.removeEventListener('mouseup', stopResize);\n currentResizer.removeEventListener('touchend', stopResize);\n }\n\n \n \n\n return {\n initResizeable: initResizeable\n };\n\n}());","window.AG = window.AG || {};\nAG.ui = AG.ui || {};\n\nAG.ui.wde = (function () {\n\n var emailErrors = [];\n var notificationInterval = null;\n var pageTitle = document.title;\n var chatDragInstance = null,\n callbackDragInstance = null;\n var callbackDateString = null,\n callbackDate = null;\n var callbackMsgObserver;\n\n\n // Callback function to execute when mutations are observed\n var onCallbackConfirmFail = function (mutationsList, observer) {\n for (var mutation of mutationsList) {\n if (mutation.type === 'attributes') {\n if (mutation.target.innerHTML === 'Select Date & Time') {\n mutation.target.innerHTML = \"Please select a date and time for us to call you.\";\n }\n }\n }\n }\n\n\n var fixPhoneNumberFormat = function (val) {\n\n let newVal = val;\n\n // default to South African phone number if...\n if (val.indexOf(\"+270\") !== -1) {\n newVal = newVal.replace(\"+270\", \"+27\");\n }\n if (val.substring(0, 2) == \"00\") {\n newVal = \"+27\" + newVal.substring(2);\n }\n else if (val.charAt(0) == \"0\") {\n newVal = \"+27\" + newVal.substring(1);\n }\n\n return newVal;\n\n }\n\n var isValidEmail = function (val, regex) {\n\n var valid = true;\n emailErrors = [];\n\n // validate contains no spaces\n if (val.indexOf(\" \") > -1) {\n valid = false;\n emailErrors.push(\"Email address may not contain spaces\");\n\n } else\n\n // validate does not end with full stop\n if (val.charAt(val.length - 1) == '.') {\n valid = false;\n emailErrors.push(\"Email address may not end with a 'full stop'\");\n\n } else\n\n // validate does not end with an @\n if (val.charAt(val.length - 1) == '@') {\n valid = false;\n emailErrors.push(\"Email address may not end with a '@' character\");\n\n } else\n\n // Email Address may not contain @., .@ or ..\n if (val.indexOf(\"@.\") > -1) {\n valid = false;\n emailErrors.push(\"Email address may not contain '@.'\");\n\n } else\n\n if (val.indexOf(\".@\") > -1) {\n valid = false;\n emailErrors.push(\"Email address may not contain '.@'\");\n\n } else\n\n if (val.indexOf(\"..\") > -1) {\n valid = false;\n emailErrors.push(\"Email address may not contain '..'\");\n\n } else\n\n // Email Address must contain exactly one '@' character.\n if (!(val.indexOf(\"@\") > -1) || (val.indexOf(\"@@\") > -1)) {\n valid = false;\n emailErrors.push(\"Email address must contain exactly one '@' character\");\n\n } else\n\n // Email Address must have at least one full stop.\n if (!(val.indexOf(\".\") > -1)) {\n valid = false;\n emailErrors.push(\"Email address must contain at least one 'full stop'\");\n\n } else\n\n // // valid does not contain \\\"~`!#$%^&*()_+={}[]\\\\\\\"|'\\\\:;<>?,/<>\\\"\"),\n if (val.match(regex) === null) {\n valid = false;\n emailErrors.push(\"Please enter a valid email address\");\n\n }\n\n return valid;\n }\n\n var IsAlphaOrSymbolReg = new RegExp(/^['a-zA-Z\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\s-]+$/);\n\n var validateSelect = function (input, form, $) {\n if (input.val()) {\n input.addClass('cx-valid');\n return true;\n\n } else {\n input.removeClass('cx-valid');\n form.next('.cx-form-error').remove();\n return false;\n }\n }\n\n var validateName = function (input, form, dragInstance, string, $) {\n if (input.val()) {\n\n // no numbers only \n // var reg = new RegExp(/^([^0-9]*)$/); \n\n if (input.val().match(IsAlphaOrSymbolReg) !== null && input.val().trim() !== '') {\n input.addClass('cx-valid');\n form.next('.cx-form-error').remove();\n dragInstance.updatePanelDimensionsAndConfine();\n return true;\n } else {\n input.removeClass('cx-valid');\n if (!form.next('.cx-form-error').length) form.after(\" Please enter a valid \" + string + \"\");\n dragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n\n } else {\n input.removeClass('cx-valid');\n form.next('.cx-form-error').remove();\n dragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n }\n\n var validateEmail = function (input, form, dragInstance, $) {\n if (input.val()) {\n\n // email validation \n var reg = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/g);\n\n if (isValidEmail(input.val(), reg)) {\n input.addClass('cx-valid');\n form.next('.cx-form-error').remove();\n dragInstance.updatePanelDimensionsAndConfine();\n return true;\n } else {\n\n input.removeClass('cx-valid');\n form.next('.cx-form-error').remove();\n form.after(\" \" + emailErrors + \"\");\n\n dragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n\n\n } else {\n input.removeClass('cx-valid');\n form.next('.cx-form-error').remove();\n dragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n }\n\n var formOptions = {\n wrapper: \"
\",\n inputs: [\n {\n type: \"select\",\n options: [\n { text: 'Required', value: \"\" },\n { text: 'Mr', value: \"Mr\" },\n { text: 'Mrs', value: \"Mrs\" },\n { text: 'Miss', value: \"Miss\" },\n { text: 'Ms', value: \"Ms\" },\n { text: 'Mx', value: \"Mx\" },\n { text: 'Prof', value: \"Prof\" },\n { text: 'Dr', value: \"Dr\" },\n { text: 'Pas', value: \"Pas\" },\n { text: 'Rev', value: \"Rev\" },\n { text: 'Adv', value: \"Adv\" },\n { text: 'Judge', value: \"Judge\" },\n { text: 'Capt', value: \"Capt\" },\n { text: 'Col', value: \"Col\" }\n ],\n id: \"cx_webchat_form_title\",\n name: \"title\",\n maxlength: \"5\",\n // placeholder: \"@i18n:webchat.ChatFormPlaceholderTitle\",\n // label: \"@i18n:webchat.ChatFormTitle\",\n placeholder: \"Required\",\n label: \"Title\",\n wrapper: '{label}
{input}
Required
',\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateSelect(input, form, $);\n }\n },\n {\n id: \"cx_webchat_form_firstname\",\n name: \"firstname\",\n maxlength: \"100\",\n placeholder: \"@i18n:webchat.ChatFormPlaceholderFirstName\",\n label: \"@i18n:webchat.ChatFormFirstName\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateName(input, form, chatDragInstance, 'name', $);\n }\n },\n {\n id: \"cx_webchat_form_lastname\",\n name: \"lastname\",\n maxlength: \"100\",\n placeholder: \"@i18n:webchat.ChatFormPlaceholderLastName\",\n label: \"@i18n:webchat.ChatFormLastName\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateName(input, form, chatDragInstance, 'surname', $);\n }\n },\n {\n type: \"email\",\n id: \"cx_webchat_form_email\",\n name: \"email\",\n maxlength: \"100\",\n placeholder: \"@i18n:webchat.ChatFormPlaceholderEmail\",\n label: \"@i18n:webchat.ChatFormEmail\",\n //wrapper:\"{label}{input} You have the option of receiving an email transcript of your chat.\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateEmail(input, form, chatDragInstance, $);\n }\n },\n {\n type: \"checkbox\",\n id: \"cx_webchat_form_transcript\",\n name: \"transcript\",\n // placeholder: \"@i18n:webchat.ChatFormPlaceholderTranscript\",\n // label: \"@i18n:webchat.ChatFormTranscript\", \n label: \"Receive an email copy of your chat?\",\n wrapper: '
{input}{label}
',\n validateWhileTyping: true,\n validate: function (event, form, input, label, $, CXBus, Common) {\n if (input) {\n if (input.is(':checked')) {\n form.next('.cx-form-helper').remove();\n form.after(\"Your chat conversation will be emailed to the address provided above.\");\n } else {\n form.next('.cx-form-helper').remove();\n }\n chatDragInstance.updatePanelDimensionsAndConfine();\n return true;\n }\n }\n }\n ]\n };\n\n var callbackFormOptions = {\n wrapper: \"
\",\n inputs: [\n {\n type: \"select\",\n options: [\n { text: 'Required', value: \"\" },\n { text: 'Mr', value: \"Mr\" },\n { text: 'Mrs', value: \"Mrs\" },\n { text: 'Miss', value: \"Miss\" },\n { text: 'Ms', value: \"Ms\" },\n { text: 'Mx', value: \"Mx\" },\n { text: 'Prof', value: \"Prof\" },\n { text: 'Dr', value: \"Dr\" },\n { text: 'Pas', value: \"Pas\" },\n { text: 'Rev', value: \"Rev\" },\n { text: 'Adv', value: \"Adv\" },\n { text: 'Judge', value: \"Judge\" },\n { text: 'Capt', value: \"Capt\" },\n { text: 'Col', value: \"Col\" }\n ],\n id: \"cx_callback_form_title\",\n name: \"title\",\n maxlength: \"5\",\n // placeholder: \"@i18n:webchat.CallbackPlaceholderTitle\",\n // label: \"@i18n:callback.ChatFormTitle\",\n placeholder: \"Required\",\n label: \"Title\",\n wrapper: '{label}
{input}
Required
',\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateSelect(input, form, $);\n\n }\n },\n\n {\n id: \"cx_form_callback_firstname\",\n name: \"firstname\",\n maxlength: \"100\",\n placeholder: \"@i18n:callback.CallbackPlaceholderRequired\",\n label: \"@i18n:callback.CallbackFirstName\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateName(input, form, callbackDragInstance, 'name', $);\n\n }\n },\n\n {\n id: \"cx_form_callback_lastname\",\n name: \"lastname\",\n maxlength: \"100\",\n placeholder: \"@i18n:callback.CallbackPlaceholderRequired\",\n label: \"@i18n:callback.CallbackLastName\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateName(input, form, callbackDragInstance, 'surname', $);\n\n }\n },\n\n {\n id: \"cx_form_callback_phone_number\",\n name: \"phonenumber\",\n maxlength: \"14\",\n placeholder: \"@i18n:callback.CallbackPlaceholderRequired\",\n label: \"@i18n:callback.CallbackPhoneNumber\",\n onkeypress: function (e) {\n return (e.charCode >= 48 && e.charCode <= 57) || (e.charCode == 43)\n },\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n if (input) {\n if (input.val()) {\n\n input.val(fixPhoneNumberFormat(input.val()));\n\n if (input.val().length > 10 && input.val().trim() !== '') {\n input.addClass('cx-valid');\n form.next('.cx-form-error').remove();\n callbackDragInstance.updatePanelDimensionsAndConfine();\n return true;\n } else {\n input.removeClass('cx-valid');\n if (!form.next('.cx-form-error').length) form.after(\" Please enter a valid phone number\");\n callbackDragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n\n } else {\n input.removeClass('cx-valid');\n form.next('.cx-form-error').remove();\n callbackDragInstance.updatePanelDimensionsAndConfine();\n return false;\n }\n\n }\n }\n },\n\n {\n id: \"cx_form_callback_email\",\n name: \"email\",\n maxlength: \"100\",\n placeholder: \"@i18n:callback.CallbackPlaceholderRequired\",\n label: \"Email\",\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateEmail(input, form, callbackDragInstance, $);\n\n }\n },\n\n {\n type: \"select\",\n options: [\n { text: 'Required', value: \"\" },\n { text: 'Learn more about Allan Gray', value: \"Learn more about Allan Gray\" },\n { text: 'Access investments online', value: \"Access investments online\" },\n { text: 'How to transact', value: \"How to transact\" },\n { text: 'Follow up on a transaction', value: \"Follow up on a transaction\" },\n { text: 'Request investment statements', value: \"Request investment statements\" },\n { text: 'Other', value: \"Other\" }\n ],\n id: \"cx_callback_form_request\",\n name: \"requestType\",\n maxlength: \"5\",\n // placeholder: \"@i18n:webchat.CallbackPlaceholderTitle\",\n // label: \"@i18n:callback.ChatFormTitle\",\n placeholder: \"Required\",\n label: \"Request type\",\n wrapper: '{label}
{input}
Required
',\n validateWhileTyping: false,\n validate: function (event, form, input, label, $, CXBus, Common) {\n\n if (input) return validateSelect(input, form, $);\n\n }\n },\n\n {\n id: \"cx_form_callback_subject\",\n name: \"subject\",\n type: \"textarea\",\n maxlength: \"100\",\n placeholder: \"@i18n:callback.CallbackPlaceholderOptional\",\n label: \"@i18n:callback.CallbackNotes\"\n },\n {\n id: \"cx_form_callback_alerttype\",\n name: \"AlertType\",\n type: \"hidden\",\n value: \"Web-callback\"\n },\n {\n id: \"cx_form_callback_referURL\",\n name: \"referURL\",\n type: \"hidden\",\n value: window.location.pathname\n }\n ]\n }\n\n var registerExtensions = function (params) {\n window._genesys.widgets.extensions = window._genesys.widgets.extensions || {};\n\n // webchat extensions \n window._genesys.widgets.extensions[\"WebChatActions\"] = function ($, CXBus, Common) {\n var oWebChatActions = CXBus.registerPlugin(\"WebChatActions\");\n\n oWebChatActions.subscribe(\"WebChat.opened\", function (e) {\n\n // hide sidebar\n $('.cx-widget.cx-sidebar').hide();\n\n // hide contact us launcher\n // $('#wde-assistance-section, #wde-contact-heading').hide();\n\n // draggable chat\n chatDragInstance = new AG.ui.wdeMoveableChat();\n chatDragInstance.initDraggable(\".cx-desktop .cx-widget.cx-webchat\");\n\n AG.ui.wdeResizeableChat.initResizeable(\".cx-desktop .cx-widget.cx-webchat.cx-transcript-view\");\n\n // focus title field & remove invalid styling from Name field after blur \n $('#cx_webchat_form_title').focus();\n setTimeout(function () {\n $('#cx_webchat_form_firstname').removeClass('cx-error');\n }, 10);\n\n // init dropdown select customization\n initCustomSelect($);\n\n\n // if scrolled within widget area \n $('body').on(\"mousewheel.webchatscroll wheel.webchatscroll DOMMouseScroll.webchatscroll MozMousePixelScroll.webchatscroll touchmove.webchatscroll\", '.cx-widget.cx-common-container', function (e) {\n\n // if transcript area is not overflown, disable page scroll\n // var transcriptElm = document.querySelector('.cx-transcript');\n // if( !(transcriptElm.scrollHeight>transcriptElm.clientHeight||transcriptElm.scrollWidth>transcriptElm.clientWidth) ){ \n // e.stopPropagation();\n // e.preventDefault();\n // console.log('but why')\n // }\n\n if (params.onWebchatScroll) params.onWebchatScroll();\n\n });\n\n $('body').addClass('wde-open');\n\n if (params.afterWebchatOpened) params.afterWebchatOpened();\n\n });\n\n oWebChatActions.subscribe(\"WebChat.started\", function (e) {\n chatDragInstance.updatePanelDimensionsAndConfine();\n\n AG.ui.wdeResizeableChat.initResizeable(\".cx-desktop .cx-widget.cx-webchat.cx-transcript-view\");\n });\n\n oWebChatActions.subscribe(\"WebChat.unminimized\", function (e) {\n $('body').addClass('wde-open');\n chatDragInstance.updatePanelDimensionsAndConfine();\n });\n\n oWebChatActions.subscribe(\"WebChat.minimized\", function (e) {\n\n $('body').removeClass('wde-open');\n\n // maximize chat by clicking anywhere on webchat titlebar (mobile only)\n var trigger = document.querySelector(\".cx-mobile .cx-widget.cx-webchat.cx-minimize .cx-titlebar\");\n if (trigger) {\n trigger.onclick = function () {\n oWebChatActions.command('WebChat.minimize').done(function (e) {\n // chat maximized. unset listener \n trigger.onclick = null;\n }).fail(function (e) {\n // toggle chat failed\n console.log('failed to maximize');\n });\n };\n }\n });\n\n\n function clearMsgNotification() {\n clearInterval(notificationInterval);\n document.title = pageTitle;\n }\n\n oWebChatActions.subscribe(\"WebChatService.messageReceived\", function (e) {\n\n // flashing page title new message notify\n var messageFromType = e.data.messages[0].from.type;\n var messageType = e.data.messages[0].type;\n\n if (messageFromType === 'Agent' && messageType === 'Message') {\n\n clearMsgNotification();\n pageTitle = document.title;\n\n var newMessageTitle = 'New message received!';\n var notifySpeed = 1000;\n var notifyToggle = false;\n //var notifyItt = 0;\n //var notifyCount = 20;\n\n\n document.title = newMessageTitle;\n notificationInterval = setInterval(function () {\n // notifyItt++;\n // if(notifyItt < notifyCount){\n\n notifyToggle ? document.title = newMessageTitle : document.title = pageTitle;\n notifyToggle = !notifyToggle;\n\n // } else { \n // clearMsgNotification();\n // }\n }, notifySpeed);\n\n }\n\n\n });\n\n oWebChatActions.subscribe(\"WebChatService.ended\", function (e) {\n\n // if chat session ended, clear the flashing page title\n clearMsgNotification();\n\n });\n\n oWebChatActions.subscribe(\"WebChatService.clientTypingStarted\", function (e) {\n\n // if client started typing, let's clear the flashing page title\n clearMsgNotification();\n\n });\n\n oWebChatActions.subscribe(\"WebChat.closed\", function (e) {\n\n // show sidebar\n $('.cx-widget.cx-sidebar').show();\n\n // unbind scroll listeners \n $('body').off(\"mousewheel.webchatscroll wheel.webchatscroll DOMMouseScroll.webchatscroll MozMousePixelScroll.webchatscroll touchmove.webchatscroll\", '.cx-widget.cx-common-container');\n\n // clear the flashing page title\n clearMsgNotification();\n\n $('body').removeClass('wde-open');\n\n if (params.afterWebchatClosed) params.afterWebchatClosed();\n\n });\n\n\n },\n\n // callback extensions \n window._genesys.widgets.extensions[\"CallbackActions\"] = function ($, CXBus, Common) {\n\n var oCallbackActions = CXBus.registerPlugin(\"CallbackActions\");\n\n // disable fullpage scrolling when callback widget open\n oCallbackActions.subscribe(\"Callback.opened\", function (e) {\n\n // hide sidebar\n $('.cx-widget.cx-sidebar').hide();\n\n // draggable chat\n callbackDragInstance = new AG.ui.wdeMoveableChat();\n callbackDragInstance.initDraggable(\".cx-desktop .cx-widget.cx-callback\");\n\n // focus title field & remove invalid styling from Name field after blur \n $('#cx_callback_form_title').focus();\n setTimeout(function () {\n $('#cx_callback_form_firstname').removeClass('cx-error');\n }, 10);\n\n // change phone field to type tel\n $('#cx_form_callback_phone_number').attr('type', 'tel');\n\n // init dropdown select customization\n initCustomSelect($);\n\n // hacky way to update callback confirm error message\n // var failMsgNode = document.querySelector('.cx-callback .cx-dialog.cx-error-container p.cx-fail-message');\n // callbackMsgObserver = new MutationObserver(onCallbackConfirmFail);\n // callbackMsgObserver.observe(failMsgNode, { attributes: true });\n\n $('body').addClass('wde-open');\n\n if (params.afterCallbackOpened) params.afterCallbackOpened();\n });\n\n oCallbackActions.subscribe(\"Callback.unminimized\", function (e) {\n $('body').addClass('wde-open');\n });\n\n oCallbackActions.subscribe(\"Callback.minimized\", function (e) {\n $('body').removeClass('wde-open');\n });\n\n oCallbackActions.subscribe(\"Callback.closed\", function (e) {\n\n // show sidebar\n $('.cx-widget.cx-sidebar').show();\n\n // if(callbackMsgObserver) callbackMsgObserver.disconnect();\n\n $('body').removeClass('wde-open');\n\n if (params.afterCallbackClosed) params.afterCallbackClosed();\n });\n\n\n oCallbackActions.subscribe(\"Callback.submitted\", function (e) {\n callbackDate = e.data.form._desired_time;\n });\n\n oCallbackActions.subscribe(\"Callback.completed\", function (e) {\n\n var $confirmationWrapper = $('.cx-confirmation-wrapper');\n $confirmationWrapper.append('
');\n\n\n // add number (formatted with spaces if local) \n if (e.data.form._customer_number !== '') {\n\n // hide default phone number insertion\n $('#cx-callback-result-desc, #cx-callback-result-number').hide();\n\n var phoneNumber = e.data.form._customer_number;\n if (phoneNumber.substring(0, 3) === '+27') {\n phoneNumber = [phoneNumber.slice(0, -7), \" \", phoneNumber.slice(-7, -4), \" \", phoneNumber.slice(-4)].join('');\n }\n $confirmationWrapper.find('.confirm-info').append('
We will call you at the number provided: ' + phoneNumber + '
');\n }\n\n // add date string from saved date string\n if (callbackDateString != null) {\n $confirmationWrapper.find('.confirm-info').append('
Date and time:
');\n\n // ADD TO CAL LINKS\n var callbackCalTitle = 'Allan Gray callback';\n var callbackCalDescription = '';\n var callbackCalSubject = '';\n if (e.data.form.requestType !== '') callbackCalDescription = 'Request type: ' + e.data.form.requestType;\n if (e.data.form.subject !== '') callbackCalSubject = 'Comments: ' + e.data.form.subject;\n\n // calculate end date\n var callbackDuration = parseInt(window._genesys.widgets.calendar.calendarHours.interval);\n var callbackDateObj = new Date(callbackDate);\n var callbackDateObjEnd = new Date(callbackDateObj.getTime() + callbackDuration * 60000);\n var callbackDateEnd = callbackDateObjEnd.toISOString();\n\n // format for google cal\n var googleCalStart = callbackDate.replace(/[:\\-.]/g, '');\n var googleCalEnd = callbackDateEnd.replace(/[:\\-.]/g, '');\n\n // format for outlook \n // bit of a hack, but subtract users timezone offset, convert to 'ISO format without the Z'd\n var outlookCalStartObj = new Date(callbackDateObj.getTime() - (callbackDateObj.getTimezoneOffset() * 60000));\n var outlookCalStartZ = outlookCalStartObj.toISOString();\n var outlookCalStart = outlookCalStartZ.substring(0, outlookCalStartZ.length - 1);\n\n var outlookCalEndObj = new Date(callbackDateObjEnd.getTime() - (callbackDateObjEnd.getTimezoneOffset() * 60000));\n var outlookCalEndZ = outlookCalEndObj.toISOString();\n var outlookCalEnd = outlookCalEndZ.substring(0, outlookCalEndZ.length - 1);\n\n\n // build 'add to calendar' string\n var addToCalStr =\n `\n
\n Add to \n \n Google |\n\n Outlook |\n\n Office 365\n\n calendar\n
\n `;\n\n $confirmationWrapper.find('.confirm-info').append(addToCalStr);\n\n // ADD TO CAL LINKS\n }\n\n\n // add request type if exist \n if (e.data.form.requestType !== '') $confirmationWrapper.find('.confirm-info').append('
Request type: ' + e.data.form.requestType + '
');\n\n // add comments if exist\n if (e.data.form.subject !== '') $confirmationWrapper.find('.confirm-info').append('
Comments: ' + e.data.form.subject + '
');\n\n if (params.afterCallbackComplete) params.afterCallbackComplete();\n });\n\n\n },\n\n // calendar extensions \n window._genesys.widgets.extensions[\"CalendarActions\"] = function ($, CXBus, Common) {\n var oCalendarActions = CXBus.registerPlugin(\"CalendarActions\");\n\n oCalendarActions.subscribe(\"Calendar.selectedDateTime\", function (e) {\n\n callbackDateString = e.data.dayString + ' - ';\n callbackDateString += e.data.dateString + ' - ';\n callbackDateString += e.data.timeString;\n\n });\n\n },\n\n // channel selector extension \n window._genesys.widgets.extensions[\"ChannelSelectorActions\"] = function ($, CXBus, Common) {\n var oChannelSelectorActions = CXBus.registerPlugin(\"ChannelSelectorActions\");\n\n oChannelSelectorActions.subscribe(\"ChannelSelector.opened\", function (e) {\n // modify hardcoded 'Web Chat' text\n $('#cx-Channel01-name').text('Live chat');\n });\n }\n\n }\n\n var initCustomSelect = function ($) {\n\n // custom select control logic\n $('.cx-input-select').each(function () {\n var $this = $(this);\n var $select = $this.find('select');\n var $val = $this.find('.cx-input-select__value');\n $val.text($select.find(':selected').text());\n $select.val() !== '' ? $val.removeClass('is-placeholder') : $val.addClass('is-placeholder');\n\n $select.on('change', function () {\n $val.text($select.find(':selected').text());\n $select.val() !== '' ? $val.removeClass('is-placeholder') : $val.addClass('is-placeholder');\n });\n });\n }\n\n\n var onConfigLoaded = function (pluginsPath) {\n CXBus.configure({ debug: false, pluginsPath: pluginsPath + 'plugins/' });\n CXBus.loadPlugin('widgets-core');\n }\n\n\n /**\n * @param {Object} params The parameters described below\n * showSidebar: boolean (default: false)\n * pluginsPath: string (default: '/static/genesys/')\n * widgetServiceBaseUrl: string (default: 'https://www.allangray.co.za')\n * \n * Callbacks:\n * beforeWebServiceLoad\n * afterWebServiceLoad: agentsAvailable (boolean)\n * afterWebchatOpened\n * onWebchatScroll\n * afterWebchatClosed\n * afterCallbackOpened\n * afterCallbackClosed\n */\n function initWDE(params) {\n\n window._genesys = window._genesys || {};\n\n // set defaults \n params.showSidebar = typeof params.showSidebar !== 'undefined' ? params.showSidebar : false;\n params.widgetServiceBaseUrl = typeof params.widgetServiceBaseUrl !== 'undefined' ? params.widgetServiceBaseUrl : 'https://www.allangray.co.za';\n params.pluginsPath = typeof params.pluginsPath !== 'undefined' ? params.pluginsPath : '/static/genesys/';\n\n\n if (params.beforeWebServiceLoad) params.beforeWebServiceLoad();\n\n var xhr = new XMLHttpRequest();\n xhr.onload = function () {\n if (xhr.status === 200) {\n\n window._genesys.widgets = JSON.parse(xhr.responseText);\n\n // show/hide sidebar logic\n if (params.showSidebar) {\n // console.log('show sidebar');\n\n //\n // HAS CALLBACK PARAMS\n //\n if (window._genesys.widgets.callback != null) {\n\n // if mobile, disable default sidebar and inject own version\n if (window.matchMedia(\"(max-width:767px)\").matches) {\n window._genesys.widgets.sidebar.showOnStartup = false;\n\n // else show channel selector button\n document.body.insertAdjacentHTML('beforeend', '
Get in touch
');\n\n\n } else {\n window._genesys.widgets.sidebar.showOnStartup = true;\n }\n\n //\n // NO CALLBACK PARAMS (WEBCHAT ONLY)\n //\n } else {\n\n // only show widget if agents available and within operating hours\n if (window._genesys.widgets.webchat.agentsAvailable) {\n\n if (window.matchMedia(\"(max-width:767px)\").matches) {\n window._genesys.widgets.sidebar.showOnStartup = false;\n\n document.body.insertAdjacentHTML('beforeend', '
Live Chat
');\n\n } else {\n window._genesys.widgets.sidebar.showOnStartup = true;\n }\n\n } else {\n window._genesys.widgets.sidebar.showOnStartup = false;\n }\n\n }\n\n\n } else {\n // console.log('hide sidebar');\n window._genesys.widgets.sidebar.showOnStartup = false;\n }\n\n // afterWebServiceLoad callback\n if (params.afterWebServiceLoad) {\n params.afterWebServiceLoad(\n {\n \"webchatAvailable\": window._genesys.widgets.webchat && window._genesys.widgets.webchat.agentsAvailable,\n \"callbackAvailable\": window._genesys.widgets.callback && window._genesys.widgets.callback.scheduledCallback\n }\n );\n }\n\n\n\n\n // 3. customise webchat registration form\n if (window._genesys.widgets.webchat != null) window._genesys.widgets.webchat.form = formOptions;\n\n // 3. customise callback registration form\n if (window._genesys.widgets.callback != null) window._genesys.widgets.callback.form = callbackFormOptions;\n\n\n\n // 4. extensions\n registerExtensions(params);\n\n // 5. inject custom webchat css\n var l = document.createElement('link');\n l.setAttribute('href', params.pluginsPath + 'genesys_widgets_custom.css');\n l.setAttribute('rel', \"stylesheet\");\n l.setAttribute('type', \"text/css\");\n l.setAttribute('id', \"genesys_widgets_custom\");\n document.body.appendChild(l);\n\n\n var s = document.createElement('script');\n s.setAttribute('src', params.pluginsPath + 'cxbus.min.js');\n s.setAttribute('onload', \"javascript:AG.ui.wde.onConfigLoaded('\" + params.pluginsPath + \"');\");\n document.body.appendChild(s);\n\n }\n else {\n console.error(xhr.statusText);\n }\n };\n xhr.onerror = function () {\n console.error(\"Network Error\");\n };\n var data = {\n url: window.location.href\n };\n\n xhr.open('GET', params.widgetServiceBaseUrl + '/servicing/widgets/main/configuration?data=' + encodeURIComponent(JSON.stringify(data)), true);\n //console.log(params.widgetServiceBaseUrl + '/servicing/widgets/main/configuration?data=' + encodeURIComponent(JSON.stringify(data)));\n\n xhr.send();\n }\n\n return {\n initWDE: initWDE,\n onConfigLoaded: onConfigLoaded\n };\n\n}());","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","require('./scripts/ag.ui.wde.js');\nrequire('./scripts/ag.ui.wde-moveable-chat.js');\nrequire('./scripts/ag.ui.wde-resizeable-chat.js');"],"names":["window","AG","ui","wdeMoveableChat","element","trigger","v_width","v_height","panel_width","panel_height","panel_left","panel_btm","posX","posY","posXdiff","posYdiff","settings","snapAmount","updateAllDimensionsAndConfine","document","documentElement","clientWidth","innerHeight","clientHeight","offsetWidth","offsetHeight","getBoundingClientRect","left","bottom","elementSetPosition","dragMouseDown","e","event","preventDefault","button","touches","clientX","clientY","addEventListener","elementDrag","closeDragElement","panelTop","offsetTop","style","right","removeEventListener","initDraggable","tar","querySelector","updatePanelDimensionsAndConfine","wdeResizeableChat","elementChat","elementDiv","resizers","currentResizer","minimum_width","minimum_height","original_width","original_height","original_x","original_y","original_mouse_x","original_mouse_y","resizeMouseDown","target","currentResizer_y_center","top","Math","ceil","currentResizer_x_center","floor","resize","stopResize","current_mouse_x","current_mouse_y","classList","contains","height","width","initResizeable","className","indexOf","hasClass","resizeHTML","createElement","innerHTML","appendChild","querySelectorAll","i","length","setupResizerHandles","emailErrors","notificationInterval","pageTitle","chatDragInstance","callbackDragInstance","callbackDateString","callbackDate","IsAlphaOrSymbolReg","validateSelect","validateName","validateEmail","formOptions","callbackFormOptions","initCustomSelect","wde","title","RegExp","input","form","$","val","addClass","removeClass","next","remove","dragInstance","string","match","trim","after","reg","regex","valid","push","charAt","wrapper","inputs","type","options","text","value","id","name","maxlength","placeholder","label","validateWhileTyping","validate","CXBus","Common","is","onkeypress","charCode","newVal","replace","substring","location","pathname","each","$this","this","$select","find","$val","on","initWDE","params","_genesys","showSidebar","widgetServiceBaseUrl","pluginsPath","beforeWebServiceLoad","xhr","XMLHttpRequest","onload","status","widgets","JSON","parse","responseText","callback","matchMedia","matches","sidebar","showOnStartup","body","insertAdjacentHTML","webchat","agentsAvailable","afterWebServiceLoad","scheduledCallback","extensions","oWebChatActions","registerPlugin","clearMsgNotification","clearInterval","subscribe","hide","focus","setTimeout","onWebchatScroll","afterWebchatOpened","onclick","command","done","fail","console","log","messageFromType","data","messages","from","messageType","newMessageTitle","notifyToggle","setInterval","show","off","afterWebchatClosed","oCallbackActions","attr","afterCallbackOpened","afterCallbackClosed","_desired_time","$confirmationWrapper","append","_customer_number","phoneNumber","slice","join","callbackCalTitle","callbackCalDescription","callbackCalSubject","requestType","subject","callbackDuration","parseInt","calendar","calendarHours","interval","callbackDateObj","Date","callbackDateObjEnd","getTime","callbackDateEnd","toISOString","googleCalStart","googleCalEnd","outlookCalStartZ","getTimezoneOffset","outlookCalStart","outlookCalEndZ","outlookCalEnd","addToCalStr","concat","encodeURIComponent","afterCallbackComplete","dayString","dateString","timeString","registerExtensions","l","setAttribute","s","error","statusText","onerror","url","href","open","stringify","send","onConfigLoaded","configure","debug","loadPlugin","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","require"],"sourceRoot":""}