{"version":3,"file":"default/js/analytics/gtm-producttile.js","mappings":"YAAA,SAASA,EAAiBC,GAItB,IAHA,IAAIC,EAAS,KACTC,EAAM,GACNC,EAAQC,SAASC,OAAOC,OAAO,GAAGC,MAAM,KACnCC,EAAQ,EAAGA,EAAQL,EAAMM,OAAQD,KACtCN,EAAMC,EAAMK,GAAOD,MAAM,MACjB,KAAOP,IAAeC,EAASS,mBAAmBR,EAAI,KAElE,OAAOD,CACX,CAEA,SAASU,EAAiBC,EAAYC,GAElC,IAAIC,EAAsBF,EAAWG,KAAK,qBAAqBC,OAC3DC,EAAc,GAYlB,OAXIJ,IACsB,YAAlBA,EAAYK,GACZD,EAAc,WAES,UAAlBJ,EAAYK,IAA2C,MAAzBnB,EAAiB,KACpDkB,EAAc,KAAKlB,EAAiB,KAE/BoB,EAAE,uBAAuBV,SAC9BQ,EAAcE,EAAE,uBAAuBH,OAAOI,QAAQ,MAAO,IAAIA,QAAQ,KAAM,MAGhF,CACH,KAAQR,EAAWG,KAAK,oBAAoBC,OAC5C,GAAMJ,EAAWG,KAAK,kBAAkBC,OACxC,MAASJ,EAAWG,KAAK,qBAAqBC,OAC9C,IAAOJ,EAAWG,KAAK,0BAA0BC,OACjD,MAASJ,EAAWG,KAAK,qBAAqBC,OAC9C,SAAYJ,EAAWG,KAAK,wBAAwBC,OACpD,WAAcJ,EAAWG,KAAK,0BAA0BC,OACxD,KAAQC,EACR,SAAY,EACZ,oBAAuBH,EAG/B,CAEA,SAASO,EAAaC,GAElB,GAAuBC,aAAbC,WAA0BC,OAAOC,iBAAkB,CAEzD,IAEIC,EAAShB,EAFIQ,EAAEG,EAAMM,eAAeb,KAAK,sBAC3BU,OAAOZ,aAGzB,IACIY,OAAOC,iBAAiB,eAAgB,CACpC,UAAa,CACT,aAAgBC,EAAOb,oBACvB,MAAS,CACL,YAAe,CAAC,KAAQa,EAAOE,MAC/B,SAAY,CAAC,CACT,KAAQF,EAAOG,KACf,GAAMH,EAAOI,GACb,MAASJ,EAAOK,MAChB,IAAOL,EAAOM,IACd,MAASN,EAAOO,MAChB,SAAYP,EAAOQ,SACnB,WAAcR,EAAOS,WACrB,SAAYT,EAAOU,cAIhC,OAAQ,KACf,CACA,MAAMC,GACFC,QAAQD,MAAM,+CAClB,CACJ,CAEJ,CAEAb,OAAOe,8BAAgC,WAEnC,GAAuBjB,aAAbC,WAA0BL,EAAE,sBAAsBV,QAAUgB,OAAOC,iBAAkB,CAE3F,IAAIe,EAAqB,GACrBC,EAAe,GACf7B,EAAcY,OAAOZ,YAEzBM,EAAE,sBAAsBwB,MAAK,WAEzB,IAAI/B,EAAaO,EAAEyB,MACnB,IAAKhC,EAAWiC,SAAS,iBAAkB,CAEvC,IAAIlB,EAAShB,EAAiBC,EAAYC,GAE1C4B,EAAmBK,KAAK,CACpB,KAAQnB,EAAOG,KACf,GAAMH,EAAOI,GACb,MAASJ,EAAOK,MAChB,IAAOL,EAAOM,IACd,MAASN,EAAOO,MAChB,SAAYP,EAAOQ,SACnB,WAAcR,EAAOS,WACrB,KAAQT,EAAOE,KACf,SAAYF,EAAOU,WAGvBzB,EAAWmC,SAAS,iBAEhBL,GAAgBf,EAAOb,sBACvB4B,EAAef,EAAOb,oBAE9B,CAEJ,IAEA,IACIW,OAAOC,iBAAiB,oBAAqB,CACzC,UAAa,CACT,aAAgBgB,EAChB,YAAeD,IAG3B,CACA,MAAMH,GACFC,QAAQD,MAAM,oDAClB,CACJ,CAEJ,EAEAb,OAAOuB,yBAA2B,WAE9B7B,EAAE,YAAYwB,MAAK,WACf,IAAIM,EAAe9B,EAAEyB,MACjBK,EAAalC,KAAK,gBAAgBmC,KAAK,iBAAmBD,EAAaJ,SAAS,iBAChFI,EAAaE,GAAG,QAAS9B,GACzB4B,EAAaF,SAAS,eAE9B,GAEJ,EAEA5B,EAAEiC,UAAUC,OAAM,WAGd5B,OAAOe,gCAGPf,OAAOuB,0BAEX,G","sources":["webpack://sfra-cisalfa/./cartridges/app_custom_cisalfa/cartridge/client/default/js/analytics/gtm-producttile.js"],"sourcesContent":["function findGetParameter(parameterName) {\n    var result = null,\n        tmp = [];\n    var items = location.search.substr(1).split(\"&\");\n    for (var index = 0; index < items.length; index++) {\n        tmp = items[index].split(\"=\");\n        if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);\n    }\n    return result;\n}\n\nfunction getGTMParameters(gtmProduct, pageContext) {\n\n    var productCurrencyCode = gtmProduct.find('.gtm-currencyCode').text();\n    var productList = '';\n    if (pageContext) {\n        if (pageContext.ns == 'homepage') {\n            productList = 'homepage';\n        }\n        else if (pageContext.ns == 'search' && findGetParameter('q') != null) {\n            productList = 'q='+findGetParameter('q');\n        }\n        else if ($('.cc-breadcrumb__wrp').length) {\n            productList = $('.cc-breadcrumb__wrp').text().replace(/\\n/g, \"\").replace(/ /g, \"\");\n        }\n    }\n    return {\n        'name': gtmProduct.find('.gtm-productName').text(),\n        'id': gtmProduct.find('.gtm-productID').text(),\n        'price': gtmProduct.find('.gtm-productPrice').text(),\n        'sv8': gtmProduct.find('.gtm-productStartPrice').text(),\n        'brand': gtmProduct.find('.gtm-productBrand').text(),\n        'category': gtmProduct.find('.gtm-productCategory').text(),\n        'categoryid': gtmProduct.find('.gtm-productCategoryID').text(),\n        'list': productList,\n        'position': 1,\n        'productCurrencyCode': productCurrencyCode\n    }\n\n}\n\nfunction sendClickGTM(event) {\n\n    if(typeof dataLayer != undefined && window.analyticsWrapper) {\n\n        var gtmProduct = $(event.currentTarget).find('.gtm-product-parms');\n        var pageContext = window.pageContext;\n        var params = getGTMParameters(gtmProduct, pageContext);\n\n        try{\n            window.analyticsWrapper('productClick', {\n                'ecommerce': {\n                    'currencyCode': params.productCurrencyCode,\n                    'click': {\n                        'actionField': {'list': params.list},\n                        'products': [{\n                            'name': params.name,\n                            'id': params.id,\n                            'price': params.price,\n                            'sv8': params.sv8,\n                            'brand': params.brand,\n                            'category': params.category,\n                            'categoryid': params.categoryid,\n                            'position': params.position\n                        }]\n                    }\n                }\n            }, 'true', 'it');\n        }\n        catch(error){\n            console.error('Error: impossible to send event productClick');\n        }\n    }\n        \n}\n\nwindow.initGTMProductTileImpressions = function () {\n    \n    if(typeof dataLayer != undefined && $('.gtm-product-parms').length && window.analyticsWrapper) {\n    \n        var productImpressions = [];\n        var currencyCode = '';\n        var pageContext = window.pageContext;\n\n        $('.gtm-product-parms').each(function () {\n            \n            var gtmProduct = $(this);\n            if (!gtmProduct.hasClass('gtm-impressed')) {\n\n                var params = getGTMParameters(gtmProduct, pageContext);\n                \n                productImpressions.push({\n                    'name': params.name, // Nome prodotto\n                    'id': params.id, //SKU o ID completo del prodotto\n                    'price': params.price, //Prezzo di vendita del prodotto\n                    'sv8': params.sv8, //Prezzo iniziale di vendita del prodotto senza sconto\n                    'brand': params.brand, //Brand del prodotto\n                    'category': params.category, // Nome categoria/tipologia associata al prodotto\n                    'categoryid': params.categoryid, // ID categoria/tipologia associata al prodotto\n                    'list': params.list, // Tipologia di lista in cui l’utente vede il prodotto è necessaria per il tracciamento in GA\n                    'position': params.position //è necessaria per il tracciamento in GA\n                })\n\n                gtmProduct.addClass('gtm-impressed');\n                \n                if (currencyCode != params.productCurrencyCode) {\n                    currencyCode = params.productCurrencyCode;\n                }\n            }\n\n        });\n\n        try{\n            window.analyticsWrapper('productImpression', {\n                'ecommerce': {\n                    'currencyCode': currencyCode, // Valuta locale\n                    'impressions': productImpressions\n                }\n            });\n        }\n        catch(error){\n            console.error('Error: impossible to send event productImpression');\n        }\n    }\n\n}\n\nwindow.initGTMProductTileClicks = function () {\n\n    $('.product').each(function () {\n        var $productTile = $(this);\n        if ($productTile.find('.data-itemid').attr('data-itemid') && !$productTile.hasClass('gtm-clicked')) {\n            $productTile.on('click', sendClickGTM);\n            $productTile.addClass('gtm-clicked');\n        }\n    });\n\n}\n\n$(document).ready(function() {\n\n    // ProducTiles impression\n    window.initGTMProductTileImpressions();\n    \n    // ProducTiles click\n    window.initGTMProductTileClicks();\n\n});"],"names":["findGetParameter","parameterName","result","tmp","items","location","search","substr","split","index","length","decodeURIComponent","getGTMParameters","gtmProduct","pageContext","productCurrencyCode","find","text","productList","ns","$","replace","sendClickGTM","event","undefined","dataLayer","window","analyticsWrapper","params","currentTarget","list","name","id","price","sv8","brand","category","categoryid","position","error","console","initGTMProductTileImpressions","productImpressions","currencyCode","each","this","hasClass","push","addClass","initGTMProductTileClicks","$productTile","attr","on","document","ready"],"sourceRoot":""}