var codepeople_search_in_place_generator=function (){
var $=jQuery;
if('undefined'!=typeof codepeople_search_in_place_generator_flag) return;
codepeople_search_in_place_generator_flag=true;
function isMobile(){
try{ document.createEvent("TouchEvent"); return true; }
catch(e){ return false; }}
var popup_is_visible=false,
clickOnLink=function(evt){
var url=$(this).find('a').attr('href');
if(url){
switch (evt.which){
case 2:
let _win=window.open(url, '_blank');
_win.blur();
window.focus();
break;
case 3:
return;
case 1:
default:
document.location=url;
}}
},
hideResultsPopUp=function(force){
if(force ||
(popup_is_visible &&
$('input[name="s"]:focus').length==0 &&
$('.search-in-place:hover').length==0)
){
$('.search-in-place-close-icon').remove();
$('.search-in-place').hide();
popup_is_visible=false;
}},
scrollToTerm=function(e){
var y=e.offset().top - (window.innerHeight / 2);
setTimeout(
function(){
window.scrollTo({
top: y,
left: 0,
behavior: 'smooth'
}
), 100
}
);
},
searchInPlace=function(){
$('[data-search-in-page]')
.data('enter-counter', 0)
.on('click', function(){$(this).data('enter-counter', 0)})
.closest('form')
.on('submit', function(evt){
evt.preventDefault();evt.stopPropagation();
var s=$('[data-search-in-page]', this), i=s.data('enter-counter'), e=$('.search-in-place-mark:eq('+i+')');
if(e.length){
scrollToTerm(e);
s.data('enter-counter', i+1);
}
else s.data('enter-counter', 0);
hideResultsPopUp(true);
return false;
}).each(function(){
if(!($('[data-display-button]', this).data('display-button')*1))
$(this).find('button,input[type="submit"],input[type="button"]')
.remove();
});
if(jQuery.fn.on){
$(document).on('mouseover mouseout', '.search-in-place>.item', function(evt){$(this).toggleClass('active');})
.on('mousedown', '.search-in-place>.item', clickOnLink)
.on('mousedown', '.search-in-place>.label.more', clickOnLink);
}else{
$('.search-in-place>.item').live('mouseover mouseout', function(evt){$(this).toggleClass('active');})
.live('mousedown', clickOnLink)
.live('mousedown', '.search-in-place>.label.more', clickOnLink);
}};
searchInPlace.prototype={
active:null,
search:'',
config:{
min:codepeople_search_in_place.char_number,
image_width:50,
image_height:50,
colors:('highlight_colors' in codepeople_search_in_place) ? codepeople_search_in_place['highlight_colors']:['#B5DCE1', '#F4E0E9', '#D7E0B1', '#F4D9D0', '#D6CDC8', '#F4E3C9', '#CFDAF0', '#F4EFEC'],
areas:('areas' in codepeople_search_in_place) ? codepeople_search_in_place['areas']:['div.hentry', '#content', '#main', 'div.content', '#middle', '#container', '#wrapper', 'article', '.elementor', 'body']
},
autohide:function(){
var me=this,
selector='input[name="s"]';
if('own_only' in codepeople_search_in_place &&
codepeople_search_in_place.own_only*1
) selector +='[data-search-in-place]';
$(document).on('input keyup focus', selector,
function(evt){
var s=$(this),
v=s.val(),
close_icon;
if($(evt.currentTarget).data('search-in-page')==1 &&
(
evt.type=='focus' ||
evt.keyCode===13
)
) return;
if($('.search-in-place-close-icon').length==0&&!!!s.data('search-in-page')&&isMobile()){
close_icon=$('');
s.after(close_icon);
var o=s.offset(),
w=s.outerWidth()-5,
h=s.outerHeight(),
ih=Math.min(close_icon.height(),h-5),
iw=Math.min(close_icon.width(),ih);
close_icon.height(ih);
close_icon.width(iw);
close_icon.offset({top:o.top + (h-ih)/2, left: o.left+(w-iw)});
}
s.attr('autocomplete', 'off');
if(me.checkString(v)){
setTimeout(function(){ me.getResults(s); }, 500);
popup_is_visible=true;
}else{
me.clearAutocomplete(s);
$('.search-in-place').hide();
popup_is_visible=false;
}
if(evt.type=='keyup'&&evt.keyCode==39) me.fromAutocomplete(s);
}
);
$(document).on('click', '.search-in-place-close-icon', function(evt){
evt.stopPropagation();
evt.preventDefault();
hideResultsPopUp(true);
});
$(document).on('mouseover', ':not(.search-in-place, .search-in-place *)', function(){
if(!isMobile()) setTimeout(hideResultsPopUp, 150);
});
$(document).on('blur', 'input[name="s"]',function(){
var e=$(this), bg=e.data('background-color');
if(typeof bg!='undefined') e.css('background-color', bg);
$('[name="cpsp-autocomplete"]').remove();
});
$(document).on('click', ':not(input[name="s"])',function(){
setTimeout(hideResultsPopUp, 150);
});
},
checkString:function(v){
return this.config.min <=v.length;
},
getResults:function(e){
var me=this;
function processResults(r){
if('object'==typeof r){
if('result' in r){
me.displayResult(r['result'], s);
me.removeLoading(r['result'], s);
}
if('autocomplete' in r&&r['autocomplete'].length){
me.autocomplete(r['autocomplete'][0], e);
}else{
me.clearAutocomplete(e);
}}
}
if(e.data('search-in-page')==undefined||e.data('no-popup')==undefined){
var o=e.offset(),
s=$('.search-in-place'),
sw=e.outerWidth(),
so={'left':o.left, 'top':(parseInt(o.top) + e.outerHeight()+5)};
if(me.search==e.val()&&s.length){
s.show().width(sw).offset(so);
return;
}
s.remove();
s=$('
');
s.appendTo('body');
s.width(sw).offset(so);
me.displayLoading(s);
}
me.search=e.val();
if(e.data('search-in-page')){
me.exclude_hidden=e.data('exclude-hidden')||0;
var terms=me.search.replace(/^\s+/, '').replace(/\s+$/, '').replace(/\s+/g, ' ');
if('operator' in codepeople_search_in_place&&codepeople_search_in_place['operator']=='and')
terms=[terms];
else
terms=terms.split(' ');
$('.search-in-place-mark').each(function(){
var p=$(this).parent();
$(this).contents().filter(function(){return this.nodeType===3;}).unwrap();
p[0].normalize();
});
var result=searchObj.highlightTerms(terms);
if(e.data('no-popup')==undefined){
processResults(result);
$('.search-in-place-more').remove();
$('.search-in-place .title a').mousedown(function(evt){
evt.preventDefault();
evt.stopPropagation();
e.blur();
scrollToTerm($($(evt.target).attr('href')));
hideResultsPopUp(true);
});
}}else{
var p={'s': me.search, action: 'search_in_place'};
if('lang' in codepeople_search_in_place) p.lang=codepeople_search_in_place.lang;
if(me.active) me.active.abort();
me.active=jQuery.ajax({
url: codepeople_search_in_place.root + 'admin-ajax.php',
data: p,
cache: true,
dataType: 'json',
success: function(r){
processResults(r);
}});
}},
autocomplete:function(o, e){
function colorValues(color){
if(!color) return;
if(color.toLowerCase()==='transparent') return [0, 0, 0, 0];
if(color[0]==='#'){
if(color.length < 7) color='#' + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4]:'');
return [parseInt(color.substr(1, 2), 16),
parseInt(color.substr(3, 2), 16),
parseInt(color.substr(5, 2), 16),
color.length > 7 ? parseInt(color.substr(7, 2), 16)/255:1];
}
if(color.indexOf('rgb')===-1){
var temp_elem=document.body.appendChild(document.createElement('fictum')),
flag='rgb(1, 2, 3)';
temp_elem.style.color=flag;
if(temp_elem.style.color!==flag) return;
temp_elem.style.color=color;
if(temp_elem.style.color===flag||temp_elem.style.color==='') return;
color=getComputedStyle(temp_elem).color;
document.body.removeChild(temp_elem);
}
if(color.indexOf('rgb')===0){
if(color.indexOf('rgba')===-1) color +=',1';
return color.match(/[\.\d]+/g).map(function (a){ return +a });
}};
var b=e.data('background-color')||e.css('background-color'),
c=colorValues(e.css('color')),
n=e.clone(),
a={'position': 'absolute', 'background': b, 'border-color': 'transparent', 'box-shadow': 'none', 'zIndex': 1};
n.removeAttr('placeholder').removeAttr('required');
if(e.css('zIndex')=='auto') e.css('zIndex', 10);
if(e.css('position')=='static') e.css('position', 'relative');
e.data('background-color', b);
if(c){
c[3]=0.5;
a['color']='rgba('+c.join(',')+')';
}
$('[name="cpsp-autocomplete"]').remove();
e.css('backgroundColor', 'transparent').after(n.attr('name', 'cpsp-autocomplete').val(o).css(a));
n.width(e.width());
n.height(e.height());
n.offset(e.offset());
},
fromAutocomplete:function(e){
var n=e.next('[name="cpsp-autocomplete"]');
if(n.length&&n.val().length) e.val(n.val());
},
clearAutocomplete: function(e){
var n=e.next('[name="cpsp-autocomplete"]');
if(n.length) n.val('');
},
displayResult:function(o, e){
var me=this,
s='';
for(var t in o){
s +=''+t+'
';
var l=o[t];
for(var i=0, h=l.length; i < h; i++){
s +='';
if(l[i].thumbnail){
s +='
';
}else{
s +='
';
}
s +='
'+l[i].title+'';
if(l[i].resume) s +='
'+l[i].resume+'';
if(l[i].author) s +='
'+l[i].author+'';
if(l[i].date) s +='
'+l[i].date+'';
s +='
';
}}
e.prepend(s).find('.thumbnail img').on('load', function(){
var size=me.imgSize(this);
$(this).width(size.w).height(size.h).css('visibility', 'visible');
});
},
imgSize:function(e){
e=$(e);
var w=e.width(),
h=e.height(),
nw, nh;
if(w > this.config.image_width){
nw=this.config.image_width;
nh=nw/w*h;
w=nw; h=nh;
}
if(h > this.config.image_height){
nh=this.config.image_height;
nw=nh/h*w;
w=nw; h=nh;
}
return {'w':w, 'h':h};},
displayLoading:function(e){
e.append('
');
},
removeLoading:function(c, e){
var home, s='', t=0;
for(var i in c)
if(typeof c[i].length!='undefined') t +=c[i].length;
if(t){
if(codepeople_search_in_place.result_number*1 <=t){
home=codepeople_search_in_place.home;
home +=(home.indexOf('?')==-1) ? '?':'&' ;
if('lang' in codepeople_search_in_place) home +='lang='+codepeople_search_in_place.lang+'&';
s +='
'+codepeople_search_in_place.more+' >';
}}else{
s +=codepeople_search_in_place.empty;
}
e.find('.loading').parent().addClass('more').html(s);
},
highlightTerms:function(terms){
var me=this, color, counter=0, results={"result":{"source":[]}};
innerHighlight=function(text, node){
var skip=0;
if(3==node.nodeType){
var pattern=text.toUpperCase(),
nodeData=node.data,
patternIndex=nodeData.toUpperCase().indexOf(pattern),
bookmark,
length=('codepeople_search_in_place' in window&&'summary_length' in codepeople_search_in_place) ? codepeople_search_in_place['summary_length']*1:20;
if(patternIndex >=0&&$(node).closest('.search-in-place-mark').length==0){
bookmark=replaceNodeContent(node, text, patternIndex);
if(bookmark!==false){
results["result"]["source"].push({
"link":'#'+bookmark,
"title":text,
"resume":nodeData.substring(Math.max(0,patternIndex-10), Math.min(patternIndex+pattern.length+length,nodeData.length-1))+'[...]'
}
);
skip=1;
}}
}
else if(possibleTextNode(node)){
lookupTextNodes(node, text);
}
return skip;
};
replaceNodeContent=function(node, text, patternIndex){
if(me.exclude_hidden&&$(node).parent().is(':hidden')) return false;
var markNode=document.createElement('mark'),
startOfText=node.splitText(patternIndex),
endOfText=startOfText.splitText(text.length),
matchedText=startOfText.cloneNode(true),
id;
counter++;
id='search-in-page-'+counter;
markNode.setAttribute('id', id);
markNode.setAttribute('style', 'background-color:'+color);
markNode.setAttribute('class', 'search-in-place-mark');
markNode.appendChild(matchedText);
startOfText.parentNode.replaceChild(markNode, startOfText);
return id;
};
possibleTextNode=function(node){
return (1==node.nodeType&&node.childNodes&&!/(script|style)/i.test(node.tagName));
};
lookupTextNodes=function(node, text){
for (var i=0; i
=codepeople_search_in_place.char_number){
color=me.config.colors[i%me.config.colors.length];
innerHighlight(term, c);
}});
});
}}
);
return results;
}};
var searchObj=new searchInPlace();
if((codepeople_search_in_place.highlight*1)&&codepeople_search_in_place.terms&&codepeople_search_in_place.terms.length > 0){
searchObj.highlightTerms(codepeople_search_in_place.terms);
}
if((codepeople_search_in_place.identify_post_type)*1){
$('.type-post').prepend(''+codepeople_search_in_place.post_title+'
');
$('.type-page').prepend(''+codepeople_search_in_place.page_title+'
');
}
searchObj.autohide();
};
jQuery(codepeople_search_in_place_generator);
jQuery(window).on('load', codepeople_search_in_place_generator);
(function (factory){
if(typeof define==='function'&&define.amd){
define(factory);
}else if(typeof exports==='object'){
module.exports=factory();
}else{
var _OldCookies=window.Cookies;
var api=window.Cookies=factory();
api.noConflict=function (){
window.Cookies=_OldCookies;
return api;
};}}(function (){
function extend (){
var i=0;
var result={};
for (; i < arguments.length; i++){
var attributes=arguments[ i ];
for (var key in attributes){
result[key]=attributes[key];
}}
return result;
}
function init (converter){
function api (key, value, attributes){
var result;
if(arguments.length > 1){
attributes=extend({
path: '/'
}, api.defaults, attributes);
if(typeof attributes.expires==='number'){
var expires=new Date();
expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
attributes.expires=expires;
}
try {
result=JSON.stringify(value);
if(/^[\{\[]/.test(result)){
value=result;
}} catch (e){}
if(!converter.write){
value=encodeURIComponent(String(value))
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
}else{
value=converter.write(value, key);
}
key=encodeURIComponent(String(key));
key=key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
key=key.replace(/[\(\)]/g, escape);
return (document.cookie=[
key, '=', value,
attributes.expires&&'; expires=' + attributes.expires.toUTCString(),
attributes.path&&'; path=' + attributes.path,
attributes.domain&&'; domain=' + attributes.domain,
attributes.secure ? '; secure':''
].join(''));
}
if(!key){
result={};}
var cookies=document.cookie ? document.cookie.split('; '):[];
var rdecode=/(%[0-9A-Z]{2})+/g;
var i=0;
for (; i < cookies.length; i++){
var parts=cookies[i].split('=');
var name=parts[0].replace(rdecode, decodeURIComponent);
var cookie=parts.slice(1).join('=');
if(cookie.charAt(0)==='"'){
cookie=cookie.slice(1, -1);
}
try {
cookie=converter.read ?
converter.read(cookie, name):converter(cookie, name) ||
cookie.replace(rdecode, decodeURIComponent);
if(this.json){
try {
cookie=JSON.parse(cookie);
} catch (e){}}
if(key===name){
result=cookie;
break;
}
if(!key){
result[name]=cookie;
}} catch (e){}}
return result;
}
api.get=api.set=api;
api.getJSON=function (){
return api.apply({
json: true
}, [].slice.call(arguments));
};
api.defaults={};
api.remove=function (key, attributes){
api(key, '', extend(attributes, {
expires: -1
}));
};
api.withConverter=init;
return api;
}
return init(function (){});
}));
jQuery(function($){
var qvars=getUrlVars()
$.each([ 'utm_source','utm_medium','utm_term', 'utm_content', 'utm_campaign', 'gclid', 'email', 'username' ], function(i,v){
var cookie_field=GetQVars(v,qvars)
if(cookie_field!='')
Cookies.set(v, cookie_field, { expires: 30 });
var curval=Cookies.get(v)
if(curval!=undefined){
curval=decodeURIComponent(curval.replace(/[%]/g,' '))
if(v=='username'){
curval=curval.replace(/\+/g, ' ')
}
jQuery('input[name=\"'+v+'\"]').val(curval)
jQuery('input#'+v).val(curval)
jQuery('input.'+v).val(curval)
}});
$('.utm-out').each(function(){
var merged=$.extend({}, handl_utm, getSearchParams(this.href))
this.href=""
if(!$.isEmptyObject(merged))
this.href +="?"+$.param(merged)
});
});
function getSearchParams(url,k){
var p={};
var a=document.createElement('a');
a.href=url;
a.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(s,k,v){p[k]=v})
return k?p[k]:p;
}
function GetQVars(v,qvars){
if(qvars[v]!=undefined){
return qvars[v]
}
return ''
}
function getUrlVars(){
var vars={};
var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value){
vars[key]=value;
});
return vars;
};
(function(t){function e(e){return u?e.data("events"):t._data(e[0]).events}function n(t,n,r){var i=e(t),a=i[n];if(!u){var s=r?a.splice(a.delegateCount-1,1)[0]:a.pop();return a.splice(r?0:a.delegateCount||0,0,s),void 0}r?i.live.unshift(i.live.pop()):a.unshift(a.pop())}function r(e,r,i){var a=r.split(/\s+/);e.each(function(){for(var e=0;a.length>e;++e){var r=a[e].trim().match(/[^\.]+/i)[0];n(t(this),r,i)}})}function i(e){t.fn[e+"First"]=function(){var n=t.makeArray(arguments),i=n.shift();return i&&(t.fn[e].apply(this,arguments),r(this,i)),this}}var a=t.fn.jquery.split("."),s=parseInt(a[0]),f=parseInt(a[1]),u=1>s||1==s&&7>f;i("bind"),i("one"),t.fn.delegateFirst=function(){var e=t.makeArray(arguments),n=e[1];return n&&(e.splice(0,2),t.fn.delegate.apply(this,arguments),r(this,n,!0)),this},t.fn.liveFirst=function(){var e=t.makeArray(arguments);return e.unshift(this.selector),t.fn.delegateFirst.apply(t(document),e),this},u||(t.fn.onFirst=function(e,n){var i=t(this),a="string"==typeof n;if(t.fn.on.apply(i,arguments),"object"==typeof e)for(type in e)e.hasOwnProperty(type)&&r(i,type,a);else"string"==typeof e&&r(i,e,a);return i})})(jQuery);
!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(i=e({path:"/"},t.defaults,i),"number"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}return 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=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape),document.cookie=[n,"=",r,i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],s=/(%[0-9A-Z]{2})+/g,d=0;d>> 0;
if(len===0){
return false;
}
var n=fromIndex | 0;
var k=Math.max(n >=0 ? n:len - Math.abs(n), 0);
function sameValueZero(x, y){
return x===y||(typeof x==='number'&&typeof y==='number'&&isNaN(x)&&isNaN(y));
}
while (k < len){
if(sameValueZero(o[k], searchElement)){
return true;
}
k++;
}
return false;
}});
}
!function ($, options){
if(options.debug){
console.log('PYS:', options);
}
var dummyPinterest=function (){
return {
isEnabled: function (){
},
disable: function (){
},
loadPixel: function (){
},
fireEvent: function (name, data){
return false;
},
onCommentEvent: function (){
},
onDownloadEvent: function (params){
},
onFormEvent: function (params){
},
onWooAddToCartOnButtonEvent: function (product_id){
},
onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form){
},
onWooRemoveFromCartEvent: function (cart_item_hash){
},
onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
},
onEddRemoveFromCartEvent: function (item){
},
onPageScroll: function (event){},
onTime: function (event){
},
}}();
var dummyBing=function (){
return {
isEnabled: function (){
},
disable: function (){
},
loadPixel: function (){
},
fireEvent: function (name, data){
return false;
},
onAdSenseEvent: function (){
},
onClickEvent: function (params){
},
onWatchVideo: function (params){
},
onCommentEvent: function (){
},
onFormEvent: function (params){
},
onDownloadEvent: function (params){
},
onWooAddToCartOnButtonEvent: function (product_id){
},
onWooAddToCartOnSingleEvent: function (product_id, qty, is_variable, is_external, $form){
},
onWooRemoveFromCartEvent: function (cart_item_hash){
},
onWooAffiliateEvent: function (product_id){
},
onWooPayPalEvent: function (){
},
onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
},
onEddRemoveFromCartEvent: function (item){
},
onPageScroll: function (event){
},
onTime: function (event){
},
}}();
var Utils=function (options){
var Pinterest=dummyPinterest;
var Bing=dummyBing;
var gtag_loaded=false;
let isNewSession=checkSession();
var utmTerms=['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
var utmId=['fbadid', 'gadid', 'padid', 'bingid'];
function validateEmail(email){
var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function getDomain(url){
url=url.replace(/(https?:\/\/)?(www.)?/i, '');
if(url.indexOf('/')!==-1){
return url.split('/')[0];
}
return url;
}
function loadPixels(){
if(!options.gdpr.all_disabled_by_api){
if(!options.gdpr.facebook_disabled_by_api){
Facebook.loadPixel();
}
if(!options.gdpr.analytics_disabled_by_api){
Analytics.loadPixel();
}
if(!options.gdpr.pinterest_disabled_by_api){
Pinterest.loadPixel();
}
if(!options.gdpr.bing_disabled_by_api){
Bing.loadPixel();
}}
if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
if(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1){
Analytics.loadPixel();
}}
}
function checkSession(){
let duration=options.last_visit_duration * 60000
if(Cookies.get('pys_start_session')===undefined ||
Cookies.get('pys_session_limit')===undefined){
var now=new Date();
now.setTime(now.getTime() + duration);
Cookies.set('pys_session_limit', true,{ expires: now })
Cookies.set('pys_start_session', true)
return true
}
return false
}
function getTrafficSource(){
try {
let referrer=document.referrer.toString(),
source;
let direct=referrer.length===0;
let internal=direct ? false:referrer.indexOf(options.siteUrl)===0;
let external = !direct&&!internal;
if(external===false){
source='direct';
}else{
source=referrer;
}
if(source!=='direct'){
return getDomain(source);
}else{
return source;
}} catch (e){
console.error(e);
return 'direct';
}}
function getQueryVars(){
try {
var result={},
tmp=[];
window.location.search
.substr(1)
.split("&")
.forEach(function (item){
tmp=item.split('=');
if(tmp.length > 1){
result[tmp[0]]=tmp[1];
}});
return result;
} catch (e){
console.error(e);
return {};}}
function getUTMId(useLast=false){
try {
let cookiePrefix='pys_'
let terms=[];
if(useLast){
cookiePrefix='last_pys_'
}
$.each(utmId, function (index, name){
if(Cookies.get(cookiePrefix + name)){
terms[name]=Cookies.get(cookiePrefix + name)
}});
return terms;
} catch (e){
console.error(e);
return [];
}}
function getUTMs(useLast=false){
try {
let cookiePrefix='pys_'
if(useLast){
cookiePrefix='last_pys_'
}
let terms=[];
$.each(utmTerms, function (index, name){
if(Cookies.get(cookiePrefix + name)){
let value=Cookies.get(cookiePrefix + name);
terms[name]=filterEmails(value);
}});
return terms;
} catch (e){
console.error(e);
return [];
}}
function getDateTime(){
var dateTime=new Array();
var date=new Date(),
days=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
months=['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
],
hours=['00-01', '01-02', '02-03', '03-04', '04-05', '05-06', '06-07', '07-08',
'08-09', '09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17',
'17-18', '18-19', '19-20', '20-21', '21-22', '22-23', '23-24'
];
dateTime.push(hours[date.getHours()]);
dateTime.push(days[date.getDay()]);
dateTime.push(months[date.getMonth()]);
return dateTime;
}
function filterEmails(value){
return validateEmail(value) ? undefined:value;
}
return {
PRODUCT_SIMPLE:0,
PRODUCT_VARIABLE:1,
PRODUCT_BUNDLE:2,
PRODUCT_GROUPED:3,
utmTerms:utmTerms,
utmId:utmId,
fireEventForAllPixel:function(functionName,events){
if(events.hasOwnProperty(Facebook.tag()))
Facebook[functionName](events[Facebook.tag()]);
if(events.hasOwnProperty(Analytics.tag()))
Analytics[functionName](events[Analytics.tag()]);
if(events.hasOwnProperty(Pinterest.tag()))
Pinterest[functionName](events[Pinterest.tag()]);
if(events.hasOwnProperty(Bing.tag()))
Bing[functionName](events[Bing.tag()]);
},
setupPinterestObject: function (){
Pinterest=window.pys.Pinterest||Pinterest;
return Pinterest;
},
setupBingObject: function (){
Bing=window.pys.Bing||Bing;
return Bing;
},
copyProperties: function (from, to){
for (var key in from){
if("function"==typeof from[key]){
continue;
}
to[key]=from[key];
}
return to;
},
manageCookies: function (){
let expires=parseInt(options.cookie_duration);
let queryVars=getQueryVars();
let landing=window.location.href.split('?')[0];
try {
if(Cookies.get('pys_first_visit')===undefined&&(!options.cookie.disabled_all_cookie)){
if(!options.cookie.disabled_first_visit_cookie){
Cookies.set('pys_first_visit', true, { expires: expires });
}else{
Cookies.remove('pys_first_visit')
}
if(!options.cookie.disabled_trafficsource_cookie){
Cookies.set('pysTrafficSource', getTrafficSource(), { expires: expires });
}else{
Cookies.remove('pysTrafficSource')
}
if(!options.cookie.disabled_landing_page_cookie){
Cookies.set('pys_landing_page',landing,{ expires: expires });
}else{
Cookies.remove('pys_landing_page')
}
if(!options.cookie.disabled_utmTerms_cookie){
$.each(utmTerms, function (index, name){
if(queryVars.hasOwnProperty(name)){
Cookies.set('pys_' + name, queryVars[name], { expires: expires });
}else{
Cookies.remove('pys_' + name)
}});
}else{
$.each(utmTerms, function (index, name){
Cookies.remove('pys_' + name)
});
}
if(!options.cookie.disabled_utmId_cookie){
$.each(utmId,function(index,name){
if(queryVars.hasOwnProperty(name)){
Cookies.set('pys_' + name, queryVars[name], { expires: expires });
}else{
Cookies.remove('pys_' + name)
}})
}else{
$.each(utmId, function (index, name){
Cookies.remove('pys_' + name)
});
}}
if(isNewSession&&(!options.cookie.disabled_all_cookie)){
if(!options.cookie.disabled_trafficsource_cookie){
Cookies.set('last_pysTrafficSource', getTrafficSource(), { expires: expires });
}else{
Cookies.remove('last_pysTrafficSource')
}
if(!options.cookie.disabled_landing_page_cookie){
Cookies.set('last_pys_landing_page',landing,{ expires: expires });
}else{
Cookies.remove('last_pys_landing_page')
}
if(!options.cookie.disabled_utmTerms_cookie){
$.each(utmTerms, function (index, name){
if(queryVars.hasOwnProperty(name)){
Cookies.set('last_pys_' + name, queryVars[name], { expires: expires });
}else{
Cookies.remove('last_pys_' + name)
}});
}else{
$.each(utmTerms, function (index, name){
Cookies.remove('last_pys_' + name)
});
}
if(!options.cookie.disabled_utmId_cookie){
$.each(utmId,function(index,name){
if(queryVars.hasOwnProperty(name)){
Cookies.set('last_pys_' + name, queryVars[name], { expires: expires });
}else{
Cookies.remove('last_pys_' + name)
}})
}else{
$.each(utmId, function (index, name){
Cookies.remove('last_pys_' + name)
});
}}
if(options.cookie.disabled_all_cookie){
Cookies.remove('pys_first_visit')
Cookies.remove('pysTrafficSource')
Cookies.remove('pys_landing_page')
Cookies.remove('last_pys_landing_page')
Cookies.remove('last_pysTrafficSource')
Cookies.remove('pys_start_session')
Cookies.remove('pys_session_limit')
$.each(Utils.utmTerms, function (index, name){
Cookies.remove('pys_' + name)
});
$.each(Utils.utmId,function(index,name){
Cookies.remove('pys_' + name)
})
$.each(Utils.utmTerms, function (index, name){
Cookies.remove('last_pys_' + name)
});
$.each(Utils.utmId,function(index,name){
Cookies.remove('last_pys_' + name)
});
}} catch (e){
console.error(e);
}},
clone: function(obj){
var copy;
if(null==obj||"object"!=typeof obj) return obj;
if(obj instanceof Date){
copy=new Date();
copy.setTime(obj.getTime());
return copy;
}
if(obj instanceof Array){
copy=[];
for (var i=0, len=obj.length; i < len; i++){
if("function"==typeof obj[i]){
continue;
}
copy[i]=Utils.clone(obj[i]);
}
return copy;
}
if(obj instanceof Object){
copy={};
for (var attr in obj){
if(obj.hasOwnProperty(attr)){
if("function"==typeof obj[attr]){
continue;
}
copy[attr]=Utils.clone(obj[attr]);
}}
return copy;
}
return obj;
},
getTagsAsArray: function (tag){
return [].slice.call(document.getElementsByTagName(tag));
},
getRequestParams: function (){
return [];
},
setupMouseOverClickEvents: function (eventId, triggers){
document.addEventListener('mouseover', function(event){
var matchedElements=Array.from(document.querySelectorAll(triggers));
if(matchedElements.includes(event.target)){
if(event.target.classList.contains('pys-mouse-over-' + eventId)){
return true;
}else{
event.target.classList.add('pys-mouse-over-' + eventId);
}
Utils.fireTriggerEvent(eventId);
}});
},
setupCSSClickEvents: function (eventId, triggers){
document.addEventListener('click', function(event){
var matchedElements=Array.from(document.querySelectorAll(triggers));
if(matchedElements.includes(event.target)){
console.log(event.target)
Utils.fireTriggerEvent(eventId);
}}, true);
},
setupURLClickEvents: function (){
$('a[data-pys-event-id]').onFirst('click', function (evt){
$(this).attr('data-pys-event-id').split(',').forEach(function (eventId){
eventId=parseInt(eventId);
if(isNaN(eventId)===false){
Utils.fireTriggerEvent(eventId);
}});
});
},
setupScrollPosEvents: function (eventId, triggers){
var scrollPosThresholds={},
docHeight=$(document).height() - $(window).height();
$.each(triggers, function (index, scrollPos){
scrollPos=docHeight * scrollPos / 100;
scrollPos=Math.round(scrollPos);
scrollPosThresholds[scrollPos]=eventId;
});
$(document).on("scroll",function (){
var scrollPos=$(window).scrollTop();
$.each(scrollPosThresholds, function (threshold, eventId){
if(scrollPos <=threshold){
return true;
}
if(eventId===null){
return true;
}else{
scrollPosThresholds[threshold]=null;
}
Utils.fireTriggerEvent(eventId);
});
});
},
setupCommentEvents:function (eventId,triggers){
$('form.comment-form').on("submit",function (){
Utils.fireTriggerEvent(eventId);
});
},
fireTriggerEvent: function (eventId){
if(!options.triggerEvents.hasOwnProperty(eventId)){
return;
}
var event={};
var events=options.triggerEvents[eventId];
if(events.hasOwnProperty('facebook')){
event=events.facebook;
Facebook.fireEvent(event.name, event);
}
if(events.hasOwnProperty('ga')){
event=events.ga;
Analytics.fireEvent(event.name, event);
}
if(events.hasOwnProperty('pinterest')){
event=events.pinterest;
Pinterest.fireEvent(event.name, event);
}
if(events.hasOwnProperty('bing')){
event=events.bing;
Bing.fireEvent(event.name, event);
}},
fireStaticEvents: function (pixel){
if(options.staticEvents.hasOwnProperty(pixel)){
$.each(options.staticEvents[pixel], function (eventName, events){
$.each(events, function (index, eventData){
eventData.fired=eventData.fired||false;
if(!eventData.fired){
var fired=false;
if('facebook'===pixel){
fired=Facebook.fireEvent(eventData.name, eventData);
}else if('ga'===pixel){
fired=Analytics.fireEvent(eventData.name, eventData);
}else if('pinterest'===pixel){
fired=Pinterest.fireEvent(eventData.name, eventData);
}else if('bing'===pixel){
fired=Bing.fireEvent(eventData.name, eventData);
}
eventData.fired=fired;
}});
});
}},
loadGoogleTag: function (id){
if(!gtag_loaded){
(function (window, document, src){
var a=document.createElement('script'),
m=document.getElementsByTagName('script')[0];
a.async=1;
a.src=src;
m.parentNode.insertBefore(a, m);
})(window, document, '//www.googletagmanager.com/gtag/js?id=' + id);
window.dataLayer=window.dataLayer||[];
window.gtag=window.gtag||function gtag(){
dataLayer.push(arguments);
};
gtag('js', new Date());
gtag_loaded=true;
}},
loadPixels: function (){
if(options.gdpr.ajax_enabled&&!options.gdpr.consent_magic_integration_enabled){
$.get({
url: options.ajaxUrl,
dataType: 'json',
data: {
action: 'pys_get_gdpr_filters_values'
},
success: function (res){
if(res.success){
options.gdpr.all_disabled_by_api=res.data.all_disabled_by_api;
options.gdpr.facebook_disabled_by_api=res.data.facebook_disabled_by_api;
options.gdpr.analytics_disabled_by_api=res.data.analytics_disabled_by_api;
options.gdpr.google_ads_disabled_by_api=res.data.google_ads_disabled_by_api;
options.gdpr.pinterest_disabled_by_api=res.data.pinterest_disabled_by_api;
options.gdpr.bing_disabled_by_api=res.data.bing_disabled_by_api;
}
loadPixels();
}});
}else{
loadPixels();
}},
consentGiven: function (pixel){
if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
var test_prefix=CS_Data.test_prefix;
if((typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)&&pixel=='analytics'){
return true;
}
if((typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1)&&pixel=='google_ads'){
return true;
}
if(CS_Data.cs_cache_enabled==1){
var substring="cs_enabled_cookie_term";
var theCookies=document.cookie.split(';');
for (var i=1 ; i <=theCookies.length; i++){
if(theCookies[ i - 1 ].indexOf(substring)!==-1){
var categoryCookie=theCookies[ i - 1 ].replace('cs_enabled_cookie_term' + test_prefix + '_', '');
categoryCookie=Number(categoryCookie.replace(/\D+/g, ""));
var cs_cookie_val=Cookies.get('cs_enabled_cookie_term' + test_prefix + '_' + categoryCookie);
if(categoryCookie===CS_Data.cs_script_cat.facebook&&pixel=='facebook'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}else if(categoryCookie===CS_Data.cs_script_cat.bing&&pixel=='bing'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}else if(categoryCookie===CS_Data.cs_script_cat.analytics&&pixel=='analytics'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}else if(categoryCookie===CS_Data.cs_script_cat.gads&&pixel=='google_ads'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}else if(categoryCookie===CS_Data.cs_script_cat.pinterest&&pixel=='pinterest'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}else if(categoryCookie===CS_Data.cs_script_cat.tiktok&&pixel=='tiktok'){
if(cs_cookie_val=='yes'){
return true;
}else{
return false;
}}
}}
}else{
var cs_cookie=Cookies.get('cs_viewed_cookie_policy'+test_prefix);
if(typeof cs_cookie==='undefined'||cs_cookie==='yes'){
return true;
}}
return false;
}
if(options.gdpr.real_cookie_banner_integration_enabled){
var consentApi=window.consentApi;
if(consentApi){
switch (pixel){
case "analytics":
return consentApi.consentSync("http", "_ga", "*").cookieOptIn;
case "facebook":
return consentApi.consentSync("http", "_fbp", "*").cookieOptIn;
case "pinterest":
return consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn;
default:
return true;
}}
}
if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
var cookiebot_consent_category=options.gdpr['cookiebot_' + pixel + '_consent_category'];
if(options.gdpr[pixel + '_prior_consent_enabled']){
if(Cookiebot.consented===false||Cookiebot.consent[cookiebot_consent_category]){
return true;
}}else{
if(Cookiebot.consent[cookiebot_consent_category]){
return true;
}}
return false;
}
if(options.gdpr.cookie_notice_integration_enabled&&typeof cnArgs!=='undefined'){
var cn_cookie=Cookies.get(cnArgs.cookieName);
if(options.gdpr[pixel + '_prior_consent_enabled']){
if(typeof cn_cookie==='undefined'||cn_cookie==='true'){
return true;
}}else{
if(cn_cookie==='true'){
return true;
}}
return false;
}
if(options.gdpr.cookie_law_info_integration_enabled){
var cli_cookie=Cookies.get('viewed_cookie_policy');
if(options.gdpr[pixel + '_prior_consent_enabled']){
if(typeof cli_cookie==='undefined'||cli_cookie==='yes'){
return true;
}}else{
if(cli_cookie==='yes'){
return true;
}}
return false;
}
return true;
},
setupGdprCallbacks: function (){
if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
var test_prefix=CS_Data.test_prefix,
cs_refresh_after_consent=false,
substring="cs_enabled_cookie_term";
if(CS_Data.cs_refresh_after_consent==1){
cs_refresh_after_consent=CS_Data.cs_refresh_after_consent;
}
if(!cs_refresh_after_consent){
var theCookies=document.cookie.split(';');
for (var i=1 ; i <=theCookies.length; i++){
if(theCookies[i-1].indexOf(substring)!==-1){
var categoryCookie=theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_','');
categoryCookie=Number(categoryCookie.replace(/\D+/g,""));
var cs_cookie_val=Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie);
if(cs_cookie_val=='yes'){
if(categoryCookie===CS_Data.cs_script_cat.facebook){
Facebook.loadPixel();
}
if(categoryCookie===CS_Data.cs_script_cat.bing){
Bing.loadPixel();
}
if(categoryCookie===CS_Data.cs_script_cat.analytics||(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)){
Analytics.loadPixel();
}
if(categoryCookie===CS_Data.cs_script_cat.pinterest){
Pinterest.loadPixel();
}}else{
if(categoryCookie===CS_Data.cs_script_cat.facebook){
Facebook.disable();
}
if(categoryCookie===CS_Data.cs_script_cat.bing){
Bing.disable();
}
if(categoryCookie===CS_Data.cs_script_cat.analytics&&(typeof CS_Data.cs_google_analytics_consent_mode=="undefined"||CS_Data.cs_google_analytics_consent_mode==0)){
Analytics.disable();
}
if(categoryCookie===CS_Data.cs_script_cat.pinterest){
Pinterest.disable();
}}
if(Cookies.get('cs_enabled_advanced_matching')=='yes'){
Facebook.loadPixel();
}}
}
$(document).on('click','.cs_action_btn',function(e){
e.preventDefault();
var elm=$(this),
button_action=elm.attr('data-cs_action');
if(button_action==='allow_all'){
Facebook.loadPixel();
Bing.loadPixel();
Analytics.loadPixel();
Pinterest.loadPixel();
}else if(button_action==='disable_all'){
Facebook.disable();
Bing.disable();
if(CS_Data.cs_google_analytics_consent_mode==0||typeof CS_Data.cs_google_analytics_consent_mode=="undefined"){
Analytics.disable();
}
Pinterest.disable();
}});
}}
if(options.gdpr.real_cookie_banner_integration_enabled){
var consentApi=window.consentApi;
if(consentApi){
consentApi.consent("http", "_ga", "*")
.then(Analytics.loadPixel.bind(Analytics), Analytics.disable.bind(Analytics));
consentApi.consent("http", "_fbp", "*")
.then(Facebook.loadPixel.bind(Facebook), Facebook.disable.bind(Facebook));
consentApi.consent("http", "_pinterest_sess", ".pinterest.com")
.then(Pinterest.loadPixel.bind(Pinterest), Pinterest.disable.bind(Pinterest));
consentApi.consent("http", "_uetsid", "*")
.then(Bing.loadPixel.bind(Bing), Bing.disable.bind(Bing));
}}
if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
window.addEventListener("CookiebotOnConsentReady", function(){
if(Cookiebot.consent.marketing){
Facebook.loadPixel();
Bing.loadPixel();
Pinterest.loadPixel();
}
if(Cookiebot.consent.statistics){
Analytics.loadPixel();
}
if(!Cookiebot.consent.marketing){
Facebook.disable();
Pinterest.disable();
Bing.disable()
}
if(!Cookiebot.consent.statistics){
Analytics.disable();
}});
}
if(options.gdpr.cookie_notice_integration_enabled){
$(document).onFirst('click', '.cn-set-cookie', function (){
if($(this).data('cookie-set')==='accept'){
Facebook.loadPixel();
Analytics.loadPixel();
Pinterest.loadPixel();
Bing.loadPixel();
}else{
Facebook.disable();
Analytics.disable();
Pinterest.disable();
Bing.disable();
}});
$(document).onFirst('click', '.cn-revoke-cookie', function (){
Facebook.disable();
Analytics.disable();
Pinterest.disable();
Bing.disable();
});
}
if(options.gdpr.cookie_law_info_integration_enabled){
$(document).onFirst('click', '#cookie_action_close_header', function (){
Facebook.loadPixel();
Analytics.loadPixel();
Pinterest.loadPixel();
Bing.loadPixel();
});
$(document).onFirst('click', '#cookie_action_close_header_reject', function (){
Facebook.disable();
Analytics.disable();
Pinterest.disable();
Bing.disable();
});
}},
getLinkExtension: function (link){
link=link.substring(0, (link.indexOf("#")===-1) ? link.length:link.indexOf("#"));
link=link.substring(0, (link.indexOf("?")===-1) ? link.length:link.indexOf("?"));
link=link.substring(link.lastIndexOf("/") + 1, link.length);
if(link.length > 0&&link.indexOf('.')!==-1){
link=link.substring(link.indexOf(".") + 1);
return link;
}else{
return "";
}},
getLinkFilename: function (link){
link=link.substring(0, (link.indexOf("#")===-1) ? link.length:link.indexOf("#"));
link=link.substring(0, (link.indexOf("?")===-1) ? link.length:link.indexOf("?"));
link=link.substring(link.lastIndexOf("/") + 1, link.length);
if(link.length > 0&&link.indexOf('.')!==-1){
return link;
}else{
return "";
}},
isCheckoutPage: function (){
return $('body').hasClass('woocommerce-checkout')||document.querySelector('.woocommerce-checkout') ||
$('body').hasClass('edd-checkout');
},
addCheckoutFields:function(){
var utm="";
var utms=getUTMs()
$.each(utmTerms, function (index, name){
if(index > 0){
utm+="|";
}
utm+=name+":"+utms[name];
});
var utmIdList="";
var utmsIds=getUTMId()
$.each(utmId, function (index, name){
if(index > 0){
utmIdList+="|";
}
utmIdList+=name+":"+utmsIds[name];
});
var utmIdListLast="";
var utmsIdsLast=getUTMId(true)
$.each(utmId, function (index, name){
if(index > 0){
utmIdListLast+="|";
}
utmIdListLast+=name+":"+utmsIdsLast[name];
});
var utmLast="";
var utmsLast=getUTMs(true)
$.each(utmTerms, function (index, name){
if(index > 0){
utmLast+="|";
}
utmLast+=name+":"+utmsLast[name];
});
var dateTime=getDateTime();
var landing=Cookies.get('pys_landing_page');
var lastLanding=Cookies.get('last_pys_landing_page');
var trafic=Cookies.get('pysTrafficSource');
var lastTrafic=Cookies.get('last_pysTrafficSource');
var $form=null;
if($('body').hasClass('woocommerce-checkout')){
$form=$("form.woocommerce-checkout");
}else{
$form=$("#edd_purchase_form");
}
var inputs={'pys_utm':utm,
'pys_utm_id':utmIdList,
'pys_browser_time':dateTime.join("|"),
'pys_landing':landing,
'pys_source':trafic,
'pys_order_type': $(".wcf-optin-form").length > 0 ? "wcf-optin":"normal",
'last_pys_landing':lastLanding,
'last_pys_source':lastTrafic,
'last_pys_utm':utmLast,
'last_pys_utm_id':utmIdListLast,
}
Object.keys(inputs).forEach(function(key,index){
$form.append(" ");
});
}};}(options);
var Facebook=function (options){
var defaultEventTypes=[
'PageView',
'ViewContent',
'Search',
'AddToCart',
'AddToWishlist',
'InitiateCheckout',
'AddPaymentInfo',
'Purchase',
'Lead',
'Subscribe',
'CustomizeProduct',
'FindLocation',
'StartTrial',
'SubmitApplication',
'Schedule',
'Contact',
'Donate'
];
var initialized=false;
var isApiDisabled=options.gdpr.all_disabled_by_api ||
options.gdpr.facebook_disabled_by_api ||
options.gdpr.cookiebot_integration_enabled ||
options.gdpr.consent_magic_integration_enabled ||
options.gdpr.cookie_notice_integration_enabled ||
options.gdpr.cookie_law_info_integration_enabled;
function sendFbServerEvent(allData,name,params){
let eventId=null;
if(options.facebook.serverApiEnabled){
if(allData.e_id==="woo_remove_from_cart"||allData.e_id==="woo_add_to_cart_on_button_click"){
let isAddToCartFromJs=options.woo.hasOwnProperty("addToCartCatchMethod")
&& options.woo.addToCartCatchMethod==="add_cart_js";
if(isAddToCartFromJs||allData.e_id!=="woo_add_to_cart_on_button_click"){
Facebook.updateEventId(allData.name);
allData.eventID=Facebook.getEventId(allData.name);
}else{
}}else{
if(options.facebook.ajaxForServerEvent
|| isApiDisabled
|| allData.delay > 0
|| allData.type!=="static"){
allData.eventID=pys_generate_token(36);
var json={
action: 'pys_api_event',
pixel: 'facebook',
event: name,
data:params,
ids:options.facebook.pixelIds,
eventID:allData.eventID,
url:window.location.href,
ajax_event:options.ajax_event
};
if(allData.hasOwnProperty('woo_order')){
json['woo_order']=allData.woo_order;
}
if(allData.hasOwnProperty('edd_order')){
json['edd_order']=allData.edd_order;
}
if(name=='PageView'){
let expires=parseInt(options.cookie_duration);
var currentTimeInSeconds=Date.now();
var randomNum=Math.floor(1000000000 + Math.random() * 9000000000);
timeoutDelay=0;
if(allData.delay > 0){
timeoutDelay=allData.delay;
}
if(!Cookies.get('_fbp')){
timeoutDelay=100;
}
if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){
timeoutDelay=100;
}
setTimeout(function(){
if(!Cookies.get('_fbp')){
Cookies.set('_fbp','fb.1.'+currentTimeInSeconds+'.'+randomNum, { expires: expires })
}
if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){
Cookies.set('_fbc', 'fb.1.'+currentTimeInSeconds+'.'+getUrlParameter('fbclid'), { expires: expires })
}
jQuery.ajax({
type: 'POST',
url: options.ajaxUrl,
data: json,
headers: {
'Cache-Control': 'no-cache'
},
success: function(){},
});
},timeoutDelay)
}else{
jQuery.ajax({
type: 'POST',
url: options.ajaxUrl,
data: json,
headers: {
'Cache-Control': 'no-cache'
},
success: function(){},
});
}}
}
eventId=allData.eventID
}
return eventId;
}
function fireEvent(name, allData){
if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'facebook')){
return;
}
var actionType=defaultEventTypes.includes(name) ? 'track':'trackCustom';
var data=allData.params;
var params={};
var arg={};
Utils.copyProperties(data, params);
let eventId=sendFbServerEvent(allData,name,params)
if("hCR"===name){
return;
}
if(options.debug){
console.log('[Facebook] ' + name, params,"eventID",eventId);
}
if(eventId!=null){
arg.eventID=eventId;
}
fbq(actionType, name, params,arg);
}
return {
tag: function(){
return "facebook";
},
isEnabled: function (){
return options.hasOwnProperty('facebook');
},
disable: function (){
initialized=false;
},
loadPixel: function (){
if(initialized||!this.isEnabled()||!Utils.consentGiven('facebook')){
return;
}
!function (f, b, e, v, n, t, s){
if(f.fbq) return;
n=f.fbq=function (){
n.callMethod ?
n.callMethod.apply(n, arguments):n.queue.push(arguments)
};
if(!f._fbq) f._fbq=n;
n.push=n;
n.loaded = !0;
n.version='2.0';
n.agent='dvpixelyoursite';
n.queue=[];
t=b.createElement(e);
t.async = !0;
t.src=v;
s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s)
}(window,
document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
options.facebook.pixelIds.forEach(function (pixelId){
if(options.facebook.removeMetadata){
fbq('set', 'autoConfig', false, pixelId);
}
if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
if(options.facebook.advancedMatching.length===0){
fbq('init', pixelId);
}else{
var cs_advanced_matching=Cookies.get('cs_enabled_advanced_matching'+test_prefix);
if(jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0){
if(cs_advanced_matching=='yes'){
fbq('init', pixelId, options.facebook.advancedMatching);
}else{
fbq('init', pixelId);
}}else{
fbq('init', pixelId, options.facebook.advancedMatching);
}}
}else{
if(options.facebook.advancedMatching.length===0){
fbq('init', pixelId);
}else{
fbq('init', pixelId, options.facebook.advancedMatching);
}}
});
initialized=true;
Utils.fireStaticEvents('facebook');
},
fireEvent: function (name, data){
if(!initialized||!this.isEnabled()){
return false;
}
data.delay=data.delay||0;
data.params=data.params||{};
if(data.delay===0){
fireEvent(name, data);
}else{
setTimeout(function (name, params){
fireEvent(name, params);
}, data.delay * 1000, name, data);
}
return true;
},
onCommentEvent: function (event){
this.fireEvent(event.name, event);
},
onDownloadEvent: function (event){
this.fireEvent(event.name, event);
},
onFormEvent: function (event){
this.fireEvent(event.name, event);
},
onWooAddToCartOnButtonEvent: function (product_id){
if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()];
if(window.pysWooProductData.hasOwnProperty(product_id)){
if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){
event=Utils.copyProperties(event, {})
Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params)
this.fireEvent(event.name, event);
}}
},
onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form){
window.pysWooProductData=window.pysWooProductData||[];
if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
if(product_type===Utils.PRODUCT_VARIABLE&&!options.facebook.wooVariableAsSimple){
product_id=parseInt($form.find('input[name="variation_id"]').val());
}
if(window.pysWooProductData.hasOwnProperty(product_id)){
if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){
Utils.copyProperties(window.pysWooProductData[product_id]['facebook'].params, event.params);
var groupValue=0;
if(product_type===Utils.PRODUCT_GROUPED){
$form.find(".woocommerce-grouped-product-list .qty").each(function(index){
var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
var quantity=parseInt($(this).val());
if(isNaN(quantity)){
quantity=0;
}
var childItem=window.pysWooProductData[product_id]['facebook'].grouped[childId];
if(quantity==0){
event.params.content_ids.forEach(function(el,index,array){
if(el==childItem.content_id){
array.splice(index, 1);
}});
}
if(event.params.hasOwnProperty('contents')){
event.params.contents.forEach(function(el,index,array){
if(el.id==childItem.content_id){
if(quantity > 0){
el.quantity=quantity;
}else{
array.splice(index, 1);
}}
});
}
groupValue +=childItem.price * quantity;
});
if(groupValue==0) return;
}
if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){
if(product_type===Utils.PRODUCT_GROUPED){
event.params.value=groupValue;
}else if(product_type===Utils.PRODUCT_BUNDLE){
var data=$(".bundle_form .bundle_data").data("bundle_form_data");
var items_sum=getBundlePriceOnSingleProduct(data);
event.params.value=(parseInt(data.base_price) + items_sum)* qty;
}else{
event.params.value=event.params.value * qty;
}}
if(event.params.hasOwnProperty('contents')&&product_type!==Utils.PRODUCT_GROUPED){
event.params.contents[0].quantity=qty;
}
this.fireEvent(event.name, event);
}}
},
onWooRemoveFromCartEvent: function (event){
this.fireEvent(event.name, event);
},
onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
if(window.pysEddProductData.hasOwnProperty(download_id)){
var index;
if(price_index){
index=download_id + '_' + price_index;
}else{
index=download_id;
}
if(window.pysEddProductData[download_id].hasOwnProperty(index)){
if(window.pysEddProductData[download_id][index].hasOwnProperty('facebook')){
Utils.copyProperties(window.pysEddProductData[download_id][index]['facebook']["params"], event.params)
if(options.edd.addToCartOnButtonValueEnabled&&options.edd.addToCartOnButtonValueOption!=='global'){
event.params.value=event.params.value * qty;
}
var contents=event.params.contents;
contents[0].quantity=qty;
event.params.contents=contents;
this.fireEvent(event.name,event);
}}
}},
onEddRemoveFromCartEvent: function (event){
this.fireEvent(event.name, event);
},
onPageScroll: function (event){
this.fireEvent(event.name, event);
},
onTime: function (event){
this.fireEvent(event.name, event);
},
initEventIdCookies: function (key){
var ids={};
ids[key]=pys_generate_token(36)
Cookies.set('pys_fb_event_id', JSON.stringify(ids));
},
updateEventId:function(key){
var cooData=Cookies.get("pys_fb_event_id")
if(cooData===undefined){
this.initEventIdCookies(key);
}else{
var data=JSON.parse(cooData);
data[key]=pys_generate_token(36);
Cookies.set('pys_fb_event_id', JSON.stringify(data));
}},
getEventId:function (key){
var data=Cookies.get("pys_fb_event_id");
if(data===undefined){
this.initEventIdCookies(key);
data=Cookies.get("pys_fb_event_id");
}
return JSON.parse(data)[key];
},
};}(options);
var Analytics=function (options){
var initialized=false;
function fireEvent(name, data){
if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'ga')){
return;
}
var eventParams=Utils.copyProperties(data, {});
var _fireEvent=function (tracking_id,name,params){
params['send_to']=tracking_id;
if(options.debug){
console.log('[Google Analytics #' + tracking_id + '] ' + name, params);
}
gtag('event', name, params);
};
options.ga.trackingIds.forEach(function (tracking_id){
var copyParams=Utils.copyProperties(eventParams, {});
var params=mapParamsTov4(tracking_id,name,copyParams)
_fireEvent(tracking_id,name,params);
});
}
function mapParamsTov4(tag,name,param){
delete param.page_title;
delete param.event_url;
delete param.landing_page;
if(isv4(tag)){
delete param.traffic_source;
delete param.event_category;
delete param.event_label;
delete param.ecomm_prodid;
delete param.ecomm_pagetype;
delete param.ecomm_totalvalue;
delete param.non_interaction;
if(name==='search'){
param['search']=param.search_term;
delete param.search_term;
delete param.non_interaction;
delete param.dynx_itemid;
delete param.dynx_pagetype;
delete param.dynx_totalvalue;
}}else{
switch (name){
case 'Comment' :
case 'login' :
case 'sign_up' :
case 'EmailClick' :
case 'TelClick':{
let params={
event_category: "Key Actions",
event_action: name,
non_interaction: param.non_interaction,
}
return params;
}
case 'Form':{
let params={
event_category: "Key Actions",
event_action: name,
non_interaction: param.non_interaction,
}
var formClass=(typeof param.form_class!='undefined') ? 'class: ' + param.form_class:'';
if(formClass!=""){
params["event_label"]=formClass;
}
return params;
}
case 'Download':{
let params={
event_category: "Key Actions",
event_action: name,
event_label: param.download_name,
non_interaction: param.non_interaction,
}
return params;
}
case 'TimeOnPage' :
case 'PageScroll':{
let params={
event_category: "Key Actions",
event_action: name,
event_label: document.title,
non_interaction: param.non_interaction,
}
return params;
}
case 'search':{
let params={
event_category: "Key Actions",
event_action: name,
event_label: param.search_term,
non_interaction: param.non_interaction,
}
return params;
}}
delete param.post_type;
delete param.post_id;
delete param.plugin;
delete param.user_role;
delete param.cartlows;
delete param.cartflows_flow;
delete param.cartflows_step;
}
return param;
}
function isv4(tag){
return tag.indexOf('G')===0;
}
return {
tag: function(){
return "ga";
},
isEnabled: function (){
return options.hasOwnProperty('ga');
},
disable: function (){
initialized=false;
},
loadPixel: function (){
if(initialized||!this.isEnabled()||!Utils.consentGiven('analytics')){
return;
}
Utils.loadGoogleTag(options.ga.trackingIds[0]);
var config={
'link_attribution': options.ga.enhanceLinkAttr,
'anonymize_ip': options.ga.anonimizeIP
};
if(options.ga.crossDomainEnabled){
config.linker={
accept_incoming: options.ga.crossDomainAcceptIncoming,
domains: options.ga.crossDomainDomains
};}
options.ga.trackingIds.forEach(function (trackingId,index){
config.debug_mode=options.ga.isDebugEnabled.includes("index_" + index);
if(isv4(trackingId)){
if(options.ga.disableAdvertisingFeatures){
config.allow_google_signals=false
}
if(options.ga.disableAdvertisingPersonalization){
config.allow_ad_personalization_signals=false
}}
if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
var cookiebot_consent_category=options.gdpr['cookiebot_analytics_consent_category'];
if(options.gdpr['analytics_prior_consent_enabled']){
if(Cookiebot.consented===true&&Cookiebot.consent[cookiebot_consent_category]){
gtag('config', trackingId, config);
}}else{
if(Cookiebot.consent[cookiebot_consent_category]){
gtag('config', trackingId, config);
}}
}else{
gtag('config', trackingId, config);
}});
initialized=true;
Utils.fireStaticEvents('ga');
},
fireEvent: function (name, data){
if(!initialized||!this.isEnabled()){
return false;
}
data.delay=data.delay||0;
data.params=data.params||{};
if(data.delay===0){
fireEvent(name, data.params);
}else{
setTimeout(function (name, params){
fireEvent(name, params);
}, data.delay * 1000, name, data.params);
}
return true;
},
onCommentEvent: function (event){
this.fireEvent(event.name, event);
},
onDownloadEvent: function (event){
this.fireEvent(event.name, event);
},
onFormEvent: function (event){
this.fireEvent(event.name, event);
},
onWooAddToCartOnButtonEvent: function (product_id){
if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
if(window.pysWooProductData.hasOwnProperty(product_id)){
if(window.pysWooProductData[product_id].hasOwnProperty('ga')){
Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params)
this.fireEvent(event.name, event);
}}
},
onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, $form){
window.pysWooProductData=window.pysWooProductData||[];
if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
if(product_type===Utils.PRODUCT_VARIABLE&&!options.ga.wooVariableAsSimple){
product_id=parseInt($form.find('input[name="variation_id"]').val());
}
if(window.pysWooProductData.hasOwnProperty(product_id)){
if(window.pysWooProductData[product_id].hasOwnProperty('ga')){
Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params);
if(product_type===Utils.PRODUCT_GROUPED){
var groupValue=0;
$form.find(".woocommerce-grouped-product-list .qty").each(function(index){
var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
var quantity=parseInt($(this).val());
if(isNaN(quantity)){
quantity=0;
}
var childItem=window.pysWooProductData[product_id]['ga'].grouped[childId];
event.params.items.forEach(function(el,index,array){
if(el.id==childItem.content_id){
if(quantity > 0){
el.quantity=quantity;
}else{
array.splice(index, 1);
}}
});
groupValue +=childItem.price * quantity;
});
if(options.woo.addToCartOnButtonValueEnabled &&
options.woo.addToCartOnButtonValueOption!=='global' &&
event.params.hasOwnProperty('ecomm_totalvalue')){
event.params.ecomm_totalvalue=groupValue;
}
if(groupValue==0) return;
}else{
event.params.items[0].quantity=qty;
}
if(options.woo.addToCartOnButtonValueEnabled &&
options.woo.addToCartOnButtonValueOption!=='global' &&
product_type!==Utils.PRODUCT_GROUPED){
if(event.params.hasOwnProperty('ecomm_totalvalue')){
event.params.ecomm_totalvalue=event.params.items[0].price * qty;
}}
this.fireEvent(event.name, event);
}}
},
onWooRemoveFromCartEvent: function (event){
this.fireEvent(event.name, event);
},
onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
return;
var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
if(window.pysEddProductData.hasOwnProperty(download_id)){
var index;
if(price_index){
index=download_id + '_' + price_index;
}else{
index=download_id;
}
if(window.pysEddProductData[download_id].hasOwnProperty(index)){
if(window.pysEddProductData[download_id][index].hasOwnProperty('ga')){
Utils.copyProperties(window.pysEddProductData[download_id][index]['ga'].params, event.params);
event.params.items[0].quantity=qty;
this.fireEvent(event.name,event);
}}
}},
onEddRemoveFromCartEvent: function (event){
this.fireEvent(event.name, event);
},
onPageScroll: function (event){
this.fireEvent(event.name, event);
},
onTime: function (event){
this.fireEvent(event.name, event);
},
};}(options);
window.pys=window.pys||{};
window.pys.Facebook=Facebook;
window.pys.Analytics=Analytics;
window.pys.Utils=Utils;
$(document).ready(function (){
if($("#pys_late_event").length > 0){
var events=JSON.parse($("#pys_late_event").attr("dir"));
for(var key in events){
var event={};
event[events[key].e_id]=[events[key]];
if(options.staticEvents.hasOwnProperty(key)){
Object.assign(options.staticEvents[key], event);
}else{
options.staticEvents[key]=event;
}}
}
var Pinterest=Utils.setupPinterestObject();
var Bing=Utils.setupBingObject();
if(options.hasOwnProperty('cookie')){
if(options.cookie.disabled_advanced_form_data_cookie||options.cookie.disabled_all_cookie){
Cookies.remove('pys_advanced_form_data')
}
if(options.cookie.disabled_landing_page_cookie||options.cookie.disabled_all_cookie){
Cookies.remove('pys_landing_page')
Cookies.remove('last_pys_landing_page')
}
if(options.cookie.disabled_trafficsource_cookie||options.cookie.disabled_all_cookie){
Cookies.remove('pysTrafficSource')
Cookies.remove('last_pysTrafficSource')
}
if(options.cookie.disabled_first_visit_cookie||options.cookie.disabled_all_cookie){
Cookies.remove('pys_first_visit')
}
if(options.cookie.disabled_utmTerms_cookie||options.cookie.disabled_all_cookie){
$.each(Utils.utmTerms, function (index, name){
Cookies.remove('pys_' + name)
});
$.each(Utils.utmTerms, function (index, name){
Cookies.remove('last_pys_' + name)
});
}
if(options.cookie.disabled_utmId_cookie||options.cookie.disabled_all_cookie){
$.each(Utils.utmId,function(index,name){
Cookies.remove('pys_' + name)
})
$.each(Utils.utmId,function(index,name){
Cookies.remove('last_pys_' + name)
});
}}
Utils.manageCookies();
Utils.setupGdprCallbacks();
if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")
){
var singlePageScroll=function (){
var docHeight=$(document).height() - $(window).height();
var isFired=false;
if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")){
var pixels=Object.keys(options.dynamicEvents.automatic_event_scroll);
for(var i=0;i 0){
if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){
var pixels=Object.keys(options.dynamicEvents.automatic_event_download);
for (var i=0; i < pixels.length; i++){
var event=Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]);
var extensions=event.extensions;
if(extensions.includes(extension)){
if(pixels[i]=="tiktok"){
getPixelBySlag(pixels[i]).fireEvent(tikEvent.name, event);
}else{
if(options.enable_remove_download_url_param){
href=href.split('?')[0];
}
event.params.download_url=href;
event.params.download_type=extension;
event.params.download_name=Utils.getLinkFilename(href);
getPixelBySlag(pixels[i]).onDownloadEvent(event);
}
isFired=true;
}}
}}
}
if(isFired){
return;
}}
});
}
$.each(options.triggerEventTypes, function (triggerType, events){
$.each(events, function (eventId, triggers){
switch (triggerType){
case 'url_click':
break;
case 'css_click':
Utils.setupCSSClickEvents(eventId, triggers);
break;
case 'css_mouseover':
Utils.setupMouseOverClickEvents(eventId, triggers);
break;
case 'scroll_pos':
Utils.setupScrollPosEvents(eventId, triggers);
break;
case 'comment':
Utils.setupCommentEvents(eventId, triggers);
break;
}});
});
if(options.woo.enabled){
if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")
&& options.woo.hasOwnProperty("addToCartCatchMethod")
&& options.woo.addToCartCatchMethod==="add_cart_js"
){
$('.add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)').on("click",function (e){
var product_id=$(this).data('product_id');
if(typeof product_id!=='undefined'){
Facebook.onWooAddToCartOnButtonEvent(product_id);
Analytics.onWooAddToCartOnButtonEvent(product_id);
Pinterest.onWooAddToCartOnButtonEvent(product_id);
Bing.onWooAddToCartOnButtonEvent(product_id);
}});
$('body').onFirst('click','button.single_add_to_cart_button,.single_add_to_cart_button',function (e){
var $button=$(this);
if($button.hasClass('disabled')){
return;
}
var $form=$button.closest('form');
var product_type=Utils.PRODUCT_SIMPLE;
if($form.length===0){
return ;
}else if($form.hasClass('variations_form')){
product_type=Utils.PRODUCT_VARIABLE;
}else if($form.hasClass('bundle_form')){
product_type=Utils.PRODUCT_BUNDLE;
}else if($form.hasClass('grouped_form')){
product_type=Utils.PRODUCT_GROUPED;
}
var product_id;
var qty;
if(product_type===Utils.PRODUCT_GROUPED){
qty=1;
product_id=parseInt($form.find('*[name="add-to-cart"]').val());
}else if(product_type===Utils.PRODUCT_VARIABLE){
product_id=parseInt($form.find('*[name="add-to-cart"]').val());
var qtyTag=$form.find('input[name="quantity"]');
if(qtyTag.length <=0){
qtyTag=$form.find('select[name="quantity"]');
}
qty=parseInt(qtyTag.val());
}else{
product_id=parseInt($form.find('*[name="add-to-cart"]').val());
var qtyTag=$form.find('input[name="quantity"]');
if(qtyTag.length <=0){
qtyTag=$form.find('select[name="quantity"]');
}
qty=parseInt(qtyTag.val());
}
Facebook.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form);
Analytics.onWooAddToCartOnSingleEvent(product_id, qty, product_type, $form);
Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form);
Bing.onWooAddToCartOnSingleEvent(product_id, qty, product_type, false, $form);
});
}
if(options.dynamicEvents.hasOwnProperty("woo_remove_from_cart")){
$('body').on('click', options.woo.removeFromCartSelector, function (e){
var $a=$(e.currentTarget),
href=$a.attr('href');
var regex=new RegExp("[\\?&]remove_item=([^]*)"),
results=regex.exec(href);
if(results!==null){
var item_hash=results[1];
if(options.dynamicEvents["woo_remove_from_cart"].hasOwnProperty(item_hash)){
var events=options.dynamicEvents["woo_remove_from_cart"][item_hash];
Utils.fireEventForAllPixel("onWooRemoveFromCartEvent",events)
}}
});
}}
if(options.edd.enabled){
if(options.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")){
$('form.edd_download_purchase_form .edd-add-to-cart').on("click",function (e){
var $button=$(this);
var $form=$button.closest('form');
var variable_price=$button.data('variablePrice');
var price_mode=$button.data('priceMode');
var ids=[];
var quantities=[];
var qty;
var id;
if(variable_price==='yes'&&price_mode==='multi'){
id=$form.find('input[name="download_id"]').val();
$.each($form.find('input[name="edd_options[price_id][]"]:checked'), function (i, el){
ids.push(id + '_' + $(el).val());
});
$.each(ids, function (i, variant_id){
var variant_index=variant_id.split('_', 2);
qty=$form.find('input[name="edd_download_quantity_' + variant_index[1] + '"]').val();
if(typeof qty!=='undefined'){
quantities.push(qty);
}else{
quantities.push(1);
}});
}else if(variable_price==='yes'&&price_mode==='single'){
id=$form.find('input[name="download_id"]').val();
ids.push(id + '_' + $form.find('input[name="edd_options[price_id][]"]:checked').val());
qty=$form.find('input[name="edd_download_quantity"]').val();
if(typeof qty!=='undefined'){
quantities.push(qty);
}else{
quantities.push(1);
}}else{
ids.push($button.data('downloadId'));
qty=$form.find('input[name="edd_download_quantity"]').val();
if(typeof qty!=='undefined'){
quantities.push(qty);
}else{
quantities.push(1);
}}
$.each(ids, function (i, download_id){
var q=parseInt(quantities[i]);
var variant_index=download_id.toString().split('_', 2);
var price_index;
if(variant_index.length===2){
download_id=variant_index[0];
price_index=variant_index[1];
}
Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q);
Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q);
Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q);
Bing.onEddAddToCartOnButtonEvent(download_id, price_index, q);
});
});
}
if(options.dynamicEvents.hasOwnProperty("edd_remove_from_cart")){
$('form#edd_checkout_cart_form .edd_cart_remove_item_btn').on("click",function (e){
var href=$(this).attr('href');
if(href){
var key=href.substring(href.indexOf('=') + 1).charAt(0);
if(options.dynamicEvents.edd_remove_from_cart.hasOwnProperty(key)){
var events=options.dynamicEvents.edd_remove_from_cart[key];
Utils.fireEventForAllPixel("onEddRemoveFromCartEvent",events)
}}
});
}}
if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")
){
$('form.comment-form').on("submit",function (){
if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")){
var pixels=Object.keys(options.dynamicEvents.automatic_event_comment);
for (var i=0; i < pixels.length; i++){
var event=Utils.clone(options.dynamicEvents.automatic_event_comment[pixels[i]]);
Utils.copyProperties(Utils.getRequestParams(), event.params);
getPixelBySlag(pixels[i]).onCommentEvent(event);
}}
});
}
if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
$(document).onFirst('submit', 'form', function (e){
var $form=$(this);
if($form.hasClass('comment-form')||$form.hasClass('search-form')||$form.attr('id')==='adminbarsearch'){
return;
}
if($form.hasClass('woocommerce-product-search')||$form.hasClass('cart')||$form.hasClass('woocommerce-cart-form') ||
$form.hasClass('woocommerce-shipping-calculator')||$form.hasClass('checkout')||$form.hasClass('checkout_coupon')){
return;
}
if($form.hasClass('edd_form')||$form.hasClass('edd_download_purchase_form')){
return;
}
if($form.hasClass('wpcf7-form')){
return;
}
if($form.hasClass('forminator-custom-form')||$form.hasClass('forminator_ajax')){
return;
}
if($form.hasClass('wpforms-form')||$form.hasClass('wpforms-ajax-form')){
return;
}
if($form.parent().hasClass('nf-form-layout')){
return;
}
if($form.hasClass('frm-fluent-form')){
return;
}
if(!options.enable_success_send_form){
var params={
form_id: $form.attr('id'),
form_class: $form.attr('class'),
text: $form.find('[type="submit"]').is('input') ?
$form.find('[type="submit"]').val():$form.find('[type="submit"]').text()
};
if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
var pixels=Object.keys(options.dynamicEvents.automatic_event_form);
for (var i=0; i < pixels.length; i++){
var event=Utils.clone(options.dynamicEvents.automatic_event_form[pixels[i]]);
if(pixels[i]==="tiktok"){
getPixelBySlag(pixels[i]).fireEvent(event.name, event);
}else{
Utils.copyProperties(params, event.params,)
Utils.copyProperties(Utils.getRequestParams(), event.params);
getPixelBySlag(pixels[i]).onFormEvent(event);
}}
}}
});
document.addEventListener('wpcf7mailsent', function(event){
var form_id=event.detail.contactFormId;
sendFormAction($(event.target), form_id);
}, false);
$(document).on('forminator:form:submit:success', function(event){
var form_id=$(event.target).find('input[name="form_id"]').val();
sendFormAction($(event.target), form_id);
});
$('form.wpforms-form').on('wpformsAjaxSubmitSuccess', (event)=> {
var form_id=$(event.target).attr('data-formid');
sendFormAction($(event.target), form_id);
})
$(document).on('frmFormComplete', function(event, form, response){
const form_id=$(form).find('input[name="form_id"]').val();
sendFormAction($(event.target), form_id);
});
$(document).onFirst('nfFormSubmitResponse', function (event, data){
const form_id=data.response.data.form_id;
sendFormAction($(event.target), form_id);
});
var fluentForms=$('form.frm-fluent-form');
fluentForms.each(function(){
var $form=$(this);
$form.on('fluentform_submission_success', function(event){
var $formItem=$(this);
var form_id=$formItem.attr('data-form_id');
sendFormAction($(event.target), form_id);
});
});
}
Utils.loadPixels();
if(Utils.isCheckoutPage()){
Utils.addCheckoutFields();
}});
var sendFormAction=function (form_target, formId){
var params={
form_id: formId,
text: form_target.find('[type="submit"]').is('input') ? form_target.find('[type="submit"]').val() :
form_target.find('.forminator-button-submit').text()!='' ? form_target.find('.forminator-button-submit').text() :
form_target.find('[type="submit"]').text()
};
if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
var pixels=Object.keys(options.dynamicEvents.automatic_event_form);
for (var i=0; i < pixels.length; i++){
var event=options.dynamicEvents.automatic_event_form[pixels[i]];
if(pixels[i]==="tiktok"){
getPixelBySlag(pixels[i]).fireEvent(event.name, event);
}else{
Utils.copyProperties(params, event.params)
Utils.copyProperties(Utils.getRequestParams(), event.params);
getPixelBySlag(pixels[i]).onFormEvent(event);
}}
}}
}(jQuery, pysOptions);
function pys_generate_token(length){
var a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".split("");
var b=[];
for (var i=0; i