{"version":3,"file":"../../javascript/tracking.js","names":["TRACKING","debug","log","data","console","arguments","callee","caller","name","window","dataLayer","trackEvent","category","action","label","value","callback","undefined","timeoutId","gtmCallback","google_tag_manager","clearTimeout","setTimeout","push","event","eventCategory","eventAction","eventLabel","eventValue","eventCallback","eventTimeout","parseInt","trackPageview","url","trackingUrl","trackAddProduct","ecommerce","currencyCode","currency","add","products","tracking_item"],"sources":["tracking.js"],"mappings":"AAAA,IAAIA,SAAW,CACXC,OAAO,EAEPC,IAAK,SAAUC,GACPH,SAASC,QACTG,QAAQF,IAAI,YAAcG,UAAUC,OAAOC,OAAOC,KAAO,OAAQL,GACjEC,QAAQF,IAAI,YAAaO,OAAOC,WAExC,EAEAC,WAAY,SAAUC,EAAUC,EAAQC,EAAOC,EAAOC,GAQlD,QAPcC,IAAVF,IACAA,EAAQ,QAEKE,IAAbD,IACAA,EAAW,WAAa,GAGxBP,OAAOC,UAAW,CAClB,IAAIQ,EACAC,EAAcH,EAEZP,OAAOW,qBACTD,EAAc,WACVE,aAAaH,GACbF,GACJ,EAEAE,EAAYI,WAAWH,EAAa,OAIxCV,OAAOC,UAAUa,KAAK,CAClBC,MAAS,YACTC,cAAiBb,EACjBc,YAAeb,EACfc,WAAcb,EACdc,WAAcb,EACdc,cAAiBV,EACjBW,aAAgB,MAGfrB,OAAOW,oBACRJ,GAER,CAEAhB,SAASE,IAAI,CAACU,EAAUC,EAAQC,EAAOiB,SAAShB,GAAQC,GAC5D,EAEAgB,cAAe,SAAUC,GACjBxB,OAAOC,WACPD,OAAOC,UAAUa,KAAK,CAClBC,MAAS,eACTU,YAAeD,IAIvBjC,SAASE,IAAI+B,EACjB,EAEAE,gBAAiB,SAAUhC,GACnBM,OAAOC,WACPD,OAAOC,UAAUa,KAAK,CAClBC,MAAS,YACTY,UAAa,CACTC,aAAgBlC,EAAKmC,SACrBC,IAAO,CACHC,SAAY,CAACrC,EAAKsC,mBAKlCzC,SAASE,IAAIC,EAAKsC,cACtB","ignoreList":[],"sourceRoot":"../../../../resources/javascript","sourcesContent":["var TRACKING = {\n    debug: false,\n\n    log: function (data) {\n        if (TRACKING.debug) {\n            console.log('TRACKING.' + arguments.callee.caller.name + '(): ', data);\n            console.log('DATALAYER', window.dataLayer);\n        }\n    },\n\n    trackEvent: function (category, action, label, value, callback) {\n        if (value === undefined) {\n            value = 0;\n        }\n        if (callback === undefined) {\n            callback = function () {};\n        }\n\n        if (window.dataLayer) {\n            var timeoutId;\n            var gtmCallback = callback;\n\n            if (!!window.google_tag_manager) {\n                gtmCallback = function() {\n                    clearTimeout(timeoutId);\n                    callback();\n                };\n                // If GTM gets in a real mess, step in.\n                timeoutId = setTimeout(gtmCallback, 2500);\n            }\n\n            // Let GTM handle the redirect once it's done its thing.\n            window.dataLayer.push({\n                'event': 'd3r.event',\n                'eventCategory': category,\n                'eventAction': action,\n                'eventLabel': label,\n                'eventValue': value,\n                'eventCallback': gtmCallback,\n                'eventTimeout': 2000\n            });\n\n            if (!window.google_tag_manager) {\n                callback();\n            }\n        }\n\n        TRACKING.log([category, action, label, parseInt(value), callback]);\n    },\n\n    trackPageview: function (url) {\n        if (window.dataLayer) {\n            window.dataLayer.push({\n                'event': 'd3r.pageview',\n                'trackingUrl': url,\n            });\n        }\n\n        TRACKING.log(url);\n    },\n\n    trackAddProduct: function (data) {\n        if (window.dataLayer) {\n            window.dataLayer.push({\n                'event': 'addToCart',\n                'ecommerce': {\n                    'currencyCode': data.currency,\n                    'add': {\n                        'products': [data.tracking_item]\n                    }\n                }\n            });\n        }\n        TRACKING.log(data.tracking_item);\n    },\n};\n"]}