PageSourceSearch

https://scoredestravado.com.br/wp-content/cache/wpfc-minified/jr4ukhle/h6kbi.js

js scoredestravado.com.br collected 2026-09-24 09:06:11 UTC 104,752 bytes, 3,291 lines download raw bytes

1if(!Array.prototype.includes){
2Object.defineProperty(Array.prototype, 'includes', {
3value: function (searchElement, fromIndex){
4if(this==null){
5throw new TypeError('"this" is null or not defined');
6}
7var o=Object(this);
8var len=o.length >>> 0;
9if(len===0){
10return false;
11}
12var n=fromIndex | 0;
13var k=Math.max(n >=0 ? n:len - Math.abs(n), 0);
14function sameValueZero(x, y){
15return x===y||(typeof x==='number'&&typeof y==='number'&&isNaN(x)&&isNaN(y));
16}
17while (k < len){
18if(sameValueZero(o[k], searchElement)){
19return true;
20}
21k++;
22}
23return false;
24}});
25}
26if(!String.prototype.startsWith){
27Object.defineProperty(String.prototype, 'startsWith', {
28enumerable: false,
29configurable: false,
30writable: false,
31value: function (searchString, position){
32position=position||0;
33return this.indexOf(searchString, position)===position;
34}});
35}
36if(!String.prototype.trim){
37(function (){
38String.prototype.trim=function (){
39return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
40};})();
41}
42! function ($, options){
43if(options.debug){
44console.log('PYS:', options);
45}
46var dummyPinterest=function (){
47return {
48tag: function(){
49return "pinterest";
50},
51isEnabled: function (){},
52disable: function (){},
53loadPixel: function (){},
54fireEvent: function (name, data){
55return false;
56},
57onAdSenseEvent: function (event){},
58onClickEvent: function (params){},
59onWatchVideo: function (params){},
60onCommentEvent: function (event){},
61onFormEvent: function (params){},
62onDownloadEvent: function (params){},
63onWooAddToCartOnButtonEvent: function (product_id){},
64onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){},
65onWooRemoveFromCartEvent: function (cart_item_hash){},
66onWooAffiliateEvent: function (product_id){},
67onWooPayPalEvent: function (event){},
68onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){},
69onEddRemoveFromCartEvent: function (item){},
70onPageScroll: function (event){},
71onTime: function (event){
72},
73}}();
74var dummyBing=function (){
75return {
76tag: function(){
77return "bing";
78},
79isEnabled: function (){},
80disable: function (){},
81loadPixel: function (){},
82fireEvent: function (name, data){
83return false;
84},
85onAdSenseEvent: function (event){},
86onClickEvent: function (params){},
87onWatchVideo: function (params){},
88onCommentEvent: function (event){},
89onFormEvent: function (params){},
90onDownloadEvent: function (params){},
91onWooAddToCartOnButtonEvent: function (product_id){},
92onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){},
93onWooRemoveFromCartEvent: function (cart_item_hash){},
94onWooAffiliateEvent: function (product_id){},
95onWooPayPalEvent: function (event){},
96onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){},
97onEddRemoveFromCartEvent: function (item){},
98onPageScroll: function (event){},
99onTime: function (event){
100},
101}}();
102var Utils=function (options){
103var Pinterest=dummyPinterest;
104var Bing=dummyBing;
105var gtag_loaded=false;
106let isNewSession=checkSession();
107function loadPixels(){
108if(!options.gdpr.all_disabled_by_api){
109if(!options.gdpr.tiktok_disabled_by_api){
110TikTok.loadPixel();
111}
112if(!options.gdpr.facebook_disabled_by_api){
113Facebook.loadPixel();
114}
115if(!options.gdpr.analytics_disabled_by_api){
116Analytics.loadPixel();
117}
118if(!options.gdpr.google_ads_disabled_by_api){
119GAds.loadPixel();
120}
121if(!options.gdpr.pinterest_disabled_by_api){
122Pinterest.loadPixel();
123}
124if(!options.gdpr.bing_disabled_by_api){
125Bing.loadPixel();
126}}
127if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
128if(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1){
129Analytics.loadPixel();
130}
131if(typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1){
132GAds.loadPixel();
133}}
134}
135function isJSApiAttrEnabled(url){
136return url.indexOf('enablejsapi') > -1;
137}
138function isOriginAttrEnabled(url){
139return url.indexOf('origin') > -1;
140}
141function getVideoCompletionMarks(duration){
142var marks={};
143var points=[0, 10, 50, 90, 100];
144for (var i=0; i < points.length; i++){
145var _point=points[i];
146var _mark=_point + '%';
147var _time=duration * _point / 100;
148if(_point===100){
149_time=_time - 1;
150}
151marks[_mark]=Math.floor(_time);
152}
153return marks;
154}
155function tagIsYouTubeVideo(tag){
156var src=tag.src||'';
157return src.indexOf('youtube.com/embed/') > -1||src.indexOf('youtube.com/v/') > -1;
158}
159function tagIsYouTubeAsyncVideo(tag){
160if(tag.src&&tag.src.indexOf("data:image")!==-1) return false;
161var keys=Object.keys(tag.dataset);
162for(var i=0;i<keys.length;i++){
163if(keys[i].toLowerCase().indexOf("src") > -1){
164var src=tag.dataset[keys[i]];
165return src.indexOf('youtube.com/embed/') > -1||src.indexOf('youtube.com/v/') > -1;
166}}
167return false;
168}
169function normalizeYouTubeIframe(tag){
170var loc=window.location;
171var a=document.createElement('a');
172a.href=tag.src;
173a.hostname='www.youtube.com';
174a.protocol=loc.protocol;
175var tmpPathname=a.pathname.charAt(0)==='/' ? a.pathname:'/' + a.pathname;
176if(!isJSApiAttrEnabled(a.search)){
177a.search=(a.search.length > 0 ? a.search + '&':'') + 'enablejsapi=1';
178}
179if(!isOriginAttrEnabled(a.search)&&loc.hostname.indexOf('localhost')===-1){
180var port=loc.port ? ':' + loc.port:'';
181var origin=loc.protocol + '%2F%2F' + loc.hostname + port;
182a.search=a.search + '&origin=' + origin;
183}
184if(tag.type==='application/x-shockwave-flash'){
185var newIframe=document.createElement('iframe');
186newIframe.height=tag.height;
187newIframe.width=tag.width;
188tmpPathname=tmpPathname.replace('/v/', '/embed/');
189tag.parentNode.parentNode.replaceChild(newIframe, tag.parentNode);
190tag=newIframe;
191}
192a.pathname=tmpPathname;
193if(tag.src!==a.href + a.hash){
194tag.src=a.href + a.hash;
195}
196return tag;
197}
198function addYouTubeEvents(iframe){
199var player=YT.get(iframe.id);
200if(!player){
201player=new YT.Player(iframe, {});
202}
203if(typeof iframe.pauseFlag==='undefined'){
204iframe.pauseFlag=false;
205player.addEventListener('onStateChange', function (evt){
206onYouTubePlayerStateChange(evt, iframe);
207});
208}}
209function addDynYouTubeVideos(el){
210if(el.tagName==='IFRAME'
211&& tagIsYouTubeVideo(el)
212&& isJSApiAttrEnabled(el.src)
213&& isOriginAttrEnabled(el.src)){
214addYouTubeEvents(el);
215}}
216function onYouTubePlayerStateChange(evt, iframe){
217var stateIndex=evt.data;
218var player=evt.target;
219var targetVideoUrl=player.getVideoUrl();
220var targetVideoId=targetVideoUrl.match(/[?&]v=([^&#]*)/)[1];
221var playerState=player.getPlayerState();
222var marks=getVideoCompletionMarks(player.getDuration());
223iframe.playTracker=iframe.playTracker||{};
224if(playerState===YT.PlayerState.PLAYING&&!iframe.timer){
225clearInterval(iframe.timer);
226iframe.timer=setInterval(function (){
227checkYouTubeCompletion(player, marks, iframe.videoId);
228}, 1000);
229}else{
230clearInterval(iframe.timer);
231iframe.timer=false;
232}
233if(stateIndex===YT.PlayerState.PLAYING){
234iframe.playTracker[targetVideoId]=true;
235iframe.videoId=targetVideoId;
236iframe.pauseFlag=false;
237}
238if(!iframe.playTracker[iframe.videoId]){
239return false;
240}
241if(stateIndex===YT.PlayerState.PAUSED){
242if(!iframe.pauseFlag){
243iframe.pauseFlag=true;
244}else{
245return false;
246}}
247}
248function checkYouTubeCompletion(player, marks, videoId){
249var currentTime=player.getCurrentTime();
250player[videoId]=player[videoId]||{};
251for (var key in marks){
252if(marks[key] <=currentTime&&!player[videoId][key]){
253player[videoId][key]=true;
254var data=player.getVideoData();
255if(key==='0%'){
256key='play';
257}
258var params={
259video_type: 'youtube',
260video_id: videoId,
261video_title: data.title,
262};
263if(options.automatic.enable_video
264&& options.automatic.enable_youtube
265&& options.dynamicEvents.hasOwnProperty("automatic_event_video")
266){
267var pixels=Object.keys(options.dynamicEvents.automatic_event_video);
268for (var i=0; i < pixels.length; i++){
269var event=Utils.clone(options.dynamicEvents.automatic_event_video[pixels[i]]);
270event.params["progress"]=key
271Utils.copyProperties(params, event.params)
272Utils.copyProperties(Utils.getRequestParams(), event.params);
273getPixelBySlag(pixels[i]).onWatchVideo(event);
274}}
275if(key=="play"){
276$.each(options.triggerEventTypes, function (triggerType, events){
277$.each(events, function (eventId, triggers){
278switch (triggerType){
279case 'video_play':
280Utils.fireTriggerEvent(eventId);
281break;
282}});
283});
284}}
285}}
286function tagIsVimeoVideo(tag){
287var src=tag.src||'';
288return src.indexOf('player.vimeo.com/video/') > -1;
289}
290function tagIsAsincVimeoVideo(tag){
291if(tag.src) return false;
292var keys=Object.keys(tag.dataset);
293for(var i=0;i<keys.length;i++){
294if(keys[i].toLowerCase().indexOf("src") > -1){
295var src=tag.dataset[keys[i]];
296return src.indexOf('player.vimeo.com/video/') > -1;
297}}
298return false;
299}
300function attachVimeoPlayerToTag(tag){
301var player=new Vimeo.Player(tag);
302player.getDuration().then(function (pl,seconds){
303pl.pysMarks=getVideoCompletionMarks(seconds);
304}.bind(null,player));
305player.getVideoTitle().then(function (pl,title){
306pl.pysVideoTitle=title;
307}.bind(null,player));
308player.getVideoId().then(function (pl,id){
309pl.pysVideoId=id;
310}.bind(null,player));
311player.pysCompletedMarks={};
312player.on('play', function (){
313if(this.pysTimer){
314return;
315}
316clearInterval(this.pysTimer);
317var player=this;
318this.pysTimer=setInterval(function (){
319checkVimeoCompletion(player);
320}, 1000);
321});
322player.on('pause', function (){
323clearInterval(this.pysTimer);
324this.pysTimer=false;
325});
326player.on('ended', function (){
327clearInterval(this.pysTimer);
328this.pysTimer=false;
329});
330}
331function checkVimeoCompletion(player){
332player.getCurrentTime().then(function (seconds){
333for (var key in player.pysMarks){
334if(player.pysMarks[key] <=seconds&&!player.pysCompletedMarks[key]){
335player.pysCompletedMarks[key]=true;
336if(key==='0%'){
337key='play';
338}
339var params={
340video_type: 'vimeo',
341video_id: player.pysVideoId,
342video_title: player.pysVideoTitle,
343};
344if(options.automatic.enable_video
345&& options.automatic.enable_vimeo
346&& options.dynamicEvents.hasOwnProperty("automatic_event_video")
347){
348var pixels=Object.keys(options.dynamicEvents.automatic_event_video);
349for (var i=0; i < pixels.length; i++){
350var event=Utils.clone(options.dynamicEvents.automatic_event_video[pixels[i]]);
351event.params["progress"]=key
352Utils.copyProperties(params, event.params,);
353Utils.copyProperties(Utils.getRequestParams(), event.params);
354getPixelBySlag(pixels[i]).onWatchVideo(event);
355}}
356if(key=="play"){
357$.each(options.triggerEventTypes, function (triggerType, events){
358$.each(events, function (eventId, triggers){
359switch (triggerType){
360case 'video_play':
361Utils.fireTriggerEvent(eventId);
362break;
363}});
364});
365}}
366}});
367}
368var utmTerms=['utm_source', 'utm_medium', 'utm_campaign', 'utm_content' ,'utm_term'];
369var utmId=['fbadid', 'gadid', 'padid', 'bingid'];
370var requestParams=[];
371function getDomain(url){
372url=url.replace(/(https?:\/\/)?(www.)?/i, '');
373if(url.indexOf('/')!==-1){
374return url.split('/')[0];
375}
376return url;
377}
378function checkSession(){
379let duration=options.last_visit_duration * 60000
380if(Cookies.get('pys_start_session')===undefined ||
381Cookies.get('pys_session_limit')===undefined){
382var now=new Date();
383now.setTime(now.getTime() + duration);
384Cookies.set('pys_session_limit', true,{ expires: now })
385Cookies.set('pys_start_session', true)
386return true
387}
388return false
389}
390function getTrafficSource(){
391try {
392let referrer=document.referrer.toString(),
393source;
394let direct=referrer.length===0;
395let internal=direct ? false:referrer.indexOf(options.siteUrl)===0;
396let external = !direct&&!internal;
397if(external===false){
398source='direct';
399}else{
400source=referrer;
401}
402if(source!=='direct'){
403return getDomain(source);
404}else{
405return source;
406}} catch (e){
407console.error(e);
408return 'direct';
409}}
410function getQueryVars(){
411try {
412var result={},
413tmp=[];
414window.location.search
415.substr(1)
416.split("&")
417.forEach(function (item){
418tmp=item.split('=');
419if(tmp.length > 1){
420result[tmp[0]]=tmp[1];
421}});
422return result;
423} catch (e){
424console.error(e);
425return {};}}
426function getLandingPageValue(){
427let name="pys_landing_page"
428if(options.visit_data_model==="last_visit"){
429name="last_pys_landing_page"
430}
431if(Cookies.get(name)==='undefined'){
432return "";
433}else{
434return Cookies.get(name);
435}}
436function getTrafficSourceValue(){
437let name="pysTrafficSource"
438if(options.visit_data_model==="last_visit"){
439name="last_pysTrafficSource"
440}
441if(Cookies.get(name)==='undefined'){
442return "";
443}else{
444return Cookies.get(name);
445}}
446function getUTMId(useLast=false){
447try {
448let cookiePrefix='pys_'
449let terms=[];
450if(useLast){
451cookiePrefix='last_pys_'
452}
453$.each(utmId, function (index, name){
454if(Cookies.get(cookiePrefix + name)){
455terms[name]=Cookies.get(cookiePrefix + name)
456}});
457return terms;
458} catch (e){
459console.error(e);
460return [];
461}}
462function getUTMs(useLast=false){
463try {
464let cookiePrefix='pys_'
465if(useLast){
466cookiePrefix='last_pys_'
467}
468let terms=[];
469$.each(utmTerms, function (index, name){
470if(Cookies.get(cookiePrefix + name)){
471let value=Cookies.get(cookiePrefix + name);
472terms[name]=filterEmails(value);
473}});
474return terms;
475} catch (e){
476console.error(e);
477return [];
478}}
479function getDateTime(){
480var dateTime=new Array();
481var date=new Date(),
482days=['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
483months=['January', 'February', 'March', 'April', 'May', 'June',
484'July', 'August', 'September', 'October', 'November', 'December'
485],
486hours=['00-01', '01-02', '02-03', '03-04', '04-05', '05-06', '06-07', '07-08',
487'08-09', '09-10', '10-11', '11-12', '12-13', '13-14', '14-15', '15-16', '16-17',
488'17-18', '18-19', '19-20', '20-21', '21-22', '22-23', '23-24'
489];
490dateTime.push(hours[date.getHours()]);
491dateTime.push(days[date.getDay()]);
492dateTime.push(months[date.getMonth()]);
493return dateTime;
494}
495function filterEmails(value){
496return Utils.validateEmail(value) ? undefined:value;
497}
498return {
499PRODUCT_SIMPLE:0,
500PRODUCT_VARIABLE:1,
501PRODUCT_BUNDLE:2,
502PRODUCT_GROUPED:3,
503validateEmail: function (email){
504var 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,}))$/;
505return re.test(email);
506},
507fireEventForAllPixel:function(functionName,events){
508if(events.hasOwnProperty(Facebook.tag()))
509Facebook[functionName](events[Facebook.tag()]);
510if(events.hasOwnProperty(Analytics.tag()))
511Analytics[functionName](events[Analytics.tag()]);
512if(events.hasOwnProperty(GAds.tag()))
513GAds[functionName](events[GAds.tag()]);
514if(events.hasOwnProperty(Pinterest.tag()))
515Pinterest[functionName](events[Pinterest.tag()]);
516if(events.hasOwnProperty(Bing.tag()))
517Bing[functionName](events[Bing.tag()]);
518if(events.hasOwnProperty(TikTok.tag()))
519TikTok[functionName](events[TikTok.tag()]);
520},
521getQueryValue:function (name){
522return getQueryVars()[name];
523},
524filterEmails: function (value){
525return filterEmails(value);
526},
527setupPinterestObject: function (){
528Pinterest=window.pys.Pinterest||Pinterest;
529return Pinterest;
530},
531setupBingObject: function (){
532Bing=window.pys.Bing||Bing;
533return Bing;
534},
535copyProperties: function (from, to){
536for (var key in from){
537if("function"==typeof from[key]){
538continue;
539}
540to[key]=from[key];
541}
542return to;
543},
544clone: function(obj){
545var copy;
546if(null==obj||"object"!=typeof obj) return obj;
547if(obj instanceof Date){
548copy=new Date();
549copy.setTime(obj.getTime());
550return copy;
551}
552if(obj instanceof Array){
553copy=[];
554for (var i=0, len=obj.length; i < len; i++){
555if("function"==typeof obj[i]){
556continue;
557}
558copy[i]=Utils.clone(obj[i]);
559}
560return copy;
561}
562if(obj instanceof Object){
563copy={};
564for (var attr in obj){
565if(obj.hasOwnProperty(attr)){
566if("function"==typeof obj[attr]){
567continue;
568}
569copy[attr]=Utils.clone(obj[attr]);
570}}
571return copy;
572}
573return obj;
574},
575getTagsAsArray: function (tag){
576return [].slice.call(document.getElementsByTagName(tag));
577},
578initYouTubeAPI: function (){
579if(typeof window.YT==='undefined'){
580var tag=document.createElement('script');
581tag.src='//www.youtube.com/iframe_api';
582var firstScriptTag=document.getElementsByTagName('script')[0];
583firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
584}
585window.onYouTubeIframeAPIReady=function (){
586var potentialVideos=Utils.getTagsAsArray('iframe').concat(Utils.getTagsAsArray('embed'));
587for (var i=0; i < potentialVideos.length; i++){
588var video=potentialVideos[i];
589if(tagIsYouTubeVideo(video)){
590var iframe=normalizeYouTubeIframe(video);
591addYouTubeEvents(iframe);
592}else{
593if(tagIsYouTubeAsyncVideo(video)){
594video.addEventListener("load", function(evt){
595var iframe=normalizeYouTubeIframe(evt.currentTarget);
596addYouTubeEvents(iframe);
597});
598}}
599}
600var targets=document.querySelectorAll('.elementor-widget-video .elementor-wrapper');
601const config={
602attributes: false,
603childList: true,
604subtree: true
605};
606const callback=function(mutationsList, observer){
607for (let mutation of mutationsList){
608if(mutation.type==='childList'){
609for(var m=0;m<mutation.addedNodes.length;m++){
610addDynYouTubeVideos(mutation.addedNodes[m]);
611}}
612}};
613for(var i=0;i<targets.length;i++){
614const observer=new MutationObserver(callback);
615observer.observe(targets[i], config);
616}};},
617initVimeoAPI: function (){
618$(document).ready(function (){
619var potentialVideos=Utils.getTagsAsArray('iframe').concat(Utils.getTagsAsArray('embed'));
620for (var i=0; i < potentialVideos.length; i++){
621var tag=potentialVideos[i];
622if(tagIsVimeoVideo(tag)){
623attachVimeoPlayerToTag(tag);
624}else{
625if(tagIsAsincVimeoVideo(tag)){
626tag.addEventListener("load", function(evt){
627attachVimeoPlayerToTag(evt.currentTarget);
628});
629}}
630}});
631},
632manageCookies: function (){
633let expires=parseInt(options.cookie_duration);
634let queryVars=getQueryVars();
635let landing=window.location.href.split('?')[0];
636try {
637if(Cookies.get('pys_first_visit')===undefined){
638Cookies.set('pys_first_visit', true, { expires: expires });
639Cookies.set('pysTrafficSource', getTrafficSource(), { expires: expires });
640Cookies.set('pys_landing_page',landing,{ expires: expires });
641$.each(utmTerms, function (index, name){
642if(queryVars.hasOwnProperty(name)){
643Cookies.set('pys_' + name, queryVars[name], { expires: expires });
644}else{
645Cookies.remove('pys_' + name)
646}});
647$.each(utmId,function(index,name){
648if(queryVars.hasOwnProperty(name)){
649Cookies.set('pys_' + name, queryVars[name], { expires: expires });
650}else{
651Cookies.remove('pys_' + name)
652}})
653}
654if(isNewSession){
655Cookies.set('last_pysTrafficSource', getTrafficSource(), { expires: expires });
656$.each(utmTerms, function (index, name){
657if(queryVars.hasOwnProperty(name)){
658Cookies.set('last_pys_' + name, queryVars[name], { expires: expires });
659}else{
660Cookies.remove('last_pys_' + name)
661}});
662$.each(utmId,function(index,name){
663if(queryVars.hasOwnProperty(name)){
664Cookies.set('last_pys_' + name, queryVars[name], { expires: expires });
665}else{
666Cookies.remove('last_pys_' + name)
667}})
668Cookies.set('last_pys_landing_page',landing,{ expires: expires });
669}} catch (e){
670console.error(e);
671}},
672initializeRequestParams: function (){
673if(options.trackTrafficSource){
674requestParams.traffic_source=getTrafficSourceValue();
675}
676if(options.trackUTMs){
677var utms=getUTMs(options.visit_data_model==="last_visit");
678$.each(utmTerms, function (index, term){
679if(term in utms){
680requestParams[term]=utms[term];
681}});
682}
683var dateTime=getDateTime();
684if(options.enable_event_time_param){
685requestParams.event_time=dateTime[0];
686}
687if(options.enable_event_day_param){
688requestParams.event_day=dateTime[1];
689}
690if(options.enable_event_month_param){
691requestParams.event_month=dateTime[2];
692}
693if(options.enable_lading_page_param){
694requestParams.landing_page=getLandingPageValue();
695}},
696getRequestParams: function (){
697return requestParams;
698},
699getLinkExtension: function (link){
700link=link.substring(0, (link.indexOf("#")===-1) ? link.length:link.indexOf("#"));
701link=link.substring(0, (link.indexOf("?")===-1) ? link.length:link.indexOf("?"));
702link=link.substring(link.lastIndexOf("/") + 1, link.length);
703if(link.length > 0&&link.indexOf('.')!==-1){
704link=link.substring(link.lastIndexOf(".") + 1);
705return link;
706}else{
707return "";
708}},
709getLinkFilename: function (link){
710link=link.substring(0, (link.indexOf("#")===-1) ? link.length:link.indexOf("#"));
711link=link.substring(0, (link.indexOf("?")===-1) ? link.length:link.indexOf("?"));
712link=link.substring(link.lastIndexOf("/") + 1, link.length);
713if(link.length > 0&&link.indexOf('.')!==-1){
714return link;
715}else{
716return "";
717}},
718setupMouseOverClickEvents: function (eventId, triggers){
719document.addEventListener('mouseover', function(event){
720var matchedElements=Array.from(document.querySelectorAll(triggers));
721if(matchedElements.includes(event.target)){
722if(event.target.classList.contains('pys-mouse-over-' + eventId)){
723return true;
724}else{
725event.target.classList.add('pys-mouse-over-' + eventId);
726}
727Utils.fireTriggerEvent(eventId);
728}});
729},
730setupCSSClickEvents: function (eventId, triggers){
731document.addEventListener('click', function(event){
732var matchedElements=Array.from(document.querySelectorAll(triggers));
733if(matchedElements.includes(event.target)){
734console.log(event.target)
735Utils.fireTriggerEvent(eventId);
736}}, true);
737},
738setupURLClickEvents: function (){
739if(!options.triggerEventTypes.hasOwnProperty('url_click')){
740return;
741}
742document.addEventListener('click', function(event){
743if(event.target.matches('a')){
744var url=event.target.getAttribute('href');
745if(url){
746Object.entries(options.triggerEventTypes.url_click).forEach(function ([eventId, triggers]){
747triggers.forEach(function (trigger){
748if(Utils.compareUrl(url, trigger.value, trigger.rule)){
749Utils.fireTriggerEvent(eventId);
750}});
751});
752}}
753}, true);
754},
755removeUrlDomain(url){
756if(url.indexOf("/#") > -1){
757url=url.substring(0, url.indexOf("/#"));
758}
759return url.replace('http://','')
760.replace('https://','')
761.replace('www.','')
762.trim()
763.replace(/^\/+/g, '')
764},
765compareUrl: function(base,url,rule){
766if(url=="*"||url=='') return true;
767base=Utils.removeUrlDomain(base)
768url=Utils.removeUrlDomain(url)
769if(rule=='match'){
770return url==base;
771}else{
772return base.indexOf(url) > -1
773}},
774setupScrollPosEvents: function (eventId, triggers){
775var scrollPosThresholds={},
776docHeight=$(document).height() - $(window).height();
777$.each(triggers, function (index, scrollPos){
778scrollPos=docHeight * scrollPos / 100;
779scrollPos=Math.round(scrollPos);
780scrollPosThresholds[scrollPos]=eventId;
781});
782$(document).on("scroll",function (){
783var scrollPos=$(window).scrollTop();
784$.each(scrollPosThresholds, function (threshold, eventId){
785if(scrollPos <=threshold){
786return true;
787}
788if(eventId===null){
789return true;
790}else{
791scrollPosThresholds[threshold]=null;
792}
793Utils.fireTriggerEvent(eventId);
794});
795});
796},
797setupCommentEvents:function (eventId,triggers){
798$('form.comment-form').on("submit",function (){
799Utils.fireTriggerEvent(eventId);
800});
801},
802isEventInTimeWindow: function (eventName, event, prefix){
803if(event.hasOwnProperty("hasTimeWindow")&&event.hasTimeWindow){
804var cookieName=prefix+"_"+eventName;
805var now=new Date().getTime();
806if(Cookies.get(cookieName)!==undefined){
807var lastTimeFire=Cookies.get(cookieName);
808var fireTime=event.timeWindow * 60*60*1000;
809if(now - lastTimeFire > fireTime){
810Cookies.set(cookieName,now, { expires: event.timeWindow / 24.0});
811}else{
812return false;
813}}else{
814Cookies.set(cookieName,now, { expires: event.timeWindow / 24.0});
815}}
816return true
817},
818fireTriggerEvent: function (eventId){
819if(!options.triggerEvents.hasOwnProperty(eventId)){
820return;
821}
822var event={};
823var events=options.triggerEvents[eventId];
824if(events.hasOwnProperty('facebook')){
825event=events.facebook;
826if(Utils.isEventInTimeWindow(event.name,event,"dyn_facebook_"+eventId)){
827Facebook.fireEvent(event.name, event);
828}}
829if(events.hasOwnProperty('ga')){
830event=events.ga;
831if(Utils.isEventInTimeWindow(event.name,event,"dyn_ga_"+eventId)){
832Analytics.fireEvent(event.name, event);
833}}
834if(events.hasOwnProperty('google_ads')){
835event=events.google_ads;
836if(Utils.isEventInTimeWindow(event.name,event,"dyn_google_ads_"+eventId)){
837GAds.fireEvent(event.name, event);
838}}
839if(events.hasOwnProperty('pinterest')){
840event=events.pinterest;
841if(Utils.isEventInTimeWindow(event.name,event,"dyn_pinterest_"+eventId)){
842Pinterest.fireEvent(event.name, event);;
843}}
844if(events.hasOwnProperty('bing')){
845event=events.bing;
846if(Utils.isEventInTimeWindow(event.name,event,"dyn_bing_"+eventId)){
847Bing.fireEvent(event.name, event);;
848}}
849if(events.hasOwnProperty('tiktok')){
850event=events.tiktok;
851if(Utils.isEventInTimeWindow(event.name,event,"dyn_bing_"+eventId)){
852TikTok.fireEvent(event.name, event);
853}}
854},
855isFirstPurchaseFire: function ($eventName,orderId,pixel){
856if(Cookies.get("pys_"+$eventName+"_order_id_"+pixel)==orderId){
857return false;
858}else{
859Cookies.set("pys_"+$eventName+"_order_id_"+pixel, orderId, { expires: 1 });
860}
861return true;
862},
863fireStaticEvents: function (pixel){
864if(options.staticEvents.hasOwnProperty(pixel)){
865$.each(options.staticEvents[pixel], function (eventId, events){
866if(options.woo.hasOwnProperty('woo_purchase_on_transaction') &&
867options.woo.woo_purchase_on_transaction &&
868(eventId==="woo_purchase"||eventId==="woo_purchase_category")){
869if(!Utils.isFirstPurchaseFire(eventId,events[0].woo_order,pixel)){
870return;
871}}
872if(options.edd.hasOwnProperty('edd_purchase_on_transaction') &&
873options.edd.edd_purchase_on_transaction &&
874(eventId==="edd_purchase"||eventId==="edd_purchase_category")){
875if(!Utils.isFirstPurchaseFire(eventId,events[0].edd_order,pixel)){
876return;
877}}
878$.each(events, function (index, event){
879event.fired=event.fired||false;
880if(!event.fired&&Utils.isEventInTimeWindow(event.name,event,'static_' + pixel+"_")){
881var fired=false;
882getPixelBySlag(pixel).fireEvent(event.name, event);
883event.fired=fired;
884}});
885});
886}},
887loadGoogleTag: function (id){
888if(!gtag_loaded){
889(function (window, document, src){
890var a=document.createElement('script'),
891m=document.getElementsByTagName('script')[0];
892a.async=1;
893a.src=src;
894m.parentNode.insertBefore(a, m);
895})(window, document, '//www.googletagmanager.com/gtag/js?id=' + id);
896window.dataLayer=window.dataLayer||[];
897window.gtag=window.gtag||function gtag(){
898dataLayer.push(arguments);
899};
900gtag('js', new Date());
901gtag_loaded=true;
902}},
903loadPixels: function (){
904if(options.gdpr.ajax_enabled&&!options.gdpr.consent_magic_integration_enabled){
905$.get({
906url: options.ajaxUrl,
907dataType: 'json',
908data: {
909action: 'pys_get_gdpr_filters_values'
910},
911success: function (res){
912if(res.success){
913options.gdpr.all_disabled_by_api=res.data.all_disabled_by_api;
914options.gdpr.facebook_disabled_by_api=res.data.facebook_disabled_by_api;
915options.gdpr.tiktok_disabled_by_api=res.data.tiktok_disabled_by_api;
916options.gdpr.analytics_disabled_by_api=res.data.analytics_disabled_by_api;
917options.gdpr.google_ads_disabled_by_api=res.data.google_ads_disabled_by_api;
918options.gdpr.pinterest_disabled_by_api=res.data.pinterest_disabled_by_api;
919options.gdpr.bing_disabled_by_api=res.data.bing_disabled_by_api;
920}
921loadPixels();
922}});
923}else{
924loadPixels();
925}},
926consentGiven: function (pixel){
927if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
928var cookiebot_consent_category=options.gdpr['cookiebot_' + pixel + '_consent_category'];
929if(options.gdpr[pixel + '_prior_consent_enabled']){
930if(Cookiebot.consented===false||Cookiebot.consent[cookiebot_consent_category]){
931return true;
932}}else{
933if(Cookiebot.consent[cookiebot_consent_category]){
934return true;
935}}
936return false;
937}
938if(options.gdpr.cookie_notice_integration_enabled&&typeof cnArgs!=='undefined'){
939var cn_cookie=Cookies.get(cnArgs.cookieName);
940if(options.gdpr[pixel + '_prior_consent_enabled']){
941if(typeof cn_cookie==='undefined'||cn_cookie==='true'){
942return true;
943}}else{
944if(cn_cookie==='true'){
945return true;
946}}
947return false;
948}
949if(options.gdpr.cookie_law_info_integration_enabled){
950var cli_cookie=Cookies.get('viewed_cookie_policy');
951if(options.gdpr[pixel + '_prior_consent_enabled']){
952if(typeof cli_cookie==='undefined'||cli_cookie==='yes'){
953return true;
954}}else{
955if(cli_cookie==='yes'){
956return true;
957}}
958return false;
959}
960if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
961var test_prefix=CS_Data.test_prefix;
962if((typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)&&pixel=='analytics'){
963return true;
964}
965if((typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1)&&pixel=='google_ads'){
966return true;
967}
968if(CS_Data.cs_cache_enabled==1){
969var substring="cs_enabled_cookie_term";
970var theCookies=document.cookie.split(';');
971for (var i=1 ; i <=theCookies.length; i++){
972if(theCookies[ i - 1 ].indexOf(substring)!==-1){
973var categoryCookie=theCookies[ i - 1 ].replace('cs_enabled_cookie_term' + test_prefix + '_', '');
974categoryCookie=Number(categoryCookie.replace(/\D+/g, "") );
975var cs_cookie_val=Cookies.get('cs_enabled_cookie_term' + test_prefix + '_' + categoryCookie);
976if(categoryCookie===CS_Data.cs_script_cat.facebook&&pixel=='facebook'){
977if(cs_cookie_val=='yes'){
978return true;
979}else{
980return false;
981}}else if(categoryCookie===CS_Data.cs_script_cat.bing&&pixel=='bing'){
982if(cs_cookie_val=='yes'){
983return true;
984}else{
985return false;
986}}else if(categoryCookie===CS_Data.cs_script_cat.analytics&&pixel=='analytics'){
987if(cs_cookie_val=='yes'){
988return true;
989}else{
990return false;
991}}else if(categoryCookie===CS_Data.cs_script_cat.gads&&pixel=='google_ads'){
992if(cs_cookie_val=='yes'){
993return true;
994}else{
995return false;
996}}else if(categoryCookie===CS_Data.cs_script_cat.pinterest&&pixel=='pinterest'){
997if(cs_cookie_val=='yes'){
998return true;
999}else{
1000return false;
1001}}else if(categoryCookie===CS_Data.cs_script_cat.tiktok&&pixel=='tiktok'){
1002if(cs_cookie_val=='yes'){
1003return true;
1004}else{
1005return false;
1006}}
1007}}
1008}else{
1009var cs_cookie=Cookies.get('cs_viewed_cookie_policy'+test_prefix);
1010if(typeof cs_cookie==='undefined'||cs_cookie==='yes'){
1011return true;
1012}}
1013return false;
1014}
1015if(options.gdpr.real_cookie_banner_integration_enabled){
1016var consentApi=window.consentApi;
1017if(consentApi){
1018switch (pixel){
1019case "analytics":
1020return consentApi.consentSync("http", "_ga", "*").cookieOptIn;
1021case "facebook":
1022return consentApi.consentSync("http", "_fbp", "*").cookieOptIn;
1023case "pinterest":
1024return consentApi.consentSync("http", "_pinterest_sess", ".pinterest.com").cookieOptIn;
1025case "bing":
1026return consentApi.consentSync("http", "_uetsid", "*").cookieOptIn;
1027case "google_ads":
1028return consentApi.consentSync("http", "1P_JAR", ".google.com").cookieOptIn;
1029case 'tiktok':
1030return consentApi.consentSync("http", "tt_webid_v2", ".tiktok.com").cookieOptIn;
1031default:
1032return true;
1033}}
1034}
1035return true;
1036},
1037setupGdprCallbacks: function (){
1038if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
1039window.addEventListener("CookiebotOnConsentReady", function(){
1040if(Cookiebot.consent.marketing){
1041Facebook.loadPixel();
1042Bing.loadPixel();
1043Pinterest.loadPixel();
1044GAds.loadPixel();
1045TikTok.loadPixel();
1046}
1047if(Cookiebot.consent.statistics){
1048Analytics.loadPixel();
1049}
1050if(!Cookiebot.consent.marketing){
1051Facebook.disable();
1052Pinterest.disable();
1053Bing.disable()
1054GAds.disable();
1055TikTok.disable();
1056}
1057if(!Cookiebot.consent.statistics){
1058Analytics.disable();
1059}});
1060}
1061if(options.gdpr.cookie_notice_integration_enabled){
1062$(document).onFirst('click', '.cn-set-cookie', function (){
1063if($(this).data('cookie-set')==='accept'){
1064Facebook.loadPixel();
1065Analytics.loadPixel();
1066GAds.loadPixel();
1067Pinterest.loadPixel();
1068Bing.loadPixel();
1069TikTok.loadPixel();
1070}else{
1071Facebook.disable();
1072Analytics.disable();
1073GAds.disable();
1074Pinterest.disable();
1075Bing.disable();
1076TikTok.disable();
1077}});
1078$(document).onFirst('click', '.cn-revoke-cookie', function (){
1079Facebook.disable();
1080Analytics.disable();
1081GAds.disable();
1082Pinterest.disable();
1083Bing.disable();
1084TikTok.disable();
1085});
1086}
1087if(options.gdpr.cookie_law_info_integration_enabled){
1088$(document).onFirst('click', '#cookie_action_close_header', function (){
1089Facebook.loadPixel();
1090Analytics.loadPixel();
1091GAds.loadPixel();
1092Pinterest.loadPixel();
1093Bing.loadPixel();
1094TikTok.loadPixel();
1095});
1096$(document).onFirst('click', '#cookie_action_close_header_reject', function (){
1097Facebook.disable();
1098Analytics.disable();
1099GAds.disable();
1100Pinterest.disable();
1101Bing.disable();
1102TikTok.disable();
1103});
1104}
1105if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
1106var test_prefix=CS_Data.test_prefix,
1107cs_refresh_after_consent=false,
1108substring="cs_enabled_cookie_term";
1109if(CS_Data.cs_refresh_after_consent==1){
1110cs_refresh_after_consent=CS_Data.cs_refresh_after_consent;
1111}
1112if(!cs_refresh_after_consent){
1113var theCookies=document.cookie.split(';');
1114for (var i=1 ; i <=theCookies.length; i++){
1115if(theCookies[i-1].indexOf(substring)!==-1){
1116var categoryCookie=theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_','');
1117categoryCookie=Number(categoryCookie.replace(/\D+/g,""));
1118var cs_cookie_val=Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie);
1119if(cs_cookie_val=='yes'){
1120if(categoryCookie===CS_Data.cs_script_cat.facebook){
1121Facebook.loadPixel();
1122}
1123if(categoryCookie===CS_Data.cs_script_cat.bing){
1124Bing.loadPixel();
1125}
1126if(categoryCookie===CS_Data.cs_script_cat.analytics||(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)){
1127Analytics.loadPixel();
1128}
1129if(categoryCookie===CS_Data.cs_script_cat.gads||(typeof CS_Data.cs_google_ads_consent_mode!=="undefined"&&CS_Data.cs_google_ads_consent_mode==1)){
1130GAds.loadPixel();
1131}
1132if(categoryCookie===CS_Data.cs_script_cat.pinterest){
1133Pinterest.loadPixel();
1134}
1135if(categoryCookie===CS_Data.cs_script_cat.tiktok){
1136TikTok.loadPixel();
1137}}else{
1138if(categoryCookie===CS_Data.cs_script_cat.facebook){
1139Facebook.disable();
1140}
1141if(categoryCookie===CS_Data.cs_script_cat.bing){
1142Bing.disable();
1143}
1144if(categoryCookie===CS_Data.cs_script_cat.analytics&&(typeof CS_Data.cs_google_analytics_consent_mode=="undefined"||CS_Data.cs_google_analytics_consent_mode==0)){
1145Analytics.disable();
1146}
1147if(categoryCookie===CS_Data.cs_script_cat.gads&&(typeof CS_Data.cs_google_ads_consent_mode=="undefined"||CS_Data.cs_google_ads_consent_mode==0)){
1148GAds.disable();
1149}
1150if(categoryCookie===CS_Data.cs_script_cat.pinterest){
1151Pinterest.disable();
1152}
1153if(categoryCookie===CS_Data.cs_script_cat.tiktok){
1154TikTok.disable();
1155}}
1156if(Cookies.get('cs_enabled_advanced_matching')=='yes'){
1157Facebook.loadPixel();
1158}}
1159}
1160$(document).on('click','.cs_action_btn',function(e){
1161e.preventDefault();
1162var elm=$(this),
1163button_action=elm.attr('data-cs_action');
1164if(button_action==='allow_all'){
1165Facebook.loadPixel();
1166Bing.loadPixel();
1167Analytics.loadPixel();
1168GAds.loadPixel();
1169Pinterest.loadPixel();
1170TikTok.loadPixel();
1171}else if(button_action==='disable_all'){
1172Facebook.disable();
1173Bing.disable();
1174if(CS_Data.cs_google_analytics_consent_mode==0||typeof CS_Data.cs_google_analytics_consent_mode=="undefined"){
1175Analytics.disable();
1176}
1177if(CS_Data.cs_google_ads_consent_mode==0||typeof CS_Data.cs_google_ads_consent_mode=="undefined"){
1178GAds.disable();
1179}
1180Pinterest.disable();
1181TikTok.disable();
1182}});
1183}}
1184if(options.gdpr.real_cookie_banner_integration_enabled){
1185var consentApi=window.consentApi;
1186if(consentApi){
1187consentApi.consent("http", "_ga", "*")
1188.then(Analytics.loadPixel.bind(Analytics), Analytics.disable.bind(Analytics));
1189consentApi.consent("http", "_fbp", "*")
1190.then(Facebook.loadPixel.bind(Facebook), Facebook.disable.bind(Facebook));
1191consentApi.consent("http", "_pinterest_sess", ".pinterest.com")
1192.then(Pinterest.loadPixel.bind(Pinterest), Pinterest.disable.bind(Pinterest));
1193consentApi.consent("http", "_uetsid", "*")
1194.then(Bing.loadPixel.bind(Bing), Bing.disable.bind(Bing));
1195consentApi.consent("http", "1P_JAR", ".google.com")
1196.then(GAds.loadPixel.bind(GAds), GAds.disable.bind(GAds));
1197consentApi.consent("http", "tt_webid_v2", ".tiktok.com")
1198.then(TikTok.loadPixel.bind(GAds), TikTok.disable.bind(GAds));
1199}}
1200},
1201isCheckoutPage: function (){
1202return $('body').hasClass('woocommerce-checkout')||document.querySelector('.woocommerce-checkout') ||
1203$('body').hasClass('edd-checkout');
1204},
1205addCheckoutFields:function(){
1206var utm="";
1207var utms=getUTMs()
1208$.each(utmTerms, function (index, name){
1209if(index > 0){
1210utm+="|";
1211}
1212utm+=name+":"+utms[name];
1213});
1214var utmIdList="";
1215var utmsIds=getUTMId()
1216$.each(utmId, function (index, name){
1217if(index > 0){
1218utmIdList+="|";
1219}
1220utmIdList+=name+":"+utmsIds[name];
1221});
1222var utmIdListLast="";
1223var utmsIdsLast=getUTMId(true)
1224$.each(utmId, function (index, name){
1225if(index > 0){
1226utmIdListLast+="|";
1227}
1228utmIdListLast+=name+":"+utmsIdsLast[name];
1229});
1230var utmLast="";
1231var utmsLast=getUTMs(true)
1232$.each(utmTerms, function (index, name){
1233if(index > 0){
1234utmLast+="|";
1235}
1236utmLast+=name+":"+utmsLast[name];
1237});
1238var dateTime=getDateTime();
1239var landing=Cookies.get('pys_landing_page');
1240var lastLanding=Cookies.get('last_pys_landing_page');
1241var trafic=Cookies.get('pysTrafficSource');
1242var lastTrafic=Cookies.get('last_pysTrafficSource');
1243var $form=null;
1244if($('body').hasClass('woocommerce-checkout')){
1245$form=$("form.woocommerce-checkout");
1246}else{
1247$form=$("#edd_purchase_form");
1248}
1249var inputs={'pys_utm':utm,
1250'pys_utm_id':utmIdList,
1251'pys_browser_time':dateTime.join("|"),
1252'pys_landing':landing,
1253'pys_source':trafic,
1254'pys_order_type': $(".wcf-optin-form").length > 0 ? "wcf-optin":"normal",
1255'last_pys_landing':lastLanding,
1256'last_pys_source':lastTrafic,
1257'last_pys_utm':utmLast,
1258'last_pys_utm_id':utmIdListLast,
1259}
1260Object.keys(inputs).forEach(function(key,index){
1261$form.append("<input type='hidden' name='"+key+"' value='"+inputs[key]+"' /> ");
1262});
1263},
1264saveAdvancedFormData: function (email,phone,firstName,lastName){
1265let data=Utils.getAdvancedFormData();
1266if(email!=null){
1267data["email"]=email;
1268}
1269if(phone!=null){
1270data["phone"]=phone;
1271}
1272if(firstName!=null){
1273data["first_name"]=firstName;
1274}
1275if(lastName!=null){
1276data["last_name"]=lastName;
1277}
1278Cookies.set('pys_advanced_form_data', JSON.stringify(data),{ expires: 300 });
1279GAds.updateEnhancedConversionData()
1280},
1281getAdvancedFormData: function (){
1282let dataStr=Cookies.get("pys_advanced_form_data");
1283if(dataStr===undefined){
1284return {'first_name':"",'last_name':"",'email':"",'phone':""};}else{
1285return JSON.parse(dataStr);
1286}}
1287};}(options);
1288var TikTok=function (options){
1289var initialized=false;
1290function fireEvent(name, event){
1291if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'tiktok')){
1292return;
1293}
1294var params=Utils.copyProperties(event.params, {});
1295event.pixelIds.forEach(function(pixelId){
1296if(options.debug){
1297console.log('[TikTok] ' + name, params,"pixel_id",pixelId);
1298}
1299if(options.tiktok.hasOwnProperty('advanced_matching')
1300&& Object.keys(options.tiktok.advanced_matching).length > 0){
1301ttq.instance(pixelId).identify(options.tiktok.advanced_matching)
1302}
1303ttq.instance(pixelId).track(name,params)
1304});
1305}
1306return {
1307tag: function(){
1308return "tiktok";
1309},
1310isEnabled: function (){
1311return options.hasOwnProperty('tiktok');
1312},
1313disable: function (){
1314initialized=false;
1315},
1316loadPixel:function (){
1317if(initialized||!this.isEnabled()||!Utils.consentGiven('tiktok')){
1318return;
1319}
1320!function (w, d, t){
1321w.TiktokAnalyticsObject=t;
1322var ttq=w[t]=w[t]||[];
1323ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"];
1324ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
1325for(var i=0;i<ttq.methods.length;i++)
1326ttq.setAndDefer(ttq,ttq.methods[i]);
1327ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e};
1328ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};}(window, document, 'ttq');
1329options.tiktok.pixelIds.forEach(function (pixelId){
1330ttq.load(pixelId);
1331ttq.page();
1332});
1333initialized=true;
1334if(options.staticEvents.hasOwnProperty('tiktok')){
1335setTimeout(function (){
1336Utils.fireStaticEvents('tiktok');
1337}, 1500)
1338}},
1339fireEvent: function (name, data){
1340if(!initialized||!this.isEnabled()){
1341return false;
1342}
1343data.delay=data.delay||0;
1344if(data.delay===0){
1345fireEvent(name, data);
1346}else{
1347setTimeout(function (name, params){
1348fireEvent(name, params);
1349}, data.delay * 1000, name, data);
1350}
1351return true;
1352},
1353onClickEvent: function (event){
1354this.fireEvent(event.name, event);
1355},
1356onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){
1357window.pysWooProductData=window.pysWooProductData||[];
1358if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1359return;
1360if(window.pysWooProductData.hasOwnProperty(product_id)){
1361if(window.pysWooProductData[product_id].hasOwnProperty(this.tag())){
1362var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
1363Utils.copyProperties(window.pysWooProductData[product_id][this.tag()]['params'], event.params);
1364if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){
1365if(product_type===Utils.PRODUCT_BUNDLE){
1366var data=$(".bundle_form .bundle_data").data("bundle_form_data");
1367var items_sum=getBundlePriceOnSingleProduct(data);
1368event.params.value=(parseFloat(data.base_price) + items_sum) * qty;
1369}else{
1370event.params.value=event.params.value * qty;
1371}}
1372event.params.quantity=qty;
1373this.fireEvent(event.name, event);
1374}}
1375},
1376onWooAddToCartOnButtonEvent: function (product_id){
1377if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1378return;
1379if(window.pysWooProductData.hasOwnProperty(product_id)){
1380if(window.pysWooProductData[product_id].hasOwnProperty(this.tag())){
1381var productData=window.pysWooProductData[product_id][this.tag()]
1382var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()])
1383Utils.copyProperties(productData['params'], event.params)
1384event.pixelIds=productData['pixelIds'];
1385this.fireEvent(event.name, event);
1386}}
1387},
1388onEddAddToCartOnButtonEvent:function (download_id, price_index, qty){
1389if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1390return;
1391var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
1392if(window.pysEddProductData.hasOwnProperty(download_id)){
1393var index;
1394if(price_index){
1395index=download_id + '_' + price_index;
1396}else{
1397index=download_id;
1398}
1399if(window.pysEddProductData[download_id].hasOwnProperty(index)){
1400if(window.pysEddProductData[download_id][index].hasOwnProperty(this.tag())){
1401Utils.copyProperties(window.pysEddProductData[download_id][index][this.tag()].params, event.params);
1402this.fireEvent(event.name,event);
1403}}
1404}}
1405}}(options);
1406var Facebook=function (options){
1407var defaultEventTypes=[
1408'PageView',
1409'ViewContent',
1410'Search',
1411'AddToCart',
1412'AddToWishlist',
1413'InitiateCheckout',
1414'AddPaymentInfo',
1415'Purchase',
1416'Lead',
1417'Subscribe',
1418'CustomizeProduct',
1419'FindLocation',
1420'StartTrial',
1421'SubmitApplication',
1422'Schedule',
1423'Contact',
1424'Donate'
1425];
1426var notCachedEventsIds=new Array();
1427var isAddToCartFromJs=options.woo.hasOwnProperty("addToCartCatchMethod")
1428&& options.woo.addToCartCatchMethod==="add_cart_js";
1429if(!isAddToCartFromJs){
1430notCachedEventsIds.push('woo_add_to_cart_on_button_click')
1431}
1432var initialized=false;
1433var configuredPixels=new Array();
1434function fireEvent(name, event){
1435if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'facebook')){
1436return;
1437}
1438var data=event.params;
1439var ids=event.pixelIds;
1440var actionType=defaultEventTypes.includes(name) ? 'trackSingle':'trackSingleCustom';
1441var params={};
1442Utils.copyProperties(data, params);
1443Utils.copyProperties(Utils.getRequestParams(), params);
1444if(options.facebook.serverApiEnabled){
1445if(event.e_id==="woo_remove_from_cart"){
1446Facebook.updateEventId(event.name);
1447event.eventID=Facebook.getEventId(event.name);
1448}else if(isAddToCartFromJs&&event.e_id==="woo_add_to_cart_on_button_click"){
1449Facebook.updateEventId(event.name);
1450event.eventID=Facebook.getEventId(event.name);
1451}else if(!notCachedEventsIds.includes(event.e_id)){
1452var isApiDisabled=options.gdpr.all_disabled_by_api ||
1453options.gdpr.facebook_disabled_by_api ||
1454options.gdpr.tiktok_disabled_by_api ||
1455options.gdpr.cookiebot_integration_enabled ||
1456options.gdpr.cookie_notice_integration_enabled ||
1457options.gdpr.consent_magic_integration_enabled ||
1458options.gdpr.cookie_law_info_integration_enabled;
1459if(options.facebook.ajaxForServerEvent||event.type!=="static"){
1460event.eventID=pys_generate_token(36);
1461}
1462if(options.facebook.ajaxForServerEvent||isApiDisabled||event.delay > 0||event.type!=="static"){
1463var json={
1464action: 'pys_api_event',
1465pixel: 'facebook',
1466event: name,
1467ids: ids,
1468data:params,
1469url:window.location.href,
1470eventID:event.eventID,
1471ajax_event:options.ajax_event
1472};
1473if(event.hasOwnProperty('woo_order')){
1474json['woo_order']=event.woo_order;
1475}
1476if(event.hasOwnProperty('edd_order')){
1477json['edd_order']=event.edd_order;
1478}
1479if(event.e_id==="automatic_event_internal_link"
1480|| event.e_id==="automatic_event_outbound_link"
1481){
1482setTimeout(function(){
1483jQuery.ajax({
1484type: 'POST',
1485url: options.ajaxUrl,
1486data: json,
1487headers: {
1488'Cache-Control': 'no-cache'
1489},
1490success: function(){},
1491});
1492},500)
1493}else if(name=='PageView'){
1494let expires=parseInt(options.cookie_duration);
1495var currentTimeInSeconds=Date.now();
1496var randomNum=Math.floor(1000000000 + Math.random() * 9000000000);
1497timeoutDelay=0;
1498if(!Cookies.get('_fbp')){
1499timeoutDelay=100;
1500}
1501if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){
1502timeoutDelay=100;
1503}
1504setTimeout(function(){
1505if(!Cookies.get('_fbp')){
1506Cookies.set('_fbp','fb.1.'+currentTimeInSeconds+'.'+randomNum,  { expires: expires })
1507}
1508if(getUrlParameter('fbclid')&&!Cookies.get('_fbc')){
1509Cookies.set('_fbc', 'fb.1.'+currentTimeInSeconds+'.'+getUrlParameter('fbclid'),  { expires: expires })
1510}
1511jQuery.ajax({
1512type: 'POST',
1513url: options.ajaxUrl,
1514data: json,
1515headers: {
1516'Cache-Control': 'no-cache'
1517},
1518success: function(){},
1519});
1520},timeoutDelay)
1521}else{
1522jQuery.ajax({
1523type: 'POST',
1524url: options.ajaxUrl,
1525data: json,
1526headers: {
1527'Cache-Control': 'no-cache'
1528},
1529success: function(){},
1530});
1531}}
1532if(event.e_id!=="automatic_event_signup"&&name=="CompleteRegistration"&&options.facebook.wooCRSendFromServer){
1533return;
1534}}
1535}
1536if(options.debug){
1537console.log('[Facebook] ' + name, params,"pixel_ids",ids,"eventID",event.eventID);
1538}
1539ids.forEach(function (pixelId){
1540var args={};
1541if(options.facebook.serverApiEnabled&&event.hasOwnProperty('eventID')){
1542args.eventID=pixelId+event.eventID;
1543}
1544Facebook.maybeInitPixel(pixelId);
1545fbq(actionType,pixelId, name, params,args);
1546});
1547}
1548return {
1549tag: function(){
1550return "facebook";
1551},
1552isEnabled: function (){
1553return options.hasOwnProperty('facebook');
1554},
1555initEventIdCookies: function (key){
1556var ids={};
1557ids[key]=pys_generate_token(36)
1558Cookies.set('pys_fb_event_id', JSON.stringify(ids));
1559},
1560updateEventId:function(key){
1561var cooData=Cookies.get("pys_fb_event_id")
1562if(cooData===undefined){
1563this.initEventIdCookies(key);
1564}else{
1565var data=JSON.parse(cooData);
1566data[key]=pys_generate_token(36);
1567Cookies.set('pys_fb_event_id', JSON.stringify(data));
1568}},
1569getEventId:function (key){
1570var data=Cookies.get("pys_fb_event_id");
1571if(data===undefined){
1572this.initEventIdCookies(key);
1573data=Cookies.get("pys_fb_event_id");
1574}
1575return JSON.parse(data)[key];
1576},
1577disable: function (){
1578initialized=false;
1579},
1580loadPixel: function (){
1581if(initialized||!this.isEnabled()||!Utils.consentGiven('facebook')){
1582return;
1583}
1584! function (f, b, e, v, n, t, s){
1585if(f.fbq) return;
1586n=f.fbq=function (){
1587n.callMethod ?
1588n.callMethod.apply(n, arguments):n.queue.push(arguments)
1589};
1590if(!f._fbq) f._fbq=n;
1591n.push=n;
1592n.loaded = !0;
1593n.version='2.0';
1594n.agent='dvpixelyoursite';
1595n.queue=[];
1596t=b.createElement(e);
1597t.async = !0;
1598t.src=v;
1599s=b.getElementsByTagName(e)[0];
1600s.parentNode.insertBefore(t, s)
1601}(window,
1602document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
1603options.facebook.pixelIds.forEach(function (pixelId){
1604Facebook.maybeInitPixel(pixelId);
1605});
1606initialized=true;
1607Utils.fireStaticEvents('facebook');
1608},
1609advancedMatching: function (){
1610if(options.facebook.advancedMatchingEnabled){
1611let advancedMatchingForm=Utils.getAdvancedFormData();
1612let advancedMatching={};
1613if(Object.keys(options.facebook.advancedMatching).length > 0){
1614advancedMatching=options.facebook.advancedMatching;
1615}
1616if(!advancedMatching.hasOwnProperty("em")
1617&& advancedMatchingForm.hasOwnProperty("email")&&advancedMatchingForm["email"].length > 0){
1618advancedMatching["em"]=advancedMatchingForm["email"];
1619}
1620if(!advancedMatching.hasOwnProperty("ph")
1621&& advancedMatchingForm.hasOwnProperty("phone")&&advancedMatchingForm["phone"].length > 0){
1622advancedMatching["ph"]=advancedMatchingForm["phone"];
1623}
1624if(!advancedMatching.hasOwnProperty("fn")
1625&& advancedMatchingForm.hasOwnProperty("first_name")&&advancedMatchingForm["first_name"].length > 0){
1626advancedMatching["fn"]=advancedMatchingForm["first_name"];
1627}
1628if(!advancedMatching.hasOwnProperty("ln")
1629&& advancedMatchingForm.hasOwnProperty("last_name")&&advancedMatchingForm["last_name"].length > 0){
1630advancedMatching["ln"]=advancedMatchingForm["last_name"];
1631}
1632if(Object.keys(advancedMatching).length > 0){
1633return advancedMatching;
1634}}
1635return false
1636},
1637maybeInitPixel: function(pixelId){
1638if(configuredPixels.includes(pixelId)) return;
1639if(options.facebook.removeMetadata){
1640fbq('set', 'autoConfig', false, pixelId);
1641}
1642let advancedMatching=Facebook.advancedMatching();
1643if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){
1644if(!advancedMatching){
1645fbq('init', pixelId);
1646}else{
1647var cs_advanced_matching=Cookies.get('cs_enabled_advanced_matching'+test_prefix);
1648if(jQuery('#cs_enabled_advanced_matching'+test_prefix).length > 0){
1649if(cs_advanced_matching=='yes'){
1650fbq('init', pixelId, advancedMatching);
1651}else{
1652fbq('init', pixelId);
1653}}else{
1654fbq('init', pixelId, advancedMatching);
1655}}
1656}else{
1657if(!advancedMatching){
1658fbq('init', pixelId);
1659}else{
1660fbq('init', pixelId, advancedMatching);
1661}}
1662configuredPixels.push(pixelId);
1663},
1664fireEvent: function (name, data){
1665if(!initialized||!this.isEnabled()){
1666return false;
1667}
1668data.delay=data.delay||0;
1669data.params=data.params||{};
1670if(data.delay===0){
1671fireEvent(name, data);
1672}else{
1673setTimeout(function (name, params){
1674fireEvent(name, params);
1675}, data.delay * 1000, name, data);
1676}
1677return true;
1678},
1679onAdSenseEvent: function (event){
1680this.fireEvent(event.name, event);
1681},
1682onClickEvent: function (event){
1683this.fireEvent(event.name, event);
1684},
1685onWatchVideo: function (event){
1686this.fireEvent(event.name, event);
1687},
1688onCommentEvent: function (event){
1689this.fireEvent(event.name, event);
1690},
1691onFormEvent: function (event){
1692this.fireEvent(event.name, event);
1693},
1694onDownloadEvent: function (event){
1695this.fireEvent(event.name, event);
1696},
1697onWooAddToCartOnButtonEvent: function (product_id){
1698if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1699return;
1700if(window.pysWooProductData.hasOwnProperty(product_id)){
1701if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){
1702var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()])
1703Utils.copyProperties(window.pysWooProductData[product_id]['facebook']['params'], event.params)
1704event.pixelIds=window.pysWooProductData[product_id]['facebook']['pixelIds'];
1705this.fireEvent(event.name, event);
1706}}
1707},
1708onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){
1709window.pysWooProductData=window.pysWooProductData||[];
1710if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1711return;
1712if(product_type===Utils.PRODUCT_VARIABLE&&!options.facebook.wooVariableAsSimple){
1713product_id=parseInt($form.find('input[name="variation_id"]').val());
1714}
1715if(window.pysWooProductData.hasOwnProperty(product_id)){
1716if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){
1717var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click.facebook);
1718Utils.copyProperties(window.pysWooProductData[product_id]['facebook']['params'], event.params);
1719var groupValue=0;
1720if(product_type===Utils.PRODUCT_GROUPED){
1721$form.find(".woocommerce-grouped-product-list .qty").each(function(index){
1722var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
1723var quantity=parseInt($(this).val());
1724if(isNaN(quantity)){
1725quantity=0;
1726}
1727var childItem=window.pysWooProductData[product_id]['facebook'].grouped[childId];
1728if(quantity==0){
1729event.params.content_ids.forEach(function(el,index,array){
1730if(el==childItem.content_id){
1731array.splice(index, 1);
1732}});
1733}
1734if(event.params.hasOwnProperty('contents')){
1735event.params.contents.forEach(function(el,index,array){
1736if(el.id==childItem.content_id){
1737if(quantity > 0){
1738el.quantity=quantity;
1739}else{
1740array.splice(index, 1);
1741}}
1742});
1743}
1744groupValue +=childItem.price * quantity;
1745});
1746if(groupValue==0) return;
1747}
1748if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){
1749if(product_type===Utils.PRODUCT_GROUPED){
1750event.params.value=groupValue;
1751}else if(product_type===Utils.PRODUCT_BUNDLE){
1752var data=$(".bundle_form .bundle_data").data("bundle_form_data");
1753var items_sum=getBundlePriceOnSingleProduct(data);
1754event.params.value=(parseFloat(data.base_price) + items_sum)* qty;
1755}else{
1756event.params.value=event.params.value * qty;
1757}}
1758if(event.params.hasOwnProperty('contents')&&product_type!==Utils.PRODUCT_GROUPED){
1759event.params.contents[0].quantity=qty;
1760}
1761var event_name=is_external ? options.woo.affiliateEventName:event.name;
1762this.fireEvent(event_name, event);
1763}}
1764},
1765onWooRemoveFromCartEvent: function (event){
1766this.fireEvent(event.name, event);
1767},
1768onWooAffiliateEvent: function (product_id){
1769if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag()))
1770return;
1771var event=Utils.clone(options.dynamicEvents.woo_affiliate[this.tag()]);
1772if(window.pysWooProductData.hasOwnProperty(product_id)){
1773if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){
1774Utils.copyProperties(window.pysWooProductData[product_id][this.tag()].params, event.params)
1775this.fireEvent(options.woo.affiliateEventName, event);
1776}}
1777},
1778onWooPayPalEvent: function (event){
1779this.fireEvent(event.name, event);
1780},
1781onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
1782if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
1783return;
1784var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
1785if(window.pysEddProductData.hasOwnProperty(download_id)){
1786var index;
1787if(price_index){
1788index=download_id + '_' + price_index;
1789}else{
1790index=download_id;
1791}
1792if(window.pysEddProductData[download_id].hasOwnProperty(index)){
1793if(window.pysEddProductData[download_id][index].hasOwnProperty('facebook')){
1794Utils.copyProperties(window.pysEddProductData[download_id][index]['facebook']["params"], event.params)
1795if(options.edd.addToCartOnButtonValueEnabled&&options.edd.addToCartOnButtonValueOption!=='global'){
1796event.params.value=event.params.value * qty;
1797}
1798var contents=event.params.contents;
1799contents[0].quantity=qty;
1800event.params.contents=JSON.stringify(contents);
1801this.fireEvent(event.name,event);
1802}}
1803}},
1804onEddRemoveFromCartEvent: function (event){
1805this.fireEvent(event.name, event);
1806},
1807onPageScroll: function (event){
1808this.fireEvent(event.name, event);
1809},
1810onTime: function (event){
1811this.fireEvent(event.name, event);
1812},
1813};}(options);
1814var Analytics=function (options){
1815var initialized=false;
1816function fireEvent(name, data){
1817if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'ga')){
1818return;
1819}
1820var eventParams=Utils.copyProperties(data.params, {});
1821Utils.copyProperties(Utils.getRequestParams(), eventParams);
1822var _fireEvent=function (tracking_id,name,params){
1823params['send_to']=tracking_id;
1824if(options.debug){
1825console.log('[Google Analytics #' + tracking_id + '] ' + name, params);
1826}
1827gtag('event', name, params);
1828};
1829data.trackingIds.forEach(function (tracking_id){
1830var copyParams=Utils.copyProperties(eventParams, {});
1831var params=mapParamsTov4(tracking_id,name,copyParams)
1832_fireEvent(tracking_id, name, params);
1833});
1834}
1835function normalizeEventName(eventName){
1836var matches={
1837ViewContent: 'view_item',
1838AddToCart: 'add_to_cart',
1839AddToWishList: 'add_to_wishlist',
1840InitiateCheckout: 'begin_checkout',
1841Purchase: 'purchase',
1842Lead: 'generate_lead',
1843CompleteRegistration: 'sign_up',
1844AddPaymentInfo: 'set_checkout_option'
1845};
1846return matches.hasOwnProperty(eventName) ? matches[eventName]:eventName;
1847}
1848function mapParamsTov4(tag,name,param){
1849delete param.page_title;
1850delete param.event_url;
1851delete param.landing_page;
1852if(isv4(tag)){
1853delete param.traffic_source;
1854delete param.event_category;
1855delete param.event_label;
1856delete param.ecomm_prodid;
1857delete param.ecomm_pagetype;
1858delete param.ecomm_totalvalue;
1859if(name==='search'){
1860param['search']=param.search_term;
1861delete param.search_term;
1862delete param.non_interaction;
1863delete param.dynx_itemid;
1864delete param.dynx_pagetype;
1865delete param.dynx_totalvalue;
1866}}else{
1867switch (name){
1868case 'OutboundClick':
1869case 'InternalClick': {
1870let params={
1871event_category: "Key Actions",
1872event_action: name,
1873non_interaction: param.non_interaction,
1874}
1875if(param.hasOwnProperty("target_url")){
1876params['event_label']=param.target_url
1877}
1878if(options.trackTrafficSource){
1879params['traffic_source']=param.traffic_source
1880}
1881return params;
1882}
1883case 'AdSense' :
1884case 'Comment' :
1885case 'login' :
1886case 'sign_up' :
1887case 'EmailClick' :
1888case 'TelClick':{
1889let params={
1890event_category: "Key Actions",
1891event_action: name,
1892non_interaction: param.non_interaction,
1893}
1894return params;
1895}
1896case 'Form':{
1897let params={
1898event_category: "Key Actions",
1899event_action: name,
1900non_interaction: param.non_interaction,
1901}
1902var formClass=(typeof param.form_class!='undefined') ? 'class: ' + param.form_class:'';
1903if(formClass!=""){
1904params["event_label"]=formClass;
1905}
1906return params;
1907}
1908case 'Download':{
1909let params={
1910event_category: "Key Actions",
1911event_action: name,
1912event_label: param.download_name,
1913non_interaction: param.non_interaction,
1914}
1915return params;
1916}
1917case 'TimeOnPage' :
1918case 'PageScroll':{
1919let params={
1920event_category: "Key Actions",
1921event_action: name,
1922event_label: document.title,
1923non_interaction: param.non_interaction,
1924}
1925return params;
1926}
1927case 'search':{
1928let params={
1929event_category: "Key Actions",
1930event_action: name,
1931event_label: param.search_term,
1932non_interaction: param.non_interaction,
1933}
1934return params;
1935}}
1936delete param.post_type;
1937delete param.post_id;
1938delete param.plugin;
1939delete param.user_role;
1940delete param.cartlows;
1941delete param.cartflows_flow;
1942delete param.cartflows_step;
1943}
1944return param;
1945}
1946function isv4(tag){
1947return tag.indexOf('G')===0;
1948}
1949return {
1950tag: function(){
1951return "ga";
1952},
1953isEnabled: function (){
1954return options.hasOwnProperty('ga');
1955},
1956disable: function (){
1957initialized=false;
1958},
1959loadPixel: function (){
1960if(initialized||!this.isEnabled()||!Utils.consentGiven('analytics')){
1961return;
1962}
1963Utils.loadGoogleTag(options.ga.trackingIds[0]);
1964var cd={
1965'dimension1': 'event_hour',
1966'dimension2': 'event_day',
1967'dimension3': 'event_month'
1968};
1969if(options.ga.retargetingLogic==='ecomm'){
1970cd.dimension4='ecomm_prodid';
1971cd.dimension5='ecomm_pagetype';
1972cd.dimension6='ecomm_totalvalue';
1973}else{
1974cd.dimension4='dynx_itemid';
1975cd.dimension5='dynx_pagetype';
1976cd.dimension6='dynx_totalvalue';
1977}
1978var config={
1979'link_attribution': options.ga.enhanceLinkAttr,
1980'anonymize_ip': options.ga.anonimizeIP,
1981'custom_map': cd
1982};
1983if(options.user_id&&options.user_id!=0){
1984config.user_id=options.user_id;
1985}
1986if(options.ga.crossDomainEnabled){
1987config.linker={
1988accept_incoming: options.ga.crossDomainAcceptIncoming,
1989domains: options.ga.crossDomainDomains
1990};}
1991options.ga.trackingIds.forEach(function (trackingId,index){
1992if(options.ga.isDebugEnabled.includes("index_"+index)){
1993config.debug_mode=true;
1994}else{
1995config.debug_mode=false;
1996}
1997if(isv4(trackingId)){
1998if(options.ga.disableAdvertisingFeatures){
1999config.allow_google_signals=false
2000}
2001if(options.ga.disableAdvertisingPersonalization){
2002config.allow_ad_personalization_signals=false
2003}}
2004if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){
2005var cookiebot_consent_category=options.gdpr['cookiebot_analytics_consent_category'];
2006if(options.gdpr['analytics_prior_consent_enabled']){
2007if(Cookiebot.consented===true&&Cookiebot.consent[cookiebot_consent_category]){
2008gtag('config', trackingId, config);
2009}}else{
2010if(Cookiebot.consent[cookiebot_consent_category]){
2011gtag('config', trackingId, config);
2012}}
2013}else{
2014gtag('config', trackingId, config);
2015}});
2016initialized=true;
2017Utils.fireStaticEvents('ga');
2018$(document).trigger("analytics_initialized")
2019},
2020fireEvent: function (name, data){
2021if(!initialized||!this.isEnabled()){
2022return false;
2023}
2024data.delay=data.delay||0;
2025data.params=data.params||{};
2026if(data.delay===0){
2027fireEvent(name, data);
2028}else{
2029setTimeout(function (name, params){
2030fireEvent(name, params);
2031}, data.delay * 1000, name, data);
2032}
2033return true;
2034},
2035onAdSenseEvent: function (event){
2036this.fireEvent(event.name, event);
2037},
2038onClickEvent: function (event){
2039this.fireEvent(event.name, event);
2040},
2041onWatchVideo: function (event){
2042if(!event.hasOwnProperty("youtube_disabled")
2043|| !event.youtube_disabled
2044|| event.params.video_type!=="youtube"){
2045this.fireEvent(event.name, event);
2046}},
2047onCommentEvent: function (event){
2048this.fireEvent(event.name, event);
2049},
2050onFormEvent: function (event){
2051this.fireEvent(event.name, event);
2052},
2053onDownloadEvent: function (event){
2054this.fireEvent(event.name, event);
2055},
2056onWooAddToCartOnButtonEvent: function (product_id){
2057if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2058return;
2059if(window.pysWooProductData.hasOwnProperty(product_id)){
2060if(window.pysWooProductData[product_id].hasOwnProperty('ga')){
2061var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2062Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params)
2063event.trackingIds=window.pysWooProductData[product_id]['ga']['trackingIds'];
2064this.fireEvent(event.name, event);
2065}}
2066},
2067onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){
2068window.pysWooProductData=window.pysWooProductData||[];
2069if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2070return;
2071var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2072if(product_type===Utils.PRODUCT_VARIABLE&&!options.ga.wooVariableAsSimple){
2073product_id=parseInt($form.find('input[name="variation_id"]').val());
2074}
2075if(window.pysWooProductData.hasOwnProperty(product_id)){
2076if(window.pysWooProductData[product_id].hasOwnProperty('ga')){
2077Utils.copyProperties(window.pysWooProductData[product_id]['ga'].params, event.params);
2078if(product_type===Utils.PRODUCT_GROUPED){
2079var groupValue=0;
2080$form.find(".woocommerce-grouped-product-list .qty").each(function(index){
2081var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
2082var quantity=parseInt($(this).val());
2083if(isNaN(quantity)){
2084quantity=0;
2085}
2086var childItem=window.pysWooProductData[product_id]['ga'].grouped[childId];
2087event.params.items.forEach(function(el,index,array){
2088if(el.id==childItem.content_id){
2089if(quantity > 0){
2090el.quantity=quantity;
2091el.price=childItem.price;
2092}else{
2093array.splice(index, 1);
2094}}
2095});
2096groupValue +=childItem.price * quantity;
2097});
2098if(options.woo.addToCartOnButtonValueEnabled &&
2099options.woo.addToCartOnButtonValueOption!=='global' &&
2100event.params.hasOwnProperty('ecomm_totalvalue')){
2101event.params.ecomm_totalvalue=groupValue;
2102}
2103if(groupValue==0) return;
2104}else{
2105event.params.items[0].quantity=qty;
2106}
2107if(options.woo.addToCartOnButtonValueEnabled &&
2108options.woo.addToCartOnButtonValueOption!=='global' &&
2109product_type!==Utils.PRODUCT_GROUPED){
2110if(event.params.hasOwnProperty('ecomm_totalvalue')){
2111event.params.ecomm_totalvalue=event.params.items[0].price * qty;
2112}}
2113var eventName=is_external ? options.woo.affiliateEventName:event.name;
2114eventName=normalizeEventName(eventName);
2115this.fireEvent(eventName, event);
2116}}
2117},
2118onWooCheckoutProgressStep: function (event){
2119this.fireEvent(event.name, event);
2120},
2121onWooSelectContent: function (event){
2122this.fireEvent(event.name, event);
2123},
2124onWooRemoveFromCartEvent: function (event){
2125this.fireEvent(event.name, event);
2126},
2127onWooAffiliateEvent: function (product_id){
2128if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag()))
2129return;
2130var event=options.dynamicEvents.woo_affiliate[this.tag()];
2131if(window.pysWooProductData.hasOwnProperty(product_id)){
2132if(window.pysWooProductData[product_id].hasOwnProperty('ga')){
2133event=Utils.clone(event);
2134Utils.copyProperties(window.pysWooProductData[product_id][this.tag()], event.params)
2135this.fireEvent(normalizeEventName(options.woo.affiliateEventName), event);
2136}}
2137},
2138onWooPayPalEvent: function (event){
2139this.fireEvent(event.name, event);
2140},
2141onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
2142if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2143return;
2144var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);
2145if(window.pysEddProductData.hasOwnProperty(download_id)){
2146var index;
2147if(price_index){
2148index=download_id + '_' + price_index;
2149}else{
2150index=download_id;
2151}
2152if(window.pysEddProductData[download_id].hasOwnProperty(index)){
2153if(window.pysEddProductData[download_id][index].hasOwnProperty('ga')){
2154Utils.copyProperties(window.pysEddProductData[download_id][index]['ga'].params, event.params);
2155event.params.items[0].quantity=qty;
2156this.fireEvent(event.name,event);
2157}}
2158}},
2159onEddRemoveFromCartEvent: function (event){
2160this.fireEvent(event.name, event);
2161},
2162onPageScroll: function (event){
2163if(initialized&&this.isEnabled()){
2164this.fireEvent(event.name, event);
2165}},
2166onTime: function (event){
2167if(initialized&&this.isEnabled()){
2168this.fireEvent(event.name, event);
2169}},
2170};}(options);
2171var GAds=function (options){
2172var initialized=false;
2173var isAllowEnhancedConversions=false
2174function fireEvent(name, data){
2175if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(event_name,'google_ads')){
2176return;
2177}
2178var _params=Utils.copyProperties(data.params,{});
2179var ids=data.ids;
2180var conversion_labels=data.conversion_labels;
2181Utils.copyProperties(Utils.getRequestParams(), _params);
2182var _fireEvent=function (conversion_id,event_name){
2183params=Utils.copyProperties(_params, { send_to: conversion_id });
2184if("conversion"===event_name){
2185delete params.items;
2186delete params.ecomm_pagetype;
2187delete params.ecomm_prodid;
2188delete params.ecomm_totalvalue;
2189}
2190if(options.debug){
2191console.log('[Google Ads #' + conversion_id + '] ' + event_name, params);
2192}
2193gtag('event', event_name, params);
2194};
2195if(conversion_labels.length > 0){
2196conversion_labels.forEach(function (conversion_id){
2197_fireEvent(conversion_id,name);
2198});
2199}else{
2200data.conversion_ids.forEach(function (conversion_id){
2201_fireEvent(conversion_id,name);
2202});
2203if(ids.length){
2204ids.forEach(function (conversion_id){
2205_fireEvent(conversion_id,"conversion");
2206});
2207}}
2208}
2209function normalizeEventName(eventName){
2210var matches={
2211ViewContent: 'view_item',
2212AddToCart: 'add_to_cart',
2213AddToWishList: 'add_to_wishlist',
2214InitiateCheckout: 'begin_checkout',
2215Purchase: 'purchase',
2216Lead: 'generate_lead',
2217CompleteRegistration: 'sign_up',
2218AddPaymentInfo: 'set_checkout_option'
2219};
2220return matches.hasOwnProperty(eventName) ? matches[eventName]:eventName;
2221}
2222return {
2223tag: function(){
2224return "google_ads";
2225},
2226isEnabled: function (){
2227return options.hasOwnProperty('google_ads');
2228},
2229disable: function (){
2230initialized=false;
2231},
2232updateEnhancedConversionData:function (){
2233if(isAllowEnhancedConversions){
2234var advanced=Utils.getAdvancedFormData()
2235if(Object.keys(options.google_ads.user_data).length==0){
2236if(advanced["email"].length > 0){
2237gtag('set', 'user_data', {"email":advanced["email"]});
2238}}
2239}},
2240loadPixel: function (){
2241if(initialized||!this.isEnabled()||!Utils.consentGiven('google_ads')){
2242return;
2243}
2244Utils.loadGoogleTag(options.google_ads.conversion_ids[0]);
2245options.google_ads.conversion_ids.forEach(function (conversion_id,index){
2246gtag('config', conversion_id);
2247if(options.google_ads.enhanced_conversion.includes("index_"+index)){
2248isAllowEnhancedConversions=true
2249gtag('config', conversion_id,{ 'allow_enhanced_conversions':true });
2250}
2251if(isAllowEnhancedConversions){
2252var advanced=Utils.getAdvancedFormData()
2253if(Object.keys(options.google_ads.user_data).length > 0){
2254gtag('set', 'user_data', options.google_ads.user_data);
2255}else if(advanced["email"].length > 0){
2256gtag('set', 'user_data', {"email":advanced["email"]});
2257}}
2258});
2259initialized=true;
2260Utils.fireStaticEvents('google_ads');
2261},
2262fireEvent: function (name, data){
2263if(!initialized||!this.isEnabled()){
2264return false;
2265}
2266data.delay=data.delay||0;
2267data.params=data.params||{};
2268data.ids=data.ids||[];
2269data.conversion_labels=data.conversion_labels||[];
2270if(data.delay===0){
2271fireEvent(name, data);
2272}else{
2273setTimeout(function (name, data){
2274fireEvent(name, data);
2275}, data.delay * 1000, name, data);
2276}
2277return true;
2278},
2279onAdSenseEvent: function (event){
2280this.fireEvent(event.name, event);
2281},
2282onClickEvent: function (action, params){
2283},
2284onWatchVideo: function (event){
2285this.fireEvent(event.name, event);
2286},
2287onCommentEvent: function (event){
2288this.fireEvent(event.name, event);
2289},
2290onFormEvent: function (event){
2291this.fireEvent(event.name, event);
2292},
2293onDownloadEvent: function (event){
2294this.fireEvent(event.name, event);
2295},
2296onWooAddToCartOnButtonEvent: function (product_id){
2297if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2298return;
2299if(window.pysWooProductData.hasOwnProperty(product_id)){
2300if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){
2301var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()])
2302Utils.copyProperties(window.pysWooProductData[product_id]['google_ads']['params'].params, event.params)
2303event["ids"]=window.pysWooProductData[product_id]['google_ads']['ids']
2304event["conversion_labels"]=window.pysWooProductData[product_id]['google_ads']['conversion_labels']
2305this.fireEvent(event.name, event);
2306}}
2307},
2308onWooAddToCartOnSingleEvent: function (product_id, qty, product_type, is_external, $form){
2309window.pysWooProductData=window.pysWooProductData||[];
2310if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2311return;
2312var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);
2313if(product_type===Utils.PRODUCT_VARIABLE&&!options.google_ads.wooVariableAsSimple){
2314product_id=parseInt($form.find('input[name="variation_id"]').val());
2315}
2316if(window.pysWooProductData.hasOwnProperty(product_id)){
2317if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){
2318Utils.copyProperties(window.pysWooProductData[product_id]['google_ads']["params"], event.params);
2319event["ids"]=window.pysWooProductData[product_id]['google_ads']['ids']
2320event["conversion_labels"]=window.pysWooProductData[product_id]['google_ads']['conversion_labels']
2321var groupValue=0;
2322if(product_type===Utils.PRODUCT_GROUPED){
2323$form.find(".woocommerce-grouped-product-list .qty").each(function(index){
2324var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");
2325var quantity=parseInt($(this).val());
2326if(isNaN(quantity)){
2327quantity=0;
2328}
2329var childItem=window.pysWooProductData[product_id]['google_ads'].grouped[childId];
2330if(options.woo.addToCartOnButtonValueEnabled &&
2331options.woo.addToCartOnButtonValueOption!=='global'){
2332event.params.items.forEach(function(el,index,array){
2333if(el.id==childItem.content_id){
2334if(quantity > 0){
2335el.quantity=quantity;
2336el.price=childItem.price;
2337}else{
2338array.splice(index, 1);
2339}}
2340});
2341}
2342groupValue +=childItem.price * quantity;
2343});
2344if(groupValue==0) return;
2345event.params.value=groupValue;
2346}else{
2347event.params.items[0].quantity=qty;
2348}
2349if(options.woo.addToCartOnButtonValueEnabled &&
2350options.woo.addToCartOnButtonValueOption!=='global' &&
2351product_type!==Utils.PRODUCT_GROUPED){
2352event.params.value=event.params.value * qty;
2353}
2354var eventName=is_external ? options.woo.affiliateEventName:event.name;
2355eventName=normalizeEventName(eventName);
2356this.fireEvent(eventName, event);
2357}}
2358},
2359onWooRemoveFromCartEvent: function (event){
2360this.fireEvent(event.name, event);
2361},
2362onWooAffiliateEvent: function (product_id){
2363if(!options.dynamicEvents.woo_affiliate.hasOwnProperty(this.tag()))
2364return;
2365var event=options.dynamicEvents.woo_affiliate[this.tag()];
2366if(window.pysWooProductData.hasOwnProperty(product_id)){
2367if(window.pysWooProductData[product_id].hasOwnProperty('google_ads')){
2368event=Utils.clone(event)
2369Utils.copyProperties(window.pysWooProductData[product_id][this.tag()], event.params)
2370this.fireEvent(normalizeEventName(options.woo.affiliateEventName), event);
2371}}
2372},
2373onWooPayPalEvent: function (event){
2374this.fireEvent(event.name, event);
2375},
2376onEddAddToCartOnButtonEvent: function (download_id, price_index, qty){
2377if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag()))
2378return;
2379var event=options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()];
2380if(window.pysEddProductData.hasOwnProperty(download_id)){
2381var index;
2382if(price_index){
2383index=download_id + '_' + price_index;
2384}else{
2385index=download_id;
2386}
2387if(window.pysEddProductData[download_id].hasOwnProperty(index)){
2388if(window.pysEddProductData[download_id][index].hasOwnProperty('google_ads')){
2389event=Utils.clone(event)
2390Utils.copyProperties(window.pysEddProductData[download_id][index]['google_ads']['params'], event.params);
2391event.ids=window.pysEddProductData[download_id][index]['google_ads']['ids']
2392this.fireEvent(event.name, event);
2393}}
2394}},
2395onEddRemoveFromCartEvent: function (event){
2396this.fireEvent(event.name, event);
2397},
2398onPageScroll: function (event){
2399if(initialized&&this.isEnabled()){
2400this.fireEvent(event.name, event);
2401}},
2402onTime: function (event){
2403if(initialized&&this.isEnabled()){
2404this.fireEvent(event.name, event);
2405}},
2406};}(options);
2407window.pys=window.pys||{};
2408window.pys.Facebook=Facebook;
2409window.pys.Analytics=Analytics;
2410window.pys.GAds=GAds;
2411window.pys.Utils=Utils;
2412window.pys.TikTok=TikTok;
2413$(document).ready(function (){
2414if($("#pys_late_event").length > 0){
2415var events=JSON.parse($("#pys_late_event").attr("dir"));
2416for(var key in events){
2417var event={};
2418event[events[key].e_id]=[events[key]];
2419if(options.staticEvents.hasOwnProperty(key)){
2420Object.assign(options.staticEvents[key], event);
2421}else{
2422options.staticEvents[key]=event;
2423}}
2424}
2425var Pinterest=Utils.setupPinterestObject();
2426var Bing=Utils.setupBingObject();
2427if((options.woo.enabled||options.edd.enabled)&&(options.woo.enabled_save_data_to_orders||options.edd.enabled_save_data_to_orders)){
2428Utils.manageCookies();
2429}else{
2430Cookies.remove('pys_first_visit')
2431Cookies.remove('pysTrafficSource')
2432Cookies.remove('pys_landing_page')
2433Cookies.remove('last_pys_landing_page')
2434Cookies.remove('last_pysTrafficSource')
2435Cookies.remove('pys_start_session')
2436Cookies.remove('pys_session_limit')
2437$.each(Utils.utmTerms, function (index, name){
2438Cookies.remove('pys_' + name)
2439});
2440$.each(Utils.utmId,function(index,name){
2441Cookies.remove('pys_' + name)
2442})
2443$.each(Utils.utmTerms, function (index, name){
2444Cookies.remove('last_pys_' + name)
2445});
2446$.each(Utils.utmId,function(index,name){
2447Cookies.remove('last_pys_' + name)
2448});
2449}
2450Utils.initializeRequestParams();
2451Utils.setupGdprCallbacks();
2452if(options.enable_auto_save_advance_matching){
2453$(document).on("blur","input[type='email']",function (){
2454let email=$(this).val().trim().toLowerCase();
2455if(Utils.validateEmail(email)){
2456Utils.saveAdvancedFormData(email,null,null,null);
2457}})
2458$(document).on("blur","input[type='tel']",function (){
2459let phone=$(this).val().trim().replace(/\D/g, "");
2460if(phone.length > 5){
2461Utils.saveAdvancedFormData(null,phone,null,null);
2462}})
2463$(document).on("blur","input[type='text']",function (){
2464let name;
2465if($(this).attr("name")&&$(this).attr("name")!=''){
2466name=$(this).attr("name").trim()
2467}
2468if(name&&options.advance_matching_fn_names.includes(name)){
2469let value=$(this).val().trim();
2470if(value.length > 0){
2471Utils.saveAdvancedFormData(null,null,value,null);
2472}}
2473if(name&&options.advance_matching_ln_names.includes(name)){
2474let value=$(this).val().trim();
2475if(value.length > 0){
2476Utils.saveAdvancedFormData(null,null,null,value);
2477}}
2478if(name&&options.advance_matching_tel_names.includes(name)){
2479let value=$(this).val().trim();
2480if(value.length > 0){
2481Utils.saveAdvancedFormData(null,value,null,null);
2482}}
2483})
2484}
2485if(options.dynamicEvents.hasOwnProperty("automatic_event_internal_link") ||
2486options.dynamicEvents.hasOwnProperty("automatic_event_outbound_link") ||
2487options.dynamicEvents.hasOwnProperty("automatic_event_tel_link") ||
2488options.dynamicEvents.hasOwnProperty("automatic_event_email_link") ||
2489options.dynamicEvents.hasOwnProperty("automatic_event_download")
2490){
2491$(document).onFirst('click', 'a, button, input[type="button"], input[type="submit"]', function (e){
2492var $elem=$(this);
2493if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){
2494var isFired=false;
2495if($elem.is('a')){
2496var href=$elem.attr('href');
2497if(typeof href!=="string"){
2498return;
2499}
2500href=href.trim();
2501var extension=Utils.getLinkExtension(href);
2502var track_download=false;
2503if(extension.length > 0){
2504if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){
2505var pixels=Object.keys(options.dynamicEvents.automatic_event_download);
2506for (var i=0; i < pixels.length; i++){
2507var event=Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]);
2508var extensions=event.extensions;
2509if(extensions.includes(extension)){
2510if(pixels[i]=="tiktok"){
2511getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2512}else{
2513if(options.enable_remove_download_url_param){
2514href=href.split('?')[0];
2515}
2516event.params.download_url=href;
2517event.params.download_type=extension;
2518event.params.download_name=Utils.getLinkFilename(href);
2519getPixelBySlag(pixels[i]).onDownloadEvent(event);
2520}
2521isFired=true;
2522}}
2523}}
2524}
2525if(isFired){
2526return;
2527}}
2528if(!e.hasOwnProperty('originalEvent')){
2529return;
2530}
2531if($elem.hasClass("add_to_cart_button") ||
2532$elem.hasClass("single_add_to_cart_button")){
2533return;
2534}
2535if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_next_step_click")
2536&& $elem.hasClass("wcf-next-step-link")){
2537return;
2538}
2539if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_bump_click")
2540&& $elem.hasClass("wcf-bump-order-cb")){
2541return;
2542}
2543if($elem.hasClass("remove_from_cart_button")){
2544return;
2545}
2546if($elem.hasClass("remove")){
2547if($elem.parents('.cart_item').length||$elem.parents('.mini_cart_item').length)
2548return;
2549}
2550if($elem.attr("name")=="update_cart"||$elem.attr("name")=="apply_coupon"){
2551return;
2552}
2553if($elem.hasClass('pys_block')){
2554return;
2555}
2556var text="";
2557var target_url="";
2558var linkType="Internal Click";
2559if($elem.is('a')){
2560var href=$elem.attr('href');
2561if(typeof href!=="string"){
2562return;
2563}
2564href=href.trim();
2565text=$elem.text();
2566if(options.enable_remove_target_url_param){
2567target_url=href.split('?')[0];
2568}else{
2569target_url=href
2570}
2571if(href.startsWith('mailto:')){
2572if(options.dynamicEvents.hasOwnProperty("automatic_event_email_link")){
2573var pixels=Object.keys(options.dynamicEvents.automatic_event_email_link);
2574for(var i=0;i<pixels.length;i++){
2575var event=Utils.clone(options.dynamicEvents.automatic_event_email_link[pixels[i]]);
2576Utils.copyProperties(Utils.getRequestParams(), event.params);
2577getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2578}}
2579return;
2580}
2581if(href.startsWith('tel:')){
2582if(options.dynamicEvents.hasOwnProperty("automatic_event_tel_link")){
2583var pixels=Object.keys(options.dynamicEvents.automatic_event_tel_link);
2584for(var i=0;i<pixels.length;i++){
2585var event=Utils.clone(options.dynamicEvents.automatic_event_tel_link[pixels[i]]);
2586Utils.copyProperties(Utils.getRequestParams(), event.params);
2587getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2588}}
2589return;
2590}
2591if(href.startsWith('http')){
2592var host=$elem.context!=undefined ? $elem.context.host:$elem[0].host;
2593if(document.location.host!=host){
2594linkType='External Click';
2595}}
2596}else if($elem.is('button')){
2597if($elem.hasClass("forminator-button-submit")){
2598return;
2599}
2600text=$elem.text();
2601}else if($elem.is('input[type="button"]')){
2602text=$elem.val();
2603}else if($elem.is('input[type="submit"]')){
2604if($elem.parents("form.comment-form")){
2605return;
2606}
2607if($elem.parents("form")){
2608return;
2609}
2610text=$elem.val();
2611}else{
2612return;
2613}
2614text=Utils.filterEmails(text);
2615if(linkType==="Internal Click"
2616&& options.dynamicEvents.hasOwnProperty("automatic_event_internal_link")
2617){
2618var pixels=Object.keys(options.dynamicEvents.automatic_event_internal_link);
2619for(var i=0;i<pixels.length;i++){
2620var event=Utils.clone(options.dynamicEvents.automatic_event_internal_link[pixels[i]]);
2621if(pixels[i]!=="tiktok"){
2622event.params["text"]=text;
2623if(target_url){
2624event.params["target_url"]=target_url;
2625}
2626Utils.copyProperties(Utils.getRequestParams(), event.params);
2627}
2628getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2629}}
2630if(linkType==="External Click"
2631&& options.dynamicEvents.hasOwnProperty("automatic_event_outbound_link")
2632){
2633var pixels=Object.keys(options.dynamicEvents.automatic_event_outbound_link);
2634for(var i=0;i<pixels.length;i++){
2635var event=Utils.clone(options.dynamicEvents.automatic_event_outbound_link[pixels[i]]);
2636if(pixels[i]!=="tiktok"){
2637event.params["text"]=text;
2638if(target_url){
2639event.params["target_url"]=target_url;
2640}
2641Utils.copyProperties(Utils.getRequestParams(), event.params);
2642}
2643getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2644}}
2645});
2646}
2647if(options.dynamicEvents.hasOwnProperty("automatic_event_adsense")){
2648var isOverGoogleAd=false;
2649$(document)
2650.on('mouseover', 'ins iframe', function (){
2651isOverGoogleAd=true;
2652})
2653.on('mouseout', 'iframe', function (){
2654isOverGoogleAd=false;
2655});
2656$(window)
2657.on("blur",function (){
2658if(isOverGoogleAd){
2659console.log('automatic_event_adsense')
2660if(options.dynamicEvents.hasOwnProperty("automatic_event_adsense")){
2661var pixels=Object.keys(options.dynamicEvents.automatic_event_adsense);
2662for (var i=0; i < pixels.length; i++){
2663var event=Utils.clone(options.dynamicEvents.automatic_event_adsense[pixels[i]]);
2664Utils.copyProperties(Utils.getRequestParams(), event.params);
2665getPixelBySlag(pixels[i]).onAdSenseEvent(event);
2666}}
2667$.each(options.triggerEventTypes, function (triggerType, events){
2668$.each(events, function (eventId, triggers){
2669switch (triggerType){
2670case 'ad_sense_click':
2671Utils.fireTriggerEvent(eventId);
2672break;
2673}});
2674});
2675}})
2676.trigger("focus");
2677}
2678var dynamicAdsenseEventsTriggers=0
2679$.each(options.triggerEventTypes, function (triggerType, events){
2680if(triggerType=="ad_sense_click"){
2681dynamicAdsenseEventsTriggers++;
2682}});
2683if(dynamicAdsenseEventsTriggers > 0){
2684var isOverGoogleAd=false;
2685$(document)
2686.on('mouseover', 'ins > ins > iframe', function (){
2687isOverGoogleAd=true;
2688})
2689.on('mouseout', 'iframe', function (){
2690isOverGoogleAd=false;
2691});
2692$(window)
2693.on("blur",function (){
2694if(isOverGoogleAd){
2695$.each(options.triggerEventTypes, function (triggerType, events){
2696$.each(events, function (eventId, triggers){
2697switch (triggerType){
2698case 'ad_sense_click':
2699Utils.fireTriggerEvent(eventId);
2700break;
2701}});
2702});
2703}})
2704.trigger("focus");
2705}
2706if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")
2707){
2708var singlePageScroll=function (){
2709var docHeight=$(document).height() - $(window).height();
2710var isFired=false;
2711if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")){
2712var pixels=Object.keys(options.dynamicEvents.automatic_event_scroll);
2713for(var i=0;i<pixels.length;i++){
2714var event=Utils.clone(options.dynamicEvents.automatic_event_scroll[pixels[i]]);
2715var scroll=Math.round(docHeight * event.scroll_percent / 100)
2716if(scroll < $(window).scrollTop()){
2717Utils.copyProperties(Utils.getRequestParams(), event.params);
2718getPixelBySlag(pixels[i]).onPageScroll(event);
2719isFired=true
2720}}
2721}
2722if(isFired){
2723$(document).off("scroll",singlePageScroll);
2724}}
2725$(document).on("scroll",singlePageScroll);
2726}
2727if(options.dynamicEvents.hasOwnProperty("automatic_event_time_on_page")){
2728var pixels=Object.keys(options.dynamicEvents.automatic_event_time_on_page);
2729var time=options.dynamicEvents.automatic_event_time_on_page[pixels[0]].time_on_page;
2730setTimeout(function(){
2731for(var i=0;i<pixels.length;i++){
2732var event=Utils.clone(options.dynamicEvents.automatic_event_time_on_page[pixels[i]]);
2733Utils.copyProperties(Utils.getRequestParams(), event.params);
2734getPixelBySlag(pixels[i]).onTime(event);
2735}},time*1000);
2736}
2737$.each(options.triggerEventTypes, function (triggerType, events){
2738$.each(events, function (eventId, triggers){
2739switch (triggerType){
2740case 'url_click':
2741break;
2742case 'css_click':
2743Utils.setupCSSClickEvents(eventId, triggers);
2744break;
2745case 'css_mouseover':
2746Utils.setupMouseOverClickEvents(eventId, triggers);
2747break;
2748case 'scroll_pos':
2749Utils.setupScrollPosEvents(eventId, triggers);
2750break;
2751case 'comment':
2752Utils.setupCommentEvents(eventId, triggers);
2753break;
2754}});
2755});
2756if(options.woo.enabled){
2757if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_next_step_click")){
2758$("body").on("click",'.wcf-next-step-link',function (){
2759var pixels=Object.keys(options.dynamicEvents.wcf_add_to_cart_on_next_step_click);
2760for(var i=0;i<pixels.length;i++){
2761var event=Utils.clone(options.dynamicEvents.wcf_add_to_cart_on_next_step_click[pixels[i]])
2762getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2763}});
2764}
2765if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_bump_click") ||
2766options.dynamicEvents.hasOwnProperty("wcf_bump")){
2767$("body").on('change','.wcf-bump-order-cb',function (){
2768if(this.checked){
2769if(options.dynamicEvents.hasOwnProperty("wcf_add_to_cart_on_bump_click")){
2770var pixels=Object.keys(options.dynamicEvents.wcf_add_to_cart_on_bump_click);
2771for(var i=0;i<pixels.length;i++){
2772var event=Utils.clone(options.dynamicEvents.wcf_add_to_cart_on_bump_click[pixels[i]]);
2773getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2774}}
2775if(options.dynamicEvents.hasOwnProperty("wcf_bump")){
2776var pixels=Object.keys(options.dynamicEvents.wcf_bump);
2777for(var i=0;i<pixels.length;i++){
2778var event=Utils.clone(options.dynamicEvents.wcf_bump[pixels[i]]);
2779getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2780}}
2781}else{
2782if(options.dynamicEvents.hasOwnProperty("wcf_remove_from_cart_on_bump_click")){
2783var pixels=Object.keys(options.dynamicEvents.wcf_remove_from_cart_on_bump_click);
2784for(var i=0;i<pixels.length;i++){
2785var event=Utils.clone(options.dynamicEvents.wcf_remove_from_cart_on_bump_click[pixels[i]]);
2786getPixelBySlag(pixels[i]).fireEvent(event.name, event);
2787}}
2788}});
2789}
2790if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")
2791&& options.woo.hasOwnProperty("addToCartCatchMethod")
2792&& options.woo.addToCartCatchMethod==="add_cart_js"
2793){
2794$('.add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)').on("click",function (e){
2795var product_id=$(this).data('product_id');
2796if(typeof product_id!=='undefined'){
2797Facebook.onWooAddToCartOnButtonEvent(product_id,$(this));
2798Analytics.onWooAddToCartOnButtonEvent(product_id);
2799GAds.onWooAddToCartOnButtonEvent(product_id);
2800Pinterest.onWooAddToCartOnButtonEvent(product_id);
2801Bing.onWooAddToCartOnButtonEvent(product_id);
2802TikTok.onWooAddToCartOnButtonEvent(product_id);
2803}});
2804$('body').onFirst('click','button.single_add_to_cart_button,.single_add_to_cart_button',function (e){
2805var $button=$(this);
2806if($button.hasClass('disabled')){
2807return;
2808}
2809var $form=$button.closest('form');
2810var product_type=Utils.PRODUCT_SIMPLE;
2811var is_external=false;
2812if($form.length===0){
2813is_external=true;
2814}else if($form.hasClass('variations_form')){
2815product_type=Utils.PRODUCT_VARIABLE;
2816}else if($form.hasClass('bundle_form')){
2817product_type=Utils.PRODUCT_BUNDLE;
2818}else if($form.hasClass('grouped_form')){
2819product_type=Utils.PRODUCT_GROUPED;
2820}
2821var product_id;
2822var qty;
2823if(product_type===Utils.PRODUCT_GROUPED){
2824qty=1;
2825product_id=parseInt($form.find('*[name="add-to-cart"]').val());
2826}else if(product_type===Utils.PRODUCT_VARIABLE){
2827product_id=parseInt($form.find('*[name="add-to-cart"]').val());
2828var qtyTag=$form.find('input[name="quantity"]');
2829if(qtyTag.length <=0){
2830qtyTag=$form.find('select[name="quantity"]');
2831}
2832qty=parseInt(qtyTag.val());
2833}else if(is_external){
2834product_id=options.woo.singleProductId;
2835qty=1;
2836}else{
2837product_id=parseInt($form.find('*[name="add-to-cart"]').val());
2838var qtyTag=$form.find('input[name="quantity"]');
2839if(qtyTag.length <=0){
2840qtyTag=$form.find('select[name="quantity"]');
2841}
2842qty=parseInt(qtyTag.val());
2843}
2844Facebook.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2845Analytics.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2846GAds.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2847Pinterest.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2848Bing.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2849TikTok.onWooAddToCartOnSingleEvent(product_id, qty, product_type, is_external, $form);
2850});
2851}
2852if(options.dynamicEvents.hasOwnProperty("woo_affiliate")){
2853$('.product_type_external').on("click",function (e){
2854var product_id=$(this).data('product_id');
2855if(typeof product_id!=='undefined'){
2856Facebook.onWooAffiliateEvent(product_id);
2857Analytics.onWooAffiliateEvent(product_id);
2858GAds.onWooAffiliateEvent(product_id);
2859Pinterest.onWooAffiliateEvent(product_id);
2860Bing.onWooAffiliateEvent(product_id);
2861}});
2862}
2863if(options.dynamicEvents.hasOwnProperty("woo_remove_from_cart")){
2864$('body').on('click', options.woo.removeFromCartSelector, function (e){
2865var $a=$(e.currentTarget),
2866href=$a.attr('href');
2867var regex=new RegExp("[\\?&]remove_item=([^&#]*)"),
2868results=regex.exec(href);
2869if(results!==null){
2870var item_hash=results[1];
2871if(options.dynamicEvents["woo_remove_from_cart"].hasOwnProperty(item_hash)){
2872var events=options.dynamicEvents["woo_remove_from_cart"][item_hash];
2873Utils.fireEventForAllPixel("onWooRemoveFromCartEvent",events)
2874}}
2875});
2876}
2877if(options.dynamicEvents.hasOwnProperty("woo_paypal")){
2878$(document).onFirst('submit click', '#place_order', function (e){
2879var method=$('form[name="checkout"] input[name="payment_method"]:checked').val();
2880if(method!=='paypal'){
2881return;
2882}
2883var events=options.dynamicEvents.woo_paypal;
2884Utils.fireEventForAllPixel("onWooPayPalEvent",events)
2885});
2886}
2887if(options.dynamicEvents.hasOwnProperty("woo_initiate_checkout_progress_f")){
2888$(document).on("change",".woocommerce-validated #billing_first_name",function (){
2889Analytics.onWooCheckoutProgressStep(options.dynamicEvents.woo_initiate_checkout_progress_f[Analytics.tag()]);
2890});
2891}
2892if(options.dynamicEvents.hasOwnProperty("woo_initiate_checkout_progress_l")){
2893$(document).on("change",".woocommerce-validated #billing_last_name",function (){
2894Analytics.onWooCheckoutProgressStep(options.dynamicEvents.woo_initiate_checkout_progress_l[Analytics.tag()]);
2895});
2896}
2897if(options.dynamicEvents.hasOwnProperty("woo_initiate_checkout_progress_e")){
2898$(document).on("change",".woocommerce-validated #billing_email",function (){
2899Analytics.onWooCheckoutProgressStep(options.dynamicEvents.woo_initiate_checkout_progress_e[Analytics.tag()]);
2900});
2901}
2902if(options.dynamicEvents.hasOwnProperty("woo_initiate_checkout_progress_o")){
2903$(document).onFirst('submit click', '#place_order', function (){
2904Analytics.onWooCheckoutProgressStep(options.dynamicEvents.woo_initiate_checkout_progress_o[Analytics.tag()]);
2905});
2906}
2907if(options.dynamicEvents.hasOwnProperty("woo_select_content_search") ||
2908options.dynamicEvents.hasOwnProperty("woo_select_content_shop") ||
2909options.dynamicEvents.hasOwnProperty("woo_select_content_tag") ||
2910options.dynamicEvents.hasOwnProperty("woo_select_content_single") ||
2911options.dynamicEvents.hasOwnProperty("woo_select_content_category")
2912){
2913$('.product.type-product a.woocommerce-loop-product__link').onFirst('click', function (evt){
2914var productId=$(this).parent().find("a.add_to_cart_button").attr("data-product_id");
2915if(options.dynamicEvents.hasOwnProperty("woo_select_content_search") &&
2916options.dynamicEvents.woo_select_content_search.hasOwnProperty(productId)){
2917Analytics.onWooSelectContent(options.dynamicEvents.woo_select_content_search[productId][Analytics.tag()]);
2918}else if(options.dynamicEvents.hasOwnProperty("woo_select_content_shop") &&
2919options.dynamicEvents.woo_select_content_shop.hasOwnProperty(productId)){
2920Analytics.onWooSelectContent(options.dynamicEvents.woo_select_content_shop[productId][Analytics.tag()]);
2921}else if(options.dynamicEvents.hasOwnProperty("woo_select_content_tag") &&
2922options.dynamicEvents.woo_select_content_tag.hasOwnProperty(productId)){
2923Analytics.onWooSelectContent(options.dynamicEvents.woo_select_content_tag[productId][Analytics.tag()]);
2924}else if(options.dynamicEvents.hasOwnProperty("woo_select_content_single") &&
2925options.dynamicEvents.woo_select_content_single.hasOwnProperty(productId)){
2926Analytics.onWooSelectContent(options.dynamicEvents.woo_select_content_single[productId][Analytics.tag()]);
2927}else if(options.dynamicEvents.hasOwnProperty("woo_select_content_category") &&
2928options.dynamicEvents.woo_select_content_category.hasOwnProperty(productId)){
2929Analytics.onWooSelectContent(options.dynamicEvents.woo_select_content_category[productId][Analytics.tag()]);
2930}});
2931}}
2932if(options.edd.enabled){
2933if(options.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")){
2934$('form.edd_download_purchase_form .edd-add-to-cart').on("click",function (e){
2935var $button=$(this);
2936var $form=$button.closest('form');
2937var variable_price=$button.data('variablePrice');
2938var price_mode=$button.data('priceMode');
2939var ids=[];
2940var quantities=[];
2941var qty;
2942var id;
2943if(variable_price==='yes'&&price_mode==='multi'){
2944id=$form.find('input[name="download_id"]').val();
2945$.each($form.find('input[name="edd_options[price_id][]"]:checked'), function (i, el){
2946ids.push(id + '_' + $(el).val());
2947});
2948$.each(ids, function (i, variant_id){
2949var variant_index=variant_id.split('_', 2);
2950qty=$form.find('input[name="edd_download_quantity_' + variant_index[1] + '"]').val();
2951if(typeof qty!=='undefined'){
2952quantities.push(qty);
2953}else{
2954quantities.push(1);
2955}});
2956}else if(variable_price==='yes'&&price_mode==='single'){
2957id=$form.find('input[name="download_id"]').val();
2958ids.push(id + '_' + $form.find('input[name="edd_options[price_id][]"]:checked').val());
2959qty=$form.find('input[name="edd_download_quantity"]').val();
2960if(typeof qty!=='undefined'){
2961quantities.push(qty);
2962}else{
2963quantities.push(1);
2964}}else{
2965ids.push($button.data('downloadId'));
2966qty=$form.find('input[name="edd_download_quantity"]').val();
2967if(typeof qty!=='undefined'){
2968quantities.push(qty);
2969}else{
2970quantities.push(1);
2971}}
2972$.each(ids, function (i, download_id){
2973var q=parseInt(quantities[i]);
2974var variant_index=download_id.toString().split('_', 2);
2975var price_index;
2976if(variant_index.length===2){
2977download_id=variant_index[0];
2978price_index=variant_index[1];
2979}
2980Facebook.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2981Analytics.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2982GAds.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2983Pinterest.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2984Bing.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2985TikTok.onEddAddToCartOnButtonEvent(download_id, price_index, q);
2986});
2987});
2988}
2989if(options.dynamicEvents.hasOwnProperty("edd_remove_from_cart")){
2990$('form#edd_checkout_cart_form .edd_cart_remove_item_btn').on("click",function (e){
2991var href=$(this).attr('href');
2992var key=href.substring(href.indexOf('=') + 1).charAt(0);
2993if(options.dynamicEvents.edd_remove_from_cart.hasOwnProperty(key)){
2994var events=options.dynamicEvents.edd_remove_from_cart[key];
2995Utils.fireEventForAllPixel("onEddRemoveFromCartEvent",events)
2996}});
2997}}
2998Utils.setupURLClickEvents();
2999if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")
3000){
3001$('form.comment-form').on("submit",function (){
3002if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")){
3003var pixels=Object.keys(options.dynamicEvents.automatic_event_comment);
3004for (var i=0; i < pixels.length; i++){
3005var event=Utils.clone(options.dynamicEvents.automatic_event_comment[pixels[i]]);
3006Utils.copyProperties(Utils.getRequestParams(), event.params);
3007getPixelBySlag(pixels[i]).onCommentEvent(event);
3008}}
3009});
3010}
3011if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
3012$(document).onFirst('submit', 'form', function (e){
3013var $form=$(this);
3014if($form.hasClass('comment-form')||$form.hasClass('search-form')||$form.attr('id')==='adminbarsearch'){
3015return;
3016}
3017if($form.hasClass('woocommerce-product-search')||$form.hasClass('cart')||$form.hasClass('woocommerce-cart-form') ||
3018$form.hasClass('woocommerce-shipping-calculator')||$form.hasClass('checkout')||$form.hasClass('checkout_coupon')){
3019return;
3020}
3021if($form.hasClass('edd_form')||$form.hasClass('edd_download_purchase_form')){
3022return;
3023}
3024if($form.hasClass('wpcf7-form')){
3025return;
3026}
3027if($form.hasClass('forminator-custom-form')||$form.hasClass('forminator_ajax')){
3028return;
3029}
3030if($form.hasClass('wpforms-form')||$form.hasClass('wpforms-ajax-form')){
3031return;
3032}
3033if($form.parent().hasClass('nf-form-layout')){
3034return;
3035}
3036if($form.hasClass('frm-fluent-form')){
3037return;
3038}
3039if(!options.enable_success_send_form){
3040var params={
3041form_id: $form.attr('id'),
3042form_class: $form.attr('class'),
3043text: $form.find('[type="submit"]').is('input') ?
3044$form.find('[type="submit"]').val():$form.find('[type="submit"]').text()
3045};
3046if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
3047var pixels=Object.keys(options.dynamicEvents.automatic_event_form);
3048for (var i=0; i < pixels.length; i++){
3049var event=Utils.clone(options.dynamicEvents.automatic_event_form[pixels[i]]);
3050if(pixels[i]==="tiktok"){
3051getPixelBySlag(pixels[i]).fireEvent(event.name, event);
3052}else{
3053Utils.copyProperties(params, event.params,)
3054Utils.copyProperties(Utils.getRequestParams(), event.params);
3055getPixelBySlag(pixels[i]).onFormEvent(event);
3056}}
3057}}
3058});
3059}
3060document.addEventListener('wpcf7mailsent', function(event){
3061var form_id=event.detail.contactFormId;
3062var sendEventId=null;
3063var disabled_form_action=false;
3064if(options.triggerEventTypes.hasOwnProperty('CF7')){
3065key_event=Object.keys(options.triggerEventTypes.CF7)[0];
3066if(options.triggerEventTypes.CF7[key_event].hasOwnProperty('disabled_form_action')){
3067disabled_form_action=options.triggerEventTypes.CF7[key_event].disabled_form_action;
3068}
3069$.each(options.triggerEventTypes.CF7, function (eventId, triggers){
3070$.each(triggers.forms, function (index, value){
3071if(value==form_id){
3072sendEventId=eventId;
3073};});
3074});
3075}
3076if(sendEventId!=null){
3077Utils.fireTriggerEvent(sendEventId);
3078if(!disabled_form_action){
3079sendFormAction($(event.target), form_id);
3080}}else{
3081sendFormAction($(event.target), form_id);
3082}}, false);
3083$(document).on('forminator:form:submit:success', function(event){
3084var form_id=$(event.target).find('input[name="form_id"]').val();
3085var sendEventId=null;
3086var disabled_form_action=false;
3087if(options.triggerEventTypes.hasOwnProperty('forminator')){
3088key_event=Object.keys(options.triggerEventTypes.forminator)[0];
3089if(options.triggerEventTypes.forminator[key_event].hasOwnProperty('disabled_form_action')){
3090disabled_form_action=options.triggerEventTypes.forminator[key_event].disabled_form_action;
3091}
3092$.each(options.triggerEventTypes.forminator, function (eventId, triggers){
3093$.each(triggers.forms, function (index, value){
3094if(value==form_id){
3095sendEventId=eventId;
3096};});
3097});
3098}
3099if(sendEventId!=null){
3100Utils.fireTriggerEvent(sendEventId);
3101if(!disabled_form_action){
3102sendFormAction($(event.target), form_id);
3103}}else{
3104sendFormAction($(event.target), form_id);
3105}});
3106$('form.wpforms-form').on('wpformsAjaxSubmitSuccess', (event)=> {
3107var form_id=$(event.target).attr('data-formid');
3108var sendEventId=null;
3109var disabled_form_action=false;
3110if(options.triggerEventTypes.hasOwnProperty('wpforms')){
3111key_event=Object.keys(options.triggerEventTypes.wpforms)[0];
3112if(options.triggerEventTypes.wpforms[key_event].hasOwnProperty('disabled_form_action')){
3113disabled_form_action=options.triggerEventTypes.wpforms[key_event].disabled_form_action;
3114}
3115$.each(options.triggerEventTypes.wpforms, function (eventId, triggers){
3116$.each(triggers.forms, function (index, value){
3117if(value==form_id){
3118sendEventId=eventId;
3119};});
3120});
3121}
3122if(sendEventId!=null){
3123Utils.fireTriggerEvent(sendEventId);
3124if(!disabled_form_action){
3125sendFormAction($(event.target), form_id);
3126}}else{
3127sendFormAction($(event.target), form_id);
3128}})
3129$(document).on('frmFormComplete', function(event, form, response){
3130const form_id=$(form).find('input[name="form_id"]').val();
3131var sendEventId=null;
3132var disabled_form_action=false;
3133if(options.triggerEventTypes.hasOwnProperty('formidable')){
3134key_event=Object.keys(options.triggerEventTypes.formidable)[0];
3135if(options.triggerEventTypes.formidable[key_event].hasOwnProperty('disabled_form_action')){
3136disabled_form_action=options.triggerEventTypes.formidable[key_event].disabled_form_action;
3137}
3138$.each(options.triggerEventTypes.formidable, function (eventId, triggers){
3139$.each(triggers.forms, function (index, value){
3140if(value==form_id){
3141sendEventId=eventId;
3142};});
3143});
3144}
3145if(sendEventId!=null){
3146Utils.fireTriggerEvent(sendEventId);
3147if(!disabled_form_action){
3148sendFormAction($(event.target), form_id);
3149}}else{
3150sendFormAction($(event.target), form_id);
3151}});
3152$(document).onFirst('nfFormSubmitResponse', function (event, data){
3153const form_id=data.response.data.form_id;
3154var sendEventId=null;
3155var disabled_form_action=false;
3156if(options.triggerEventTypes.hasOwnProperty('ninjaform')){
3157key_event=Object.keys(options.triggerEventTypes.ninjaform)[0];
3158if(options.triggerEventTypes.ninjaform[key_event].hasOwnProperty('disabled_form_action')){
3159disabled_form_action=options.triggerEventTypes.ninjaform[key_event].disabled_form_action;
3160}
3161$.each(options.triggerEventTypes.ninjaform, function (eventId, triggers){
3162$.each(triggers.forms, function (index, value){
3163if(value==form_id){
3164sendEventId=eventId;
3165};});
3166});
3167}
3168if(sendEventId!=null){
3169Utils.fireTriggerEvent(sendEventId);
3170if(!disabled_form_action){
3171sendFormAction($(event.target), form_id);
3172}}else{
3173sendFormAction($(event.target), form_id);
3174}});
3175var fluentForms=$('form.frm-fluent-form');
3176fluentForms.each(function(){
3177var $form=$(this);
3178$form.on('fluentform_submission_success', function(event){
3179var $formItem=$(this);
3180var form_id=$formItem.attr('data-form_id');
3181var sendEventId=null;
3182var disabled_form_action=false;
3183if(options.triggerEventTypes.hasOwnProperty('fluentform')){
3184key_event=Object.keys(options.triggerEventTypes.fluentform)[0];
3185if(options.triggerEventTypes.fluentform[key_event].hasOwnProperty('disabled_form_action')){
3186disabled_form_action=options.triggerEventTypes.fluentform[key_event].disabled_form_action;
3187}
3188$.each(options.triggerEventTypes.fluentform, function (eventId, triggers){
3189$.each(triggers.forms, function (index, value){
3190if(value==form_id){
3191sendEventId=eventId;
3192};});
3193});
3194}
3195if(sendEventId!=null){
3196Utils.fireTriggerEvent(sendEventId);
3197if(!disabled_form_action){
3198sendFormAction($(event.target), form_id);
3199}}else{
3200sendFormAction($(event.target), form_id);
3201}});
3202});
3203Utils.loadPixels();
3204if(Utils.isCheckoutPage()){
3205Utils.addCheckoutFields();
3206}});
3207if(options.automatic.enable_video){
3208var consentApi=window.consentApi;
3209if(consentApi&&options.gdpr.real_cookie_banner_integration_enabled){
3210if(options.automatic.enable_youtube&&options.enable_event_video&&options.enable_automatic_events){
3211window.consentApi.consent("http", "CONSENT", ".youtube.com").then(Utils.initYouTubeAPI);
3212}
3213if(options.automatic.enable_vimeo&&options.enable_event_video&&options.enable_automatic_events){
3214window.consentApi.consent("http", "player", ".vimeo.com").then(Utils.initVimeoAPI);
3215}}else{
3216if(options.automatic.enable_youtube&&options.enable_event_video&&options.enable_automatic_events){
3217Utils.initYouTubeAPI();
3218}
3219if(options.automatic.enable_vimeo&&options.enable_event_video&&options.enable_automatic_events){
3220Utils.initVimeoAPI();
3221}}
3222}
3223var sendFormAction=function (form_target, formId){
3224var params={
3225form_id: formId,
3226text: form_target.find('[type="submit"]').is('input') ? form_target.find('[type="submit"]').val() :
3227form_target.find('.forminator-button-submit').text()!='' ? form_target.find('.forminator-button-submit').text() :
3228form_target.find('[type="submit"]').text()
3229};
3230if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){
3231var pixels=Object.keys(options.dynamicEvents.automatic_event_form);
3232for (var i=0; i < pixels.length; i++){
3233var event=options.dynamicEvents.automatic_event_form[pixels[i]];
3234if(pixels[i]==="tiktok"){
3235getPixelBySlag(pixels[i]).fireEvent(event.name, event);
3236}else{
3237Utils.copyProperties(params, event.params)
3238Utils.copyProperties(Utils.getRequestParams(), event.params);
3239getPixelBySlag(pixels[i]).onFormEvent(event);
3240}}
3241}}
3242}(jQuery, pysOptions);
3243function pys_generate_token(length){
3244var a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".split("");
3245var b=[];
3246for (var i=0; i<length; i++){
3247var j=(Math.random() * (a.length-1)).toFixed(0);
3248b[i]=a[j];
3249}
3250return b.join("");
3251}
3252function getBundlePriceOnSingleProduct(data){
3253var items_sum=0;
3254jQuery(".bundle_form .bundled_product").each(function(index){
3255var id=jQuery(this).find(".cart").data("bundled_item_id");
3256var item_price=data.prices[id];
3257var item_quantity=jQuery(this).find(".bundled_qty").val();
3258if(!jQuery(this).hasClass("bundled_item_optional") ||
3259jQuery(this).find(".bundled_product_optional_checkbox input").prop('checked')){
3260items_sum +=item_price*item_quantity;
3261}});
3262return items_sum;
3263}
3264function getPixelBySlag(slug){
3265switch (slug){
3266case "facebook": return window.pys.Facebook;
3267case "ga": return window.pys.Analytics;
3268case "google_ads": return window.pys.GAds;
3269case "bing": return window.pys.Bing;
3270case "pinterest": return window.pys.Pinterest;
3271case "tiktok": return window.pys.TikTok;
3272}}
3273var getUrlParameter=function getUrlParameter(sParam){
3274var sPageURL=window.location.search.substring(1),
3275sURLVariables=sPageURL.split('&'),
3276sParameterName,
3277i;
3278for (i=0; i < sURLVariables.length; i++){
3279sParameterName=sURLVariables[i].split('=');
3280if(sParameterName[0]===sParam){
3281return sParameterName[1]===undefined ? true:decodeURIComponent(sParameterName[1]);
3282}}
3283return false;
3284};
3285function inArray(needle, haystack){
3286var length=haystack.length;
3287for(var i=0; i < length; i++){
3288if(haystack[i]==needle) return true;
3289}
3290return false;
3291};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.