-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsax.min.js
9 lines (9 loc) · 4.02 KB
/
sax.min.js
1
2
3
4
5
6
7
8
9
var Sax=function(){var z=!1,e=null,h=[],f=[],p=null,k={},n=!0,q={properties_limit:20,keys_length:30,event_length:40,goal_length:254},t=function(){e=g(ax)?ax.whois():null},E=function(a,b){var d="sax-track-"+b;u(a,d);var r=v(a);document.querySelector("."+d).addEventListener(r,function(b){var d=w(a,r);if(d){if(!x())return l();b.preventDefault()}b={};var c=this.getAttribute("sax-identify");if(g(c))try{b=JSON.parse(c)}catch(m){if(-1===c.indexOf(":"))return l();b=c.split(";");for(var c={},e,k=0,h=b.length;k<
h;k++)e=b[k].split(":"),c[y(e[0])]=e[1].trim();b=c}C(this)&&(b[A(this)]=this.value);ax.track(D(this),b);if(d){var f=this;setTimeout(function(){f.click()},300)}},!1)},G=function(a,b){var d="sax-identify-"+b;u(a,d);var r=v(a);document.querySelector("."+d).addEventListener(r,function(b){var d=w(a,r);if(d){if(!x())return l();b.preventDefault()}if(B(this)){if(m(this.value))return l();b=A(this);if(k.hasOwnProperty(b)&&k[b]==this.value)return l();if(F(this))e=this.value,k[b]=this.value;else if(m(e)||"anonymous"==
e){k[b]=this.value;if("anonymous"==ax.whois())return l();t()}else k[b]=this.value;ax.identify(e,k)}else{if("anonymous"==ax.whois())return l();t();b=this.getAttribute("sax-identify-properties");if(c(b))return l();try{b=JSON.parse(b)}catch(g){if(-1===b.indexOf(":"))return l();b=b.split(";");for(var h={},f,n=0,p=b.length;n<p;n++)f=b[n].split(":"),h[y(f[0])]=f[1].trim();b=h}ax.identify(e,b)}if(d){var q=this;setTimeout(function(){q.click()},300)}},!1)},I=function(a){u(a,"sax-goal");var b=v(a);document.addEventListener(b,
function(d){if(m(e)||"anonymous"==e)return l();var c=w(a,b);if(c){if(!x())return l();d.preventDefault()}ax.goal(H(this),!0,!1);if(c){var f=this;setTimeout(function(){f.click()},300)}},!1)},x=function(){if(!1===n)return n=!0,!1;n=!1;return!0},l=function(){return n=!0},w=function(a,b){return g(a.getAttribute("sax-not-prevent"))?!1:"click"==b&&g(a.getAttribute("href"))&&"#"!=a.getAttribute("href").charAt(0)||"submit"==b&&g(a.getAttribute("action"))&&"#"!=a.getAttribute("action").charAt(0)?!0:!1},u=function(a,
b){var d=a.className;c(d)&&d!=b?a.className+=" "+b:a.className=b},D=function(a){var b=a.getAttribute("sax-track");return(m(b)?c(a.title)?a.title:c(a.alt)?a.alt:c(a.id)?a.id:a.tagName+"_"+a.className:b).substr(0,q.event_length).trim().toLowerCase()},A=function(a){var b=a.getAttribute("sax-property");a=c(b)?b:c(a.name)?a.name:c(a.id)?a.id:a.tagName+"_"+a.className;return y(a)},H=function(a){var b=a.getAttribute("sax-goal");return(m(b)?c(a.title)?a.title:c(a.alt)?a.alt:c(a.id)?a.id:a.tagName+"_"+a.className:
b).substring(0,q.goal_length).trim()},v=function(a){var b=a.tagName;a=g(a.type)?a.type:null;if("INPUT"==b&&("submit"==a||"button"==a))return"click";switch(b){case "INPUT":case "TEXTAREA":return"blur";case "SELECT":return"change";case "IMG":return"load";case "FORM":return"submit";default:return"click"}},F=function(a){if(c(a.getAttribute("sax-email")))return!0;if("INPUT"!=a.tagName)return!1;var b=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;return"email"!=a.type&&
-1===a.name.indexOf("email")&&-1===a.id.indexOf("email")||!a.value.match(b)?!1:!0},B=function(a){a=a.tagName;return"INPUT"===a||"SELECT"===a||"TEXTAREA"===a||"CHECKBOX"===a||"RADIO"===a},C=function(a){var b=g(a.type)?a.type:null;return B(a)&&"submit"!=b&&"button"!=b},g=function(a){return null!==a&&void 0!==a},m=function(a){return!g(a)||0===a.length},c=function(a){return g(a)&&!m(a)},y=function(a){return a.substr(0,q.key_length).trim().replace("/.|-| /","_")};return{init:function(){if(!1===z){t();
try{h=document.querySelectorAll("[sax-track]"),f=document.querySelectorAll("[sax-identify]")}catch(a){for(var b=document.getElementsByTagName("*"),d=0,c=b.length;d<c;d++){var e=b[d];g(e.getAttribute("sax-track"))&&h.push(e);g(e.getAttribute("sax-identify"))&&f.push(e)}}p=document.querySelector("[sax-goal]");if(!m(f)&&0<f.length)for(b=f,c=0,e=b.length;c<e;c++)d=b[c],G(d,c);if(!m(h)&&0<h.length)for(b=h,d=0,c=b.length;d<c;d++)E(b[d],d);!m(p)&&0<p.length&&I()}z=!0},me:t,els_tracks:h,els_profile:f,profile:k}}();
ax.ready(function(){Sax.init()});