{"version":3,"file":"dfc.timex.ga4.min.js","sources":["dfc.timex.ga4.js"],"sourcesContent":["\"use strict\";\n\ndfc.safe(async () => {\n const log = dfc.log.bind(dfc, 'ga4');\n log('running');\n if (/demandware\\.net$/i.test(location.hostname)) return log('disabled');\n\n // cspell: disable\n const G_CODE = (hn => {\n if (/timex\\.ca/i.test(hn)) return 'G-2QDEYZNVJD';\n if (/timex\\.(eu|it|de|es|fr)/i.test(hn)) return 'G-3MMDXB6ZS1';\n if (/timex\\.co\\.uk/i.test(hn)) return 'G-SEFJSKJWY5';\n if (/timex\\.com/i.test(hn)) return 'G-J0GB29QS3H';\n if (/gcwatches\\.com/i.test(hn)) return 'G-2R28LT9XP0';\n if (/guesswatches\\.com/i.test(hn)) return 'G-2R28LT9XP0';\n })(location.hostname);\n // cspell: enable\n\n if (!G_CODE) return log(`No G_CODE for ${location.hostname}`);\n if (dfc.env !== 'dev') dfc.loadScript(`https://www.googletagmanager.com/gtag/js?id=${G_CODE}`);\n window.dataLayer = window.dataLayer || [];\n /*global dataLayer*/\n function gtag() {\n if (dfc.env !== 'dev') dataLayer.push(arguments);\n log('gtag', ...arguments);\n }\n dfc.track = event_name => {\n // eslint-disable-next-line no-console\n if (/^[a-z0-9_]+$/.test(event_name)) return console.error('event_name required to match ^[a-z0-9_]+$');\n gtag('event', event_name);\n };\n await dfc.waitFor(() => window.utag_data);\n const _get = k => {\n return window.utag_data[k];\n };\n const _getArray = k => _get(k) || [];\n const page_name = _get('page_name');\n const page_type = _get('page_type');\n const page_context_type = _get('page_context_type');\n const page_context_title = _get('page_context_title');\n const user_anonymous = _get('user_anonymous');\n const user_authenticated = _get('user_authenticated');\n const user_registered = _get('user_registered');\n const customer_id = _get('customer_id');\n const locale = _get('locale');\n const flow_experience = _get('flow_experience');\n const currency = (() => {\n try {\n return JSON.parse(localStorage.getItem('_f60_session')).experience.currency;\n } catch (e) {\n // continue\n }\n\n // try from dl for order if exist\n const orderCurrency = _get('order_currency');\n if (orderCurrency) return orderCurrency;\n\n // \n const flowSession = document.getElementById('js-flow-session');\n if (flowSession && flowSession.dataset && flowSession.dataset.currency) {\n return flowSession.dataset.currency;\n }\n const currencyCode = window.googlepayvariables && window.googlepayvariables.currencyCode;\n if (currencyCode) {\n return currencyCode;\n }\n const hn = location.hostname;\n if (/^(www\\.)?timex\\.ca$/i.test(hn)) return 'CAD';\n if (/^(www\\.)?timex\\.(eu|it|de|es|fr)$/i.test(hn)) return 'EUR';\n if (/^(www\\.)?timex\\.co\\.uk$/i.test(hn)) return 'GBP';\n if (/^(www\\.)?timex\\.com$/i.test(hn)) return 'USD';\n if (/^(www\\.)?gcwatches\\.com$/i.test(hn)) return 'USD';\n\n // default\n return 'USD';\n })();\n\n // trim down to avoid undefined issues\n\n gtag('js', new Date());\n gtag('config', G_CODE, {\n page_name,\n page_type,\n page_context_type,\n page_context_title,\n user_anonymous,\n user_authenticated,\n user_registered,\n user_id: customer_id,\n locale,\n flow_experience\n });\n const $ = await dfc.jQuery;\n const _itemFromData = data => {\n // \n return {\n item_id: data.prdSku,\n item_name: data.prdName,\n currency,\n index: parseInt(data.prdPos, 10),\n item_brand: data.prdBrand,\n item_category: data.prdCat,\n item_list_id: data.prdList,\n item_variant: data.prdId,\n price: parseFloat(data.prdPrice),\n quantity: 1\n };\n };\n const _setStock = item => {\n const in_stock = function () {\n try {\n if (document.querySelector('.in-stock-msg')) return 'in_stock';\n if (document.querySelector('#email-when-in-stock')) return 'email_when_in_stock';\n if (document.querySelector('.not-available-msg')) return 'out_of_stock';\n // quickview\n //
Join the Waitlist
\n //
Out Of Stock
\n const oos = document.querySelector('.oos-ewa');\n if (oos) {\n if (/out of stock/i.test(oos.textContent)) return 'out_of_stock';\n if (/waitlist/i.test(oos.textContent)) return 'email_when_in_stock';\n }\n return 'in_stock';\n } catch (e) {\n return undefined;\n }\n }();\n item.in_stock = in_stock;\n };\n const _itemsFromDataLayer = (isPurchase = false) => {\n // utag_data\n\n // cart\n\n // \"page_context_type\": \"cart\",\n // \"page_context_title\": \"cart\",\n // \"product_name\": [\"Q Timex Reissue 38mm Stainless Steel Bracelet Watch\", \"Q Timex Reissue 38mm Stainless Steel Bracelet Watch\"],\n // \"product_brand\": [\"Timex\", \"Timex\"],\n // \"product_unit_price\": [\"179\", \"189\"],\n // \"product_unit_discount_amount\": [\"0.00\", \"0.00\"],\n // \"product_unit_price_paid\": [\"179.00\", \"189.00\"],\n // \"product_unit_discount_product_portion\": [\"0.00\", \"0.00\"],\n // \"product_unit_discount_order_portion\": [\"0.00\", \"0.00\"],\n // \"product_sku\": [\"TW2T80700\", \"TW2U62000\"],\n // \"product_id\": [\"TW2T80700ZV\", \"TW2U62000ZV\"],\n // \"product_category\": [\"q-timex-reissue\", \"q-timex-reissue\"],\n // \"product_quantity\": [\"1\", \"1\"],\n // \"product_coupon_discount\": [\"0\", \"0\"],\n // \"product_coupon_promo\": [ \"\", \"\" ],\n // \"wheel_product_sku\": [\"TW2T80700\", \"TW2U62000\"],\n\n const product_name = _getArray('product_name');\n const product_brand = _getArray('product_brand');\n const product_unit_price = _getArray('product_unit_price');\n const product_unit_discount_amount = _getArray('product_unit_discount_amount');\n const product_unit_price_paid = _getArray('product_unit_price_paid');\n // const product_unit_discount_product_portion = _getArray('product_unit_discount_product_portion');\n // const product_unit_discount_order_portion = _getArray('product_unit_discount_order_portion');\n const product_sku = _getArray('product_sku');\n const product_id = _getArray('product_id');\n const product_category = _getArray('product_category');\n const product_quantity = _getArray('product_quantity');\n // const product_coupon_discount = _getArray('product_coupon_discount');\n const product_coupon_promo = _getArray('product_coupon_promo');\n // const wheel_product_sku = _getArray('wheel_product_sku');\n\n return product_name.map((name, i) => {\n const discount = (_discount => {\n if (isNaN(_discount)) return 0;\n if (_discount < 0) return _discount * -1;\n return _discount;\n })(parseFloat(product_unit_discount_amount[i]));\n const unit_price = (() => {\n const price_paid = parseFloat(product_unit_price_paid[i]);\n const price = parseFloat(product_unit_price[i]);\n if (!isPurchase) return price;\n if (!isNaN(price_paid)) return price_paid;\n return price;\n })();\n return {\n item_id: product_sku[i],\n item_name: name,\n currency,\n discount,\n index: i,\n item_brand: product_brand[i],\n item_category: product_category[i],\n item_variant: product_id[i],\n coupon: product_coupon_promo[i],\n price: unit_price,\n quantity: parseInt(product_quantity[i], 10) || 1\n };\n });\n };\n const _value = items => items.map(i => (i.price - i.discount) * i.quantity).reduce((a, b) => a + b, 0);\n if (page_type === 'category') {\n log('category');\n dfc.load.then(() => {\n const items = [];\n $('#search-result-items li.grid-tile').each((_, el) => {\n const data = $(el).find('param').data(); // fetch product data\n if (data) {\n items.push(_itemFromData(data));\n } else {\n log('no data', el);\n }\n });\n gtag('event', 'view_item_list', {\n item_list_id: window.utag_data.page_category,\n // window.data is a DY thing\n item_list_name: typeof window.data === 'string' ? window.data : window.utag_data.page_category,\n items\n });\n $(document).on('click', '#search-result-items li.grid-tile', e => {\n const $this = $(e.target);\n const data = $(e.currentTarget).find('param').data();\n items.length = 0;\n items.push(_itemFromData(data));\n items.forEach(_setStock);\n gtag('event', 'select_item', {\n item_list_id: window.utag_data.page_category,\n item_list_name: typeof window.data === 'string' ? window.data : window.utag_data.page_category,\n items\n });\n if ($this.is('#quickviewbutton') || $this.closest('button#quickviewbutton').length) {\n gtag('event', 'view_item', {\n currency,\n value: items[0].price,\n items\n });\n }\n });\n $(document).on('click', 'button', e => {\n const $btn = $(e.currentTarget);\n if ($btn.length && $btn.attr('title') === 'Add to Bag') {\n gtag('event', 'add_to_cart', {\n currency,\n value: items[0].price,\n items\n });\n }\n });\n });\n }\n if (page_type === 'product') {\n log('product');\n const items = _itemsFromDataLayer();\n items.forEach(_setStock);\n gtag('event', 'view_item', {\n currency,\n value: items[0] && items[0].product_unit_price,\n items\n });\n $(document).on('click', '#add-to-cart', () => {\n if (items[0]) {\n items[0].quantity = function () {\n try {\n return $('#Quantity')[0].value || 1;\n } catch (e) {\n return 1;\n }\n }();\n }\n gtag('event', 'add_to_cart', {\n currency,\n value: items[0].price,\n items\n });\n });\n }\n if (page_name === 'confirmation' && page_type === 'checkout') {\n const items = _itemsFromDataLayer(true);\n gtag('event', 'purchase', {\n currency,\n transaction_id: _get('order_id'),\n value: _get('order_subtotal'),\n affiliation: document.hostname,\n coupon: _getArray('coupon_codes').find(Boolean),\n shipping: _get('order_shipping'),\n tax: _get('order_tax'),\n items\n });\n }\n dfc.load.then(() => {\n if (window.utag_data.page_context_type === 'cart') {\n const items = _itemsFromDataLayer();\n items.forEach(i => {\n i.item_list_id = 'cart';\n i.item_list_name = 'Cart';\n });\n gtag('event', 'view_cart', {\n currency,\n value: _value(items),\n items\n });\n }\n\n // begin_checkout\n if ($('.step-1.active').length > 0) {\n const items = _itemsFromDataLayer();\n gtag('event', 'begin_checkout', {\n currency,\n value: _value(items),\n coupon: items.map(i => i.coupon).find(Boolean),\n items\n });\n }\n if ($('.step-2.active').length > 0) {\n // we've added shipping\n const items = _itemsFromDataLayer();\n gtag('event', 'add_shipping_info', {\n currency,\n value: _value(items),\n coupon: items.map(i => i.coupon).find(Boolean),\n shipping_tier: ($('.checkout-order-totals .order-shipping .row').val() || '').trim() || $('#shipping-method-list option[selected]').text().trim() || undefined,\n items\n });\n }\n if ($('.step-3.active').length > 0) {\n // we've added payment\n const items = _itemsFromDataLayer();\n gtag('event', 'add_payment_info', {\n currency,\n value: _value(items),\n coupon: items.map(i => i.coupon).find(Boolean),\n payment_type: undefined,\n items\n });\n }\n });\n $(document).on('click', _e => {\n const $e = $(_e.target);\n if ($e.text() === 'REMOVE') {\n const data = $e.closest('button.cta-link').data();\n const items = _itemFromData(data);\n gtag('event', 'remove_from_cart', {\n currency,\n value: items[0].price,\n items\n });\n }\n\n // ApplePay\n if ($e.hasClass('dw-apple-pay-button')) {\n const items = _itemsFromDataLayer();\n gtag('event', 'add_payment_info', {\n currency,\n value: _value(items),\n coupon: items.map(i => i.coupon).find(Boolean),\n payment_type: 'Apple Pay',\n items\n });\n }\n });\n});"],"names":["dfc","safe","async","log","bind","test","location","hostname","hn","G_CODE","gtag","env","dataLayer","push","arguments","loadScript","window","track","event_name","console","error","waitFor","utag_data","_get","k","_getArray","page_name","page_type","page_context_type","page_context_title","user_anonymous","user_authenticated","user_registered","customer_id","locale","flow_experience","currency","JSON","parse","localStorage","getItem","experience","e","orderCurrency","flowSession","document","getElementById","dataset","currencyCode","googlepayvariables","$","Date","user_id","jQuery","_itemFromData","data","item_id","prdSku","item_name","prdName","index","parseInt","prdPos","item_brand","prdBrand","item_category","prdCat","item_list_id","prdList","item_variant","prdId","price","parseFloat","prdPrice","quantity","_setStock","item","in_stock","querySelector","oos","textContent","_itemsFromDataLayer","isPurchase","product_name","product_brand","product_unit_price","product_unit_discount_amount","product_unit_price_paid","product_sku","product_id","product_category","product_quantity","product_coupon_promo","map","name","i","_discount","price_paid","discount","isNaN","unit_price","coupon","_value","items","reduce","a","b","load","then","each","_","el","find","page_category","item_list_name","on","$this","target","currentTarget","length","forEach","is","closest","value","$btn","attr","transaction_id","affiliation","Boolean","shipping","tax","shipping_tier","val","trim","text","undefined","payment_type","_e","$e","hasClass"],"mappings":"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"}