Simulez votre couleur

/* All variables */ window.getCookie = function (name) { match = document.cookie.match(new RegExp(name + '=([^;]+)')); if (match) return match[1].split('2.')[1]; } var $pageSection = ''; var $productPageSection = ''; var $productCategory = ''; /*on product pages*/ var $productName = ''; /*on product pages*/ var $productSku = ''; /*on product pages*/ var $language = 'fr-FR'; var $country = 'FR'; var $cid = getCookie('_galorealpro'); var $IncludeSelectShadeVtoEvent='False'; if (window.jQuery) { var jq = jQuery.noConflict(); } var geoLocation = ''; if (typeof $geoIPLocation != 'undefined') { geoLocation = $geoIPLocation; } /* GA tagging */ /* init dataLayer object */ var lang = $language.split('-'); var dataLayer = window['dataLayer'] || []; dataLayer.push( { 'brand': 'LP', 'language': lang[lang.length - 1], 'event': 'pageDataReady', 'country': $country, 'geoIPLocation': geoLocation, 'siteTypeLevel': 'main', 'pageCategory': 'lp', 'cid': $cid } ); /* GA tagging */ /* init dataLayer object */ var lang = $language.split('-'); var dataLayer = window['dataLayer'] || []; if (typeof $geoIPLocation != 'undefined' && $geoIPLocation != '') { dataLayer.push( { 'brand': 'LP', 'language': lang[lang.length - 1], 'event': 'pageDataReady', 'country': $country, 'geoIPLocation': $geoIPLocation, 'siteTypeLevel': 'main', 'pageCategory': 'lp', 'cid': $cid } ); } else { dataLayer.push( { 'brand': 'LP', 'language': lang[lang.length - 1], 'event': 'pageDataReady', 'country': $country, 'siteTypeLevel': 'main', 'pageCategory': 'lp', 'cid': $cid } ); } /* GTM main */ var optanonType = (document.querySelectorAll('input[id*="hdOptanonCategory4"]')[0]) ? document.querySelectorAll('input[id*="hdOptanonCategory4"]')[0] : ''; var optanonClass = (optanonType) ? optanonType.getAttribute('data-optanon-category-class4') : ''; var stype = (optanonType)? 'text/'+(optanonType.getAttribute('data-optanon-category-type4') ? optanonType.getAttribute('data-optanon-category-type4') : 'javascript') : 'text/javascript'; (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(), event: 'gtm.js'}); var f = d.getElementsByTagName(s)[0],j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.type = stype; j.setAttribute('class',optanonClass); j.src ='//www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);})(window,document,'script','dataLayer','GTM-K3J93V'); var productsOnPage = []; var promotionsOnPage = []; var counter = 0; /* Events */ jq(document).ready(function () { /* 1. Events */ /* Social networks */ jq('.social a').bind('click', function (e) { var network = jq(this).attr('alt'); var target = jq(this).attr('href'); var category = 'header'; if (jq(this).parents("footer").length == 1) category = 'footer'; dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': category, 'eventAction': 'social::' + network, 'eventLabel': target }); }); //BR country buy button datalayer changes var br_country = $country.toLowerCase(); var br_plp_lower = br_country=='br' ? 'Ecommerce_PLP':'Ecommerce';// PLP values var br_pdppop_lower = br_country=='br' ? 'Ecommerce_PDP':'e-retailer';//PDP popup values //BR country buy button datalayer changes /* "Buy online" button */ jq('.retail .button.alt').bind('click', function (e) { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': br_pdppop_lower, 'eventAction': 'display::popin', 'eventLabel': 'buy online' }); //POP-IN BUY ONLINE generated when user clicks on "buy online" button on a product page var interval; interval = setInterval(function () { if (jq('.popin').is(":visible") && jq('.retailers a').length > 0) { clearInterval(interval); dataLayer.push({ 'event': 'updatevirtualpath', 'virtualPageURL': '/e-retailer/buy-online', 'virtualPageTitle': 'pop-in e-retailer buy online' }); jq('.retailers a').on('click', function () { var storeName = jq(this).attr('href').split('.'); //var idProductPrice = jq('.price').text().replace(/\s/g, '').split('.'); //Event : Buy a product dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'e-retailer popin::geolocalization', 'eventAction': 'redirection::' + storeName[1], 'eventLabel': jq('#productEAN').text() + '-' + jq('#productPrice').text() }); }); }; }, 500); }); //pre booking jq('.inside-hfn .button').bind('click,', function () { var eventName = document.title; dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'event booking', 'eventAction': 'click on register to an event', 'eventLabel': eventName }); }); //event PDP or PSP after Conserns jq('.editorial a').bind('click', function (e) { var targetUrl = jq(this).attr('href'); var eventCategory = 'PSP'; var splitUrl = targetUrl.split('/'); if (splitUrl.length > 4) { eventCategory = 'PDP'; } var productName = splitUrl[splitUrl.length - 1]; dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': eventCategory + ' after concerns', 'eventAction': 'select::' + productName, 'eventLabel': targetUrl }); }); //event PDP or PSP after Looks jq('.s-cols-6.cols-4 a, .aside-content .align-right a').bind('click', function (e) { var url = window.location.href.toLowerCase(); var targetUrl = jq(this).attr('href'); var productName = ''; var eventCategory = 'PSP'; var splitUrl = targetUrl.split('/'); if (splitUrl.length > 4) { eventCategory = 'PDP'; productName = splitUrl[splitUrl.length - 1]; } dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': eventCategory + ' after it looks', 'eventAction': 'select::' + productName, 'eventLabel': targetUrl }); setTimeout(function(){ window.location.href = targetUrl; },500); }); //promotions jq('[data-cta-promotion]').bind('click', function () { var link = jq(this).attr('href').split('/'); var file = link[link.length - 1]; var fileParts = file.split('.'); dataLayer.push({ 'event': 'uaevent', 'eventCategory': 'download', 'eventAction': fileParts[fileParts.length - 1] == 'pdf' ? 'pdf' : 'coupon', 'eventLabel': fileParts[0] }); }); //share on social networks jq('.sharing a').bind('click', function () { var url = jq(this).data('href'); var socialnetwork; if (jq(this).hasClass('sharing-fb')) { socialnetwork = 'Facebook' } else { if (jq(this).hasClass('sharing-pi')) { socialnetwork = 'Pinterest' } else { if (jq(this).hasClass('sharing-tw')) { socialnetwork = 'Twitter'; } } } dataLayer.push({ 'event': 'socialInt', 'eventCategory': socialnetwork, 'eventAction': 'Share', 'eventLabel': url }); }); /* Salon locator */ //var salonString = '55event=salonLocator&55locationInPage='; /* links */ /* in header, product header and product summary */ jq('#page header a.localize[data-cta-type=salonLocatorLink], #page div.site-main a[data-cta-type=salonLocatorLink]').each(function () { var currentHref = jq(this).attr('href'); // current link href var pageLocElt = jq(this).closest('[data-page-section]'); // find the nearest parent with a page section attribute var pageLocVal = pageLocElt.attr('data-page-section'); // store the value of the page section attribute //jq(this).attr('href', currentHref + '?' + salonString + pageLocVal); // change the link href with the new value jq(this).attr('href', currentHref); }); //header salon locator jq('#page header a.localize[data-cta-type=salonLocatorLink], #page div.site-main a[data-cta-type=salonLocatorLink]').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'salon locator', 'eventAction': 'header', 'eventLabel': 'geolocalization' }); var getTargetURL = jq('.localize').attr('href'); var getDefaultURL = getTargetURL.split('?'); if (getDefaultURL.length > 1) { getDefaultURL = getDefaultURL[0]; jq('.localize').attr('href', getDefaultURL); } else { jq('.localize').attr('href', getTargetURL); } }); //footer salon locator jq('#zip-salon-ft').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'salon locator', 'eventAction': 'footer', 'eventLabel': 'search' }); }); //salon locator redirection on product page jq('.skew-wrapper .i-locator').bind('click', function () { storeLocatorProductAnalitics(); }); jq('.cp_container .button,#protocol .i-locator').bind('click', function (e) { e.stopPropagation(); storeLocatorProductAnalitics(); }); jq('.retail .button.fnd_salon').bind('click', function () { storeLocatorProductAnalitics(); }); function storeLocatorProductAnalitics() { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'salon locator', 'eventAction': $pageSection, 'eventLabel': 'search' }); } //hompage redirection jq('.logo,.logo-new').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'header', 'eventAction': 'homepage redirection', 'eventLabel': $pageSection }); }); //Moodboard event jq('.check_out_str').bind('click',function (e) { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'salon locator', 'eventAction': $pageSection, 'eventLabel': 'search' }); }); //event menue L1 jq('.nav-main a.first').bind('click', function () { var categoryName = jq(this).contents().get(2).nodeValue.replace(/([a-zA-Z].[a-zA-Z])(?= .)/g, "$1:").replace(/\s/g, '').replace(":", " "); var mainLabel = jQuery.trim(jQuery(this).find('.menuinfo').text().toLowerCase()); dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'main menu L1', 'eventAction': 'select', 'eventLabel': mainLabel }); }); //event menue L2 jq('.dropdown .column li a').bind('click', function () { var categoryName = jq(this).text(); dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'main menu L2', 'eventAction': 'select', 'eventLabel': categoryName }); }); //footer toolbox jq('.toolbox .stylemyhair .button').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'footer', 'eventAction': 'style my hair', 'eventLabel': '' }); }); jq('.toolbox .magazine .button').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'footer', 'eventAction': 'magazine', 'eventLabel': '' }); }); //Download 'Style my Hair' jq('.ctt-cta li a').bind('click', function(){ var evtAct; if(jQuery(this).hasClass('ios-store')){ evtAct = "Apple Store"; }else{ evtAct = "Google Play"; } dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'download', 'eventAction': evtAct, 'eventLabel': 'style my hair' }); }); jq('.stylemyhair .inline-title').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'footer', 'eventAction': 'style my hair', 'eventLabel': '' }); }); jq('.magazine .inline-title').bind('click', function () { dataLayer.push({ 'event': 'uaevent', 'ecommerce': 'undefined', 'eventCategory': 'footer', 'eventAction': 'magazine', 'eventLabel': '' }); }); function getProductListData() { if (jq("#product-list .list-items button").eq(counter).length) { var dataUpc = jq("#product-list .list-items button").eq(counter).attr("data-upc"); var priceApi = jq("#ProductPriceApi").val(); var api = priceApi.replace('{UPC}', '' + dataUpc + ''); jq("#product-list .list-items button").eq(counter).next('p').remove(); jq.ajax({ url: "/api/GetProductPrice/", type: "GET", data: { upcCode: dataUpc, apiUrl: api }, async: false, dataType: 'json', success: function (data) { if (data.Succes) { jq("#product-list .list-items button").eq(counter).after(function () { return "

" + (jq("#ProductPriceApi").attr("data-currency") ? jq("#ProductPriceApi").attr("data-currency") : "$") + " " + data.price + "

" }); } if (counter < jq("#product-list .list-items button").length) { counter++; getProductListData(); } }, error: function (data) { console.log("getProductListData Error" + data); if (counter < jq("#product-list .list-items button").length) { counter++; getProductListData(); } } }) } } function getProductDetailData() { if (jq("#productDetailBuyNowBtn").length) { var dataUpc = jq("#productDetailBuyNowBtn").attr("data-upc"); var priceApi = jq("#ProductPriceApi").val(); var apiURL = priceApi.replace('{UPC}', '' + dataUpc + ''); jq.ajax({ url: apiURL, dataType: "jsonp", async: true, success: function (data) { jq("#productDetailBuyNowBtn").after(function () { return "

" + (jq("#ProductPriceApi").attr("data-currency") ? jq("#ProductPriceApi").attr("data-currency") : "$") + " " + data.price + "

" }) }, error: function (data) { console.log("getProductDetailData Error" + data) } }) } } if (jq("#ProductPriceApi").length) { if (jq("#ProductPriceApi").val().search('{UPC}') !== -1) { counter = 0; getProductListData(); getProductDetailData() } } /* HomePage - Product Imprression*/ if (jq('body .aside-content').length>0) { product_Impression() // Product Impression for Home page }; if (jq('#product-list').length>0) { product_Impression(undefined,'PLP') // Product Impression for PSP Page }; if (jq('body.productpage').length>0) { product_Impression(jq('body.productpage')) // Product Impression for PSP Page }; //ProductImpression function product_Impression(products,source) { var productArray = []; var currencyCode = ""; if (products != undefined) { for (var i = 0; i < products.length; i++) { if (isInViewport(products[i]) == true) { var impression = getProductInfo(products[i]); if (!isSameProduct(productsOnPage, impression)) { productArray.push(impression); productsOnPage.push(impression); } } } currencyCode = jq('#productCurrencyCode', products[0]).text(); } if ($country == 'it' || $country == 'IT') { if (productArray.length > 0) { dataLayer.push({ "event": "nievent", "eventAction": "Product Impressions", "eventLabel": "Product Impressions", "eventCategory": "Ecommerce", "ecommerce": { "currencyCode": "EUR", "impressions": productArray } }); } else { dataLayer.push({ "event": "nievent", "eventAction": "Product Impressions", "eventLabel": "Product Impressions", "eventCategory": "Ecommerce", "ecommerce": { "currencyCode": "EUR", "impressions": [{ "name": "", "id": "", "price": "", "brand": "LP", "category": source =='PLP' && jq('#product-list #productCategory').length>0 ? jq('#product-list #productCategory')[0].innerText: "", "variant": "", "list": "", "position": "", "dimension35": "", "dimension36": "" }] } }); } } if (typeof (LOCA) !== 'undefined') LOCA.Dialog.refreshEvents(); } // Promotion click // jq("#slider .slider-item .content .button").bind('click', function () { product_click(jq(this).parents(".slider-item")); // Home Page }); function product_click(item) { var name = jq('#sliderproductanalytics #sliderproductName', item).text(); var position = jq('#sliderproductanalytics #sliderproducteposition', item).text(); var id = jq('#sliderproductanalytics #sliderproducteid', item).text(); if ($country == 'it' || $country == 'IT') { dataLayer.push({ "event": "promotionClick", "eventAction": "Promotion Click", "eventLabel": "Promotion Click", "eventCategory": "Ecommerce", "ecommerce": { "promoClick": { "promotions": [{ "id": id, "name": name, "creative": "Slider", "position": position }] } } }); } } /* Promotion Impression*/ if (jq("body.homepage #slider").length > 0) { var tag = jq("#slider .slider-item").length > 0 ? jq("#slider .slider-item")[0] : ""; promotion_impression(tag); // Home Page } function promotion_impression(item) { var name = jq('#sliderproductanalytics #sliderproductName', item).text(); var position = jq('#sliderproductanalytics #sliderproducteposition', item).text(); var id = jq('#sliderproductanalytics #sliderproducteid', item).text(); if ($country == 'it' || $country == 'IT') { dataLayer.push({ "event": "nievent", "eventAction": "Promotion Impressions", "eventLabel": "Promotion Impressions", "eventCategory": "Ecommerce", "ecommerce": { "promoView": { "promotions": [{ "id": id, "name": name, "creative": "slider", "position":position}]} } }); } } if (jq('.aside-content')) { //productImpression productImpressionOnPage(); //product detail if (jq('.product-content').length > 0) { productDetail(jq('.product-content')); } } jq(window).scroll(function () { productImpressionOnPage(); }); function productImpressionOnPage() { //productImpression if (jq('.inner.outline li.column.s-cols-6.cols-4').length > 0) { productImpression(jq('.inner.outline li.column.s-cols-6.cols-4')); } else { //productImpression if (jq('#product-list .list-items li.item').length > 0) { productImpression(jq('#product-list .list-items li.item')); } } } jq('.trigger-list.std-link').bind('click', function () { productImpression(jq('#product-list .list-items li.item')); }); jq('.nav-main>ul>li').mouseover(function () { promotionImpressions(this); }); jq('.inner.outline li.column.s-cols-6.cols-4').bind('click', function () { productClick(this); }); jq('#product-list .list-items li.item').bind('click', function () { productClick(this); }); function isSameProduct(dlElement, product) { for (var j = 0; j < dlElement.length; j++) { if (dlElement[j].id == product.id && dlElement[j].name == product.name) { return true; } } return false; } function isSamePromotion(dlElement, promotion) { for (var i = 0; i < dlElement.length; i++) { if (dlElement[i].name == promotion.name) { return true; } } return false; } //ProductImpression function productImpression(products) { var productArray = []; var currencyCode = ""; if (products != undefined) { for (var i = 0; i < products.length; i++) { if (isInViewport(products[i]) == true) { var impression = getProductInfo(products[i]); if (!isSameProduct(productsOnPage, impression)) { productArray.push(impression); productsOnPage.push(impression); } } } currencyCode = jq('#productCurrencyCode', products[0]).text(); } if (productArray.length > 0) { if ($country != 'it' && $country != 'IT') { dataLayer.push({ "event": "uaevent", "eventAction": "Product Impressions", "eventCategory": "Ecommerce", "ecommerce": { "currencyCode": currencyCode, "impressions": productArray } }); } } if (typeof (LOCA) !== 'undefined') LOCA.Dialog.refreshEvents(); } //ProductClick function productClick(product) { var productInfo = []; if ($country == 'it' || $country == 'IT') { productInfo.push(getproductclickinfo(product)); dataLayer.push({ "event": "productClick", "eventAction": "Product Click", "eventLabel": "Product Click", "eventCategory": "Product Impressions", "ecommerce": { "click": { "actionField": { "list": "product detail page" }, "products": productInfo } } }); } else { productInfo.push(getProductInfo(product)); dataLayer.push({ "event": "productClick", "eventAction": "Product Click", "eventCategory": br_plp_lower, "ecommerce": { "click": { "actionField": { "action": "click" }, "products": productInfo } } }); } } /* Get Product Click Info*/ function getproductclickinfo(item) { var name = jq('#productAnalytics #productName', item).text(); var price = jq('#productAnalytics #productPrice', item).text(); var category = jq('#productAnalytics #productCategory', item).text(); var productSize = jq('#productAnalytics #productSize', item).text(); var productShade = jq('#productAnalytics #productShade', item).text(); var id = jq('#productAnalytics #productEAN', item).text(); var position = jq('#productAnalytics #productposition', item).text(); var product = { "name": name, "id": id, "price": price, "brand": "LP", "category": category, "variant": "", "position": position, "dimension35": productSize, "dimension36": productShade }; return product; } //ProductDetail function productDetail(product) { var productInfo = []; productInfo.push(getProductInfo(product)); if ($country == 'it' || $country == 'IT') { dataLayer.push({ "event": "nievent", "eventAction": "Product Detail", "eventLabel": "Product Detail", "eventCategory": "Ecommerce", "ecommerce": { "detail": { "actionField": { "action": "detail" }, "products": productInfo } } }); } else { dataLayer.push({ "event": "uaevent", "eventAction": "Product Detail", "eventCategory": "Ecommerce", "ecommerce": { "detail": { "actionField": { "action": "detail", "list": "product detail page" }, "products": productInfo } } }); } } //promotionClick jq('.nav-main>ul>li>.dropdown a').bind('click', function () { if (jq('img', this).length > 0) { var alt = jq("img", this).attr('alt'); var promotions = jq('.nav-main>ul>li'); var i = 0; var found = false; while (promotions[i].className.indexOf('separator') < 0 && !found) { var j = 0; var promoImg = jq("img", promotions[i]); while (j < promoImg.length && jq(promoImg[j]).attr('alt') != alt) { j++; } if (j < promoImg.length) { promotionClick(promoImg[j]); found = true; } i++; } } }); //PromotionClick function promotionClick(promotion) { var promotionInfo = []; promotionInfo.push(getPromotionInfo(promotion)); dataLayer.push({ "event": "promotionClick", "eventAction": "Promotion Click", "eventCategory": "Ecommerce", "ecommerce": { "promoClick": { "promotions": promotionInfo } } }); } //PromotionImpressions function promotionImpressions(promotions) { var promotionArray = []; if (promotions.className.indexOf('separator') < 0) { var promotionsInLi = jq('img', promotions); for (var j = 0; j < promotionsInLi.length; j++) { if (isInViewport(promotionsInLi[j])) { var impression = getPromotionInfo(promotionsInLi[j]); if (!isSamePromotion(promotionsOnPage, impression)) { promotionArray.push(impression); promotionsOnPage.push(impression); } } } } if (promotionArray.length > 0) { dataLayer.push({ "event": "uaevent", "eventAction": "Promotion Impressions", "eventCategory": "Ecommerce", "ecommerce": { "promoView": { "promotions": promotionArray } } }); } } function getPromotionInfo(item) { var name = jq(item).attr('alt'); var promotion = { "name": name } return promotion; } function getProductInfo(item) { var name = jq('#productAnalytics #productName', item).text(); var price = jq('#productAnalytics #productPrice', item).text(); var category = jq('#productAnalytics #productCategory', item).text(); var productSize = jq('#productAnalytics #productSize', item).text(); var productShade = jq('#productAnalytics #productShade', item).text(); var id = jq('#productAnalytics #productEAN', item).text(); if ($country == 'it' || $country == 'IT') { var product = { "name": name, "id": id, "price": price, "brand": "LP", "category": category, "variant": "", "dimension35": productSize, "dimension36": productShade }; } else { var product = { "name": name, "id": id, "price": price, "brand": "LP", "category": category, "dimension35": productSize, "dimension36": productShade }; } return product; } function isInViewport(element) { var rect = element.getBoundingClientRect(); var html = document.documentElement; return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || html.clientHeight) && rect.right <= (window.innerWidth || html.clientWidth) ); } /* Forms */ /* in footer, call to action, quote, product header and product summary */ jq('#page form[data-cta-type=salonLocator]').each(function () { var pageLocElt = jq(this).closest('[data-page-section]'); // find the nearest parent with a page section attribute var pageLocVal = pageLocElt.attr('data-page-section'); // store the value of the page section attribute //jq(this).append(''); //jq(this).append(''); }); /* Style my hair */ // var styleString = '55event=StyleMyHair&55locationInPage='; jq('#page a[data-cta-type=styleMyHair]').each(function () { var currentHref = jq(this).attr('href');// current link href var pageLocElt = jq(this).closest('[data-page-section]');// find the nearest parent with a page section attribute var pageLocVal = pageLocElt.attr('data-page-section');// store the value of the page section attribute //jq(this).attr('href', currentHref + '?' + styleString + pageLocVal);// change the link href with the new value jq(this).attr('href', currentHref); }); /* Magazine */ //var magString = '55event=ReadMagazine&55locationInPage='; jq('#page a[data-cta-type=magazine], .nav-main [data-cta-type=magazine] a').each(function () { var currentHref = jq(this).attr('href');// current link href if (currentHref != '#' && currentHref != '') { var pageLocElt = jq(this).closest('[data-page-section]');// find the nearest parent with a page section attribute var pageLocVal = pageLocElt.attr('data-page-section');// store the value of the page section attribute //jq(this).attr('href', currentHref + '?' + magString + pageLocVal);// change the link href with the new value jq(this).attr('href', currentHref); } }); //general jq('[data-cta] a').each(function () { var locationParam = 'locationInPage=' + jq(this).closest('[data-page-section]').data('page-section'); var href = jq(this).attr('href'); if (href.indexOf('?') == -1) { locationParam = '?' + locationParam; } else { locationParam = '&' + locationParam; } jq(this).attr('href', href + locationParam); }); });