{"version":3,"sources":["analytics.js"],"names":["trackAjaxEvents","document","location","host","indexOf","domain","$","ajaxSuccess","evt","request","settings","fullUrl","url","test","replace","excludeQueryString","googleAnalytics","sendAjaxEvent","err","trackPageChange","e","gaPageHelper","setCurrentPage","substring","getHostName","hostName","protocol","protocalLength","length","getPreviousPage","previousPage","oldURL","previousUrl","previousHostName","_gaq","hostname","tenantName","currentUrl","undefined","loadingStartTime","getUrl","urlPart","pathname","hash","search","params","r","RegExp","m","exec","queryString","loadCompleted","setTimeout","pageloadTimeMs","Math","abs","Date","sendNavigationEvent","sendPageView","sendPageLoadTime","gtag","window","dataLayer","push","arguments","getCurrentPageTitle","title","split","trim","isInitialized","init","appFeatureSwitches","googleAnalyticsMeasurementId","script","createElement","src","async","scripts","getElementsByTagName","parentNode","insertBefore","head","appendChild","anonymize_ip","allow_google_signals","allow_ad_personalization_signals","restricted_data_processing","custom_map","dimension1","dimension2","dimension3","dimension4","ad_storage","console","log","nextPage","event_label","event_category","value","Domain","Tenant","loadTime","name","urlInfo","page_title","page_location","page_path","send_to","Params","sendPageProvidedSectionOfThePage","sectionName","PageProvidedSectionOfThePage","googleAnalyticsSamplingRate","parseInt","isNaN","min","urlParts","onhashchange"],"mappings":"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","file":"analytics.js","sourcesContent":["var _gaq = _gaq || []; // backward compatibility for other modules\r\n\r\nvar domain = 'acclipse.com';\r\n\r\ntry {\r\n    domain = document.location.hostname.substring(document.location.hostname.indexOf('.') + 1);\r\n\r\n} catch (e) {}\r\n\r\nvar tenantName;\r\ntry {\r\n    tenantName = document.location.hostname.replace(domain, '');\r\n} catch (e) { }\r\n\r\nvar gaPageHelper = (function () {\r\n    var currentUrl = undefined;\r\n    var loadingStartTime = undefined; \r\n\r\n    return {\r\n        getUrl: function () {\r\n            var urlPart = location.pathname + location.hash + location.search;\r\n            var params = undefined;\r\n            if (urlPart.indexOf('?') != -1) {\r\n                params = urlPart.substring(urlPart.indexOf('?') + 1);\r\n                urlPart = urlPart.substring(0, (urlPart.indexOf('?') - 1));\r\n\r\n                var r = new RegExp('mode=([A-Za-z0-9_]+)', 'i');\r\n                var m = r.exec(params);\r\n                if (m != null) {\r\n                    urlPart += \"/\" + m[1];\r\n                }\r\n            }\r\n\r\n            return { url: urlPart, queryString: params };\r\n        },\r\n        loadCompleted: function () {\r\n            setTimeout(function () {\r\n                var pageloadTimeMs = Math.abs((new Date() - loadingStartTime));\r\n                googleAnalytics.sendNavigationEvent(currentUrl);\r\n                googleAnalytics.sendPageView(currentUrl);\r\n                googleAnalytics.sendPageLoadTime(pageloadTimeMs);\r\n            }, 0);\r\n            \r\n        },\r\n        setCurrentPage: function (evt) {\r\n            try {\r\n                loadingStartTime = new Date();\r\n                var url = location.pathname + location.hash\r\n                currentUrl = excludeQueryString(url);\r\n            } catch (e) { }\r\n        }\r\n    }\r\n})();\r\n\r\nvar googleAnalytics = (function () {\r\n\r\n    var isInitialized = function () {\r\n        return typeof (window.dataLayer) !== \"undefined\"\r\n    };\r\n    \r\n    function gtag() {\r\n       window.dataLayer = window.dataLayer || [];\r\n       window.dataLayer.push(arguments);\r\n    }\r\n\r\n    function getCurrentPageTitle() {\r\n        return (document.title && document.title.indexOf('|') < document.title.length ? document.title.split('|')[0].trim() : document.title);\r\n    }\r\n\r\n    return {\r\n        init: function () {\r\n            if (!isInitialized() && appFeatureSwitches.googleAnalyticsMeasurementId) {\r\n                try {\r\n                    var script = document.createElement('script');\r\n                    script.src = 'https://www.googletagmanager.com/gtag/js?id=' + appFeatureSwitches.googleAnalyticsMeasurementId;\r\n                    script.async = true;\r\n                    var scripts = document.getElementsByTagName('script');\r\n                    if (scripts && scripts.length && scripts.length > 0) {\r\n                        scripts[0].parentNode.insertBefore(script, scripts[0]);\r\n                    } else {\r\n                        document.head.appendChild(script);\r\n                    }\r\n                    \r\n                    gtag('js', new Date());\r\n                    gtag('config', appFeatureSwitches.googleAnalyticsMeasurementId, {\r\n                        'anonymize_ip': true,\r\n                        'allow_google_signals': false,\r\n                        'allow_ad_personalization_signals': false,\r\n                        'restricted_data_processing': true,\r\n                        'custom_map': {\r\n                            'dimension1': 'Domain',\r\n                            'dimension2': 'Tenant',\r\n                            'dimension3': 'Params',\r\n                            'dimension4': 'PageProvidedSectionOfThePage'\r\n                        }\r\n                    });\r\n\r\n                    gtag('consent', 'default', {\r\n                        'ad_storage': 'denied'\r\n                    });\r\n\r\n                } catch (e) {\r\n                    console.log(\"Google Analytics Initialization failed\");\r\n                }\r\n            }\r\n        },\r\n\r\n        sendNavigationEvent: function (nextPage) {\r\n            if (isInitialized()) {\r\n                gtag('event', 'navigate_to_page', {\r\n                    'event_label': nextPage,\r\n                    'event_category': 'ajax',\r\n                    'value': 1,\r\n                    'Domain': domain,\r\n                    'Tenant': tenantName,\r\n                });\r\n            }\r\n        },\r\n\r\n        sendAjaxEvent: function (fullUrl) {\r\n            if (isInitialized()) {\r\n                gtag('event', 'ajax_request_completed', {\r\n                    'event_label': fullUrl,\r\n                    'event_category': 'ajax',\r\n                    'value': 3,\r\n                    'Domain': domain,\r\n                    'Tenant': tenantName,\r\n                });\r\n            }\r\n        },\r\n\r\n        sendPageLoadTime: function (loadTime) {\r\n            if (isInitialized()) {\r\n                gtag('event', 'timing_complete', {\r\n                    'name': 'load',\r\n                    'value': loadTime,\r\n                    'event_category': 'JS Dependencies',\r\n                    'Domain': domain,\r\n                    'Tenant': tenantName,\r\n                });\r\n            }\r\n        },\r\n        sendPageView: function (url) {\r\n            if (isInitialized() && url) {\r\n                var urlInfo = gaPageHelper.getUrl();\r\n                url = url.replace(\"/#/\", \"/\");\r\n                gtag('event', 'page_view', {\r\n                    'page_title': getCurrentPageTitle(),\r\n                    'page_location': url,\r\n                    'page_path': url,\r\n                    'send_to': appFeatureSwitches.googleAnalyticsMeasurementId,\r\n                    'Domain': domain,\r\n                    'Tenant': tenantName,\r\n                    'Params': urlInfo && urlInfo.queryString ? urlInfo.queryString : 'undefined'\r\n                });\r\n            }\r\n        },\r\n\r\n        sendPageProvidedSectionOfThePage: function (sectionName) {\r\n            if (isInitialized()) {\r\n                var urlInfo = gaPageHelper.getUrl();\r\n                var url = urlInfo.url.replace(\"/#/\", \"/\");\r\n                gtag('event', 'page_view', {\r\n                    'page_title': getCurrentPageTitle(),\r\n                    'page_location': url,\r\n                    'page_path': url,\r\n                    'send_to': appFeatureSwitches.googleAnalyticsMeasurementId,\r\n                    'PageProvidedSectionOfThePage': sectionName\r\n                });\r\n            }\r\n        },\r\n    };\r\n})();\r\n\r\nif (document.location.host.indexOf(domain) && appFeatureSwitches.googleAnalyticsMeasurementId) {\r\n    //Initialize google analytics add it as first script in header.\r\n\r\n    appFeatureSwitches.googleAnalyticsSamplingRate = parseInt(appFeatureSwitches.googleAnalyticsSamplingRate);\r\n    if (isNaN(appFeatureSwitches.googleAnalyticsSamplingRate)) {\r\n        appFeatureSwitches.googleAnalyticsSamplingRate = 100;\r\n    }\r\n\r\n    appFeatureSwitches.googleAnalyticsSamplingRate = Math.min(Math.abs(appFeatureSwitches.googleAnalyticsSamplingRate), 100);\r\n\r\n    googleAnalytics.init();\r\n    var urlParts = gaPageHelper.getUrl();\r\n\r\n    googleAnalytics.sendPageView(urlParts.url);\r\n    window.onhashchange = trackPageChange;\r\n}\r\n\r\nfunction trackAjaxEvents() {\r\n\r\n    if (document.location.host.indexOf(domain)) {\r\n        $(document).ajaxSuccess(function (evt, request, settings) {\r\n            try {\r\n\r\n                var fullUrl = settings.url;\r\n\r\n                if (/IsLoggedOn/.test(settings.url) || /breadcrumbs-get.php/.test(settings.url) || /ActionList/.test(settings.url)) {\r\n                    return;\r\n                }\r\n\r\n                //Strip out version...\r\n                fullUrl = fullUrl.replace(/-\\d+./, '.');\r\n                fullUrl = excludeQueryString(fullUrl);\r\n\r\n                if (/.tpl/.test(settings.url)) {\r\n                    //Ignore templates\r\n                    return;\r\n                }\r\n\r\n                if (/.js/.test(settings.url)) {\r\n                    //Ignore javascript\r\n                    return;\r\n                }\r\n\r\n                googleAnalytics.sendAjaxEvent(fullUrl);\r\n                \r\n            } catch (err) { }\r\n        });\r\n    }\r\n}\r\n\r\nfunction trackPageChange(e) {\r\n    gaPageHelper.setCurrentPage(e);\r\n};\r\n\r\nfunction excludeQueryString(fullUrl) {\r\n    if (fullUrl && fullUrl.indexOf('?') != -1) {\r\n        fullUrl = fullUrl.substring(0, fullUrl.indexOf('?'));\r\n    }\r\n\r\n    return fullUrl;\r\n};\r\n\r\nfunction getHostName(url) {\r\n\r\n    var hostName = null;\r\n    var protocol = location.protocol;\r\n    var protocalLength = protocol.length + 2;\r\n    if (url && url.length > protocalLength) {\r\n        url = url.substring(protocalLength);\r\n    }\r\n\r\n    if (url) {\r\n        hostName = url.substring(0, url.indexOf(\"/\"));\r\n    }\r\n\r\n    return hostName;\r\n}\r\n\r\nfunction getPreviousPage(e) {\r\n    var previousPage = null;\r\n    if (e && e.oldURL) {\r\n        var scheme = location.protocol;\r\n        var previousUrl = excludeQueryString(e.oldURL);\r\n        var previousHostName = getHostName(previousUrl);\r\n        if (previousHostName && previousUrl && previousUrl.indexOf(previousHostName) != -1) {\r\n            previousPage = previousUrl.substring(previousUrl.indexOf(previousHostName) + previousHostName.length);\r\n        }\r\n    }\r\n\r\n    return previousPage;\r\n}"]}