{"version":3,"file":"scripts.3b0fd6cc6047cf3e.js","mappings":"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","names":["_typeof","obj","Symbol","iterator","constructor","prototype","con","method","dummy","methods","split","pop","window","console","global","apple_phone","apple_ipod","apple_tablet","android_phone","android_tablet","amazon_phone","amazon_tablet","windows_phone","windows_tablet","other_blackberry","other_blackberry_10","other_opera","other_chrome","other_firefox","seven_inch","RegExp","match","regex","userAgent","test","IsMobileClass","ua","navigator","tmp","this","apple","phone","ipod","tablet","device","amazon","android","windows","other","blackberry","blackberry10","opera","firefox","chrome","any","instantiate","IM","Class","module","exports","define","amd","isMobile","Five9Modules","Five9SocialWidget","SharedProactive","ChatModel","EmailModel","Persist","validateOptions","options","tenant","Error","profiles","length","join","rootUrl","getParams","params","key","hasOwnProperty","val","JSON","stringify","encodeURIComponent","substr","loadChatData","loadData","compositeKey","buildChatUrl","chatModelSaved","session","playSoundOnMessage","url","encodeURI","warn","log","buildEmailUrl","buildConsumerPowerUrl","openChat","pollClose","persistedSessionId","persistedData","chatOptions","sessionData","id","sessionId","openWindow","loadCssFile","cssPath","cb","rts","nonce","cacheURL","Date","now","replace","link","document","createElement","rel","type","href","media","addEventListener","e","getElementsByTagName","appendChild","WindowRef","closed","focus","startWindowPoll","topLeft","popupRight","WindowWidth","WindowHeight","props","left","top","open","WindowName","location","err","error","w","h","dualScreenLeft","screenLeft","screen","dualScreenTop","screenTop","width","innerWidth","documentElement","clientWidth","innerHeight","clientHeight","height","removeNodeAndListeners","el","parentNode","src","removeChild","setStyle","prop","style","windowMinimize","frame","querySelector","display","visibility","removeEmbeddedFrame","embeddedFrame","loadDetailData","Key","setState","state","data","saveData","PersistKey","openWindowFromOptions","onMaximizeClicked","inProgress","info","abandonPreview","hideChatOffer","clickMaximize","template","parent","body","innerHTML","addEmbeddedFrame","HeaderHeight","clickMinimize","pollWindowOpen","_pollWindowOpenTimerId","clearInterval","setInterval","onReceiveMessage","message","parse","action","value","addWidget","widgetAdded","namespace","host","ga","dataLayer","find","googleTagId","layer","supportsFeatures","displayWidget","setDomainKey","setNamespace","addTrailingSlash","mobile","buttonClass","buttonText","frameTemplate","classList","add","cssLoaded","setAttribute","done","detailData","step","maximizeButton","minimizeButton","allowMinimize","popoutButton","stopPropagation","allowDragAndDrop","selected","x_pos","y_pos","x_elem","y_elem","getElementById","onmousedown","offsetLeft","offsetTop","onmousemove","all","event","clientX","pageX","clientY","pageY","onmouseup","enableDrageAndDrop","hideDuringAfterHours","Five9","Api","EstimatedWaitTime","areAnyProfilesOpenForBusiness","response","removeWidget","initializeProactiveChat","proactiveInitialized","analyticsProvider","onAccept","onReject","initialize","loadOffers","profileName","onSuccess","selectedProfile","i","name","enablePreviewChat","triggerOffer","offerOptions","maximizeChat","processOfferAccepted","triggerCustomerEngageAccept","processOfferRefused","triggerCustomerEngageReject","ProactivePersist","Version","sessionStorage","getItem","version","date","setItem","MessageTypes","NotificationRootSelector","NotificationActiveClass","ModalRootSelector","TokenId","FarmId","OnEngageAcceptCallback","OnEngageRejectCallback","OnOfferCallback","getValueFromFields","searchKey","fields","nonEmptyString","formatTime","d","hours","getHours","mins","getMinutes","Requests_openChatPreview","onError","restAPI","profile","farmId","APIPath","email","generateAnonEmail","groupId","customFields","push","analyze","language","history","concat","customVariables","timezoneOffset","chatRequest","campaign","proactiveChat","timezone","getTimezoneOffset","String","Math","abs","padStart","xhrOptions","verb","payload","Mock","setTimeout","loggedInProfileAgent","profileId","agentLoggedIn","noServiceMessage","profileSurvey","templateId","templateQuestion","templateThankyouMessage","enableSurvey","xhr","Requests_rejectChatPreviewOffer","gtag","event_category","event_label","engageChatOffer","preview","notificationType","question","timeout","showChatOfferModal","showChatOfferNotification","resume","terminateChat","interactionId","closeSocket","Steps","LoadOffers","save","onSocketReceived","payLoad","context","messageId","parseInt","PREVIEW_ENGAGE_ITEM","engaged","Engaged","onServerTerminated","INTERACTION_TERMINATE","MSG_CHAT_AGENT_TERMINATE","MSG_CHAT_AGENT_ACCEPT","interaction","messages","ownerId","displayName","onChatPreviewSuccess","survey","WaitForEngage","openSocket","OpenSession","tenantName","five9SessionId","tokenId","userId","orgId","Requests_openSession","metadata","dataCenters","apiUrls","tenantId","previewContactEditAllowed","StartChatPreview","offers","sharedOptions","offerCallback","useCustomTemplate","f9CustomPreviewOfferTemplate","f9CustomProactiveOfferTemplate","indexOf","supportsLocalStorage","supportsWebSockets","WebSocket","CLOSING","mod","localStorage","removeItem","consecutivePagesOnly","chatOfferCondition","proactiveChatQuestion","proactiveChatTimeSpent","proactiveChatHoverDuration","proactiveChatNumberOfPages","proactiveChatOfferTimeout","proactiveChatNumberOfOffer","proactiveEstimatedWaitTime","Requests_loadOffers","numberOfOfferPerSession","shallowClone","analytics","postStatusTrigger","formatString","resultCode","ewt","mediaType","Requests_status","businessHours","openForBusiness","estimatedWaitMinutes","round","timestamp","welcomeMessage","parsedInteraction","content","Requests_acceptChatPreviewOffer","notificationFrame","clearTimeout","timeoutId","remove","showChatOffer","rootSelector","parentElement","acceptButton","refuseMethod","refuseButton","headerText","defaultAcceptText","messageText","proactiveClass","header","acceptText","closeText","XMLHttpRequest","onXHRError","textStatus","responseText","withCredentials","setRequestHeader","onreadystatechange","readyState","status","json","onerror","send","s","generateGuid","c","r","random","floor","toString","o","dest","objectToQuery","a","args","arguments","number","arg","onMessage","socketLocation","substring","protocol","socket","onmessage","close","token","removeData","listenData","newValue","oldValue","fetch","callback","request","responseType","hasTenant","hasProfile","hasRootUrl","isValid","fetchAll","iterations","responses","Array","isArray","forEach","iterateApi","availableCampaigns","MSG_TO_IGNORE_1","MSG_TO_IGNORE_2","MSG_TO_IGNORE_3","MSG_BROWSER_NOT_SUPPORTED","MSG_CONNECTION_NOT_AVAILABLE","RESULT_SUCCESS","RESULT_ERROR","TRANSFER_TO_GROUP","TRANSFERT_TO_AGENT","AGENT_TRANSFER_AGENT","INTERACTION_TERMINATED","MSG_CHAT_CLIENT_REQUEST","MSG_CHAT_CLIENT_MESSAGE","MSG_CHAT_CLIENT_TERMINATE","MSG_CHAT_CLIENT_MESSAGE_RECEIVED","MSG_CHAT_CLIENT_TYPING","MSG_NO_SERVICE","PREVIEW_OFFER_ITEM","PREVIEW_ASSIGN_ITEM","PREVIEW_REJECT_ITEM","PREVIEW_ENGAGE_ACCEPT_ITEM","PREVIEW_ENGAGE_REJECT_ITEM","CUSTOMER_CONTACT_UPDATE","PREVIEW_OFFER_CHERRY_ITEM","PREVIEW_LOCK_CHERRY_ITEM","MSG_CHAT_AGENT_MESSAGE","MSG_CHAT_AGENT_MESSAGE_TO_AGENT","MSG_CHAT_AGENT_TYPING","MSG_CHAT_AGENT_MESSAGE_RECEIVED","MSG_CHAT_AGENT_ADD_AGENT_TO_CHAT","MSG_CHAT_AGENT_REMOVE_AGENT_FROM_CHAT","MSG_CHAT_SIGHTCALL_ESCALATION","MSG_CHAT_SIGHTCALL_VIDEO_ACTIVATED","MSG_CHAT_SIGHTCALL_VIDEO_TERMINATED","MSG_CHAT_SIGHTCALL_CANCELED","MSG_CHAT_AGENT_CONFERENCE_AGENT","MSG_CHAT_AGENT_COMFORT_MESSAGE","MSG_CHAT_AUTO_CLOSE","MSG_TEXT","MSG_HTML","MSG_VOICE","MSG_VIDEO","MSG_FILE","STATE_PENDING","STATE_DELIVERED","STATE_TYPING","STATE_DELETING","FROM_AGENT","FROM_CLIENT","FROM_SERVER","FROM_TYPING","CHAT_STATE_ACTIVE","CHAT_STATE_TEMINATED","IN","OUT","getDescription","Unknown","Information","Connecting","Conversation","Finished","PreviewSteps","EditContact","Complete","SystemFields","domainKey","previewStep","information","subject","highContrastEnabled","fontSize","conversation","transferring","addEWTMessage","connectingMessage","messageSequence","SaveDisabled","isDomainKey","ns","domainKeyPart","btoa","namespacePart","getStep","setStep","isTransferring","setTransferring","setAddEWTMessage","hasConnectingMessage","getConnectingMessage","setConnectingMessage","getMessages","addMessage","updateMessage","text","filter","m","messageContent","getMessageSequence","incrementMessageSequence","getPreviewStep","setPreviewStep","getPlaySound","setPlaySound","playSound","getHighContrastEnabled","setHighContrastEnabled","enabled","getFontSize","setFontSize","size","addListeners","$","change","on","modelToView","gSession","setSession","viewToModel","getSession","each","inArray","$input","messagesData","chatMessage","ChatMessage","messageType","messageDirection","originatorType","originatorEmail","originatorName","destinators","contentType","confirmation","referenceId","removeUserNames","disableSave","App","sendMessageToParent","reset","hiddenFields","setHiddenFields","gEmailEventHandler","setProfileName","field","hide","customFieldKeys","Object","getOwnPropertyNames","ind","attr"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["src/scripts/five9-social-widget.js"],"sourcesContent":["function _typeof(obj) {\n\t\"@babel/helpers - typeof\";\n\treturn (_typeof =\n\t \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator\n\t\t? function (obj) {\n\t\t\treturn typeof obj;\n\t\t }\n\t\t: function (obj) {\n\t\t\treturn obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t\t })(obj);\n }\n !(function (con) {\n\tfor (var method, dummy = function () {}, methods = \"assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn\".split(\",\"); (method = methods.pop()); )\n\t con[method] = con[method] || dummy;\n })((window.console = window.console || {})),\n\t(function (global) {\n\t var apple_phone = /iPhone/i,\n\t\tapple_ipod = /iPod/i,\n\t\tapple_tablet = /iPad/i,\n\t\tandroid_phone = /(?=.*\\bAndroid\\b)(?=.*\\bMobile\\b)/i,\n\t\tandroid_tablet = /Android/i,\n\t\tamazon_phone = /(?=.*\\bAndroid\\b)(?=.*\\bSD4930UR\\b)/i,\n\t\tamazon_tablet = /(?=.*\\bAndroid\\b)(?=.*\\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\\b)/i,\n\t\twindows_phone = /IEMobile/i,\n\t\twindows_tablet = /(?=.*\\bWindows\\b)(?=.*\\bARM\\b)/i,\n\t\tother_blackberry = /BlackBerry/i,\n\t\tother_blackberry_10 = /BB10/i,\n\t\tother_opera = /Opera Mini/i,\n\t\tother_chrome = /(CriOS|Chrome)(?=.*\\bMobile\\b)/i,\n\t\tother_firefox = /(?=.*\\bFirefox\\b)(?=.*\\bMobile\\b)/i,\n\t\tseven_inch = new RegExp(\"(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)\", \"i\"),\n\t\tmatch = function (regex, userAgent) {\n\t\t return regex.test(userAgent);\n\t\t},\n\t\tIsMobileClass = function (userAgent) {\n\t\t var ua = userAgent || navigator.userAgent,\n\t\t\ttmp = ua.split(\"[FBAN\");\n\t\t if (\n\t\t\t(void 0 !== tmp[1] && (ua = tmp[0]),\n\t\t\tvoid 0 !== (tmp = ua.split(\"Twitter\"))[1] && (ua = tmp[0]),\n\t\t\t(this.apple = {\n\t\t\t phone: match(apple_phone, ua),\n\t\t\t ipod: match(apple_ipod, ua),\n\t\t\t tablet: !match(apple_phone, ua) && match(apple_tablet, ua),\n\t\t\t device: match(apple_phone, ua) || match(apple_ipod, ua) || match(apple_tablet, ua),\n\t\t\t}),\n\t\t\t(this.amazon = { phone: match(amazon_phone, ua), tablet: !match(amazon_phone, ua) && match(amazon_tablet, ua), device: match(amazon_phone, ua) || match(amazon_tablet, ua) }),\n\t\t\t(this.android = {\n\t\t\t phone: match(amazon_phone, ua) || match(android_phone, ua),\n\t\t\t tablet: !match(amazon_phone, ua) && !match(android_phone, ua) && (match(amazon_tablet, ua) || match(android_tablet, ua)),\n\t\t\t device: match(amazon_phone, ua) || match(amazon_tablet, ua) || match(android_phone, ua) || match(android_tablet, ua),\n\t\t\t}),\n\t\t\t(this.windows = { phone: match(windows_phone, ua), tablet: match(windows_tablet, ua), device: match(windows_phone, ua) || match(windows_tablet, ua) }),\n\t\t\t(this.other = {\n\t\t\t blackberry: match(other_blackberry, ua),\n\t\t\t blackberry10: match(other_blackberry_10, ua),\n\t\t\t opera: match(other_opera, ua),\n\t\t\t firefox: match(other_firefox, ua),\n\t\t\t chrome: match(other_chrome, ua),\n\t\t\t device: match(other_blackberry, ua) || match(other_blackberry_10, ua) || match(other_opera, ua) || match(other_firefox, ua) || match(other_chrome, ua),\n\t\t\t}),\n\t\t\t(this.seven_inch = match(seven_inch, ua)),\n\t\t\t(this.any = this.apple.device || this.android.device || this.windows.device || this.other.device || this.seven_inch),\n\t\t\t(this.phone = this.apple.phone || this.android.phone || this.windows.phone),\n\t\t\t(this.tablet = this.apple.tablet || this.android.tablet || this.windows.tablet),\n\t\t\t\"undefined\" == typeof window)\n\t\t )\n\t\t\treturn this;\n\t\t},\n\t\tinstantiate = function () {\n\t\t var IM = new IsMobileClass();\n\t\t return (IM.Class = IsMobileClass), IM;\n\t\t};\n\t \"undefined\" != typeof module && module.exports && \"undefined\" == typeof window\n\t\t? (module.exports = IsMobileClass)\n\t\t: \"undefined\" != typeof module && module.exports && \"undefined\" != typeof window\n\t\t? (module.exports = instantiate())\n\t\t: \"function\" == typeof define && define.amd\n\t\t? define(\"isMobile\", [], (global.isMobile = instantiate()))\n\t\t: (global.isMobile = instantiate());\n\t})(this);\n var Five9Modules = {},\n\tFive9SocialWidget = (function () {\n\t var SharedProactive,\n\t\tChatModel,\n\t\tEmailModel,\n\t\tPersist,\n\t\tvalidateOptions = function (options) {\n\t\t if (\"string\" != typeof options.tenant) throw new Error(\"Must specify a tenant\");\n\t\t if ((\"object\" === _typeof(options.profiles) && options.profiles.length && (options.profiles = options.profiles.join(\",\")), \"string\" != typeof options.profiles)) throw new Error(\"Must specify profiles\");\n\t\t options.rootUrl = options.rootUrl || \"\";\n\t\t},\n\t\tgetParams = function (options) {\n\t\t var params = \"\";\n\t\t for (var key in options)\n\t\t\tif (options.hasOwnProperty(key)) {\n\t\t\t var val = options[key];\n\t\t\t null !== val &&\n\t\t\t\tvoid 0 !== val &&\n\t\t\t\t\"undefined\" !== val &&\n\t\t\t\t\"\" !== val &&\n\t\t\t\t\"function\" != typeof val &&\n\t\t\t\t\"rootUrl\" !== key &&\n\t\t\t\t\"type\" !== key &&\n\t\t\t\t\"profile\" !== key &&\n\t\t\t\t(\"object\" === _typeof(val) && (val = JSON.stringify(val)), (params += \"&\" + key + \"=\" + encodeURIComponent(val)));\n\t\t\t}\n\t\t return params.substr(1);\n\t\t},\n\t\tloadChatData = function () {\n\t\t return Persist.loadData(ChatModel.compositeKey());\n\t\t},\n\t\tbuildChatUrl = function (options) {\n\t\t var rootUrl = options.rootUrl,\n\t\t\tchatModelSaved = loadChatData();\n\t\t chatModelSaved && chatModelSaved.session && (options.playSoundOnMessage = !!chatModelSaved.session.playSoundOnMessage && chatModelSaved.session.playSoundOnMessage);\n\t\t var url = encodeURI(rootUrl + \"ChatConsole/index.html?\") + getParams(options);\n\t\t return url && url.length > 2e3 ? console.warn(\"chat url length is: \", url.length) : console.log(\"chat url length is: \", url.length), url;\n\t\t},\n\t\tbuildEmailUrl = function (options) {\n\t\t var rootUrl = options.rootUrl,\n\t\t\turl = encodeURI(rootUrl + \"EmailConsole/index.html?\") + getParams(options);\n\t\t return url && url.length > 2e3 ? console.warn(\"email url length is: \", url.length) : console.log(\"email url length is: \", url.length), url;\n\t\t},\n\t\tbuildConsumerPowerUrl = function (options) {\n\t\t var rootUrl = options.rootUrl,\n\t\t\turl = encodeURI(rootUrl + \"ConsumerPowerConsole/index.html?\") + getParams(options);\n\t\t return url && url.length > 2e3 ? console.warn(\"consumer power url length is: \", url.length) : console.log(\"consumer power length is: \", url.length), url;\n\t\t},\n\t\topenChat = function (options, pollClose) {\n\t\t options = options || {};\n\t\t var persistedSessionId,\n\t\t\tpersistedData = Persist.loadData(ChatModel.compositeKey()),\n\t\t\tchatOptions = Five9Modules.SharedProactive.sessionData.chatOptions;\n\t\t persistedData && persistedData.session && persistedData.session.id && (persistedSessionId = persistedData.session.id),\n\t\t\tchatOptions && chatOptions.sessionId && chatOptions.sessionId === persistedSessionId && (options = chatOptions),\n\t\t\tvalidateOptions(options);\n\t\t var url = buildChatUrl(options);\n\t\t return console.log(\"openChat\", url), openWindow(url, pollClose);\n\t\t},\n\t\tloadCssFile = function (cssPath, cb) {\n\t\t var url, rts, nonce, cacheURL;\n\t\t (url = cssPath), (rts = /([?&])_=[^&]*/), (nonce = Date.now()), (cacheURL = url), (cssPath = url = rts.test(cacheURL) ? cacheURL.replace(rts, \"$1_=\" + nonce++) : cacheURL + (/\\?/.test(cacheURL) ? \"&\" : \"?\") + \"_=\" + nonce++);\n\t\t var link = document.createElement(\"link\");\n\t\t (link.rel = \"stylesheet\"),\n\t\t\t(link.type = \"text/css\"),\n\t\t\t(link.href = cssPath),\n\t\t\t(link.media = \"all\"),\n\t\t\t\"function\" == typeof cb &&\n\t\t\t link.addEventListener(\n\t\t\t\t\"load\",\n\t\t\t\tfunction (e) {\n\t\t\t\t cb(null, e);\n\t\t\t\t},\n\t\t\t\t!1\n\t\t\t ),\n\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(link);\n\t\t},\n\t\topenWindow = function (url, pollClose) {\n\t\t try {\n\t\t\tif (Five9SocialWidget.WindowRef && !Five9SocialWidget.WindowRef.closed) return Five9SocialWidget.WindowRef.focus(), pollClose && startWindowPoll(), !0;\n\t\t\tvar topLeft = popupRight(Five9SocialWidget.WindowWidth, Five9SocialWidget.WindowHeight),\n\t\t\t props = \"width=\" + Five9SocialWidget.WindowWidth + \",height=\" + Five9SocialWidget.WindowHeight + \",left=\" + topLeft.left + \",top=\" + topLeft.top;\n\t\t\treturn (\n\t\t\t (props += \",location=no,menubar=no,resizable=yes,scrollbars=no,status=no,titlebar=no,toolbar=no\"),\n\t\t\t (Five9SocialWidget.WindowRef = window.open(\"\", Five9SocialWidget.WindowName, props)),\n\t\t\t \"about:blank\" === Five9SocialWidget.WindowRef.location.href ? (Five9SocialWidget.WindowRef = window.open(url, Five9SocialWidget.WindowName, props)) : Five9SocialWidget.WindowRef.focus(),\n\t\t\t pollClose && startWindowPoll(),\n\t\t\t !0\n\t\t\t);\n\t\t } catch (err) {\n\t\t\treturn console.error(\"Exception during openWindow\", err), !1;\n\t\t }\n\t\t},\n\t\tpopupRight = function (w, h) {\n\t\t var dualScreenLeft = void 0 !== window.screenLeft ? window.screenLeft : screen.left,\n\t\t\tdualScreenTop = void 0 !== window.screenTop ? window.screenTop : screen.top,\n\t\t\twidth = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;\n\t\t return {\n\t\t\ttop: (window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height) - 50 - h / 2 + dualScreenTop,\n\t\t\tleft: width - 0 - w / 2 + dualScreenLeft,\n\t\t };\n\t\t},\n\t\tremoveNodeAndListeners = function (el) {\n\t\t el && el.parentNode && ((el.src = \"about:blank\"), el.parentNode.removeChild(el));\n\t\t},\n\t\tsetStyle = function (el, props) {\n\t\t if (el) for (var prop in props) el.style[prop] = props[prop];\n\t\t},\n\t\twindowMinimize = function () {\n\t\t setStyle(Five9SocialWidget.frame.querySelector(\".five9-frame-minimized\"), { display: \"block\" }), setStyle(Five9SocialWidget.frame.querySelector(\".five9-frame-full\"), { display: \"none\", visibility: \"hidden\" });\n\t\t},\n\t\taddEmbeddedFrame = function (options) {\n\t\t console.log(\"addEmbeddedFrame options: \", options);\n\t\t var url = \"email\" === options.type ? buildEmailUrl(options) : \"consumer\" === options.type ? buildConsumerPowerUrl(options) : buildChatUrl(options);\n\t\t (console.log(\"addEmbeddedFrame\", url), Five9SocialWidget.frame.querySelector(\"#embedded-frame\")) ||\n\t\t\t(!(function (selector, template) {\n\t\t\t var parent = document.body.querySelector(selector),\n\t\t\t\tframe = document.createElement(\"div\");\n\t\t\t (frame.innerHTML = template), parent.appendChild(frame);\n\t\t\t})(\".five9-frame-full\", '\"),\n\t\t\tconsole.log(\"WIDGET: add embedded frame\"));\n\t\t},\n\t\tremoveEmbeddedFrame = function () {\n\t\t var embeddedFrame = Five9SocialWidget.frame.querySelector(\"#embedded-frame\");\n\t\t embeddedFrame && (removeNodeAndListeners(embeddedFrame), console.log(\"WIDGET: remove embedded frame\"));\n\t\t},\n\t\tloadDetailData = function (options) {\n\t\t return \"chat\" === options.type ? loadChatData() : Persist.loadData(EmailModel.Key);\n\t\t},\n\t\tsetState = function (state) {\n\t\t (Five9SocialWidget.data.state = state), Persist.saveData(Five9SocialWidget.PersistKey, Five9SocialWidget.data);\n\t\t},\n\t\topenWindowFromOptions = function (options) {\n\t\t \"email\" === options.type\n\t\t\t? (function (options, pollClose) {\n\t\t\t\tvalidateOptions((options = options || {}));\n\t\t\t\tvar url = buildEmailUrl(options);\n\t\t\t\tconsole.log(\"openEmail\", url), openWindow(url, pollClose);\n\t\t\t })(options, !0)\n\t\t\t: \"consumer\" === options.type\n\t\t\t? (function (options, pollClose) {\n\t\t\t\tvalidateOptions((options = options || {}));\n\t\t\t\tvar url = buildConsumerPowerUrl(options);\n\t\t\t\tconsole.log(\"openConsumerPower\", url), openWindow(url, pollClose);\n\t\t\t })(options, !0)\n\t\t\t: openChat(options, !0);\n\t\t},\n\t\tonMaximizeClicked = function (options) {\n\t\t SharedProactive && SharedProactive.inProgress() && (console.info(\"Customer triggered manual chat. abandon preview chat\"), SharedProactive.abandonPreview(), SharedProactive.hideChatOffer()),\n\t\t\t\"minimized\" === Five9SocialWidget.data.state\n\t\t\t ? (console.log(\"WIDGET: maximize widget\"), Five9SocialWidget.isMobile ? (openWindowFromOptions(options), setState(\"popout\")) : clickMaximize(options))\n\t\t\t : \"popout\" === Five9SocialWidget.data.state && (console.log(\"WIDGET: widget has popout. attempt to re-use / open window\"), openWindowFromOptions(options));\n\t\t},\n\t\tclickMaximize = function (options) {\n\t\t addEmbeddedFrame(options),\n\t\t\tsetStyle(Five9SocialWidget.frame.querySelector(\".five9-frame-minimized\"), { display: \"none\" }),\n\t\t\tsetStyle(Five9SocialWidget.frame.querySelector(\".five9-frame-full\"), { display: \"block\", visibility: \"visible\", height: Five9SocialWidget.WindowHeight + Five9SocialWidget.HeaderHeight + \"px\" }),\n\t\t\tsetState(\"maximized\");\n\t\t},\n\t\tclickMinimize = function () {\n\t\t windowMinimize(), setState(\"minimized\");\n\t\t},\n\t\tpollWindowOpen = function () {\n\t\t Five9SocialWidget.WindowRef &&\n\t\t\tFive9SocialWidget.WindowRef.closed &&\n\t\t\t(setState(\"minimized\"), Five9SocialWidget._pollWindowOpenTimerId && (clearInterval(Five9SocialWidget._pollWindowOpenTimerId), (Five9SocialWidget._pollWindowOpenTimerId = null)), console.log(\"WIDGET: popout was closed\"));\n\t\t},\n\t\tstartWindowPoll = function () {\n\t\t Five9SocialWidget._pollWindowOpenTimerId = setInterval(pollWindowOpen, 200);\n\t\t},\n\t\tonReceiveMessage = function (e) {\n\t\t try {\n\t\t\tif (e && \"string\" == typeof e.data) {\n\t\t\t var messageData = e.data,\n\t\t\t\tmessage = JSON.parse(messageData);\n\t\t\t message && (\"minimize\" === message.action ? (\"popout\" !== Five9SocialWidget.data.state && removeEmbeddedFrame(), clickMinimize()) : \"set-localstorage\" === message.action && Persist.saveData(message.key, message.value));\n\t\t\t}\n\t\t } catch (err) {}\n\t\t},\n\t\tenableDrageAndDrop = function () {\n\t\t var selected = null,\n\t\t\tx_pos = 0,\n\t\t\ty_pos = 0,\n\t\t\tx_elem = 0,\n\t\t\ty_elem = 0;\n\t\t (document.getElementById(\"five9-frame-full\").onmousedown = function () {\n\t\t\treturn (x_elem = x_pos - (selected = this).offsetLeft), (y_elem = y_pos - selected.offsetTop), !1;\n\t\t }),\n\t\t\t(document.onmousemove = function (e) {\n\t\t\t (x_pos = document.all ? window.event.clientX : e.pageX),\n\t\t\t\t(y_pos = document.all ? window.event.clientY : e.pageY),\n\t\t\t\tnull !== selected && ((selected.style.left = x_pos - x_elem + \"px\"), (selected.style.top = y_pos - y_elem + \"px\"));\n\t\t\t}),\n\t\t\t(document.onmouseup = function () {\n\t\t\t selected = null;\n\t\t\t});\n\t\t};\n\t return {\n\t\tWindowRef: null,\n\t\tWindowName: \"Five9SocialWidget\",\n\t\tWindowWidth: 320,\n\t\tWindowHeight: 550,\n\t\tHeaderHeight: 40,\n\t\tPersistKey: \"f9-social-widget\",\n\t\tremoveEmbeddedFrame: removeEmbeddedFrame,\n\t\tdata: { state: \"minimized\", type: null },\n\t\taddWidget: function (options) {\n\t\t if (!Five9SocialWidget.widgetAdded) {\n\t\t\tif ((((options = options || {}).namespace = options.namespace || window.location.host), validateOptions(options), !options.ga && window.dataLayer && \"function\" == typeof window.dataLayer.find)) {\n\t\t\t var googleTagId = window.dataLayer.find(function (layer) {\n\t\t\t\treturn \"config\" === layer[0];\n\t\t\t });\n\t\t\t googleTagId && googleTagId[1] && (options.ga = googleTagId[1]);\n\t\t\t}\n\t\t\tif (\n\t\t\t ((Five9SocialWidget.options = options),\n\t\t\t (ChatModel = Five9Modules.ChatModel),\n\t\t\t (EmailModel = Five9Modules.EmailModel),\n\t\t\t (Persist = Five9Modules.Persist),\n\t\t\t (SharedProactive = Five9Modules.SharedProactive),\n\t\t\t (ChatModel && EmailModel && Persist && SharedProactive) || console.error(\"Fatal error: missing modules\", Five9Modules),\n\t\t\t !SharedProactive.supportsFeatures())\n\t\t\t)\n\t\t\t return !1;\n\t\t\tvar displayWidget = function () {\n\t\t\t ChatModel.setDomainKey(options.tenant), ChatModel.setNamespace(options.namespace), (options.rootUrl = SharedProactive.addTrailingSlash(options.rootUrl));\n\t\t\t var mobile = !!isMobile && isMobile.any;\n\t\t\t (Five9SocialWidget.isMobile = mobile), (Five9SocialWidget.widgetAdded = !0), window.addEventListener(\"message\", onReceiveMessage, !1), console.info(\"addWidget\", { rootUrl: options.rootUrl, isMobile: mobile });\n\t\t\t var buttonClass = \"email\" === options.type ? \"five9-email-button\" : \"five9-chat-button\",\n\t\t\t\tbuttonText = \"email\" === options.type ? \"Email\" : \"consumer\" === options.type ? \"Contact Us\" : \"Chat\",\n\t\t\t\tframeTemplate =\n\t\t\t\t '
' +\n\t\t\t\t buttonText +\n\t\t\t\t '
' +\n\t\t\t\t buttonText +\n\t\t\t\t '
',\n\t\t\t\tframe = document.createElement(\"div\");\n\t\t\t if (((frame.innerHTML = frameTemplate), frame.classList.add(\"five9-frame\"), Five9SocialWidget.cssLoaded)) frame.setAttribute(\"style\", \"width: \" + Five9SocialWidget.WindowWidth + \"px;\");\n\t\t\t else {\n\t\t\t\tvar cssPath = options.rootUrl + \"SocialWidget/five9-social-widget.css\";\n\t\t\t\tloadCssFile(cssPath, function () {\n\t\t\t\t setStyle(frame, { display: \"block\" }), \"function\" == typeof options.done && options.done();\n\t\t\t\t}),\n\t\t\t\t frame.setAttribute(\"style\", \"width: \" + Five9SocialWidget.WindowWidth + \"px;display:none;\"),\n\t\t\t\t (Five9SocialWidget.cssLoaded = !0);\n\t\t\t }\n\t\t\t document.body.appendChild(frame), (Five9SocialWidget.frame = frame);\n\t\t\t var data = Persist.loadData(Five9SocialWidget.PersistKey);\n\t\t\t if ((data && (Five9SocialWidget.data = data), (Five9SocialWidget.data.type = options.type), \"maximized\" === Five9SocialWidget.data.state)) {\n\t\t\t\tvar detailData = loadDetailData(options);\n\t\t\t\tdetailData && \"Finished\" === detailData.step\n\t\t\t\t ? (console.log(\"WIDGET: widget frame is finished. no need to re-maximize\"), setState(\"minimized\"))\n\t\t\t\t : (console.log(\"WIDGET: widget was maximized. re-maximize\"), clickMaximize(options));\n\t\t\t } else \"popout\" === Five9SocialWidget.data.state && console.log(\"WIDGET: widget was popout. no need to do anything until customer clicks\");\n\t\t\t var maximizeButton = frame.querySelector(\"#five9-maximize-button\");\n\t\t\t maximizeButton &&\n\t\t\t\tmaximizeButton.addEventListener(\"click\", function (e) {\n\t\t\t\t onMaximizeClicked(options);\n\t\t\t\t});\n\t\t\t var minimizeButton = frame.querySelector(\"#five9-minimize-icon\");\n\t\t\t minimizeButton &&\n\t\t\t\tminimizeButton.addEventListener(\"click\", function (e) {\n\t\t\t\t console.log(\"WIDGET: attempt to minimize widget\"),\n\t\t\t\t\t(detailData = loadDetailData(options)),\n\t\t\t\t\t\"consumer\" === options.type\n\t\t\t\t\t ? (clickMinimize(), console.log(\"WIDGET: minimize widget\"))\n\t\t\t\t\t : \"chat\" === options.type && ChatModel.allowMinimize(detailData)\n\t\t\t\t\t ? (clickMinimize(), console.log(\"WIDGET: minimize widget\"))\n\t\t\t\t\t : \"email\" === options.type && EmailModel.allowMinimize(detailData) && (clickMinimize(), console.log(\"WIDGET: minimize widget\"));\n\t\t\t\t});\n\t\t\t var popoutButton = frame.querySelector(\"#five9-popout-button\");\n\t\t\t popoutButton &&\n\t\t\t\tpopoutButton.addEventListener(\"click\", function (e) {\n\t\t\t\t return (\n\t\t\t\t\te.stopPropagation(),\n\t\t\t\t\t(function (options) {\n\t\t\t\t\t windowMinimize(), removeEmbeddedFrame(), openWindowFromOptions(options), setState(\"popout\");\n\t\t\t\t\t})(options),\n\t\t\t\t\tconsole.log(\"WIDGET: popout the widget\"),\n\t\t\t\t\t!1\n\t\t\t\t );\n\t\t\t\t}),\n\t\t\t\toptions.allowDragAndDrop && enableDrageAndDrop();\n\t\t\t};\n\t\t\t\"chat\" === options.type && options.hideDuringAfterHours\n\t\t\t ? Five9.Api.EstimatedWaitTime.areAnyProfilesOpenForBusiness({ tenant: options.tenant, profiles: options.profiles.split(\",\"), rootUrl: options.rootUrl.replace(\"consoles/\", \"\") }, function (error, response) {\n\t\t\t\t error ? console.error(\"Five9: Error checking business hours\", error) : response.length && displayWidget();\n\t\t\t\t})\n\t\t\t : displayWidget();\n\t\t }\n\t\t},\n\t\tremoveWidget: function () {\n\t\t Five9SocialWidget.widgetAdded = !1;\n\t\t var frame = Five9SocialWidget.frame;\n\t\t frame && (delete Five9SocialWidget.frame, removeNodeAndListeners(frame));\n\t\t},\n\t\tinitializeProactiveChat: function (options) {\n\t\t if (!Five9SocialWidget.proactiveInitialized) {\n\t\t\tif ((validateOptions((options = options || {})), (SharedProactive = Five9Modules.SharedProactive) || console.error(\"Fatal error: missing modules\", Five9Modules), !SharedProactive.supportsFeatures())) return !1;\n\t\t\tif (!Five9SocialWidget.cssLoaded) {\n\t\t\t var cssPath = options.rootUrl + \"SocialWidget/five9-social-widget.css\";\n\t\t\t loadCssFile(cssPath), (Five9SocialWidget.cssLoaded = !0);\n\t\t\t}\n\t\t\t(options.analyticsProvider = 2),\n\t\t\t (options.onAccept = function (chatOptions) {\n\t\t\t\tFive9SocialWidget.widgetAdded ? onMaximizeClicked(chatOptions) : openChat(chatOptions, !1);\n\t\t\t }),\n\t\t\t (options.onReject = function () {}),\n\t\t\t SharedProactive.initialize(options),\n\t\t\t (Five9SocialWidget.proactiveInitialized = !0);\n\t\t }\n\t\t},\n\t\tloadOffers: function (profileName, onSuccess) {\n\t\t if (\"string\" != typeof profileName) throw new Error(\"Must specify a profileName\");\n\t\t onSuccess = onSuccess || function () {};\n\t\t SharedProactive.loadOffers(function (response) {\n\t\t\tconsole.info(\"onLoadOffersSuccess\", response);\n\t\t\tfor (var selectedProfile = null, i = 0; i < response.length; i++)\n\t\t\t if (response[i].name === profileName) {\n\t\t\t\tselectedProfile = response[i];\n\t\t\t\tbreak;\n\t\t\t }\n\t\t\tselectedProfile\n\t\t\t ? (selectedProfile.enablePreviewChat ? console.log(\"Preview chat enabled for \" + profileName) : console.log(\"Preview chat not enabled for \" + profileName), onSuccess(selectedProfile))\n\t\t\t : console.error(\"onLoadOffersSuccess() campaign not found\", profileName);\n\t\t });\n\t\t},\n\t\ttriggerOffer: function (offerOptions) {\n\t\t return (\n\t\t\tconsole.log(\"five9-social-widget:triggerOffer\", offerOptions),\n\t\t\t\"minimized\" === Five9SocialWidget.data.state ? (SharedProactive.triggerOffer(offerOptions), !0) : (console.warn(\"Customer is starting a manual chat. offer not triggered\"), !1)\n\t\t );\n\t\t},\n\t\tmaximizeChat: function (chatOptions) {\n\t\t Five9SocialWidget.widgetAdded ? onMaximizeClicked(chatOptions) : console.error(\"Widget must be added to maximize chat\");\n\t\t},\n\t\tprocessOfferAccepted: function () {\n\t\t SharedProactive.triggerCustomerEngageAccept();\n\t\t},\n\t\tprocessOfferRefused: function () {\n\t\t SharedProactive.triggerCustomerEngageReject();\n\t\t},\n\t };\n\t})();\n !(function () {\n\tvar ProactivePersist = {\n\t Version: 1,\n\t Key: \"f9-offers\",\n\t loadData: function () {\n\t\ttry {\n\t\t var data = sessionStorage.getItem(ProactivePersist.Key);\n\t\t if (data) {\n\t\t\ttry {\n\t\t\t data = JSON.parse(data);\n\t\t\t} catch (err) {}\n\t\t\tif (data.version === ProactivePersist.Version) return console.info(\"Persist:loadData()\", ProactivePersist.Key, data), delete data.version, delete data.date, data;\n\t\t }\n\t\t} catch (err) {}\n\t },\n\t saveData: function (data) {\n\t\ttry {\n\t\t (data.date = Date.now()), (data.version = ProactivePersist.Version), sessionStorage.setItem(ProactivePersist.Key, JSON.stringify(data)), console.info(\"Persist:saveData()\", ProactivePersist.Key, data);\n\t\t} catch (err) {}\n\t },\n\t};\n\tFive9Modules && (Five9Modules.ProactivePersist = ProactivePersist);\n })(),\n\t(function () {\n\t var MessageTypes,\n\t\tProactivePersist,\n\t\tNotificationRootSelector = \"five9-notification\",\n\t\tNotificationActiveClass = \"active\",\n\t\tModalRootSelector = \"five9-modal\",\n\t\tTokenId = !1,\n\t\tFarmId = !1,\n\t\tOnEngageAcceptCallback = function () {},\n\t\tOnEngageRejectCallback = function () {},\n\t\tOnOfferCallback = function () {},\n\t\tgetValueFromFields = function (searchKey, fields) {\n\t\t for (var key in fields) if (key === searchKey && fields[key].value && SharedProactive.nonEmptyString(fields[key].value)) return fields[key].value;\n\t\t return \"\";\n\t\t},\n\t\tformatTime = function (d) {\n\t\t var hours = d.getHours();\n\t\t hours = hours % 12 > 0 ? hours % 12 : 12;\n\t\t var mins = d.getMinutes();\n\t\t return hours + \":\" + (mins = mins < 10 ? \"0\" + mins : mins) + \" \" + (d.getHours() > 12 ? \"pm\" : \"am\");\n\t\t},\n\t\tRequests_loadOffers = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"loadOffers() Must specify a restAPI\");\n\t\t if (\"string\" != typeof options.tenant) throw new Error(\"loadOffers() Must specify a tenant\");\n\t\t (options.restAPI = SharedProactive.addTrailingSlash(options.restAPI)), (options.rootUrl = SharedProactive.addTrailingSlash(options.rootUrl));\n\t\t var xhrOptions = { url: options.restAPI + SharedProactive.APIPath + \"orgs/-1/chatoffers/\" + options.tenant, verb: \"GET\" };\n\t\t SharedProactive.Mock\n\t\t\t? setTimeout(function () {\n\t\t\t\t(onSuccess =\n\t\t\t\t onSuccess ||\n\t\t\t\t function () {})([{ name: \"user1_inbound_5555550001\", id: 1459464962, tenantId: \"421\", groupId: \"1631\", consecutivePagesOnly: 0, chatOfferCondition: \"Amount_of_time_spent\", proactiveChatQuestion: \"Do you need help?\", proactiveChatTimeSpent: 10, proactiveChatHoverDuration: 10, proactiveChatNumberOfPages: 1, proactiveChatOfferTimeout: 10, proactiveChatNumberOfOffer: 30, proactiveEstimatedWaitTime: 1, enablePreviewChat: 1, previewContactEditAllowed: 0 }]);\n\t\t\t }, 1e3)\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tRequests_status = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"status() Must specify a restAPI\");\n\t\t if (void 0 === options.tenantId) throw new Error(\"status() Must specify a tenantId\");\n\t\t if (void 0 === options.groupId) throw new Error(\"status() Must specify a groupId\");\n\t\t (options.restAPI = SharedProactive.addTrailingSlash(options.restAPI)), (options.rootUrl = SharedProactive.addTrailingSlash(options.rootUrl));\n\t\t var xhrOptions = { url: options.restAPI + SharedProactive.APIPath + SharedProactive.formatString(\"orgs/estimatedwaittime/1000?tenantName{0}=&campaignName={1}\", options.tenant, options.profiles), verb: \"GET\" };\n\t\t SharedProactive.Mock\n\t\t\t? setTimeout(function () {\n\t\t\t\t(onSuccess = onSuccess || function () {})({ resultCode: 0, ewt: 7, mediaType: 1e3, groupId: 1631, orgId: 421 });\n\t\t\t }, 1e3)\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tRequests_openSession = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"openSession() Must specify a restAPI\");\n\t\t if (\"string\" != typeof options.tenant) throw new Error(\"openSession() Must specify a tenant\");\n\t\t var url = options.restAPI + SharedProactive.APIPath + \"auth/anon?cookieless=true&clientApp=proactiveChatConsole\",\n\t\t\tpayload = { tenantName: options.tenant, five9SessionId: null };\n\t\t console.info(\"openSession\", { url: url, payload: payload });\n\t\t var xhrOptions = { url: url, verb: \"POST\", payload: payload };\n\t\t SharedProactive.Mock\n\t\t\t? setTimeout(function () {\n\t\t\t\t(onSuccess = onSuccess || function () {})({ tokenId: \"token-1\", userId: \"token-1\", orgId: \"tenant-1\" });\n\t\t\t }, 1e3)\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tRequests_openChatPreview = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"openChatPreview() Must specify a restAPI\");\n\t\t if (\"string\" != typeof options.sessionId) throw new Error(\"openChatPreview() Must specify a sessionId\");\n\t\t if (\"string\" != typeof options.profile) throw new Error(\"openChatPreview() Must specify a profile\");\n\t\t (TokenId = options.sessionId), (FarmId = options.farmId);\n\t\t var restAPI = options.restAPI + SharedProactive.APIPath,\n\t\t\tsessionId = options.sessionId,\n\t\t\tprofile = options.profile,\n\t\t\temail = getValueFromFields(\"email\", options.fields);\n\t\t SharedProactive.nonEmptyString(email) || ((email = SharedProactive.generateAnonEmail()), options.fields && options.fields.email && (options.fields.email.value = email));\n\t\t var name = getValueFromFields(\"name\", options.fields);\n\t\t SharedProactive.nonEmptyString(name) || (name = \"\");\n\t\t var groupId = options.groupId;\n\t\t SharedProactive.nonEmptyString(groupId) || (groupId = \"-1\");\n\t\t var customFields = [];\n\t\t customFields.push({ key: \"Subject\", value: profile, analyze: 0 }),\n\t\t\tcustomFields.push({ key: \"Name\", value: name, analyze: 0 }),\n\t\t\tcustomFields.push({ key: \"Email\", value: email, analyze: 0 }),\n\t\t\tcustomFields.push({ key: \"Question\", value: \"\", analyze: 1 }),\n\t\t\tcustomFields.push({ key: \"f9-browser\", value: JSON.stringify({ userAgent: navigator.userAgent, language: navigator.language }), analyze: 0 }),\n\t\t\toptions.history ? (console.info(\"preview chat history\", options.history), customFields.push({ key: \"f9-history\", value: JSON.stringify(options.history), analyze: 0 })) : console.info(\"no history supplied for preview chat\"),\n\t\t\t\"object\" === _typeof(options.customFields) && (customFields = customFields.concat(options.customFields));\n\t\t var customVariables = options.customVariables;\n\t\t if (\"object\" === _typeof(customVariables))\n\t\t\tfor (var id in customVariables)\n\t\t\t if (customVariables.hasOwnProperty(id)) for (var key in customVariables[id]) customVariables[id].hasOwnProperty(key) && customFields.push({ key: id + \".\" + key, value: customVariables[id][key], analyze: 0 });\n\t\t var timezoneOffset,\n\t\t\toffsetHour,\n\t\t\tchatRequest = {};\n\t\t (chatRequest.campaign = profile),\n\t\t\t(chatRequest.groupId = groupId),\n\t\t\t(chatRequest.name = name),\n\t\t\t(chatRequest.email = email),\n\t\t\t(chatRequest.customFields = customFields),\n\t\t\t(chatRequest.analyticsProvider = options.analyticsProvider),\n\t\t\t(chatRequest.proactiveChat = !0),\n\t\t\t(chatRequest.timezone = ((timezoneOffset = new Date().getTimezoneOffset()), (offsetHour = String((Math.abs(timezoneOffset) / 60) * 100).padStart(4, \"0\")), \"GMT\" + (timezoneOffset >= 0 ? \"-\" : \"+\") + offsetHour));\n\t\t var url = restAPI + \"agents/\" + sessionId + \"/interactions/client_chat_preview\";\n\t\t console.info(\"openChatPreview\", { url: url, chatRequest: chatRequest });\n\t\t var xhrOptions = { url: url, verb: \"POST\", payload: chatRequest };\n\t\t SharedProactive.Mock\n\t\t\t? ((onSuccess = onSuccess || function () {}),\n\t\t\t setTimeout(function () {\n\t\t\t\tonSuccess({\n\t\t\t\t loggedInProfileAgent: {\n\t\t\t\t\tprofileId: \"1631\",\n\t\t\t\t\tprofileName: \"user1_inbound_5555550001\",\n\t\t\t\t\tagentLoggedIn: !0,\n\t\t\t\t\tnoServiceMessage: \"We are currently unable to service your request. Please contact us during normal business hours.\",\n\t\t\t\t },\n\t\t\t\t profileSurvey: { profileId: \"2504\", templateId: 3, templateQuestion: \"Custom survey question\", templateThankyouMessage: \"Custom thank you message\", enableSurvey: 0 },\n\t\t\t\t});\n\t\t\t }, 1e3))\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tRequests_acceptChatPreviewOffer = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"acceptChatPreviewOffer() Must specify a restAPI\");\n\t\t if (\"string\" != typeof options.sessionId) throw new Error(\"acceptChatPreviewOffer() Must specify a sessionId\");\n\t\t var restAPI = options.restAPI + SharedProactive.APIPath,\n\t\t\tsessionId = options.sessionId,\n\t\t\turl = restAPI + \"agents/\" + sessionId + \"/interactions/\" + sessionId + \"/client_accept_offer\",\n\t\t\tname = getValueFromFields(\"name\", options.fields),\n\t\t\temail = getValueFromFields(\"email\", options.fields),\n\t\t\tpayload = { campaign: options.profile, groupId: \"-1\", customFields: [], name: name, email: email };\n\t\t console.info(\"acceptChatPreviewOffer\", { url: url, payload: payload }), \"function\" == typeof gtag && gtag(\"event\", \"Preview Chat Offer Accepted\", { event_category: \"Five9\", event_label: options.profile });\n\t\t var xhrOptions = { url: url, verb: \"PUT\", payload: payload };\n\t\t SharedProactive.Mock\n\t\t\t? setTimeout(function () {\n\t\t\t\t(onSuccess = onSuccess || function () {})({});\n\t\t\t }, 1e3)\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tRequests_rejectChatPreviewOffer = function (options, onSuccess, onError) {\n\t\t if (\"string\" != typeof (options = options || {}).restAPI) throw new Error(\"rejectChatPreviewOffer() Must specify a restAPI\");\n\t\t if (\"string\" != typeof options.sessionId) throw new Error(\"rejectChatPreviewOffer() Must specify a sessionId\");\n\t\t var restAPI = options.restAPI + SharedProactive.APIPath,\n\t\t\tsessionId = options.sessionId,\n\t\t\turl = restAPI + \"agents/\" + sessionId + \"/interactions/\" + sessionId + \"/client_reject_offer\",\n\t\t\tpayload = {};\n\t\t console.info(\"rejectChatPreviewOffer\", { url: url, payload: payload }), \"function\" == typeof gtag && gtag(\"event\", \"Preview Chat Offer Rejected\", { event_category: \"Five9\", event_label: options.profile });\n\t\t var xhrOptions = { url: url, verb: \"PUT\", payload: payload };\n\t\t SharedProactive.Mock\n\t\t\t? setTimeout(function () {\n\t\t\t\t(onSuccess = onSuccess || function () {})({});\n\t\t\t }, 1e3)\n\t\t\t: SharedProactive.xhr(xhrOptions, onSuccess, onError);\n\t\t},\n\t\tengageChatOffer = function (options) {\n\t\t if (((TokenId = options.sessionId), (FarmId = options.farmId), (options.onAccept = SharedProactive.triggerCustomerEngageAccept), (options.onReject = SharedProactive.triggerCustomerEngageReject), \"function\" == typeof gtag)) {\n\t\t\tvar chatType = !0 === options.preview ? \"Preview\" : \"Proactive\";\n\t\t\tgtag(\"event\", chatType + \" Chat Offered\", { event_category: \"Five9\", event_label: options.profile });\n\t\t }\n\t\t \"callback\" === options.notificationType ? OnOfferCallback(options.question, options.timeout) : \"modal\" === options.notificationType ? SharedProactive.showChatOfferModal(options) : SharedProactive.showChatOfferNotification(options);\n\t\t},\n\t\tresume = function () {\n\t\t var options = SharedProactive.sessionData.options,\n\t\t\tchatOptions = SharedProactive.sessionData.chatOptions,\n\t\t\tselectedProfile = SharedProactive.sessionData.selectedProfile,\n\t\t\tterminateChat = function (interactionId) {\n\t\t\t SharedProactive.sessionData.options.sessionId === interactionId &&\n\t\t\t\t(console.warn(\"interaction terminated\", interactionId), SharedProactive.closeSocket(), (SharedProactive.sessionData.step = SharedProactive.Steps.LoadOffers), SharedProactive.save(), SharedProactive.hideChatOffer());\n\t\t\t},\n\t\t\tonSocketReceived = function (event) {\n\t\t\t var response;\n\t\t\t if (event.data)\n\t\t\t\ttry {\n\t\t\t\t var message = JSON.parse(event.data);\n\t\t\t\t console.log(\"onSocketReceived\", message);\n\t\t\t\t var payload = message.payLoad,\n\t\t\t\t\tcontext = message.context;\n\t\t\t\t context && payload && ((payload.messageId = context.messageId), \"string\" == typeof payload.messageId && payload.messageId.length && (payload.messageId = parseInt(payload.messageId, 10))),\n\t\t\t\t\tpayload &&\n\t\t\t\t\t (payload.messageId === MessageTypes.PREVIEW_ENGAGE_ITEM\n\t\t\t\t\t\t? (function (response) {\n\t\t\t\t\t\t\tconsole.info(\"onSocketEngageRequest\", response),\n\t\t\t\t\t\t\t 1 === (response = response || {}).engaged\n\t\t\t\t\t\t\t\t? (\"string\" != typeof response.question && console.error(\"onSocketEngageRequest() error. API did not return question\"),\n\t\t\t\t\t\t\t\t (options.question = response.question),\n\t\t\t\t\t\t\t\t (SharedProactive.sessionData.step = SharedProactive.Steps.Engaged),\n\t\t\t\t\t\t\t\t SharedProactive.save(),\n\t\t\t\t\t\t\t\t engageChatOffer(options))\n\t\t\t\t\t\t\t\t: 0 === response.engaged && (this.onServerTerminated && \"function\" == typeof this.onServerTerminated && this.onServerTerminated(), terminateChat(options.sessionId), OnEngageRejectCallback());\n\t\t\t\t\t\t })(payload)\n\t\t\t\t\t\t: payload.messageId === MessageTypes.INTERACTION_TERMINATE || payload.messageId === MessageTypes.MSG_CHAT_AGENT_TERMINATE\n\t\t\t\t\t\t? (\"string\" != typeof (response = (response = payload) || {}).interactionId && console.error(\"onSocketInteractionTerminated() error. API did not return interactionId\"), terminateChat(response.interactionId))\n\t\t\t\t\t\t: payload.messageId === MessageTypes.MSG_CHAT_AGENT_ACCEPT &&\n\t\t\t\t\t\t (function (response) {\n\t\t\t\t\t\t\t\"string\" != typeof (response = response || {}).interaction && console.error(\"onSocketAgentAccept() error. API did not return interaction\"), (SharedProactive.sessionData.messages[0] = response);\n\t\t\t\t\t\t\tvar interaction = JSON.parse(response.interaction),\n\t\t\t\t\t\t\t options = SharedProactive.sessionData.options;\n\t\t\t\t\t\t\t(options.ownerId = interaction.ownerId), (options.displayName = interaction.displayName), SharedProactive.save();\n\t\t\t\t\t\t })(payload));\n\t\t\t\t} catch (err) {\n\t\t\t\t console.error(\"Unable to parse socket message\", err);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonChatPreviewSuccess = function (response) {\n\t\t\t console.info(\"onChatPreviewSuccess\", response),\n\t\t\t\tresponse && response.loggedInProfileAgent && response.loggedInProfileAgent.agentLoggedIn\n\t\t\t\t ? ((chatOptions.preview.survey = response.profileSurvey),\n\t\t\t\t\t(response.profileSurvey && !1 !== SharedProactive.nonEmptyString(response.profileSurvey.profileId)) || console.error(\"profileSurvey does not contain a valid profile id\"),\n\t\t\t\t\t(chatOptions.preview.profileId = response.profileSurvey ? response.profileSurvey.profileId : \"\"),\n\t\t\t\t\t(SharedProactive.sessionData.step = SharedProactive.Steps.WaitForEngage),\n\t\t\t\t\tSharedProactive.save(),\n\t\t\t\t\tconsole.info(\"begin listen for engage\"),\n\t\t\t\t\tSharedProactive.openSocket(options, onSocketReceived))\n\t\t\t\t : console.warn(\"No agents are logged in\");\n\t\t\t};\n\t\t SharedProactive.sessionData.step === SharedProactive.Steps.OpenSession\n\t\t\t? Requests_openSession(options, function (response) {\n\t\t\t\tconsole.info(\"onSessionSuccess\", response),\n\t\t\t\t !1 === SharedProactive.nonEmptyString(response.tokenId) && console.error(\"session results do not contain a valid tokenId\"),\n\t\t\t\t !1 === SharedProactive.nonEmptyString(response.orgId) && console.error(\"session results do not contain a valid orgId\"),\n\t\t\t\t (TokenId = response.tokenId),\n\t\t\t\t (FarmId = response.context.farmId),\n\t\t\t\t (options.sessionId = TokenId),\n\t\t\t\t (options.farmId = FarmId),\n\t\t\t\t (options.restAPI = \"https://\" + response.metadata.dataCenters[0].apiUrls[0].host + \"/\"),\n\t\t\t\t (chatOptions.tokenId = TokenId),\n\t\t\t\t (chatOptions.farmId = FarmId),\n\t\t\t\t (chatOptions.preview = { tenantId: response.orgId, interactionId: TokenId, previewContactEditAllowed: selectedProfile.previewContactEditAllowed, profile: options.profile }),\n\t\t\t\t console.info(\"sessionId\", TokenId),\n\t\t\t\t (SharedProactive.sessionData.step = SharedProactive.Steps.StartChatPreview),\n\t\t\t\t (SharedProactive.sessionData.selectedProfile = selectedProfile),\n\t\t\t\t SharedProactive.save(),\n\t\t\t\t Requests_openChatPreview(options, onChatPreviewSuccess);\n\t\t\t })\n\t\t\t: SharedProactive.sessionData.step === SharedProactive.Steps.StartChatPreview\n\t\t\t? Requests_openChatPreview(options, onChatPreviewSuccess)\n\t\t\t: SharedProactive.sessionData.step === SharedProactive.Steps.WaitForEngage\n\t\t\t? (console.info(\"begin listen for engage\"), SharedProactive.openSocket(options, onSocketReceived))\n\t\t\t: SharedProactive.sessionData.step === SharedProactive.Steps.Engaged && engageChatOffer(options);\n\t\t},\n\t\tSharedProactive = {\n\t\t Mock: !1,\n\t\t APIPath: \"appsvcs/rs/svc/\",\n\t\t Steps: { LoadOffers: \"LoadOffers\", OpenSession: \"OpenSession\", StartChatPreview: \"StartChatPreview\", WaitForEngage: \"WaitForEngage\", Engaged: \"Engaged\" },\n\t\t sessionData: { step: \"Unknown\", offers: [], selectedProfile: null, options: {}, chatOptions: {}, messages: [] },\n\t\t initialize: function (options) {\n\t\t\tif (((options = options || {}), (this.sharedOptions = options), Five9Modules && ((ProactivePersist = Five9Modules.ProactivePersist), (MessageTypes = Five9Modules.MessageTypes)), \"string\" != typeof options.restAPI))\n\t\t\t throw new Error(\"initialize() Must specify a restAPI\");\n\t\t\tif (\"string\" != typeof options.tenant) throw new Error(\"initialize() Must specify a tenant\");\n\t\t\tif (\"string\" != typeof options.rootUrl) throw new Error(\"initialize() Must specify a rootUrl\");\n\t\t\tif (void 0 === options.analyticsProvider) throw new Error(\"initialize() Must specify an analyticsProvider\");\n\t\t\t(options.restAPI = SharedProactive.addTrailingSlash(options.restAPI)),\n\t\t\t (options.rootUrl = SharedProactive.addTrailingSlash(options.rootUrl)),\n\t\t\t \"function\" == typeof options.onAccept ? (OnEngageAcceptCallback = options.onAccept) : console.error(\"onAccept() is required\"),\n\t\t\t delete options.onAccept,\n\t\t\t \"function\" == typeof options.onReject ? (OnEngageRejectCallback = options.onReject) : console.error(\"onReject() is required\"),\n\t\t\t delete options.onReject,\n\t\t\t \"callback\" === options.notificationType && \"function\" != typeof options.offerCallback && (console.error(\"a callback must be supplied\"), (options.notificationType = \"notification\")),\n\t\t\t \"function\" == typeof options.offerCallback && ((OnOfferCallback = options.offerCallback), delete options.offerCallback),\n\t\t\t !options.useCustomTemplate ||\n\t\t\t\t(\"undefined\" == typeof f9CustomPreviewOfferTemplate && \"undefined\" == typeof f9CustomProactiveOfferTemplate) ||\n\t\t\t\t((NotificationRootSelector = \"five9-notification-custom\"), (NotificationActiveClass = \"active-new\"), (ModalRootSelector = \"five9-modal-custom\")),\n\t\t\t console.info(\"analyticsProvider\", options.analyticsProvider);\n\t\t\tvar data = ProactivePersist.loadData();\n\t\t\tdata && \"Unknown\" !== data.step && ((SharedProactive.sessionData = data), data.step === SharedProactive.Steps.LoadOffers || resume());\n\t\t },\n\t\t supportsFeatures: function () {\n\t\t\tvar userAgent = navigator.userAgent;\n\t\t\treturn \"function\" != typeof userAgent.indexOf || (-1 === userAgent.indexOf(\"MSIE 7\") && -1 === userAgent.indexOf(\"MSIE 8\") && -1 === userAgent.indexOf(\"MSIE 9\") && -1 === userAgent.indexOf(\"MSIE 10\"))\n\t\t\t ? SharedProactive.supportsLocalStorage()\n\t\t\t\t? !!SharedProactive.supportsWebSockets() || (console.error(\"browser does not support web sockets\"), !1)\n\t\t\t\t: (console.error(\"browser does not support local storage\"), !1)\n\t\t\t : (console.error(\"browser does not support ie10 or below\"), !1);\n\t\t },\n\t\t supportsWebSockets: function () {\n\t\t\treturn window.WebSocket && 2 === window.WebSocket.CLOSING;\n\t\t },\n\t\t supportsLocalStorage: function () {\n\t\t\tvar mod = \"modernizr\";\n\t\t\ttry {\n\t\t\t return localStorage.setItem(mod, mod), localStorage.removeItem(mod), !0;\n\t\t\t} catch (e) {\n\t\t\t return !1;\n\t\t\t}\n\t\t },\n\t\t save: function () {\n\t\t\tProactivePersist.saveData(SharedProactive.sessionData);\n\t\t },\n\t\t loadOffers: function (onSuccess, onError) {\n\t\t\tonSuccess = onSuccess || function () {};\n\t\t\tvar options = this.sharedOptions,\n\t\t\t data = SharedProactive.sessionData;\n\t\t\tif (data && \"Unknown\" !== data.step)\n\t\t\t setTimeout(function () {\n\t\t\t\tonSuccess(data.offers, !1);\n\t\t\t }, 100);\n\t\t\telse {\n\t\t\t Requests_loadOffers(\n\t\t\t\toptions,\n\t\t\t\tfunction (response) {\n\t\t\t\t var offers = response;\n\t\t\t\t (SharedProactive.sessionData.step = SharedProactive.Steps.LoadOffers), (SharedProactive.sessionData.options = options), (SharedProactive.sessionData.offers = offers);\n\t\t\t\t for (var i = 0; i < offers.length; i++) offers[i].numberOfOfferPerSession = offers[i].proactiveChatNumberOfOffer;\n\t\t\t\t SharedProactive.save(), onSuccess(offers, !0);\n\t\t\t\t},\n\t\t\t\tonError\n\t\t\t );\n\t\t\t}\n\t\t },\n\t\t inProgress: function () {\n\t\t\treturn !(!SharedProactive.sessionData || \"Unknown\" === SharedProactive.sessionData.step || SharedProactive.sessionData.step === SharedProactive.Steps.LoadOffers);\n\t\t },\n\t\t triggerOffer: function (offerOptions) {\n\t\t\tconsole.info(\"triggerOffer\", offerOptions);\n\t\t\tvar selectedProfile = (offerOptions = offerOptions || {}).profile;\n\t\t\tif (\"Unknown\" === SharedProactive.sessionData.step || SharedProactive.sessionData.step === SharedProactive.Steps.LoadOffers) {\n\t\t\t if (\"object\" !== _typeof(selectedProfile)) throw new Error(\"triggerOffer() selectedProfile is required\");\n\t\t\t offerOptions.onServerTerminated && \"function\" == typeof offerOptions.onServerTerminated && (this.onServerTerminated = offerOptions.onServerTerminated);\n\t\t\t var chatOptions,\n\t\t\t\toptions = this.sharedOptions;\n\t\t\t for (var key in ((options.history = offerOptions.history),\n\t\t\t (options.timeout = selectedProfile.proactiveChatOfferTimeout),\n\t\t\t (options.question = selectedProfile.proactiveChatQuestion),\n\t\t\t (options.profiles = selectedProfile.name),\n\t\t\t (options.groupId = selectedProfile.groupId),\n\t\t\t (options.tenantId = selectedProfile.tenantId),\n\t\t\t (options.profile = selectedProfile.name),\n\t\t\t (options.fields = selectedProfile.fields),\n\t\t\t void 0 === options.timeout && console.error(\"triggerOffer() API timeout undefined\"),\n\t\t\t void 0 === options.question && console.error(\"triggerOffer() API question undefined\"),\n\t\t\t void 0 === options.profiles && console.error(\"triggerOffer() API profiles undefined\"),\n\t\t\t offerOptions))\n\t\t\t\tvoid 0 === options[key] && (options[key] = offerOptions[key]);\n\t\t\t (SharedProactive.sessionData.options = options),\n\t\t\t\t((chatOptions = SharedProactive.shallowClone(options)).analytics = [options.analyticsProvider, \"true\"].join(\",\")),\n\t\t\t\tdelete chatOptions.restAPI,\n\t\t\t\tdelete chatOptions.onAccept,\n\t\t\t\tdelete chatOptions.onReject,\n\t\t\t\tdelete chatOptions.question,\n\t\t\t\tdelete chatOptions.timeout,\n\t\t\t\tdelete chatOptions.analyticsProvider,\n\t\t\t\t(SharedProactive.sessionData.chatOptions = chatOptions),\n\t\t\t\t!selectedProfile.enablePreviewChat && chatOptions.preview && (delete SharedProactive.sessionData.chatOptions.preview, (SharedProactive.sessionData.chatOptions.profile = selectedProfile), (options.preview = !1));\n\t\t\t var postStatusTrigger = function () {\n\t\t\t\tselectedProfile.enablePreviewChat\n\t\t\t\t ? ((options.preview = !0),\n\t\t\t\t\t(options.profile = selectedProfile.name),\n\t\t\t\t\t(SharedProactive.sessionData.selectedProfile = selectedProfile),\n\t\t\t\t\t(SharedProactive.sessionData.step = SharedProactive.Steps.OpenSession),\n\t\t\t\t\tSharedProactive.save(),\n\t\t\t\t\tresume())\n\t\t\t\t : (SharedProactive.save(), engageChatOffer(options));\n\t\t\t };\n\t\t\t if (1 === options.analyticsProvider) postStatusTrigger();\n\t\t\t else {\n\t\t\t\tif ((console.info(\"numberOfOfferPerSession\", selectedProfile.numberOfOfferPerSession), selectedProfile.numberOfOfferPerSession <= 0)) return void console.warn(\"Maximum offers per session reached\");\n\t\t\t\tselectedProfile.numberOfOfferPerSession--,\n\t\t\t\t SharedProactive.save(),\n\t\t\t\t Requests_status(options, function (response) {\n\t\t\t\t\tif ((console.info(\"onStatusSuccess\", response), 0 === response.resultCode)) {\n\t\t\t\t\t if (!1 === response.businessHours.openForBusiness) return console.warn(\"After business hours\");\n\t\t\t\t\t var estimatedWaitMinutes = Math.round(response.ewt / 60);\n\t\t\t\t\t console.log(\"Estimated wait time is : [%d] minutes\", estimatedWaitMinutes), estimatedWaitMinutes <= selectedProfile.proactiveEstimatedWaitTime ? postStatusTrigger() : console.warn(\"Estimated wait time too long\");\n\t\t\t\t\t} else console.warn(\"No agents are logged in\");\n\t\t\t\t });\n\t\t\t }\n\t\t\t} else console.warn(\"Proactive chat offer in progress. aborting new offer\");\n\t\t },\n\t\t abandonPreview: function () {\n\t\t\tSharedProactive.inProgress() &&\n\t\t\t (console.info(\"SharedProactive abandonPreview()\"),\n\t\t\t SharedProactive.closeSocket(),\n\t\t\t (SharedProactive.sessionData.step = SharedProactive.Steps.LoadOffers),\n\t\t\t SharedProactive.save(),\n\t\t\t Requests_rejectChatPreviewOffer(SharedProactive.sessionData.options));\n\t\t },\n\t\t triggerCustomerEngageAccept: function () {\n\t\t\tconsole.info(\"customer accepted chat request\"), SharedProactive.closeSocket(), (SharedProactive.sessionData.step = SharedProactive.Steps.LoadOffers), SharedProactive.save();\n\t\t\tvar options = SharedProactive.sessionData.options,\n\t\t\t chatOptions = SharedProactive.sessionData.chatOptions;\n\t\t\tif (chatOptions.preview) {\n\t\t\t if (\n\t\t\t\t((chatOptions.preview.timestamp = Date.now()),\n\t\t\t\t(chatOptions.preview.ownerId = options.ownerId),\n\t\t\t\t(chatOptions.preview.displayName = options.displayName),\n\t\t\t\t(chatOptions.preview.messages = SharedProactive.sessionData.messages),\n\t\t\t\toptions.question && chatOptions.preview.messages.length)\n\t\t\t ) {\n\t\t\t\tvar welcomeMessage = chatOptions.preview.messages[0],\n\t\t\t\t parsedInteraction = JSON.parse(welcomeMessage.interaction);\n\t\t\t\t(parsedInteraction.content = options.question), (welcomeMessage.interaction = JSON.stringify(parsedInteraction));\n\t\t\t }\n\t\t\t if (!SharedProactive.nonEmptyString(options.ownerId)) throw new Error(\"triggerCustomerEngageAccept() Must specify an ownerId\");\n\t\t\t if (\"string\" != typeof options.displayName) throw new Error(\"triggerCustomerEngageAccept() Must specify an displayName\");\n\t\t\t Requests_acceptChatPreviewOffer(options);\n\t\t\t}\n\t\t\tOnEngageAcceptCallback(chatOptions);\n\t\t },\n\t\t triggerCustomerEngageReject: function () {\n\t\t\tconsole.info(\"customer rejected chat request\"), SharedProactive.closeSocket(), (SharedProactive.sessionData.step = SharedProactive.Steps.LoadOffers), SharedProactive.save();\n\t\t\tvar options = SharedProactive.sessionData.options;\n\t\t\toptions.preview && Requests_rejectChatPreviewOffer(options), OnEngageRejectCallback();\n\t\t },\n\t\t hideChatOffer: function () {\n\t\t\tvar notificationFrame;\n\t\t\tconsole.log(\"hideChatOffer\"),\n\t\t\t clearTimeout(SharedProactive.timeoutId),\n\t\t\t (notificationFrame = document.getElementById(NotificationRootSelector)) && notificationFrame.classList.remove(NotificationActiveClass),\n\t\t\t (notificationFrame = document.getElementById(ModalRootSelector)) && notificationFrame.classList.remove(NotificationActiveClass);\n\t\t },\n\t\t showChatOffer: function (options, rootSelector, template) {\n\t\t\tif (void 0 === (options = options || {}).timeout) throw new Error(\"showChatOffer() Must specify a timeout\");\n\t\t\tvar notificationFrame,\n\t\t\t onAccept = options.onAccept || function () {},\n\t\t\t onReject = options.onReject || function () {};\n\t\t\tif (\n\t\t\t ((notificationFrame = document.getElementById(rootSelector)) &&\n\t\t\t\tnotificationFrame.parentElement &&\n\t\t\t\t(console.log(\"removing notificationFrame\"),\n\t\t\t\tnotificationFrame.parentElement.removeChild(notificationFrame),\n\t\t\t\t(notificationFrame = null),\n\t\t\t\tvoid 0 !== Five9SocialWidget && Five9SocialWidget.removeEmbeddedFrame(),\n\t\t\t\tdocument.body.removeChild(document.getElementById(\"five9-notification-container\"))),\n\t\t\t !notificationFrame)\n\t\t\t) {\n\t\t\t ((notificationFrame = document.createElement(\"div\")).id = \"five9-notification-container\"), (notificationFrame.innerHTML = template), document.body.appendChild(notificationFrame);\n\t\t\t var acceptButton = notificationFrame.querySelector(\"#five9_offerAccepted\");\n\t\t\t acceptButton &&\n\t\t\t\tacceptButton.addEventListener(\"click\", function (e) {\n\t\t\t\t SharedProactive.hideChatOffer(), !0 !== options.preview && \"function\" == typeof gtag && gtag(\"event\", \"Proactive Chat Accepted\", { event_category: \"Five9\", event_label: options.profile }), onAccept();\n\t\t\t\t});\n\t\t\t var refuseMethod = function (e) {\n\t\t\t\t SharedProactive.hideChatOffer(), !0 !== options.preview && \"function\" == typeof gtag && gtag(\"event\", \"Proactive Chat Rejected\", { event_category: \"Five9\", event_label: options.profile }), onReject();\n\t\t\t\t},\n\t\t\t\trefuseButton = notificationFrame.querySelector(\"#five9_offerExit\");\n\t\t\t refuseButton && refuseButton.addEventListener(\"click\", refuseMethod), (refuseButton = notificationFrame.querySelector(\"#five9_offerRefused\")) && refuseButton.addEventListener(\"click\", refuseMethod);\n\t\t\t}\n\t\t\tsetTimeout(function () {\n\t\t\t (notificationFrame = document.getElementById(rootSelector)).classList.add(NotificationActiveClass);\n\t\t\t}, 100),\n\t\t\t options.timeout &&\n\t\t\t\t(SharedProactive.timeoutId = setTimeout(function () {\n\t\t\t\t SharedProactive.hideChatOffer(), onReject();\n\t\t\t\t}, 1e3 * options.timeout));\n\t\t },\n\t\t showChatOfferNotification: function (options) {\n\t\t\tif (\"string\" != typeof (options = options || {}).question) throw new Error(\"showChatOfferNotification() Must specify a question\");\n\t\t\tvar headerText,\n\t\t\t defaultAcceptText,\n\t\t\t messageText = \"\",\n\t\t\t proactiveClass = \"five9-proactive five9-notification\",\n\t\t\t displayName = \"\";\n\t\t\tif (options.preview) {\n\t\t\t if (((headerText = options.header || \"An agent is ready to chat with you\"), (messageText = options.question), (proactiveClass += \" five9-inverse\"), (defaultAcceptText = \"Respond\"), options.displayName)) {\n\t\t\t\tvar now = formatTime(new Date());\n\t\t\t\tdisplayName = options.displayName + ' ' + now + \"\";\n\t\t\t }\n\t\t\t} else (headerText = options.question), (messageText = \"\"), (defaultAcceptText = \"Start Live Chat\");\n\t\t\tvar template,\n\t\t\t acceptText = options.acceptText || defaultAcceptText,\n\t\t\t closeText = options.closeText || \"I'm OK for now, thanks.\";\n\t\t\toptions.useCustomTemplate && options.preview && \"undefined\" != typeof f9CustomPreviewOfferTemplate\n\t\t\t ? (template = f9CustomPreviewOfferTemplate)\n\t\t\t : options.useCustomTemplate && !options.preview && \"undefined\" != typeof f9CustomProactiveOfferTemplate\n\t\t\t ? (template = f9CustomProactiveOfferTemplate)\n\t\t\t : ((template = '
'),\n\t\t\t\t(template += ''),\n\t\t\t\t(template += ''),\n\t\t\t\t(template += '' + headerText + \"\"),\n\t\t\t\t(template += '
' + displayName + \"
\"),\n\t\t\t\t(template += '
' + messageText + \"
\"),\n\t\t\t\t(template += '
' + acceptText + \"
\"),\n\t\t\t\t(template += '
' + closeText + \"
\"),\n\t\t\t\t(template += \"
\")),\n\t\t\t this.showChatOffer(options, NotificationRootSelector, template);\n\t\t },\n\t\t showChatOfferModal: function (options) {\n\t\t\tif (\"string\" != typeof (options = options || {}).question) throw new Error(\"showChatOfferModal() Must specify a question\");\n\t\t\tvar headerText,\n\t\t\t messageText = \"\",\n\t\t\t proactiveClass = \"five9-proactive five9-modal\",\n\t\t\t displayName = \"\";\n\t\t\tif (options.preview) {\n\t\t\t if (((headerText = options.header || \"An agent is ready to chat with you\"), (messageText = options.question), (proactiveClass += \" five9-inverse\"), \"Respond\", options.displayName)) {\n\t\t\t\tvar now = formatTime(new Date());\n\t\t\t\tdisplayName = options.displayName + ' ' + now + \"\";\n\t\t\t }\n\t\t\t} else (headerText = options.question), (messageText = \"\"), \"Start Live Chat\";\n\t\t\tvar template,\n\t\t\t acceptText = options.acceptText || \"Start Live Chat\",\n\t\t\t closeText = options.closeText || \"I'm OK for now, thanks.\";\n\t\t\toptions.useCustomTemplate && options.preview\n\t\t\t ? (template = '
' + f9CustomPreviewOfferTemplate + \"
\")\n\t\t\t : options.useCustomTemplate && !options.preview\n\t\t\t ? (template = '
' + f9CustomProactiveOfferTemplate + \"
\")\n\t\t\t : ((template = '
'),\n\t\t\t\t(template += '
'),\n\t\t\t\t(template += '
'),\n\t\t\t\t(template += ''),\n\t\t\t\t(template += ''),\n\t\t\t\t(template += '' + headerText + \"\"),\n\t\t\t\t(template += '
' + displayName + \"
\"),\n\t\t\t\t(template += '
' + messageText + \"
\"),\n\t\t\t\t(template += '
' + acceptText + \"
\"),\n\t\t\t\t(template += '
' + closeText + \"
\"),\n\t\t\t\t(template += \"
\"),\n\t\t\t\t(template += \"
\"),\n\t\t\t\t(template += \"
\")),\n\t\t\t this.showChatOffer(options, ModalRootSelector, template);\n\t\t },\n\t\t xhr: function (options, onSuccess, onError) {\n\t\t\tvar url = options.url,\n\t\t\t verb = options.verb || \"GET\",\n\t\t\t payload = options.payload || null;\n\t\t\t(onSuccess = onSuccess || function () {}), (onError = onError || function () {});\n\t\t\ttry {\n\t\t\t url = encodeURI(url);\n\t\t\t var xhr = new XMLHttpRequest();\n\t\t\t if (null == xhr) return;\n\t\t\t var onXHRError = function (err) {\n\t\t\t\tvar textStatus = \"error\";\n\t\t\t\ttry {\n\t\t\t\t textStatus = JSON.parse(xhr.responseText);\n\t\t\t\t} catch (err) {}\n\t\t\t\tonError(xhr, textStatus, err);\n\t\t\t };\n\t\t\t console.info(\"xhr(\" + url + \")\"),\n\t\t\t\txhr.open(verb, url, !0),\n\t\t\t\t\"GET\" !== verb && (xhr.withCredentials = !0),\n\t\t\t\txhr.setRequestHeader(\"Content-Type\", \"application/json\"),\n\t\t\t\t!1 !== TokenId && xhr.setRequestHeader(\"Authorization\", \"Bearer-\" + TokenId),\n\t\t\t\t!1 !== FarmId && xhr.setRequestHeader(\"farmId\", FarmId),\n\t\t\t\t(xhr.onreadystatechange = function () {\n\t\t\t\t if (4 === xhr.readyState)\n\t\t\t\t\tif (200 === xhr.status || 204 === xhr.status)\n\t\t\t\t\t try {\n\t\t\t\t\t\tvar json = JSON.parse(xhr.responseText);\n\t\t\t\t\t\tonSuccess(json);\n\t\t\t\t\t } catch (err) {\n\t\t\t\t\t\tonXHRError(err);\n\t\t\t\t\t }\n\t\t\t\t\telse onXHRError();\n\t\t\t\t}),\n\t\t\t\t(xhr.onerror = function () {\n\t\t\t\t onXHRError();\n\t\t\t\t}),\n\t\t\t\tnull === payload ? xhr.send() : xhr.send(JSON.stringify(payload));\n\t\t\t} catch (err) {\n\t\t\t onError(err);\n\t\t\t}\n\t\t },\n\t\t nonEmptyString: function (s) {\n\t\t\treturn \"string\" == typeof s && \"\" !== s;\n\t\t },\n\t\t generateAnonEmail: function () {\n\t\t\treturn this.generateGuid() + \"@anonymous.com\";\n\t\t },\n\t\t generateGuid: function () {\n\t\t\tvar d = Date.now();\n\t\t\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n\t\t\t var r = (d + 16 * Math.random()) % 16 | 0;\n\t\t\t return (d = Math.floor(d / 16)), (\"x\" === c ? r : (7 & r) | 8).toString(16);\n\t\t\t});\n\t\t },\n\t\t addTrailingSlash: function (s) {\n\t\t\treturn \"/\" === s.substr(-1) ? s : s + \"/\";\n\t\t },\n\t\t shallowClone: function (o) {\n\t\t\tvar dest = {};\n\t\t\tfor (var key in o) dest[key] = o[key];\n\t\t\treturn dest;\n\t\t },\n\t\t objectToQuery: function (o) {\n\t\t\tvar a = [];\n\t\t\tfor (var key in o) o.hasOwnProperty(key) && a.push(key + \"=\" + encodeURIComponent(o[key]));\n\t\t\tfor (var s = \"\", i = 0; i < a.length; i++) (s += a[i]), i !== a.length - 1 && (s += \"&\");\n\t\t\treturn s;\n\t\t },\n\t\t formatString: function (s) {\n\t\t\tvar args = arguments;\n\t\t\treturn s.replace(/\\{(\\d+)\\}/g, function (match, number) {\n\t\t\t if (((number = parseInt(number, 10) + 1), void 0 !== args[number])) {\n\t\t\t\tvar arg = args[number];\n\t\t\t\treturn \"object\" === _typeof(arg) && (arg = JSON.stringify(arg)), arg;\n\t\t\t }\n\t\t\t});\n\t\t },\n\t\t openSocket: function (options, onMessage) {\n\t\t\tconsole.log(\"openSocket()\", options);\n\t\t\tvar restAPI = options.restAPI,\n\t\t\t socketLocation = restAPI.substring(0, restAPI.length - 1);\n\t\t\tsocketLocation = (socketLocation = socketLocation.replace(\"http://\", \"\")).replace(\"https://\", \"\");\n\t\t\tvar protocol = \"ws\";\n\t\t\t-1 !== restAPI.indexOf(\"https\") && (protocol = \"wss\");\n\t\t\tvar url = protocol + \"://\" + socketLocation + \"/appsvcs/ws\";\n\t\t\t(url += \"?Authorization=Bearer-\" + options.sessionId),\n\t\t\t (url += \"&farmId=\" + options.farmId),\n\t\t\t console.info(\"socket url\", url),\n\t\t\t SharedProactive.Mock\n\t\t\t\t? (setTimeout(function () {\n\t\t\t\t\tvar data = JSON.stringify({\n\t\t\t\t\t payLoad: {\n\t\t\t\t\t\tinteraction:\n\t\t\t\t\t\t '{\"timestamp\":1464976104,\"content\":\"Hello\",\"id\":\"5b6f6298-29b3-11e6-880d-005056a4db18\",\"ownerId\":\"138\",\"contentType\":1,\"displayName\":\"User One\",\"messageId\":\"0cf0715b-c7e2-4f9b-aef8-587c9033de71\",\"fromType\":1}',\n\t\t\t\t\t\tinteractionId: \"5b6f6298-29b3-11e6-880d-005056a4db18\",\n\t\t\t\t\t\tmessageId: MessageTypes.MSG_CHAT_AGENT_ACCEPT,\n\t\t\t\t\t\tstatus: 1,\n\t\t\t\t\t\tuserId: \"405361\",\n\t\t\t\t\t },\n\t\t\t\t\t});\n\t\t\t\t\tonMessage({ data: data });\n\t\t\t\t }, 1e3),\n\t\t\t\t setTimeout(function () {\n\t\t\t\t\tonMessage({ data: JSON.stringify({ payLoad: { question: \"FROM AGENT ENGAGE\", engaged: 1 }, context: { messageId: MessageTypes.PREVIEW_ENGAGE_ITEM } }) });\n\t\t\t\t }, 2e3))\n\t\t\t\t: ((this.socket = new WebSocket(url)), (this.socket.onmessage = onMessage));\n\t\t },\n\t\t closeSocket: function () {\n\t\t\tconsole.log(\"closeSocket()\"), this.socket && (this.socket.close(), delete this.socket);\n\t\t },\n\t\t};\n\t Five9Modules && (Five9Modules.SharedProactive = SharedProactive);\n\t})(),\n\t(Persist = {\n\t Version: 1,\n\t loadData: function (key) {\n\t\ttry {\n\t\t var data = localStorage.getItem(key);\n\t\t if (data) {\n\t\t\ttry {\n\t\t\t data = JSON.parse(data);\n\t\t\t} catch (err) {}\n\t\t\tif (data.version === Persist.Version && ((\"f9-chat-console\" === key && \"Connecting\" === data.step) || Date.now() <= data.date + 17e4))\n\t\t\t return console.info(\"Persist:loadData()\", key, data), delete data.token, delete data.version, delete data.date, data;\n\t\t }\n\t\t} catch (err) {}\n\t },\n\t saveData: function (key, data) {\n\t\ttry {\n\t\t (data.date = Date.now()), (data.version = Persist.Version), localStorage.setItem(key, JSON.stringify(data)), console.info(\"Persist:saveData()\", key, data);\n\t\t} catch (err) {}\n\t },\n\t removeData: function (key, data) {\n\t\ttry {\n\t\t localStorage.removeItem(key), console.info(\"Persist:removeData()\", ProactivePersist.Key, data);\n\t\t} catch (err) {}\n\t },\n\t listenData: function (key, cb) {\n\t\twindow.addEventListener(\n\t\t \"storage\",\n\t\t function (e) {\n\t\t\te.key === key && cb(JSON.parse(e.newValue || \"{}\"), JSON.parse(e.oldValue || \"{}\"));\n\t\t },\n\t\t !1\n\t\t);\n\t },\n\t}),\n\tFive9Modules && (Five9Modules.Persist = Persist);\n var Five9 = Five9 || {};\n (Five9.Api = Five9.Api || {}),\n\t(Five9.Api.EstimatedWaitTime = {\n\t fetch: function (options, callback) {\n\t\tif (Five9.Api.EstimatedWaitTime.validateOptions(options)) {\n\t\t var url = options.rootUrl + \"appsvcs/rs/svc/orgs/estimatedwaittime/1000?tenantName=\" + options.tenant + \"&campaignName=\" + options.profile,\n\t\t\trequest = new XMLHttpRequest();\n\t\t request.addEventListener(\"load\", function () {\n\t\t\tvar response;\n\t\t\tif (\"string\" == typeof request.response)\n\t\t\t try {\n\t\t\t\tresponse = JSON.parse(request.response);\n\t\t\t } catch (ex) {\n\t\t\t\tcallback(\"Five9.Api.EstimatedWaitTime#fetch response is not valid JSON\");\n\t\t\t }\n\t\t\telse response = request.response;\n\t\t\t(response.profile = options.profile), callback(!1, response);\n\t\t }),\n\t\t\trequest.addEventListener(\"error\", function () {\n\t\t\t callback(\"Five9.Api.EstimatedWaitTime#fetch received an error status \" + request.status + \" - \" + request.responseText);\n\t\t\t}),\n\t\t\trequest.addEventListener(\"abort\", function () {\n\t\t\t callback(\"Five9.Api.EstimatedWaitTime#fetch aborted\");\n\t\t\t}),\n\t\t\trequest.addEventListener(\"timeout\", function () {\n\t\t\t callback(\"Five9.Api.EstimatedWaitTime#fetch timeout to url: \" + url);\n\t\t\t}),\n\t\t\trequest.open(\"GET\", url),\n\t\t\trequest.setRequestHeader(\"Content-type\", \"application/json\"),\n\t\t\t(request.responseType = \"json\"),\n\t\t\trequest.send();\n\t\t} else callback(\"Five9.Api.EstimatedWaitTime#fetch options are invalid\");\n\t },\n\t validateOptions: function (options) {\n\t\tvar hasTenant = !(!options.tenant || !options.tenant.length),\n\t\t hasProfile = !(!options.profile || !options.profile.length),\n\t\t hasRootUrl = !(!options.rootUrl || !options.rootUrl.length),\n\t\t isValid = hasTenant && hasProfile && hasRootUrl;\n\t\treturn isValid || console.error(\"Five9.Api.EstimatedWaitTime#validateOptions invalid options:\", \"All options:\", options, \"hasTenant?\", hasTenant, \"hasProfile?\", hasProfile, \"hasRootUrl?\", hasRootUrl), isValid;\n\t },\n\t fetchAll: function (options, callback) {\n\t\tvar error = !1,\n\t\t iterations = 0,\n\t\t responses = [],\n\t\t iterateApi = function (profile) {\n\t\t\tFive9.Api.EstimatedWaitTime.fetch({ tenant: options.tenant, profile: profile, rootUrl: options.rootUrl }, function (err, response) {\n\t\t\t err ? responses.push({ profile: profile, error: err }) : ((response.profile = profile), responses.push(response)), ++iterations === options.profiles.length && callback(error, responses);\n\t\t\t});\n\t\t },\n\t\t isArray = Array.isArray(options.profiles),\n\t\t hasLength = !!options.profiles.length;\n\t\tif (!isArray || !hasLength) return callback((error = \"Five9.Api.EstimatedWaitTime#fetchAll expects options.profiles to be an array with length\"));\n\t\toptions.profiles.forEach(function (profile) {\n\t\t iterateApi(profile);\n\t\t});\n\t },\n\t areAnyProfilesOpenForBusiness: function (options, callback) {\n\t\tif ((console.log(\"WIP: areAnyProfs options\", options), !Array.isArray(options.profiles) || !options.profiles.length)) return callback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness Invalid profiles\");\n\t\tvar url = [options.rootUrl, \"appsvcs/rs/svc/orgs/available_campaigns?tenantName=\", options.tenant, \"&campaignNames=\", options.profiles.join(\",\")].join(\"\"),\n\t\t request = new XMLHttpRequest();\n\t\trequest.addEventListener(\"load\", function () {\n\t\t var response;\n\t\t if (\"string\" == typeof request.response)\n\t\t\ttry {\n\t\t\t response = JSON.parse(request.response);\n\t\t\t} catch (ex) {\n\t\t\t callback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness response is not valid JSON\");\n\t\t\t}\n\t\t else response = request.response;\n\t\t console.log(\"WIP request.response\", request.response),\n\t\t\tArray.isArray(response.availableCampaigns) ? callback(!1, response.availableCampaigns) : callback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness response was not an array\");\n\t\t}),\n\t\t request.addEventListener(\"error\", function () {\n\t\t\tcallback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness received an error status \" + request.status + \" - \" + request.responseText);\n\t\t }),\n\t\t request.addEventListener(\"abort\", function () {\n\t\t\tcallback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness aborted\");\n\t\t }),\n\t\t request.addEventListener(\"timeout\", function () {\n\t\t\tcallback(\"Five9.Api.EstimatedWaitTime#areAnyProfilesOpenForBusiness timeout to url: \" + url);\n\t\t }),\n\t\t request.open(\"GET\", url),\n\t\t request.setRequestHeader(\"Content-type\", \"application/json\"),\n\t\t (request.responseType = \"json\"),\n\t\t request.send();\n\t },\n\t}),\n\tFive9Modules &&\n\t (Five9Modules.MessageTypes = {\n\t\tMSG_TO_IGNORE_1: 1111,\n\t\tMSG_TO_IGNORE_2: 1101,\n\t\tMSG_TO_IGNORE_3: 1102,\n\t\tMSG_BROWSER_NOT_SUPPORTED: -100,\n\t\tMSG_CONNECTION_NOT_AVAILABLE: -101,\n\t\tRESULT_SUCCESS: 1,\n\t\tRESULT_ERROR: -1,\n\t\tTRANSFER_TO_GROUP: 1751,\n\t\tTRANSFERT_TO_AGENT: 1752,\n\t\tAGENT_TRANSFER_AGENT: 1753,\n\t\tINTERACTION_TERMINATED: 19507,\n\t\tMSG_CHAT_CLIENT_REQUEST: 17001,\n\t\tMSG_CHAT_CLIENT_MESSAGE: 17002,\n\t\tMSG_CHAT_CLIENT_TERMINATE: 17003,\n\t\tMSG_CHAT_CLIENT_MESSAGE_RECEIVED: 17004,\n\t\tMSG_CHAT_CLIENT_TYPING: 17005,\n\t\tMSG_NO_SERVICE: 17008,\n\t\tPREVIEW_OFFER_ITEM: 19600,\n\t\tPREVIEW_ASSIGN_ITEM: 19601,\n\t\tPREVIEW_REJECT_ITEM: 19602,\n\t\tPREVIEW_ENGAGE_ITEM: 19603,\n\t\tPREVIEW_ENGAGE_ACCEPT_ITEM: 19604,\n\t\tPREVIEW_ENGAGE_REJECT_ITEM: 19605,\n\t\tCUSTOMER_CONTACT_UPDATE: 19608,\n\t\tPREVIEW_OFFER_CHERRY_ITEM: 19700,\n\t\tPREVIEW_LOCK_CHERRY_ITEM: 19701,\n\t\tMSG_CHAT_AGENT_ACCEPT: 18e3,\n\t\tMSG_CHAT_AGENT_MESSAGE: 18001,\n\t\tMSG_CHAT_AGENT_TERMINATE: 18002,\n\t\tMSG_CHAT_AGENT_MESSAGE_TO_AGENT: 18004,\n\t\tMSG_CHAT_AGENT_TYPING: 18005,\n\t\tMSG_CHAT_AGENT_MESSAGE_RECEIVED: 18007,\n\t\tMSG_CHAT_AGENT_ADD_AGENT_TO_CHAT: 18008,\n\t\tMSG_CHAT_AGENT_REMOVE_AGENT_FROM_CHAT: 18009,\n\t\tMSG_CHAT_SIGHTCALL_ESCALATION: 18012,\n\t\tMSG_CHAT_SIGHTCALL_VIDEO_ACTIVATED: 18013,\n\t\tMSG_CHAT_SIGHTCALL_VIDEO_TERMINATED: 18014,\n\t\tMSG_CHAT_SIGHTCALL_CANCELED: 18015,\n\t\tMSG_CHAT_AGENT_CONFERENCE_AGENT: 18020,\n\t\tMSG_CHAT_AGENT_COMFORT_MESSAGE: 18021,\n\t\tMSG_CHAT_AUTO_CLOSE: 18022,\n\t\tMSG_TEXT: 1,\n\t\tMSG_HTML: 2,\n\t\tMSG_VOICE: 3,\n\t\tMSG_VIDEO: 4,\n\t\tMSG_FILE: 5,\n\t\tSTATE_PENDING: 1,\n\t\tSTATE_DELIVERED: 2,\n\t\tSTATE_TYPING: 3,\n\t\tSTATE_DELETING: 4,\n\t\tFROM_AGENT: 1,\n\t\tFROM_CLIENT: 2,\n\t\tFROM_SERVER: 3,\n\t\tFROM_TYPING: 4,\n\t\tCHAT_STATE_ACTIVE: 1,\n\t\tCHAT_STATE_TEMINATED: 2,\n\t\tIN: 1,\n\t\tOUT: 2,\n\t\tgetDescription: function (messageId) {\n\t\t switch (messageId) {\n\t\t\tcase this.MSG_CHAT_CLIENT_REQUEST:\n\t\t\t return \"ChatClientRequest\";\n\t\t\tcase this.MSG_CHAT_CLIENT_MESSAGE:\n\t\t\t return \"ChatClientMessage\";\n\t\t\tcase this.MSG_CHAT_CLIENT_TERMINATE:\n\t\t\t return \"ChatClientTerminate\";\n\t\t\tcase this.MSG_CHAT_CLIENT_MESSAGE_RECEIVED:\n\t\t\t return \"ChatClientMessageReceived\";\n\t\t\tcase this.MSG_CHAT_CLIENT_TYPING:\n\t\t\t return \"ChatClientTyping\";\n\t\t\tcase this.PREVIEW_OFFER_ITEM:\n\t\t\t return \"PREVIEW_OFFER_ITEM\";\n\t\t\tcase this.PREVIEW_ASSIGN_ITEM:\n\t\t\t return \"PREVIEW_ASSIGN_ITEM\";\n\t\t\tcase this.PREVIEW_REJECT_ITEM:\n\t\t\t return \"PREVIEW_REJECT_ITEM\";\n\t\t\tcase this.PREVIEW_ENGAGE_ITEM:\n\t\t\t return \"PREVIEW_ENGAGE_ITEM\";\n\t\t\tcase this.PREVIEW_ENGAGE_ACCEPT_ITEM:\n\t\t\t return \"PREVIEW_ENGAGE_ACCEPT_ITEM\";\n\t\t\tcase this.PREVIEW_ENGAGE_REJECT_ITEM:\n\t\t\t return \"PREVIEW_ENGAGE_REJECT_ITEM\";\n\t\t\tcase this.MSG_CHAT_AGENT_ACCEPT:\n\t\t\t return \"ChatAgentAccept\";\n\t\t\tcase this.MSG_CHAT_AGENT_MESSAGE:\n\t\t\t return \"ChatAgentMessage\";\n\t\t\tcase this.MSG_CHAT_AGENT_TERMINATE:\n\t\t\t return \"ChatAgentTerminate\";\n\t\t\tcase this.MSG_CHAT_AGENT_MESSAGE_TO_AGENT:\n\t\t\t return \"ChatAgentToAgent\";\n\t\t\tcase this.MSG_CHAT_AGENT_TYPING:\n\t\t\t return \"ChatAgentTyping\";\n\t\t\tcase this.MSG_CHAT_AGENT_MESSAGE_RECEIVED:\n\t\t\t return \"ChatAgentMessageReceived\";\n\t\t\tcase this.MSG_CHAT_AGENT_ADD_AGENT_TO_CHAT:\n\t\t\t return \"AddAgentToConference\";\n\t\t\tcase this.MSG_CHAT_AGENT_REMOVE_AGENT_FROM_CHAT:\n\t\t\t return \"RemoveAgentFromConference\";\n\t\t\tcase this.MSG_CHAT_AGENT_COMFORT_MESSAGE:\n\t\t\t return \"ChatAgentComfortMessage\";\n\t\t\tcase this.MSG_CHAT_AUTO_CLOSE:\n\t\t\t return \"ChatAutoCloseWarning\";\n\t\t\tdefault:\n\t\t\t return \"Unknown message id [\" + messageId + \"]\";\n\t\t }\n\t\t},\n\t }),\n\t(ChatModel = {\n\t Key: \"f9-chat-console\",\n\t id: !1,\n\t Steps: { Unknown: \"Unknown\", Information: \"Information\", Connecting: \"Connecting\", Conversation: \"Conversation\", Finished: \"Finished\" },\n\t PreviewSteps: { Unknown: \"Unknown\", EditContact: \"EditContact\", Complete: \"Complete\" },\n\t SystemFields: [\"profiles\", \"name\", \"email\", \"question\"],\n\t data: {\n\t\tcompositeKey: { domainKey: \"\", namespace: \"\" },\n\t\tstep: \"Unknown\",\n\t\tpreviewStep: \"Unknown\",\n\t\tsession: {},\n\t\tinformation: { profile: \"\", name: \"\", email: \"\", subject: \"\", content: \"\", customFields: {}, playSoundOnMessage: null, highContrastEnabled: null, fontSize: null },\n\t\tconversation: { transferring: !1, addEWTMessage: !1, connectingMessage: \"\", message: \"\", messages: [], messageSequence: 1 },\n\t },\n\t SaveDisabled: !1,\n\t setDomainKey: function (domainKey) {\n\t\tChatModel.data.compositeKey.domainKey = domainKey;\n\t },\n\t isDomainKey: function () {\n\t\treturn !!ChatModel.data.compositeKey.domainKey && !!ChatModel.data.compositeKey.domainKey.length;\n\t },\n\t setNamespace: function (ns) {\n\t\tChatModel.data.compositeKey.namespace = ns;\n\t },\n\t compositeKey: function () {\n\t\tvar domainKeyPart = btoa(ChatModel.data.compositeKey.domainKey),\n\t\t namespacePart = btoa(ChatModel.data.compositeKey.namespace),\n\t\t compositeKey = ChatModel.Key + \"-\" + domainKeyPart + namespacePart;\n\t\treturn compositeKey;\n\t },\n\t getStep: function () {\n\t\treturn ChatModel.data.step;\n\t },\n\t setStep: function (val) {\n\t\tChatModel.data.step = val;\n\t },\n\t isTransferring: function () {\n\t\treturn ChatModel.data.conversation.transferring;\n\t },\n\t setTransferring: function (val) {\n\t\tChatModel.data.conversation.transferring = val;\n\t },\n\t addEWTMessage: function () {\n\t\treturn ChatModel.data.conversation.addEWTMessage;\n\t },\n\t setAddEWTMessage: function (val) {\n\t\tChatModel.data.conversation.addEWTMessage = val;\n\t },\n\t hasConnectingMessage: function () {\n\t\treturn \"\" !== ChatModel.data.conversation.connectingMessage;\n\t },\n\t getConnectingMessage: function () {\n\t\treturn ChatModel.data.conversation.connectingMessage;\n\t },\n\t setConnectingMessage: function (val) {\n\t\tChatModel.data.conversation.connectingMessage = val;\n\t },\n\t getMessages: function () {\n\t\treturn ChatModel.data.conversation.messages;\n\t },\n\t addMessage: function (message) {\n\t\tChatModel.data.conversation.messages.push(message);\n\t },\n\t updateMessage: function (id, text) {\n\t\tChatModel.data.conversation.messages\n\t\t .filter(function (m) {\n\t\t\treturn m.messageId === id;\n\t\t })\n\t\t .forEach(function (m) {\n\t\t\tm.messageContent = text;\n\t\t });\n\t },\n\t getMessageSequence: function () {\n\t\treturn ChatModel.data.conversation.messageSequence;\n\t },\n\t incrementMessageSequence: function () {\n\t\tChatModel.data.conversation.messageSequence++;\n\t },\n\t getPreviewStep: function () {\n\t\treturn ChatModel.data.previewStep;\n\t },\n\t setPreviewStep: function (val) {\n\t\tChatModel.data.previewStep = val;\n\t },\n\t getPlaySound: function () {\n\t\treturn ChatModel.data.information.playSoundOnMessage;\n\t },\n\t setPlaySound: function (playSound) {\n\t\tChatModel.data.information.playSoundOnMessage = playSound;\n\t },\n\t getHighContrastEnabled: function () {\n\t\treturn ChatModel.data.information.highContrastEnabled;\n\t },\n\t setHighContrastEnabled: function (enabled) {\n\t\tChatModel.data.information.highContrastEnabled = enabled;\n\t },\n\t getFontSize: function () {\n\t\treturn ChatModel.data.information.fontSize;\n\t },\n\t setFontSize: function (size) {\n\t\tChatModel.data.information.fontSize = size;\n\t },\n\t addListeners: function () {\n\t\t$(\"#information-page #question\").change(ChatModel.saveData), $(document.body).on(\"change\", \"#information-page .form-control input\", ChatModel.saveData), $(\"#conversation-page #input-message\").change(ChatModel.saveData);\n\t },\n\t modelToView: function () {\n\t\tChatModel.data.step !== ChatModel.Steps.Information && gSession.setSession(ChatModel.data.session),\n\t\t $(\"#information-page #name\").val(ChatModel.data.information.name),\n\t\t $(\"#information-page #email\").val(ChatModel.data.information.email),\n\t\t $(\"#information-page #question\").val(ChatModel.data.information.question),\n\t\t $(\"#conversation-page #input-message\").val(ChatModel.data.conversation.message);\n\t\tvar customFields = ChatModel.data.information.customFields;\n\t\tif (\"object\" === _typeof(customFields))\n\t\t for (var key in customFields)\n\t\t\tif (customFields.hasOwnProperty(key)) {\n\t\t\t var val = customFields[key].val;\n\t\t\t $('input[id=\"' + key + '\"]').val(val);\n\t\t\t}\n\t },\n\t viewToModel: function () {\n\t\t(ChatModel.data.session = gSession.getSession()),\n\t\t (ChatModel.data.information.profile = $(\"#profiles\").val()),\n\t\t (ChatModel.data.information.name = $(\"#information-page #name\").val()),\n\t\t (ChatModel.data.information.email = $(\"#information-page #email\").val()),\n\t\t (ChatModel.data.information.question = $(\"#information-page #question\").val()),\n\t\t (ChatModel.data.conversation.message = $(\"#conversation-page #input-message\").val()),\n\t\t $(\".form-control\").each(function () {\n\t\t\tvar key = this.id.split(\"-\")[0];\n\t\t\tif (-1 === $.inArray(key, ChatModel.SystemFields)) {\n\t\t\t var $input = $('input[id=\"' + key + '\"]'),\n\t\t\t\tval = $input.val();\n\t\t\t $input.length && ChatModel.data.information.customFields && (ChatModel.data.information.customFields[key] = { val: val });\n\t\t\t}\n\t\t });\n\t },\n\t loadData: function () {\n\t\tif (!ChatModel.isDomainKey()) return !1;\n\t\tvar data = Persist.loadData(ChatModel.compositeKey());\n\t\tif (data && data.step !== ChatModel.Steps.Finished) {\n\t\t console.info(\"Persist: fill views from saved data\"), (ChatModel.data = data);\n\t\t var messagesData = data.conversation.messages;\n\t\t data.conversation.messages = [];\n\t\t for (var messages = data.conversation.messages, i = 0; i < messagesData.length; i++) {\n\t\t\tvar message = messagesData[i],\n\t\t\t chatMessage = new ChatMessage(\n\t\t\t\tmessage.id,\n\t\t\t\tmessage.messageId,\n\t\t\t\tmessage.messageType,\n\t\t\t\tmessage.messageDirection,\n\t\t\t\tmessage.messageContent,\n\t\t\t\tmessage.originatorType,\n\t\t\t\tmessage.originatorEmail,\n\t\t\t\tmessage.originatorName,\n\t\t\t\tmessage.destinators,\n\t\t\t\tmessage.contentType,\n\t\t\t\tmessage.confirmation,\n\t\t\t\tmessage.referenceId,\n\t\t\t\tmessage.date,\n\t\t\t\tmessage.removeUserNames\n\t\t\t );\n\t\t\tmessages.push(chatMessage);\n\t\t }\n\t\t return \"undefined\" != typeof gSession && ChatModel.modelToView(), !0;\n\t\t}\n\t\treturn !1;\n\t },\n\t disableSave: function () {\n\t\tChatModel.SaveDisabled = !0;\n\t },\n\t saveData: function () {\n\t\tif (ChatModel.SaveDisabled || !ChatModel.isDomainKey()) return !1;\n\t\tChatModel.viewToModel(), Persist.saveData(ChatModel.compositeKey(), ChatModel.data), App.sendMessageToParent({ action: \"set-localstorage\", value: ChatModel.data, key: ChatModel.compositeKey() });\n\t },\n\t done: function () {\n\t\tChatModel.setStep(ChatModel.Steps.Finished), ChatModel.saveData();\n\t },\n\t allowMinimize: function (data) {\n\t\treturn !0;\n\t },\n\t reset: function () {\n\t\tChatModel.setStep(ChatModel.Steps.Unknown), ChatModel.saveData();\n\t },\n\t}),\n\tFive9Modules && (Five9Modules.ChatModel = ChatModel),\n\t(EmailModel = {\n\t Key: \"f9-email-console\",\n\t Steps: { Unknown: \"Unknown\", Information: \"Information\", Finished: \"Finished\" },\n\t SystemFields: [\"profiles\", \"name\", \"email\", \"subject\"],\n\t data: { step: \"Unknown\", information: { profile: \"\", name: \"\", email: \"\", subject: \"\", content: \"\", customFields: {} }, hiddenFields: [] },\n\t getStep: function () {\n\t\treturn EmailModel.data.step;\n\t },\n\t setStep: function (val) {\n\t\tEmailModel.data.step = val;\n\t },\n\t setHiddenFields: function (fields) {\n\t\tEmailModel.data.hiddenFields = fields;\n\t },\n\t addListeners: function () {\n\t\t$(\"#information-page #name\").change(EmailModel.saveData),\n\t\t $(\"#information-page #email\").change(EmailModel.saveData),\n\t\t $(\"#information-page #subject\").change(EmailModel.saveData),\n\t\t $(\"#information-page #content\").change(EmailModel.saveData);\n\t },\n\t modelToView: function () {\n\t\tgEmailEventHandler.setProfileName(EmailModel.data.information.profile),\n\t\t $(\"#information-page #name\").val(EmailModel.data.information.name),\n\t\t $(\"#information-page #email\").val(EmailModel.data.information.email),\n\t\t $(\"#information-page #subject\").val(EmailModel.data.information.subject),\n\t\t $(\"#information-page #content\").val(EmailModel.data.information.content),\n\t\t EmailModel.data.hiddenFields.length &&\n\t\t\tEmailModel.data.hiddenFields.forEach(function (field) {\n\t\t\t $(\"#\" + field + \"-form-control\").hide();\n\t\t\t});\n\t\tvar customFieldKeys = Object.getOwnPropertyNames(EmailModel.data.information.customFields);\n\t\tcustomFieldKeys.length &&\n\t\t customFieldKeys.forEach(function (key) {\n\t\t\t$('input[id=\"' + key + '\"]').val(EmailModel.data.information.customFields[key]);\n\t\t });\n\t },\n\t viewToModel: function () {\n\t\t(EmailModel.data.information.profile = $(\"#profiles\").val()),\n\t\t (EmailModel.data.information.name = $(\"#information-page #name\").val()),\n\t\t (EmailModel.data.information.email = $(\"#information-page #email\").val()),\n\t\t (EmailModel.data.information.subject = $(\"#information-page #subject\").val()),\n\t\t (EmailModel.data.information.content = $(\"#information-page #content\").val()),\n\t\t $(\".custom-fields .form-control input\").each(function (ind, el) {\n\t\t\tvar key = $(el).attr(\"id\"),\n\t\t\t val = $(el).val();\n\t\t\tEmailModel.data.information.customFields[key] = val;\n\t\t });\n\t },\n\t loadData: function () {\n\t\tvar data = Persist.loadData(EmailModel.Key);\n\t\treturn !(!data || data.step === EmailModel.Steps.Finished || (console.info(\"Persist: fill views from saved data\"), (EmailModel.data = data), EmailModel.modelToView(), 0));\n\t },\n\t saveData: function () {\n\t\tEmailModel.viewToModel(), Persist.saveData(EmailModel.Key, EmailModel.data);\n\t },\n\t done: function () {\n\t\tEmailModel.setStep(EmailModel.Steps.Finished), EmailModel.saveData();\n\t },\n\t allowMinimize: function (data) {\n\t\treturn !0;\n\t },\n\t}),\n\tFive9Modules && (Five9Modules.EmailModel = EmailModel);\n "],"x_google_ignoreList":[]}