

    /*** Chat Bot Settings ***/

    var globalStaticResourcePath = '/liveagent/resource/1689990469000/RH_Chatbot_Resource';

    var userClickedReadMore         = false;
    var resumeWasSubmitted          = false;
    var isCommunity                 = false;
    var showButton                  = true;
    var autoOpen                    = true;
    var proactiveTimeout            = null;
    var observer                    = null;
    var buttonObserver              = null;
    var chatButtonClass             = 'button.uiButton';
    var chatWindowClass             = '.dockableContainer';
    var chatMessageClass            = '.chatMessage';
    var clickdone                   = false;

    var isLiveAgent                 = sessionStorage.getItem('isLiveAgent') == 'true' ? true : false;
    var isBotInitialized            = sessionStorage.getItem('isBotInitialized') == 'true' ? true : false;
    var isMessageToAgentSent        = sessionStorage.getItem('isMessageToAgentSent') == 'true' ? true : false;
    var isSubmitResumeOpenedFromBot = sessionStorage.getItem('isSubmitResumeOpenedFromBot') == 'true' ? true : false;
    var isJobAlertsOpenedFromBot    = sessionStorage.getItem('isJobAlertsOpenedFromBot') == 'true' ? true : false;
    var isJobFoundByBot             = sessionStorage.getItem('isJobFoundByBot') == 'true' ? true : false;
    var askAnythingElse             = sessionStorage.getItem('askAnythingElse') == 'true' ? true : false;
    var proactive                   = sessionStorage.getItem('proactive');
    var chatKey                     = sessionStorage.getItem('chatKey');
    var isChatBtnVisibleOnPage      = false;

    const observeConfig = {
        attributes: true,
        childList: true,
        subtree: true
    };

    const url_domain = function() {
        var anchor = document.createElement('a');
        anchor.href = window.location;
        return anchor.hostname;
    };

    const checkForSourceAsEmail = function(){
        var pathname = window.location.pathname.toLowerCase();
        var searchParams = new URLSearchParams(location.search);
        var utmSource = searchParams.get('utm_source');
        return window.location.pathname.toLowerCase().includes('find-the-right') && utmSource != null;
    }
    
    var isSourceEmail = checkForSourceAsEmail();
    let drupalLocationUrl = new URLSearchParams(window.location.href);

    drupalLocationUrl.forEach(function(value, key) {
        if(key.includes('utm_') == false && key != 'sfi'){
            drupalLocationUrl.delete(key); 
        }
    });

    let urlLocation = isSourceEmail ? window.location.pathname + '?' + drupalLocationUrl.toString() : window.location.pathname;

    var settings = {
        displayHelpButton            : 'true',
        defaultMinimizedText         : 'Chat',
        language                     : 'en',
        storageDomain                : url_domain(),
        enabledFeatures : [
            'LiveAgent'
        ],
        entryFeature : 'LiveAgent',
        extraPrechatFormDetails : [{
                label : 'URL Location',
                value : urlLocation,
                transcriptFields : ['URL_Location__c'],
                displayToAgent: true
            },{
                label : 'URL Origin',
                value : window.location.origin,
                transcriptFields : ['URL_Origin__c'],
                displayToAgent: true
            }]
    };

    const autoMessagesMap = {
        resumeNotSubmitted     : '#Bot_resumeNotSubmitted',
        resumeSubmitted        : '#Bot_resumeSubmitted',
        anythingElse           : '#Bot_anythingElse',
        thanksForApplication   : '#Bot_thanksForApplication',
        jobAlerts              : '#Bot_jobAlerts',
        redirectToSubmitResume : '#Bot_redirectToSubmitResume',
        userInitiated          : '#Bot_User-Initiated',
        proactive              : '#Bot_Proactive',
        allowPopups            : '#Bot_allowPopups'
    };
    
    var visitorEngagementType = autoMessagesMap.userInitiated;

    /*** Onload Methods ***/

    const preventPageTitleChange = function() {
        /* Commenting out for PRH-6113
        window.originalTitle = document.title;
        Object.defineProperty(document, 'title', {
            get: function() {return originalTitle},
            set: function(e) {}
        }); */
    }

    const clearRedundantSessionStorage = function() {
        if (window.performance.navigation.type == 1) {
            sessionStorage.removeItem('proactive');
            proactive = null;
        }
        if (!location.pathname.includes('/submit-resume')) {
            sessionStorage.removeItem('isSubmitResumeOpenedFromBot');
            isSubmitResumeOpenedFromBot = false;
        }
        if (!location.pathname.includes('/job') && !location.pathname.includes('submit-resume/thank-you/')) {
            sessionStorage.removeItem('isJobFoundByBot');
            sessionStorage.removeItem('isJobAlertsOpenedFromBot');
            isJobFoundByBot = false;
            isJobAlertsOpenedFromBot = false;
        }
    }

    const sendMessageAfterResumeSubmitted = function() {
        if (location.pathname.includes('submit-resume/thank-you/') && !isLiveAgent) {
            if (isSubmitResumeOpenedFromBot) {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.resumeSubmitted);
                sessionStorage.removeItem("isSubmitResumeOpenedFromBot");
            }
            if (isJobFoundByBot) {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.thanksForApplication);
                sessionStorage.removeItem("isJobFoundByBot");
                isJobFoundByBot = false;
            }
        }
    }

    const sendJobAlertsQuestion = function() {
        if (location.pathname.includes('/jobs/') && !isLiveAgent) {
            if (window.performance.navigation.type != 1 && isJobFoundByBot) {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.resumeSubmitted);
            }
        }
    };

    const sendAnythingElseQuestion = function() {
        if (askAnythingElse && !isLiveAgent) {
            embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.anythingElse);
            sessionStorage.removeItem("askAnythingElse");
            askAnythingElse = false;
        }
    };

    preventPageTitleChange();
    clearRedundantSessionStorage();

    /*** Drupal Windows Methods ***/

    window.chatBotInteraction = function(actionType) {
        switch(actionType) {
            case '#JOB_ALERTS':
                if (isJobAlertsOpenedFromBot || isJobFoundByBot) {
                    embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.jobAlerts);
                    sessionStorage.removeItem("isJobAlertsOpenedFromBot");
                    isJobAlertsOpenedFromBot = false;
                }
                break;
            default:
                return false;
        }
        return true;
    };

    /*** Standard Bot Events ***/

    const addBotEventHandlers = function() {
        embedded_svc.addEventHandler("onAgentMessage", function(data) {
            var messageAreaCount = document.querySelectorAll('.messageArea').length;
            if (!isBotInitialized && messageAreaCount) {
                isBotInitialized = true;
                sessionStorage.setItem('isBotInitialized', isBotInitialized);

                chatKey = data.liveAgentSessionKey;
                sessionStorage.setItem('chatKey', chatKey);

                embedded_svc.postMessage("chasitor.sendMessage", visitorEngagementType);
            }
        });

        embedded_svc.addEventHandler("onHelpButtonClick", function() {
            onHelpButtonClickHandler();
        });

        embedded_svc.addEventHandler("onChatEndedByChasitor", function(data) {
            removeBotInitSessionData();
        });

        embedded_svc.addEventHandler("onChatEndedByAgent", function(data) {
            removeBotInitSessionData();
        });

        embedded_svc.addEventHandler("onConnectionError", function(data) {
            removeBotInitSessionData();
        });

        embedded_svc.addEventHandler("onIdleTimeoutOccurred", function(data) {
            removeBotInitSessionData();
        });

        embedded_svc.addEventHandler("onChatTransferSuccessful", function(data) {
            if (sessionStorage.getItem('proactive') == "true") {
                proactiveLiveAgent_Tealium();
            }
            sessionStorage.setItem('isLiveAgent', true);
            isLiveAgent = true;
        });
    };

    const onHelpButtonClickHandler = function() {
        addBotListener();
        addTextAreaListener();
        if (!isCommunity) addHelpButtonListener();
        autoOpen = false;

        if (proactive == "false") chatButtonClicked_Tealium();
        sessionStorage.setItem('proactive', proactive);
		
    	settings.extraPrechatFormDetails.push({
                label               : 'Proactive',
                value               : proactive,
                transcriptFields    : ['Proactive__c'],
                displayToAgent      : false
            });
    
        if (!isCommunity) {
            var contactId = window.userFormFields ? window.userFormFields.contactId : '';
            settings.extraPrechatFormDetails.push({
                label               : 'Visitor Id',
                value               : contactId,
                transcriptFields    : ['Visitor_Id__c'],
                displayToAgent      : true
            });
        }
    };

    const removeBotInitSessionData = function() {
        sessionStorage.removeItem('isBotInitialized');
        sessionStorage.removeItem('chatKey');
        sessionStorage.removeItem('isLiveAgent');
        sessionStorage.removeItem('isMessageToAgentSent');
        sessionStorage.setItem('proactive', false);

        isMessageToAgentSent = false;
        isBotInitialized = false;
        isLiveAgent = false;
        sessionStorage.setItem('proactive', false);
        proactive = 'false';
        closeChatBotDiv();
    };

    const showHelpButton = function(showOrHide) {
        showButton = showOrHide;
        if (showOrHide) {
            embedded_svc.showHelpButton()
        } else {
            embedded_svc.hideHelpButton();
        }
    };

    /*** User Action Listeners ***/

    window.inactiveUserTime = null;

    const inactiveUser = function() {
    	clearTime(window.inactiveUserTime);
        window.inactiveUserTime = setTimeout(
        	makeActionWhenUserIsInactive,
            '120000'
        );
    };

    const clearTime = function(timeToClear) {
    	if (timeToClear) {
        	clearTimeout(timeToClear); 
        }
    };

    const makeActionWhenUserIsInactive = function() {
        if (isBotInitialized && !isLiveAgent) {
            if (location.pathname == '/submit-resume' && !resumeWasSubmitted) {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.resumeNotSubmitted);
            } else {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.anythingElse);
            }
        }
    };

    window.addEventListener('click', inactiveUser);
    window.addEventListener('keypress', inactiveUser);

    /*** Chat Action Listeners ***/

    const openChatAutomaticallyAfterTime = function (proActiveFlag) {
    	const pathname = window.location.pathname.toLowerCase();
        var timeOutInterval = pathname === '/s/approve-time' ? 2000 : 
    			'30000';
        var timeToCloseProactive = '120000';
    	var currentHour = 10;
        var currentDay = 'Tue';
        if(proActiveFlag){
            waitForElementRender(chatButtonClass, proactiveChatListener, 50);     
        }else{
            if (currentDay != 'Sat' && currentDay != 'Sun' && currentHour >= 5 && currentHour < 17) {
                proactiveTimeout = setTimeout(
                    function() {
                        var chatWindows = document.querySelectorAll(chatWindowClass);
                        var chatWindowCount = chatWindows?.length;
                        if (autoOpen && showButton && !chatWindowCount) {
                            visitorEngagementType = autoMessagesMap.proactive;
                            proactive = 'true';
                            proactiveBot_Tealium();
                            var needHelp = 'Need help?';
                            var hereToHelp = 'We\'re here to answer your questions.';
                            var buttonClass = isCommunity === true ? '.embeddedServiceHelpButton': '.helpButton';
                            chatDiv = document.createElement("div");
                            chatDiv.classList.add('chatbotDiv');

                            var needHelpSpan = document.createElement("span");
                            needHelpSpan.className = "needHelp";
                            needHelpSpan.textContent = needHelp;
                            needHelpSpan.onclick = openChatBot;
                            chatDiv.appendChild(needHelpSpan);
                            
                            var closeButtonSpan = document.createElement("span");
                            closeButtonSpan.className = "closeButton fal fa-xmark";
                            closeButtonSpan.onclick = closeChatBotDiv;
                            chatDiv.appendChild(closeButtonSpan);
                            
                            var chatbotDivTextSpan = document.createElement("span");
                            chatbotDivTextSpan.className = "chatbotDivText";
                            chatbotDivTextSpan.textContent = hereToHelp;
                            chatbotDivTextSpan.onclick = openChatBot;
                            chatDiv.appendChild(chatbotDivTextSpan);
                            
                            var buttonElement = document.querySelector(buttonClass);
                            buttonElement?.appendChild(chatDiv);
                            
                            var helpButtonLabels = document.querySelectorAll(".helpButtonLabel");
                            helpButtonLabels.forEach(function(label) {
                                label.style.display = "none";
                            });
                            
                            var embeddedServiceIcons = document.querySelectorAll(".embeddedServiceIcon");
                            embeddedServiceIcons.forEach(function(icon) {
                                icon.classList.add("embeddedServiceIconProactive");
                            });
                            
                            var chatbotDiv = document.querySelector(".chatbotDiv");
                            var isVisible = window.getComputedStyle(chatbotDiv).display !== 'none' && window.getComputedStyle(chatbotDiv).visibility !== 'hidden';
                            if (chatbotDiv && isVisible) {
                                setTimeout(closeChatBotDiv, timeToCloseProactive);
                            }
                                
                        }
                    }, timeOutInterval
                );
            }
        }

        proactive = 'false';
    };

    const closeChatBotDiv = function(){
        console.log('Delete the div');
        proactive = 'false';
        document.querySelectorAll('.chatbotDiv').forEach(e => e.remove());
        document.querySelectorAll('.embeddedServiceIcon').forEach(e => e.classList.remove('embeddedServiceIconProactive'));
        document.querySelectorAll('.helpButtonLabel').forEach(e => e.style.display = 'block');
    };

    const openChatBot = function(){
        document.querySelectorAll('.chatbotDiv').forEach(e => e.remove());
        document.querySelectorAll('.helpButtonLabel').forEach(e => e.style.display = 'block');
        document.querySelectorAll('.embeddedServiceIcon').forEach(e => e.classList.remove('embeddedServiceIconProactive'));
        document.querySelector(chatButtonClass).click();
    };

    const proactiveChatListener = function(){
        console.log(chatButtonClass)
        visitorEngagementType = autoMessagesMap.proactive;
        proactive = 'true';
        proactiveBot_Tealium();
        document.querySelector(chatButtonClass).click();
    }

    const addTextAreaListener = function () {
        waitForElementRender(chatMessageClass, textAreaListener, 500);
    };

    const addBotListener = function () {
        waitForElementRender(chatWindowClass, initBotListener, 100);
    };

    const addHelpButtonListener = function() {
        waitForElementRender(chatButtonClass, helpButtonAvailabilityListener, 50);
    };

    const waitForElementRender = function(selector, callback, time) {
        var selectedElement = document.querySelector(selector);
        var computedStyles = selectedElement ? window.getComputedStyle(selectedElement) : null;
        var isVisible = computedStyles && computedStyles.display !== 'none' && computedStyles.visibility !== 'hidden';

        if (!isVisible) {
            setTimeout(function() {
                waitForElementRender(selector, callback);
            }, time);
        } else {
            callback();
        }
    };

    const initBotListener = function() {
        observer = new MutationObserver(makeActionBasedOnBotChange);
        observer.observe(document.querySelector(chatWindowClass), observeConfig);
    };

    const textAreaListener = function() {
        document.querySelector(".chasitorText").addEventListener("keydown", function(e) {
            if (e.code == "Enter") {
                textAreaSubmitted_Tealium();
                if (!isMessageToAgentSent && isLiveAgent) {
                    sessionStorage.setItem('isMessageToAgentSent', true);
                    isMessageToAgentSent = true;
                    liveAgentEngagement_Tealium();
                }
            }
        });
        
        sendMessageAfterResumeSubmitted();
        sendJobAlertsQuestion();
        sendAnythingElseQuestion();
    };

    const helpButtonAvailabilityListener = function() {
        document.querySelector('.helpButton').addEventListener("DOMSubtreeModified", function() {
            if ((!embedded_svc.liveAgentAPI && !embedded_svc.liveAgentAPI.connection.running) ||
                !embedded_svc.settings.agentAvailableOnButtonClick) {

                showHelpButton(false);

            } else {
                if (!showButton) {
                    showHelpButton(true);
                    openChatAutomaticallyAfterTime();
                }
            }
        });        
    };

    const makeActionBasedOnBotChange = function(mutations, observer) {
        mutations.forEach(function(mutation) {
            if (mutation.target.className && mutation.target.className.includes('messageWrapper') && mutation.addedNodes.length) {
                var newMessageContainer = mutation.addedNodes[0];
                var newMessage = newMessageContainer.querySelectorAll('.chatContent');
                if (!newMessage.length) {
                    newMessage = newMessageContainer.querySelectorAll('.embeddedServiceLiveAgentStateChatEventMessage');
                }

                var messageValue = newMessage[0].textContent;
                if (messageValue.includes('#Bot') || messageValue.includes('#HTTP')) {
                    newMessageContainer.remove();
                }

                var splitMessage = messageValue.split(';');
                if (splitMessage.length && splitMessage[0].includes("#HTTP")) {
                    redirectToPage(splitMessage);
                }

                sendTealiumEventOnUtterance(messageValue);

                if ((messageValue == "Bot-No-Agents-Available") || (messageValue == "No agents are available.")) {
                    showNoAgentsAvailable();
                }

                var elements = document.querySelectorAll(chatMessageClass);
                if (elements.length > 4) {
                    scrollChatToBottom();
                }
            }
        });
    };


    const redirectToPage = function(splitMessage) {
        var newPath = splitMessage[1];
        var timeout = 2000;
        var redirectTarget = "_self";

        switch (splitMessage[2]) {
            case "#SUBMIT_RESUME":
                sessionStorage.setItem("isSubmitResumeOpenedFromBot", true);
                isSubmitResumeOpenedFromBot = true;
                break;
            case "#JOB_ALERTS":
                sessionStorage.setItem("isJobAlertsOpenedFromBot", true);
                isJobAlertsOpenedFromBot = true;
                break;
            case "#JOB_SEARCH":
                sessionStorage.setItem("isJobFoundByBot", true);
                isJobFoundByBot = true;
                break;
            case "#ANYTHING_ELSE":
                if (splitMessage[1].includes(location.pathname + '#')) {
                    embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.anythingElse);
                } else {
                    sessionStorage.setItem("askAnythingElse", true);
                    askAnythingElse = true;
                }
                break;
            case "#LUX_COMMUNITY":
                timeout = 4000;
                redirectTarget = "_blank";
            default:
                break;
        }

        setTimeout(function() {
            let newWindow = window.open(newPath, redirectTarget);
            if (!newWindow || newWindow.closed || typeof newWindow.closed=='undefined') {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.allowPopups);
            } else if (redirectTarget == '_blank') {
                embedded_svc.postMessage("chasitor.sendMessage", autoMessagesMap.anythingElse);
            }
        }, timeout);
    };

    const sendTealiumEventOnUtterance = function(message) {
        if (message == "#Bot_Hire") {
            lookingToHire_Tealium();
        } else if (message == "#Bot_Look_for_a_job") {
            lookingForAJobs_Tealium();
        } else if (message == "#Bot_Transfer_To_Live_Agent") {
            anAgentIsOnItsWay_Tealium();
        }
    };

    const showNoAgentsAvailable = function() {
        var element = document.querySelector('.stateBody');
        var buttons = document.querySelectorAll('.endChatContainer');

        var iFrameSrc = 'src="https://rh.my.salesforce-sites.com/liveagent/RHCB_OfflineChatForm?chatKey=' + chatKey + '"';
        var iFrameHtml = '<iframe  allow="geolocation *; microphone *; camera *" frameborder="0" height="100%" id="j_id24" name="j_id24" scrolling="no" src="" title="Content" width="100%"></iframe>';
        iFrameHtml = iFrameHtml.replace('src=""', iFrameSrc + ' class="offline-form"');
        element.html(iFrameHtml);

        document.querySelector('.embeddedServiceSidebarExtendedHeader .content').forEach(e => e.remove());

        embedded_svc.liveAgentAPI.ping();
        addIFrameEventHandler(buttons);
        removeBotInitSessionData();
    };

    const addIFrameEventHandler = function(buttons) {
        window.addEventListener('message', function (e) {
            if (e.data === "formSubmittedEvent" || e.message === "formSubmittedEvent") {
                buttons.css('position', 'absolute');
                buttons.css('bottom', '0');
                document.querySelector('.stateBody').append(...buttons);
            }
        });
    };
    
    const scrollChatToBottom = function() {
    	var elements = document.getElementsByClassName('messageArea');
        elements[0].scrollTop = elements[0].scrollHeight;
    };

    /*** Tealium Events ***/

    const chatButtonClicked_Tealium = function() {
        sendTealiumEvent("chat_live_agent_initiate_click");
    };

    const textAreaSubmitted_Tealium = function() {
        sendTealiumEvent("chat_engagement");
    };

    const proactiveBot_Tealium = function() {
        sendTealiumEvent("chat_proactive_bot_load");
    };

    const proactiveLiveAgent_Tealium = function() {
        sendTealiumEvent("chat_proactive_agent_load");
    };

    const lookingForAJobs_Tealium = function() {
        sendTealiumEvent("chat_bot_response_candidate");
    };

    const lookingToHire_Tealium = function() {
        sendTealiumEvent("chat_bot_response_client");
    };

    const anAgentIsOnItsWay_Tealium = function() {
        sendTealiumEvent("chat_bot_live_agent_transfer");
    };

    const liveAgentEngagement_Tealium = function() {
        sendTealiumEvent("chat_live_agent_engagement");
    };

    const sendTealiumEvent = function(eventValue) {
        utag.link({
            "tealium_event": eventValue
        });
    };

    /*** Chat main methods ***/
    
    const initEinsteinBot = function() { 
	
    console.log('@@@initEinsteinBot'+ '@@@isbotini=' + isBotInitialized+'@@@isChatBtnVisibleOnPage='+isChatBtnVisibleOnPage);
        isChatBtnVisibleOnPage = false;
        if (!isBotInitialized) {
            var i = 0;
            const time = setInterval(
                function() {
                    i++;
                    if (((window.clientId && window.drupalSettings) || i == 20) && window.clientId != 'not set') {
                        clearInterval(time);
                        //PRCBT-459
                        let searchParams = new URLSearchParams(location.search);
    					var utmSource = searchParams.get('utm_source');
    					var proActiveFlag = searchParams.get('proactive');
    					var srcUrl = window.location.pathname.toLowerCase();
    					if((srcUrl.includes('find-the-right') && utmSource != null) || !srcUrl.includes('find-the-right')){
    						initEmbedded_svc();
    						openChatAutomaticallyAfterTime(proActiveFlag);
    					}
                        else if(srcUrl.includes('find-the-right')){
                            initEmbedded_svc();
                        }
                    }
                }, 500
            );
        } else {
            initEmbedded_svc();
        } 
    };
    const checkLiveagentAvail = async function() {
        isChatBtnVisibleOnPage = true;

        if(isBotInitialized){
            initEmbedded_svc();
        } else {
            const pathname = window.location.pathname.toLowerCase();
            const hostname = window.location.hostname.toLowerCase();
            const agentAvailability = await getButtonIdBySource(pathname,hostname);
            var t = JSON.parse(agentAvailability); 
            var results = t.messages[0].message.results;

            results.every(element => {
                if(element.isAvailable == true){
                    sessionStorage.setItem("chatButtonId", element.id);
                    return false;
                }
                return true;
            });
        }
    };

    const getButtonByAvailability = async function(){

        let b = ''
        const pathname = window.location.pathname.toLowerCase();
        const hostname = window.location.hostname.toLowerCase();
        const agentAvailability = await getButtonIdBySource(pathname,hostname);
        var t = JSON.parse(agentAvailability); 
        var results = t.messages[0].message.results;

        results.every(element => {
            if(element.isAvailable == true){
                b = element.id;
                return false;
            }

            return true;
        });   
        
        return b;
    }

    const getButtonIdBySource = async function(pathname, hostname){
        const myHeaders = new Headers()
        const emailSourceParam = isSourceEmail ? "&isFromEmail=true" : "";
        myHeaders.append("Content-Type", "application/json")
        const requestOptions = {
            method: 'GET',
            headers: myHeaders,
            redirect: 'follow'
        }
        
        const response = await fetch("https://rh.my.salesforce-sites.com/liveagent" 
        + "/services/apexrest/Button?path=" 
        + encodeURI(pathname) 
        + "&host=" 
        + encodeURI(hostname) 
        + emailSourceParam, requestOptions)
        const availabilty = await response.json();

        return availabilty;
    }
    
    const initEmbedded_svc = async function() {
        var clientId =  window.clientId ? window.clientId.split('.')[0] : '';
        var visitorType = window.drupalSettings ? window.drupalSettings.rh_datalayer.ContentUserFocusCD : null;
        var buttonId;
        if(sessionStorage.getItem("chatButtonId") != undefined && !isChatBtnVisibleOnPage) {
            buttonId = sessionStorage.getItem("chatButtonId");
        } else {
            buttonId = await getButtonId();
        }

        settings.extraPrechatFormDetails.push({
            label               : 'Client Id',
            value               : clientId,
            transcriptFields    : ['Client_Id__c'],
            displayToAgent      : true
        });
        settings.extraPrechatFormDetails.push({
            label               : 'beforeThankyou',
            value               : isChatBtnVisibleOnPage,
            transcriptFields    : ['beforeThankyou__c'],
            displayToAgent      : false
        });
        if(window.drupalSettings && window.drupalSettings.form_user_input != undefined) {
            var vendorId = JSON.parse(window.drupalSettings.form_user_input).leadId;
            settings.extraPrechatFormDetails.push({
                label               : 'Vendor Id',
                value               : vendorId,
                transcriptFields    : ['Vendor_Id__c'],
                displayToAgent      : true
            });
        }
        
        if (visitorType == 'Client' || visitorType == 'Candidate') {
            settings.extraPrechatFormDetails.push({
                label               : 'Visitor Type',
                value               : visitorType,
                transcriptFields    : ['Visitor_Type__c'],
                displayToAgent      : true
            });
        }

        embedded_svc.settings.targetElement = document.querySelector('body');
        Object.assign(embedded_svc.settings, settings);
        embedded_svc.init(
            'https://rh.my.salesforce.com',
            'https://rh.my.salesforce-sites.com/liveagent',
            'https://rh.my.salesforce.com',
            '00Dd0000000iMUB',
            'RH_North_America_Proactive_Bot_Snap_In',
            {
                baseLiveAgentContentURL : 'https://c.la1-c1-ia4.salesforceliveagent.com/content',
                deploymentId            : '5720V000001UJCp',
                buttonId                :  buttonId,
                baseLiveAgentURL        : 'https://d.la1-c1-ia4.salesforceliveagent.com/chat',
                eswLiveAgentDevName     : 'EmbeddedServiceLiveAgent_Parent04I0V000000CaS0UAK_16c55a7030c',
                isOfflineSupportEnabled : false
            }
        );
        addBotEventHandlers();
        addTextAreaListener();
        addHelpButtonListener();
        if(isBotInitialized) addBotListener();
        if(!isChatBtnVisibleOnPage && !clickdone && sessionStorage.getItem("chatButtonId") != undefined) {
            const ctime = setInterval(
                function() {
                    var chtButton = document.querySelector('button.uiButton');
                    if (chtButton) {
                        var chtButtonText = chtButton.innerText;
                        if (chtButtonText && !chtButtonText.includes('Offline') && !chtButton.classList.contains('helpButtonDisabled')) {
                            clearInterval(ctime);
                            chtButton.click();
                            clickdone = true;
                        }
                    }
            },200);
        }
        
    };

    const getButtonId = async function() {

        let locationsMap = JSON.parse('{"/locations/wi-milwaukee":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/wi-middleton/1600-aspen-commons":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/wi-appleton/100-w-lawrence-street-3rd-floor":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/wa-spokane/601-w-riverside-avenue":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/wa-seattle-tacoma":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/verify-your-email":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/verify":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/locations/va-richmond/1051-east-cary-st":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/va-norfolk/150-west-main-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ut-salt-lake-city":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"www.robert-half.com/unitTestLocation":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null},"/locations/tx-san-antonio/8000-ih-10-west":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tx-midland/300-north-marienfeld":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tx-houston":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/locations/tx-el-paso/el-paso-area":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tx-dallas-ft-worth":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tx-austin/10801-2-n-mopac-expressway":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/tracking":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/locations/tn-nashville":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tn-memphis":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tn-knoxville/1111-northshore-drive-nw":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/tn-chattanooga/537-market-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/en/time-reports/unavailable":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":"5733w000000oLpLAAU"},"/time-reports/unavailable":{"Email_Button_Name__c":null,"Button_Name__c":"5733w000000oLpLAAU","Button_Name_CAN__c":null},"/us/en/c/staffing-services-request-form":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null},"/web/s/settings":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/locations/sc-north-charleston/4105-faber-place-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/sc-greenville":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/sc-columbia/1441-main-st":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ri-providence/275-promenade-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/rhdpasswordreset":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/rhdcheckyouremail":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/rhdchangeyourpassword":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/registration":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/profile":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/locations/pa-pittsburgh":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/pa-philadelphia":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/or-portland/10220-sw-greenburg-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/or-eugene/800-willamette-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ok-tulsa/8801-s-yale-ave":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ok-oklahoma-city/3817-nw-expressway":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/oh-youngstown":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/oh-perrysburg/2210-levis-common-blvd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/locations/oh-dayton/312-n-patterson-blvd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/oh-columbus":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/oh-cleveland-akron":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/oh-cincinnati":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ny-syracuse/300-s-state-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ny-rochester/255-east-avenue":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ny-new-york":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ny-buffalo/726-exchange-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ny-albany/20-corporate-woods-blvd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nv-reno":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nv-las-vegas/3993-howard-hughes-pkwy":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nm-albuquerque/6501-americas-pkwy-ne":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/en/new-job-order":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":"5733w000000oLp1AAE"},"/locations/ne-omaha/1125-s-103rd-st":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nc-raleigh":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nc-greensboro/101-centreport-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/nc-charlotte":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mo-st-louis/622-emerson-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mo-kansas-city/2345-grand-blvd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mn-minneapolis-st-paul":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mi-grand-rapids-kalamazoo":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mi-east-lansing/2900-west-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/mi-detroit":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/me-portland/100-middle-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/md-baltimore":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ma-springfield/one-monarch-pl":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ma-boston-manchester":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/find-jobs/direct-apply":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/login/":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/locations":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/la-new-orleans/909-poydras-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/la-baton-rouge/4000-s-sherwood-forest-boulevard":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ky-louisville/9300-shelbyville-rd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ky-lexington/2343-alexandria-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/job-posting-edit":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/web/s/job":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/s/jo-details":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null},"/locations/in-indianapolis":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/in-fort-wayne/9921-dupont-circle-dr-w":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/il-chicago":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/id-boise/720-park-blvd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ia-des-moines/801-grand-ave":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ia-davenport/5405-utica-ridge-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ia-cedar-rapids/1120-depot-lane-se":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/c/hiring-request-form":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null},"/locations/hi-honolulu/737-bishop-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ga-savannah/2-east-bryan-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ga-macon/3920-arkwright-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ga-atlanta":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-west-palm-beach":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-tampa":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-orlando":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-miami-ft-lauderdale":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-jacksonville/10751-deerwood-park-blvd-south":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/fl-ft-myers/9530-marketplace-road":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/find-your-solution":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":"5733w000000oLp1AAE"},"/us/en/find-the-right-solution":{"Email_Button_Name__c":null,"Button_Name__c":"5733w000000oLp0AAE","Button_Name_CAN__c":null},"/us/en/hire-talent/direct-candidate-match":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/default":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZmAAM","Button_Name_CAN__c":"5733w0000019KZmAAM"},"/locations/dc-washington":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/s/dashboard":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null},"/locations/ct-hartford":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/co-denver":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/co-colorado-springs/5575-tech-center-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-santa-barbara/1525-state-street":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-san-francisco-bay-area":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-san-diego":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-sacramento-stockton-modesto":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-orange-county":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-monterey/4-lower-ragsdale-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-los-angeles":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-indian-wells/74760-us-highway-111":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-fresno":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ca-bakersfield/5001-east-commercenter-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/az-tucson/5255-east-williams-circle":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/az-phoenix":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ar-little-rock/10801-executive-center-drive":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/locations/ar-fayetteville/438-east-millsap-rd":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/s/approve-time":{"Email_Button_Name__c":null,"Button_Name__c":"5733w000001DWdbAAG","Button_Name_CAN__c":null},"/locations/al-birmingham/3535-grandview-pkwy":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/web/s/acct-create-error":{"Email_Button_Name__c":null,"Button_Name__c":"5730V000000oLogQAE","Button_Name_CAN__c":null},"/us/en/talent-specialization/tech-it":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/administrative":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/employers/management-resources":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/consulting":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/hire-talent/flexible-staffing/full-time-engagement-professionals":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/legal":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/hire-talent/full-time-staffing":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/hire-talent/flexible-staffing":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/employers/finance":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/hire-talent/executive-search":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/hire-talent":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/marketing-creative":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/employers/candidate-search":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/us/en/accounting-finance":{"Email_Button_Name__c":null,"Button_Name__c":"5733w0000019KZhAAM","Button_Name_CAN__c":null},"/apex/EinsteinBot":{"Email_Button_Name__c":null,"Button_Name__c":null,"Button_Name_CAN__c":null}}');
        let pathname = window.location.pathname.toLowerCase();
        let isThisCanadaDomain = window.location.hostname.toLowerCase().endsWith('.ca');

        let buttondIdToReturn = '';

        if(pathname.includes('hiring') || (pathname.includes('find-the-right') && isSourceEmail == false) || pathname.includes('new-job-order')) {
            console.log('@@@setting pathname');
            pathname = pathname+'xx';
        }

        let botLocationDetails = ((pathname in locationsMap) ? locationsMap[pathname] : locationsMap['/default']);
        buttondIdToReturn = isThisCanadaDomain ? botLocationDetails.Button_Name_CAN__c.substring(0,15) : botLocationDetails.Button_Name__c.substring(0,15);
    	if(isSourceEmail == true){
    		buttondIdToReturn = await getButtonByAvailability();
            if(!buttondIdToReturn){
                buttondIdToReturn = botLocationDetails.Email_Button_Name__c.substring(0,15)
            }
    	}
        isChatBtnVisibleOnPage = true;

        return buttondIdToReturn;
    }