// source --> https://awegods.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=3.5.0
jQuery(function(e){if("undefined"==typeof wc_add_to_cart_params)return!1;var t=function(){e(document.body).on("click",".add_to_cart_button",this.onAddToCart).on("click",".remove_from_cart_button",this.onRemoveFromCart).on("added_to_cart",this.updateButton).on("added_to_cart",this.updateCartPage).on("added_to_cart removed_from_cart",this.updateFragments)};t.prototype.onAddToCart=function(t){var a=e(this);if(a.is(".ajax_add_to_cart")){if(!a.attr("data-product_id"))return!0;t.preventDefault(),a.removeClass("added"),a.addClass("loading");var o={};e.each(a.data(),function(t,a){o[t]=a}),e(document.body).trigger("adding_to_cart",[a,o]),e.post(wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_cart"),o,function(t){t&&(t.error&&t.product_url?window.location=t.product_url:"yes"!==wc_add_to_cart_params.cart_redirect_after_add?e(document.body).trigger("added_to_cart",[t.fragments,t.cart_hash,a]):window.location=wc_add_to_cart_params.cart_url)})}},t.prototype.onRemoveFromCart=function(t){var a=e(this),o=a.closest(".woocommerce-mini-cart-item");t.preventDefault(),o.block({message:null,overlayCSS:{opacity:.6}}),e.post(wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","remove_from_cart"),{cart_item_key:a.data("cart_item_key")},function(t){t&&t.fragments?e(document.body).trigger("removed_from_cart",[t.fragments,t.cart_hash,a]):window.location=a.attr("href")}).fail(function(){window.location=a.attr("href")})},t.prototype.updateButton=function(t,a,o,r){(r=void 0!==r&&r)&&(r.removeClass("loading"),r.addClass("added"),wc_add_to_cart_params.is_cart||0!==r.parent().find(".added_to_cart").length||r.after(' '+wc_add_to_cart_params.i18n_view_cart+""),e(document.body).trigger("wc_cart_button_updated",[r]))},t.prototype.updateCartPage=function(){var t=window.location.toString().replace("add-to-cart","added-to-cart");e(".shop_table.cart").load(t+" .shop_table.cart:eq(0) > *",function(){e(".shop_table.cart").stop(!0).css("opacity","1").unblock(),e(document.body).trigger("cart_page_refreshed")}),e(".cart_totals").load(t+" .cart_totals:eq(0) > *",function(){e(".cart_totals").stop(!0).css("opacity","1").unblock(),e(document.body).trigger("cart_totals_refreshed")})},t.prototype.updateFragments=function(t,a){a&&(e.each(a,function(t){e(t).addClass("updating").fadeTo("400","0.6").block({message:null,overlayCSS:{opacity:.6}})}),e.each(a,function(t,a){e(t).replaceWith(a),e(t).stop(!0).css("opacity","1").unblock()}),e(document.body).trigger("wc_fragments_loaded"))},new t});
// source --> https://awegods.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4
/*!
* JavaScript Cookie v2.1.4
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
!function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(m){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var f="";for(var s in i)i[s]&&(f+="; "+s,!0!==i[s]&&(f+="="+i[s]));return document.cookie=n+"="+r+f}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-outbound-click-tracker.js?ver=1.11.5
jQuery( function() {
var gtm4wp_localdomain = window.location.hostname.replace( "www.", "" );
jQuery( "a[href^=http]" )
.each( function() {
var gtm4wp_linkhref = jQuery( this ).attr( "href" );
if ( gtm4wp_linkhref.indexOf( gtm4wp_localdomain ) == -1 ) {
jQuery( this )
.on( "click", function() {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.outboundClick',
'linkhref': jQuery( this ).attr( "href" )
});
})
.attr( "target", "_blank" );
}
});
});
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-download-tracker.js?ver=1.11.5
function gtm4wp_track_downloads(track_extensions) {
var gtm4wp_extensions_to_track = track_extensions.split(",");
for ( var i = 0; i < gtm4wp_extensions_to_track.length; i++ ) {
jQuery( "a[href$=\\." + gtm4wp_extensions_to_track[i].toLowerCase() + "], a[href$=\\." + gtm4wp_extensions_to_track[i].toUpperCase() + "]" )
.on( "click", function() {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.downloadClick',
'linkhref': jQuery( this ).attr( "href" )
});
})
.attr( "target", "_blank" );
} // end for i
};
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-contact-form-7-tracker.js?ver=1.11.5
jQuery( function() {
jQuery( ".wpcf7" )
.on( 'wpcf7mailsent', function( e ) {
var gtm4wp_cf7formid = '(not set)';
if ( e && e.detail && e.detail.contactFormId ) {
gtm4wp_cf7formid = e.detail.contactFormId;
} else if ( e && e.originalEvent && e.originalEvent.detail && e.originalEvent.detail.contactFormId ) {
gtm4wp_cf7formid = e.originalEvent.detail.contactFormId;
}
var gtm4wp_cf7forminputs = [];
if ( e && e.detail && e.detail.inputs ) {
gtm4wp_cf7forminputs = e.detail.inputs;
} else if ( e && e.originalEvent && e.originalEvent.detail && e.originalEvent.detail.inputs ) {
gtm4wp_cf7forminputs = e.originalEvent.detail.inputs;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.contactForm7Submitted',
'gtm4wp.cf7formid': gtm4wp_cf7formid,
'gtm4wp.cf7inputs': gtm4wp_cf7forminputs
});
});
});
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-form-move-tracker.js?ver=1.11.5
jQuery( function() {
jQuery( ":input" )
.on( "focus", function() {
var input = jQuery(this);
var inputID = input.attr("id") || "(no input ID)";
var inputName = input.attr("name") || "(no input name)";
var inputClass = input.attr("class") || "(no input class)";
var form = jQuery(this.form);
var formID = form.attr("id") || "(no form ID)";
var formName = form.attr("name") || "(no form name)";
var formClass = form.attr("class") || "(no form class)";
window[ gtm4wp_datalayer_name ].push({
'event' : 'gtm4wp.formElementEnter',
'inputID' : inputID,
'inputName' : inputName,
'inputClass': inputClass,
'formID' : formID,
'formName' : formName,
'formClass': formClass
});
})
.on( "blur", function() {
var input = jQuery(this);
var inputID = input.attr("id") || "(no input ID)";
var inputName = input.attr("name") || "(no input name)";
var inputClass = input.attr("class") || "(no input class)";
var form = jQuery(this.form);
var formID = form.attr("id") || "(no form ID)";
var formName = form.attr("name") || "(no form name)";
var formClass = form.attr("class") || "(no form class)";
window[ gtm4wp_datalayer_name ].push({
'event' : 'gtm4wp.formElementLeave',
'inputID' : inputID,
'inputName' : inputName,
'inputClass': inputClass,
'formID' : formID,
'formName' : formName,
'formClass': formClass
});
});
});
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-social-tracker.js?ver=1.11.5
jQuery( function() {
if ( typeof FB != "undefined" ) {
FB.Event.subscribe( 'edge.create', function( href, widget ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'facebook',
'socialAction': 'like',
'opt_target': href,
'opt_pagePath': window.location.href
});
});
FB.Event.subscribe( 'edge.remove', function( href, widget ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'facebook',
'socialAction': 'unlike',
'opt_target': href,
'opt_pagePath': window.location.href
});
});
FB.Event.subscribe( 'comment.create', function( href, commentID ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'facebook',
'socialAction': 'comment',
'opt_target': href,
'opt_pagePath': window.location.href
});
});
FB.Event.subscribe( 'comment.remove', function( href, commentID ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'facebook',
'socialAction': 'uncomment',
'opt_target': href,
'opt_pagePath': window.location.href
});
});
FB.Event.subscribe( 'message.send', function( response ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'facebook',
'socialAction': 'send',
'opt_target': response,
'opt_pagePath': window.location.href
});
});
} // end of Facebook social events
if ( typeof window.twttr == "undefined" ) {
window.twttr = (function ( d, s, id ) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = {
_e: [],
ready: function(f) {
t._e.push(f);
}
});
} (document, "script", "twitter-wjs"));
} // end of loading Twitter JS
if ( typeof window.twttr != "undefined" ) {
window.twttr.ready(function ( twttr ) {
twttr.events.bind( 'tweet', function ( intent_event ) {
if ( intent_event ) {
var label = intent_event.data.tweet_id;
if (typeof label != 'undefined' && label) {
if(label == 'label'){
label = window.location.href;
}
}else{
label = window.location.href;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'twitter',
'socialAction': 'tweet',
'opt_target': label,
'opt_pagePath': window.location.href
});
}
});
window.twttr.events.bind( 'follow', function ( intent_event ) {
if ( intent_event ) {
var label = intent_event.data.user_id + " (" + intent_event.data.screen_name + ")";
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.socialAction',
'network': 'twitter',
'socialAction': 'follow',
'opt_target': label,
'opt_pagePath': window.location.href
});
}
});
});
}
});
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-youtube.js?ver=1.11.5
var gtm4wp_youtube_percentage_tracking = 10;
var gtm4wp_youtube_percentage_tracking_timeouts = {};
var gtm4wp_youtube_percentage_tracking_marks = {};
if ( typeof onYouTubeIframeAPIReady === "undefined" ) {
window.onYouTubeIframeAPIReady = function() {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaApiReady',
'mediaType': 'youtube'
});
jQuery( "iframe[src^='https://www.youtube.com/embed']" ).each( function() {
var gtm4wp_jqthis = jQuery( this );
var playerID = gtm4wp_jqthis.attr( "id" );
if ( ( playerID === undefined ) || ( playerID === "" ) ) {
var _gtm4wp_temp = gtm4wp_jqthis.attr( "src" ).split( "?" );
var _gtm4wp_temp2 = _gtm4wp_temp[ 0 ].split( "/" );
playerID = "youtubeplayer_" + _gtm4wp_temp2[ _gtm4wp_temp2.length-1 ];
gtm4wp_jqthis.attr( "id", playerID );
}
var gtm4wp_yturl = gtm4wp_jqthis.attr( "src" );
if ( gtm4wp_yturl.indexOf( "enablejsapi=1" ) == -1 ) {
if ( gtm4wp_yturl.indexOf( "?" ) == -1 ) {
gtm4wp_yturl += "?";
}
gtm4wp_yturl += "&enablejsapi=1&origin=" + document.location.protocol + "//" + document.location.hostname;
gtm4wp_jqthis.attr( "src", gtm4wp_yturl );
}
player = new YT.Player( playerID, {
events: {
'onReady': gtm4wp_onYouTubePlayerReady,
'onStateChange': gtm4wp_onYouTubePlayerStateChange,
'onPlaybackQualityChange': gtm4wp_onYouTubePlaybackQualityChange,
'onPlaybackRateChange': gtm4wp_onYouTubePlaybackRateChange,
'onError': gtm4wp_onYouTubeError,
'onApiChange': gtm4wp_onYouTubeApiChange
}
});
});
};
var tag = document.createElement( 'script' );
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName( 'script' )[0];
firstScriptTag.parentNode.insertBefore( tag, firstScriptTag );
} else {
var gtm4wp_err = new Error( "Another code is already utilizing YouTube API, GTM4WP plugin can not load YouTube tracking!" );
throw gtm4wp_err;
}
function gtm4wp_onYouTubePlayerReady( event ) {
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerReady',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime()
});
}
function gtm4wp_onYouTubePlayerStateChange( event ) {
var playerState = "unknown";
switch( event.data ) {
case -1: playerState = "unstarted"; break;
case YT.PlayerState.ENDED: playerState = "ended"; break;
case YT.PlayerState.PLAYING: playerState = "play"; break;
case YT.PlayerState.PAUSED: playerState = "pause"; break;
case YT.PlayerState.BUFFERING: playerState = "buffering"; break;
case YT.PlayerState.CUED: playerState = "cued"; break;
}
var videoId = event.target.getVideoData().video_id;
if ( ( YT.PlayerState.PLAYING == event.data ) && ( gtm4wp_youtube_percentage_tracking > 0 ) ) {
gtm4wp_youtube_percentage_tracking_timeouts[ videoId ] = setInterval(function() {
gtm4wp_onYouTubePercentageChange( event );
}, 1000);
} else {
if ( gtm4wp_youtube_percentage_tracking_timeouts[ videoId ] ) {
clearInterval( gtm4wp_youtube_percentage_tracking_timeouts[ videoId ] );
}
}
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerStateChange',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaPlayerState': playerState,
'mediaCurrentTime': event.target.getCurrentTime()
});
}
function gtm4wp_onYouTubePlaybackQualityChange( event ) {
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerEvent',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime(),
'mediaPlayerEvent': 'quality-change',
'mediaPlayerEventParam': event.data
});
}
function gtm4wp_onYouTubePlaybackRateChange( event ) {
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerEvent',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime(),
'mediaPlayerEvent': 'ratechange',
'mediaPlayerEventParam': event.data
});
}
function gtm4wp_onYouTubeError( event ) {
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerEvent',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime(),
'mediaPlayerEvent': 'error',
'mediaPlayerEventParam': event.data
});
}
function gtm4wp_onYouTubeApiChange( event ) {
var videodata = event.target.getVideoData();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlayerEvent',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime(),
'mediaPlayerEvent': 'api-change',
'mediaPlayerEventParam': event.data
});
}
function gtm4wp_onYouTubePercentageChange( event ) {
var videoId = event.target.getVideoData().video_id;
var videoCurrentTime = event.target.getCurrentTime();
var videoDuration = event.target.getDuration();
var videoPercentage = Math.floor( videoCurrentTime / videoDuration * 100 );
if ( typeof gtm4wp_youtube_percentage_tracking_marks[ videoId ] == "undefined" ) {
gtm4wp_youtube_percentage_tracking_marks[ videoId ] = [];
}
var videodata = event.target.getVideoData();
for( var i=0; i<100; i+=gtm4wp_youtube_percentage_tracking ) {
if ( ( videoPercentage > i ) && ( gtm4wp_youtube_percentage_tracking_marks[ videoId ].indexOf( i ) == -1 ) ) {
gtm4wp_youtube_percentage_tracking_marks[ videoId ].push( i );
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.mediaPlaybackPercentage',
'mediaType': 'youtube',
'mediaData': {
'id': videodata.video_id,
'author': videodata.author,
'title': videodata.title,
'url': event.target.getVideoUrl(),
'duration': event.target.getDuration()
},
'mediaCurrentTime': event.target.getCurrentTime(),
'mediaPercentage': i
});
}
}
};
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/analytics-talk-content-tracking.js?ver=1.11.5
/*
* Source: http://cutroni.com/blog/2012/02/21/advanced-content-tracking-with-google-analytics-part-1/
* Original authors:
* - Nick Mihailovski
* - Thomas Baekdal
* - Avinash Kaushik
* - Joost de Valk
* - Eivind Savio
* - Justin Cutroni
*
* Google Tag Manager dataLayer events added by:
* Thomas Geiger
* gtm4wp.com
*/
if ( "undefined" == typeof console ) {
window.console = {
log: function () {}
};
}
jQuery( function( $ ) {
// Debug flag
var debugMode = gtm4wp_scrollerscript_debugmode;
// Default time delay before checking location
var callBackTime = gtm4wp_scrollerscript_callbacktime;
// # px before tracking a reader
var readerLocation = gtm4wp_scrollerscript_readerlocation;
// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;
// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;
// Track the aticle load
if ( !debugMode ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.articleLoaded'
});
} else {
console.log( 'Article loaded' );
}
// Check the location and track user
function trackLocation() {
bottom = $( window ).height() + $( window ).scrollTop();
height = $( document ).height();
// If user starts to scroll send an event
if ( bottom > readerLocation && !scroller ) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round( ( scrollStart - beginning ) / 1000 );
if ( !debugMode ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.startReading',
'timeToScroll': timeToScroll
});
} else {
console.log( 'Started reading ' + timeToScroll );
}
scroller = true;
}
// If user has hit the bottom of the content send an event
if ( bottom >= $( '#' + gtm4wp_scrollerscript_contentelementid ).scrollTop() + $( '#' + gtm4wp_scrollerscript_contentelementid ).innerHeight() && !endContent ) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round( ( contentScrollEnd - scrollStart ) / 1000 );
if ( !debugMode ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.contentBottom',
'timeToScroll': timeToContentEnd
});
} else {
console.log( 'End content section ' + timeToContentEnd );
}
endContent = true;
}
// If user has hit the bottom of page send an event
if ( bottom >= height && !didComplete ) {
currentTime = new Date();
end = currentTime.getTime();
totalTime = Math.round( ( end - scrollStart ) / 1000 );
if ( !debugMode ) {
if ( totalTime < gtm4wp_scrollerscript_scannertime ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.readerType',
'readerType': 'scanner'
});
} else {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.readerType',
'readerType': 'reader'
});
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.reading.pagebottom',
'timeToScroll': totalTime
});
} else {
if ( totalTime < gtm4wp_scrollerscript_scannertime ) {
console.log( 'The visitor seems to be a "scanner"' );
} else {
console.log( 'The visitor seems to be a "reader"' );
}
console.log( 'Bottom of page ' + totalTime );
}
didComplete = true;
}
}
// Track the scrolling and track location
$( window ).scroll(function() {
if ( timer ) {
clearTimeout( timer );
}
// Use a buffer so we don't call trackLocation too often.
timer = setTimeout( trackLocation, callBackTime );
});
});
// source --> https://awegods.com/wp-content/plugins/duracelltomi-google-tag-manager/js/gtm4wp-woocommerce-enhanced.js?ver=1.11.5
var gtm4wp_last_selected_product_variation;
var gtm4wp_changedetail_fired_during_pageload=false;
function gtm4wp_handle_cart_qty_change() {
jQuery( '.product-quantity input.qty' ).each(function() {
var _original_value = jQuery( this ).prop( 'defaultValue' );
var _current_value = parseInt( jQuery( this ).val() );
if ( Number.isNaN( _current_value ) ) {
_current_value = _original_value;
}
if ( _original_value != _current_value ) {
var productdata = jQuery( this ).closest( '.cart_item' ).find( '.remove' );
var productprice = productdata.data( 'gtm4wp_product_price' );
if ( typeof productprice == "string" ) {
productprice = parseFloat( productprice );
if ( isNaN( productprice ) ) {
productprice = 0;
}
} else if ( typeof productprice != "number" ) {
productprice = 0;
}
if ( _original_value < _current_value ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.addProductToCartEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'add': {
'products': [{
'name': productdata.data( 'gtm4wp_product_name' ),
'id': productdata.data( 'gtm4wp_product_id' ),
'price': productprice.toFixed(2),
'category': productdata.data( 'gtm4wp_product_cat' ),
'variant': productdata.data( 'gtm4wp_product_variant' ),
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' ),
'quantity': _current_value - _original_value
}]
}
}
});
} else {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.removeFromCartEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'remove': {
'products': [{
'name': productdata.data( 'gtm4wp_product_name' ),
'id': productdata.data( 'gtm4wp_product_id' ),
'price': productprice.toFixed(2),
'category': productdata.data( 'gtm4wp_product_cat' ),
'variant': productdata.data( 'gtm4wp_product_variant' ),
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' ),
'quantity': _original_value - _current_value
}]
}
}
});
}
} // end if qty changed
}); // end each qty field
} // end gtm4wp_handle_cart_qty_change()
jQuery(function() {
var is_cart = jQuery( 'body' ).hasClass( 'woocommerce-cart' );
var is_checkout = jQuery( 'body' ).hasClass( 'woocommerce-checkout' );
// track impressions of products in product lists
if ( jQuery( '.gtm4wp_productdata,.widget-product-item' ).length > 0 ) {
var products = [];
var productdata, productprice=0;
jQuery( '.gtm4wp_productdata,.widget-product-item' ).each( function() {
productdata = jQuery( this );
productprice = productdata.data( 'gtm4wp_product_price' );
if ( typeof productprice == "string" ) {
productprice = parseFloat( productprice );
if ( isNaN( productprice ) ) {
productprice = 0;
}
} else if ( typeof productprice != "number" ) {
productprice = 0;
}
products.push({
'name': productdata.data( 'gtm4wp_product_name' ),
'id': productdata.data( 'gtm4wp_product_id' ),
'price': productprice.toFixed(2),
'category': productdata.data( 'gtm4wp_product_cat' ),
'position': productdata.data( 'gtm4wp_product_listposition' ),
'list': productdata.data( 'gtm4wp_productlist_name' ),
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' )
});
});
if ( gtm4wp_product_per_impression > 0 ) {
// Need to split the product submissions up into chunks in order to avoid the GA 8kb submission limit
var chunk;
while ( products.length ) {
chunk = products.splice( 0, gtm4wp_product_per_impression );
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.productImpressionEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'impressions': chunk
}
});
}
} else {
for( var i=0; i 0 ) {
if ( gtm4wp_last_selected_product_variation ) {
gtm4wp_last_selected_product_variation.quantity = jQuery( 'form.cart:first input[name=quantity]' ).val();
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.addProductToCartEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'add': {
'products': [gtm4wp_last_selected_product_variation]
}
}
});
}
} else if ( _product_is_grouped ) {
var _products_in_group = jQuery( '.grouped_form .gtm4wp_productdata' );
var _products_eec = [];
_products_in_group.each( function() {
var productdata = jQuery( this );
var product_qty_input = jQuery( 'input[name=quantity\\[' + productdata.data( 'gtm4wp_product_id' ) + '\\]]' );
if ( product_qty_input.length > 0 ) {
product_qty = product_qty_input.val();
} else {
return;
}
if ( 0 == product_qty ) {
return;
}
_products_eec.push({
'id': gtm4wp_use_sku_instead ? productdata.data( 'gtm4wp_product_sku' ) : productdata.data( 'gtm4wp_product_id' ),
'name': productdata.data( 'gtm4wp_product_name' ),
'price': productdata.data( 'gtm4wp_product_price' ),
'category': productdata.data( 'gtm4wp_product_cat' ),
'quantity': product_qty,
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' )
});
});
if ( 0 == _products_eec.length ) {
return;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.addProductToCartEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'add': {
'products': _products_eec
}
}
});
} else {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.addProductToCartEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'add': {
'products': [{
'id': gtm4wp_use_sku_instead ? jQuery( '[name=gtm4wp_sku]', _product_form ).val() : jQuery( '[name=gtm4wp_id]', _product_form ).val(),
'name': jQuery( '[name=gtm4wp_name]', _product_form ).val(),
'price': jQuery( '[name=gtm4wp_price]', _product_form ).val(),
'category': jQuery( '[name=gtm4wp_category]', _product_form ).val(),
'quantity': jQuery( 'form.cart:first input[name=quantity]' ).val(),
'stocklevel': jQuery( '[name=gtm4wp_stocklevel]', _product_form ).val(),
'brand': jQuery( '[name=gtm4wp_brand]', _product_form ).val()
}]
}
}
});
}
});
// track remove links in mini cart widget and on cart page
jQuery( document ).on( 'click', '.mini_cart_item a.remove,.product-remove a.remove', function() {
var productdata = jQuery( this );
var qty = 0;
var qty_element = jQuery( this ).closest( '.cart_item' ).find( '.product-quantity input.qty' );
if ( qty_element.length === 0 ) {
qty_element = jQuery( this ).closest( '.mini_cart_item' ).find( '.quantity' );
if ( qty_element.length > 0 ) {
qty = parseInt( qty_element.text() );
if ( Number.isNaN( qty ) ) {
qty = 0;
}
}
} else {
qty = qty_element.val();
}
if ( qty === 0 ) {
return true;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.removeFromCartEEC',
'ecommerce': {
'remove': {
'products': [{
'name': productdata.data( 'gtm4wp_product_name' ),
'id': productdata.data( 'gtm4wp_product_id' ),
'price': productdata.data( 'gtm4wp_product_price' ),
'category': productdata.data( 'gtm4wp_product_cat' ),
'variant': productdata.data( 'gtm4wp_product_variant' ),
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' ),
'quantity': qty
}]
}
}
});
});
// track clicks in product lists
jQuery( document ).on( 'click', '.products li:not(.product-category) a:not(.add_to_cart_button):not(.quick-view-button),.products>div:not(.product-category) a:not(.add_to_cart_button):not(.quick-view-button),.widget-product-item,.woocommerce-grouped-product-list-item__label a', function( event ) {
// do nothing if GTM is blocked for some reason
if ( 'undefined' == typeof google_tag_manager ) {
return true;
}
var _productdata = jQuery( this ).closest( '.product' );
var productdata = '';
if ( _productdata.length > 0 ) {
productdata = _productdata.find( '.gtm4wp_productdata' );
} else {
_productdata = jQuery( this ).closest( '.products li' );
if ( _productdata.length > 0 ) {
productdata = _productdata.find( '.gtm4wp_productdata' );
} else {
_productdata = jQuery( this ).closest( '.products>div' );
if ( _productdata.length > 0 ) {
productdata = _productdata.find( '.gtm4wp_productdata' );
} else {
_productdata = jQuery( this ).closest( '.woocommerce-grouped-product-list-item__label' );
if ( _productdata.length > 0 ) {
productdata = _productdata.find( '.gtm4wp_productdata' );
} else {
productdata = jQuery( this );
}
}
}
}
if ( ( 'undefined' == typeof productdata.data( 'gtm4wp_product_id' ) ) || ( '' == productdata.data( 'gtm4wp_product_id' ) ) ) {
return true;
}
// only act on links pointing to the product detail page
if ( productdata.data( 'gtm4wp_product_url' ) != jQuery( this ).attr( 'href' ) ) {
return true;
}
var ctrl_key_pressed = event.ctrlKey || event.metaKey;
event.preventDefault();
if ( ctrl_key_pressed ) {
// we need to open the new tab/page here so that popup blocker of the browser doesn't block our code
var _productpage = window.open( 'about:blank', '_blank' );
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.productClickEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'click': {
'actionField': {'list': productdata.data( 'gtm4wp_productlist_name' )},
'products': [{
'id': productdata.data( 'gtm4wp_product_id' ),
'name': productdata.data( 'gtm4wp_product_name' ),
'price': productdata.data( 'gtm4wp_product_price' ),
'category': productdata.data( 'gtm4wp_product_cat' ),
'stocklevel': productdata.data( 'gtm4wp_product_stocklevel' ),
'brand': productdata.data( 'gtm4wp_product_brand' ),
'position': productdata.data( 'gtm4wp_product_listposition' )
}]
}
},
'eventCallback': function() {
if ( ctrl_key_pressed && _productpage ) {
_productpage.location.href= productdata.data( 'gtm4wp_product_url' );
} else {
document.location.href = productdata.data( 'gtm4wp_product_url' );
}
},
'eventTimeout': 2000
});
});
// track variable products on their detail pages
jQuery( document ).on( 'found_variation', function( event, product_variation ) {
if ( "undefined" == typeof product_variation ) {
// some ither plugins trigger this event without variation data
return;
}
if ( (document.readyState === "interactive") && gtm4wp_changedetail_fired_during_pageload ) {
// some custom attribute rendering plugins fire this event multiple times during page load
return;
}
var _product_form = event.target;
var _product_var_id = jQuery( '[name=variation_id]', _product_form );
var _product_id = jQuery( '[name=gtm4wp_id]', _product_form ).val();
var _product_name = jQuery( '[name=gtm4wp_name]', _product_form ).val();
var _product_sku = jQuery( '[name=gtm4wp_sku]', _product_form ).val();
var _product_category = jQuery( '[name=gtm4wp_category]', _product_form ).val();
var _product_price = jQuery( '[name=gtm4wp_price]', _product_form ).val();
var _product_stocklevel = jQuery( '[name=gtm4wp_stocklevel]', _product_form ).val();
var _product_brand = jQuery( '[name=gtm4wp_brand]', _product_form ).val();
var current_product_detail_data = {
name: _product_name,
id: 0,
price: 0,
category: _product_category,
stocklevel: _product_stocklevel,
brand: _product_brand,
variant: ''
};
current_product_detail_data.id = product_variation.variation_id;
if ( gtm4wp_use_sku_instead && product_variation.sku && ('' !== product_variation.sku) ) {
current_product_detail_data.id = product_variation.sku;
}
current_product_detail_data.price = product_variation.display_price;
var _tmp = [];
for( var attrib_key in product_variation.attributes ) {
_tmp.push( product_variation.attributes[ attrib_key ] );
}
current_product_detail_data.variant = _tmp.join(',');
gtm4wp_last_selected_product_variation = current_product_detail_data;
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.changeDetailViewEEC',
'ecommerce': {
'currencyCode': gtm4wp_currency,
'detail': {
'products': [current_product_detail_data]
},
},
'ecomm_prodid': gtm4wp_id_prefix + current_product_detail_data.id,
'ecomm_pagetype': 'product',
'ecomm_totalvalue': current_product_detail_data.price,
});
if ( document.readyState === "interactive" ) {
gtm4wp_changedetail_fired_during_pageload = true;
}
});
jQuery( '.variations select' ).trigger( 'change' );
// initiate codes in WooCommere Quick View
jQuery( document ).ajaxSuccess( function( event, xhr, settings ) {
if(typeof settings !== 'undefined') {
if (settings.url.indexOf( 'wc-api=WC_Quick_View' ) > -1 ) {
setTimeout( function() {
jQuery( ".woocommerce.quick-view" ).parent().find( "script" ).each( function(i) {
eval( jQuery( this ).text() );
});
}, 500);
}
}
});
// codes for enhanced ecommerce events on cart page
if ( is_cart ) {
jQuery( document ).on( 'click', '[name=update_cart]', function() {
gtm4wp_handle_cart_qty_change();
});
jQuery( document ).on( 'keypress', '.woocommerce-cart-form input[type=number]', function() {
gtm4wp_handle_cart_qty_change();
});
}
// codes for enhanced ecommerce events on checkout page
if ( is_checkout ) {
window.gtm4wp_checkout_step_offset = window.gtm4wp_checkout_step_offset || 0;
window.gtm4wp_checkout_products = window.gtm4wp_checkout_products || [];
var gtm4wp_shipping_payment_method_step_offset = window.gtm4wp_needs_shipping_address ? 0 : -1;
var gtm4wp_checkout_step_fired = []; // step 1 will be the billing section which is reported during pageload, no need to handle here
jQuery( document ).on( 'blur', 'input[name^=shipping_]:not(input[name^=shipping_method])', function() {
// do not report checkout step if already reported
if ( gtm4wp_checkout_step_fired.indexOf( 'shipping' ) > -1 ) {
return;
}
// do not report checkout step if user is traversing through the section without filling in any data
if ( jQuery( this ).val().trim() == '' ) {
return;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.checkoutStepEEC',
'ecommerce': {
'checkout': {
'actionField': {
'step': 2 + window.gtm4wp_checkout_step_offset
},
'products': window.gtm4wp_checkout_products
}
}
});
gtm4wp_checkout_step_fired.push( 'shipping' );
});
jQuery( document ).on( 'change', 'input[name^=shipping_method]', function() {
// do not report checkout step if already reported
if ( gtm4wp_checkout_step_fired.indexOf( 'shipping_method' ) > -1 ) {
return;
}
// do not fire event during page load
if ( 'complete' != document.readyState ) {
return;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.checkoutStepEEC',
'ecommerce': {
'checkout': {
'actionField': {
'step': 3 + window.gtm4wp_checkout_step_offset + gtm4wp_shipping_payment_method_step_offset
},
'products': window.gtm4wp_checkout_products
}
}
});
gtm4wp_checkout_step_fired.push( 'shipping_method' );
});
jQuery( document ).on( 'change', 'input[name=payment_method]', function() {
// do not report checkout step if already reported
if ( gtm4wp_checkout_step_fired.indexOf( 'payment_method' ) > -1 ) {
return;
}
// do not fire event during page load
if ( 'complete' != document.readyState ) {
return;
}
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.checkoutStepEEC',
'ecommerce': {
'checkout': {
'actionField': {
'step': 4 + window.gtm4wp_checkout_step_offset + gtm4wp_shipping_payment_method_step_offset
},
'products': window.gtm4wp_checkout_products
}
}
});
gtm4wp_checkout_step_fired.push( 'payment_method' );
});
jQuery( 'form[name=checkout]' ).on( 'submit', function() {
if ( gtm4wp_checkout_step_fired.indexOf( 'shipping_method' ) == -1 ) {
// shipping methods are not visible if only one is available
// and if the user has already a pre-selected method, no click event will fire to report the checkout step
var selected_shipping_method = jQuery( 'input[name^=shipping_method]:checked' );
if ( selected_shipping_method.length == 0 ) {
selected_shipping_method = jQuery( 'input[name^=shipping_method]:first' );
}
if ( selected_shipping_method.length > 0 ) {
selected_shipping_method.trigger( 'change' );
}
}
if ( gtm4wp_checkout_step_fired.indexOf( 'payment_method' ) == -1 ) {
// if the user has already a pre-selected method, no click event will fire to report the checkout step
jQuery( 'input[name=payment_method]:checked' ).trigger( 'change' );
}
var _shipping_el = jQuery( 'input[name^=shipping_method]:checked' );
if ( _shipping_el.length == 0 ) {
_shipping_el = jQuery( 'input[name^=shipping_method]:first' );
}
if ( _shipping_el.length > 0 ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.checkoutOptionEEC',
'ecommerce': {
'checkout_option': {
'actionField': {
'step': 3 + window.gtm4wp_checkout_step_offset + gtm4wp_shipping_payment_method_step_offset,
'option': 'Shipping: ' + _shipping_el.val()
}
}
}
});
}
var _payment_el = jQuery( '.payment_methods input:checked' );
if ( _payment_el.length > 0 ) {
window[ gtm4wp_datalayer_name ].push({
'event': 'gtm4wp.checkoutOptionEEC',
'ecommerce': {
'checkout_option': {
'actionField': {
'step': 4 + window.gtm4wp_checkout_step_offset + gtm4wp_shipping_payment_method_step_offset,
'option': 'Payment: ' + _payment_el.val()
}
}
}
});
}
});
}
// codes for Google Ads dynamic remarketing
if ( window.gtm4wp_remarketing&& !is_cart && !is_checkout ) {
if ( jQuery( '.gtm4wp_productdata' ).length > 0 ) {
for( var i=0; i https://awegods.com/wp-content/plugins/js_composer/assets/js/vendors/woocommerce-add-to-cart.js?ver=5.5.5
window.jQuery( document ).ready( function ( $ ) {
$( 'body' ).on( 'adding_to_cart', function ( event, $button, data ) {
$button && $button.hasClass( 'vc_gitem-link' ) && $button
.addClass( 'vc-gitem-add-to-cart-loading-btn' )
.parents( '.vc_grid-item-mini' )
.addClass( 'vc-woocommerce-add-to-cart-loading' )
.append( $( '' ) );
} ).on( 'added_to_cart', function ( event, fragments, cart_hash, $button ) {
if ( 'undefined' === typeof($button) ) {
$button = $( '.vc-gitem-add-to-cart-loading-btn' );
}
$button && $button.hasClass( 'vc_gitem-link' ) && $button
.removeClass( 'vc-gitem-add-to-cart-loading-btn' )
.parents( '.vc_grid-item-mini' )
.removeClass( 'vc-woocommerce-add-to-cart-loading' )
.find( '.vc_wc-load-add-to-loader-wrapper' ).remove();
} );
} );