(function($){
window.cachebreak=1;
function getAnchor(element, textOnly=false){
var anchor=element.innerText;
if(anchor.length==0&&textOnly==false){
anchor=element.innerHTML.trim();
if(typeof(element.children)!=='undefined'){
if(element.children.length > 0){
if(element.children[0].tagName=='IMG'){
anchor='image:' + element.children[0].src;
}}
}}
return anchor;
}
function processAs(){
if(showClickCounts()){
var data=new FormData();
data.append("postID", getPostID());
data.append("location", window.location);
var url=getHomeURL() + '/wp-json/track-the-click/v3/getpagelinkclicks/' + window.cachebreak++;
jQuery.ajax({
url: url,
type: "POST",
data: data,
contentType: false,
processData: false,
cache: false,
beforeSend: function(xhr){
xhr.setRequestHeader('X-WP-Nonce', ajax_var.nonce);
},
success: function(newdata){
if(newdata!==false){
var as=document.getElementsByTagName("a");
Array.from(as, a=> {
newdata.forEach(clickCount=> {
if(a.href==clickCount.target&&getAnchor(a)==clickCount.anchor&&clickCount.clicks > 0){
a.setAttribute("data-clicks", clickCount.clicks);
}});
});
}},
error: function(error){
console.error(error);
}});
}
var as=document.getElementsByTagName("a");
Array.from(as, a=> {
if(typeof(proProcessLinks)=='function'){
proProcessLinks(a);
}})
}
function bubbleBeacon(event){
if(!ttc_data.proBeacon){
if(event.target.closest('A')){
closestA=event.target.closest('A')
var data=new FormData();
data.append("postID", getPostID());
data.append("location", window.location);
data.append("anchor", getAnchor(closestA));
data.append("target", closestA.href);
var url=getHomeURL() + '/wp-json/track-the-click/v3/click/' + window.cachebreak++;
navigator.sendBeacon(url, data);
}}
}
if(document.readyState==='loading'){
document.addEventListener("DOMContentLoaded", processAs);
}else{
processAs();
}
document.addEventListener("click", bubbleBeacon);
document.addEventListener("auxclick", bubbleBeacon);
})();