﻿jQuery(document).ready(function() {

  // Attach onclick event to document only and catch clicks on all elements.
  jQuery(document.body).click(function(event) {
    // Catch only the first parent link of a clicked element.
    jQuery(event.target).parents("a:first,area:first").andSelf().filter("a,area").each(function(){

      var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i");
 
      // Expression to check for download links.
      var isDownload = new RegExp("\\.(ashx)$", "i");

      // Is the clicked URL internal?
      if (isInternal.test(this.href)) {
        // Is download tracking activated and the file extension configured for download tracking?
        if (isDownload.test(this.href)) {
          // Download link clicked.
          var extension = isDownload.exec(this.href);
          _gaq.push(["_trackEvent", "Downloads", this.href.replace(isInternal, '')]);
        }
      }
      else {
        if (jQuery(this).is("a[href^=mailto:],area[href^=mailto:]")) {
          // Mailto link clicked.
          _gaq.push(["_trackEvent", "Mails", "Click", this.href.substring(7)]);
        }
        else if (this.href) {
            // External link clicked.
            _gaq.push(["_trackEvent", "Outbound links", "Click", this.href]);
        }
      }
    });
  });
});
