{"version":3,"file":"Chat.min.js","names":["ChatWidget","self","this","toggleCobrowse","enabled","window","CXBus","chatPlugin","registerPlugin","subscribe","showCobrowseButton","hideCobrowseButton","setTimeout","Cobrowse","IsSupportedBrowser","$","length","show","document","on","Launch","style","setProperty","adjustPositionForCobrowse","isCobrowseInSession","css","Init","init","context","parsedContext","parseContext","firstname","lastname","email","phone","pageName","policyID","policyNumber","getUsername","username","usernameParts","split","slice","join","getEmail","getPhone","getPageAndPolicyContext","pageContext","undefined","options","sEvarVal","toLowerCase","indexOf","html","location","href","match","replace","referenceNumber","sEvent","trackingInfo","sEvar","area","queue","enableCobrowse","widgetPlugin","e","addClass","contextInfo","Engagement","Track","EngagementType","Area","PageName","Initiated","UserAgent","navigator","userAgent","PolicyID","PolicyNumber","IsInSession","StartChatSession","startChatSession","_genesys","widgets","webchat","transport","interactionData","routing","targetAddress","command","userData","ReferenceNumber","Queue","form","autoSubmit","SendMessage","sendMessage","message","val","click","ToggleCobrowse","AdjustPositionForCobrowse"],"sources":["Purchase/Scripts/ECommShared/Chat.js"],"mappings":"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","sourcesContent":["var ChatWidget = function () {\r\n\r\n var self = this;\r\n\r\n function init(context) {\r\n var parsedContext = parseContext(context);\r\n self.firstname = parsedContext.firstname;\r\n self.lastname = parsedContext.lastname;\r\n self.phone = parsedContext.phone;\r\n self.email = parsedContext.email;\r\n self.referenceNumber = context.referenceNumber;\r\n self.sEvent = context.trackingInfo.sEvent;\r\n self.sEvar = context.trackingInfo.sEvar;\r\n self.sEvarVal = context.trackingInfo.sEvarVal;\r\n self.pageName = parsedContext.pageName;\r\n self.policyID = parsedContext.policyID;\r\n self.policyNumber = parsedContext.policyNumber;\r\n self.area = context.area;\r\n self.queue = context.queue;\r\n self.enableCobrowse = context.enableCobrowse;\r\n\r\n self.widgetPlugin = window.widgetPlugin;\r\n if (!self.widgetPlugin) {\r\n self.widgetPlugin = window.widgetPlugin = window.CXBus.registerPlugin(\"PemcoChat\");\r\n }\r\n\r\n self.widgetPlugin.subscribe('WebChatService.started', function (e) {\r\n $('.cx-window-manager').addClass('ui-dialog');\r\n if (typeof context.getPageAndPolicyContext === \"function\") {\r\n var contextInfo = context.getPageAndPolicyContext();\r\n self.pageName = contextInfo.pageName;\r\n self.policyID = contextInfo.policyID;\r\n self.policyNumber = contextInfo.policyNumber;\r\n }\r\n\r\n toggleCobrowse(self.enableCobrowse);\r\n\r\n Engagement.Track({\r\n EngagementType: 'Chat',\r\n Area: self.area,\r\n PageName: self.pageName,\r\n Initiated: true,\r\n UserAgent: navigator.userAgent,\r\n PolicyID: self.policyID,\r\n PolicyNumber: self.policyNumber\r\n });\r\n\r\n if (typeof Cobrowse !== \"undefined\" && Cobrowse.IsInSession())\r\n window.setTimeout(function () {\r\n adjustPositionForCobrowse(true);\r\n }, 500);\r\n });\r\n }\r\n\r\n function startChatSession() {\r\n window._genesys.widgets.webchat.transport.interactionData.routing.targetAddress = self.queue;\r\n\r\n self.widgetPlugin.command('WebChat.open', {\r\n userData: {\r\n ReferenceNumber: self.referenceNumber,\r\n Queue: self.queue,\r\n PolicyNumber: self.policyNumber\r\n },\r\n form: {\r\n autoSubmit: true,\r\n firstname: self.firstname,\r\n lastname: self.lastname,\r\n email: self.email,\r\n }\r\n });\r\n }\r\n\r\n function toggleCobrowse(enabled) {\r\n if (typeof window.CXBus === \"undefined\")\r\n return;\r\n\r\n if (enabled) {\r\n var chatPlugin = window.CXBus.registerPlugin(\"Chat\");\r\n if (typeof chatPlugin === \"object\")\r\n chatPlugin.subscribe('WebChatService.restored', showCobrowseButton);\r\n else\r\n showCobrowseButton();\r\n }\r\n else {\r\n hideCobrowseButton();\r\n }\r\n }\r\n\r\n function showCobrowseButton() {\r\n // A bit of a hack since at the time when the WebChatService.restored event fires,\r\n // the elements have not yet been added to the DOM yet. Tried with a MutationObserver\r\n // but that became tricky and the code was equally ugly and longer.\r\n window.setTimeout(function () {\r\n if (typeof Cobrowse !== \"object\" || !Cobrowse.IsSupportedBrowser()) {\r\n hideCobrowseButton();\r\n return;\r\n }\r\n\r\n if ($(\".cx-cobrowse\").length > 0)\r\n $(\".cx-cobrowse\").show();\r\n }, 300);\r\n $(document).on(\"click\", \".cx-cobrowse\", Cobrowse.Launch);\r\n }\r\n\r\n function hideCobrowseButton() {\r\n window.setTimeout(function () {\r\n if ($(\".cx-cobrowse\").length > 0) \r\n $(\".cx-widget.cx-theme-light .cx-cobrowse\")[0].style.setProperty('display', 'none', 'important');\r\n }, 300);\r\n }\r\n\r\n function sendMessage(message) {\r\n if ($(\".cx-message-input\").length > 0) {\r\n $(\".cx-message-input\").val(message);\r\n $(\".cx-send\").click();\r\n }\r\n }\r\n\r\n function parseContext(context) { \r\n var firstname, lastname, email, phone, pageName, policyID, policyNumber;\r\n\r\n if (typeof context.getUsername === \"function\") {\r\n let username = context.getUsername();\r\n if (username) {\r\n let usernameParts = username.split(' ');\r\n firstname = username.split(' ')[0];\r\n if (usernameParts.length > 1) {\r\n lastname = usernameParts.slice(1).join(' ');\r\n }\r\n }\r\n }\r\n\r\n if (typeof context.getEmail === \"function\") {\r\n email = context.getEmail();\r\n }\r\n\r\n if (typeof context.getPhone === \"function\") {\r\n phone = context.getPhone();\r\n }\r\n\r\n if (typeof context.getPageAndPolicyContext === \"function\") {\r\n var pageContext = getPageAndPolicyContext();\r\n pageName = pageContext.pageName;\r\n policyID = pageContext.policyID;\r\n policyNumber = pageContext.policyNumber;\r\n }\r\n else {\r\n if (!pageName) {\r\n pageName = document.location.href.match(/[^\\/]+$/)[0].replace('#', '');\r\n } else if (options.sEvarVal != undefined && options.sEvarVal == \"Chat SS:Popup\" && pageName.toLowerCase().indexOf(\"loading\") > -1) {\r\n pageName = $(\"#ui-dialog-title-pep-dialog\").html();\r\n }\r\n }\r\n\r\n return {\r\n firstname: firstname,\r\n lastname: lastname,\r\n email: email,\r\n phone: phone,\r\n pageName: pageName,\r\n policyID: policyID,\r\n policyNumber: policyNumber\r\n };\r\n }\r\n\r\n function adjustPositionForCobrowse(isCobrowseInSession) {\r\n if ($(\".cx-webchat:visible\").length === 0)\r\n return;\r\n\r\n $(\".cx-webchat\").css(\"bottom\", isCobrowseInSession ? \"80px\" : \"0\");\r\n }\r\n\r\n return {\r\n Init: init,\r\n StartChatSession: startChatSession,\r\n SendMessage: sendMessage,\r\n ToggleCobrowse: toggleCobrowse,\r\n AdjustPositionForCobrowse: adjustPositionForCobrowse\r\n }\r\n}();"]}