var np = { // Settings trackOutboundLinks: true, trackCrossDomain: false, domains: ['.capelleaandenijssel.nl'], fileTypes: ['.zip', '.pdf', '.doc'], labelExternalLink: 'ext', labelDownloadLink: 'download', labelMailtoLink: 'mailto', // Functions l: function (o, t, cb, c) { if (o.addEventListener) { o.addEventListener(t, cb, c) } else { o.attachEvent('on' + t, cb) } }, m: function (d, h) { for (var i = 0; i < d.length; i++) { if (h.indexOf(d[i]) > -1) { if (h.indexOf(document.domain) == -1) { return true; } } } return false; }, t: function (e) { var t; if (!e) var e = window.event; if (!e) return; if (e.target) t = e.target; else if (e.srcElement) t = e.srcElement; if (t.nodeType == 3) t = t.parentNode; return t; }, i: function () { var a = document.getElementsByTagName('a'); var f = document.getElementsByTagName('form'); // Apply outbound tagging to anchors if (np.trackOutboundLinks) { for (var i = 0; i < a.length; i++) { // Outbound var k = 0; for (var j = 0; j < np.domains.length; j++) { if (a[i].href.indexOf(np.domains[j]) == -1) { k++; } } if (k == np.domains.length && a[i].href.indexOf('mailto:') == -1) { // Add event listener onClick var onClick = function (e) { var s = this.href.split("//"); _gaq.push(['_trackPageview', '/' + np.labelExternalLink + '/' + s[1]]); if (typeof (console) != 'undefined') console.log("onClick: _gaq.push(['_trackPageview','/" + np.labelExternalLink + "/" + s[1] + "']);"); }; np.l(a[i], 'click', onClick, true); } // Download for (var j = 0; j < np.fileTypes.length; j++) { if (a[i].href.indexOf(np.domains[0]) != -1 && a[i].href.indexOf(np.fileTypes[j]) != -1) { // Add event listener onClick var onClick = function (e) { var s = this.href.split(np.domains[0]); _gaq.push(['_trackPageview', '/' + np.labelDownloadLink + s[1]]); if (typeof (console) != 'undefined') console.log("onClick: _gaq.push(['_trackPageview','/" + np.labelDownloadLink + s[1] + "']);"); }; np.l(a[i], 'click', onClick, true); break; } } // Mail to if (a[i].href.indexOf("mailto:") != -1) { var onClick = function (e) { var s = this.href.split(':'); _gaq.push(['_trackPageview', '/' + np.labelMailtoLink + '/' + s[1]]); if (typeof (console) != 'undefined') console.log("onClick: _gaq.push(['_trackPageview','/" + np.labelMailtoLink + '/' + s[1] + "']);"); }; np.l(a[i], 'click', onClick, true); } } } // Apply crossdomain tagging if (np.trackCrossDomain) { // Tag anchors for (var i = 0; i < a.length; i++) { // Match link to external domain function if (np.m(np.domains, a[i].href)) { var onClick = function (e) { _gaq.push(['_link', (np.t(e)).href]); if (typeof (console) != 'undefined') console.log("onClick: _gaq.push(['_link','" + (np.t(e)).href + "']);"); }; np.l(a[i], 'click', onClick, true); a[i].setAttribute('onclick', a[i].getAttribute('onclick') + ';return false;'); } } // Tag forms for (var i = 0; i < f.length; i++) { // Match form post to external domain function if (np.m(np.domains, f[i].action)) { var onSubmit = function (e) { _gaq.push(['_linkByPost', (np.t(e))]); if (typeof (console) != 'undefined') console.log("onSubmit: _gaq.push(['_linkByPost'," + (np.t(e)) + "]);"); }; np.l(f[i], 'submit', onSubmit, true); } } } } }; // Execute at onLoad event np.l(window, 'load', np.i, true);