
$(document).ready(function() {

  var site = String(document.location)
  .replace(/^(https?:\/\/[^:\/]+).*$/, "$1")
  .replace(/^((site)?(file:\/\/.+\/))[^\/]+$/, "$3")
  .replace(/(\\.)/g, "\\$1");
  $("a[href]", this).filter(function (i) {
    if ($(this).attr('rel')=='external')
      return false;
    var href = $(this).attr("href");
    if (href == null)
      return false;
    return (href.match(RegExp("^("+site+"|(https?:)?/[^/])")) == null &&
      href.match(RegExp("^(https?|ftp)://.+")) != null);
  }).click(function() {
    var domain = $(this).attr('href');
    if (domain.indexOf('://') > -1) domain = domain.substr(domain.indexOf('://')+3);
    if (domain.indexOf('/') > -1) domain = domain.substr(0, domain.indexOf('/'));
    try {
     _gaq.push(['_trackEvent', 'Ausgehende Links', domain, $(this).attr('href')]);
    }catch(err){}
  });
});

function trackevent(eventdata) { //category|action[|label|value]
  var category, action, label, value, event;
  eventdata = ('_trackEvent|'+eventdata.replace(/'/, "\\'")).split('|');
  if (eventdata.length >= 3) {
    if (eventdata.length > 4) {
      var value = parseInt(eventdata[4]);
      if (isNaN(value) || value.toString() != eventdata[4]) {
        return false;
      }
      eventdata[4] = value;
    }
    try { _gaq.push(eventdata); } catch(err) {}
  } else {
    return;
  }
}

$(document).ready(function() {
  var elements, i, len;
  elements = $('[data-track-show]:visible');
  for (i=0,len=elements.length;i<len;i++) { //track on show
    trackevent(elements.eq(i).attr('data-track-show'));
  }
  elements = $('[data-track-click]');
  elements.bind('click', function() { trackevent($(this).attr('data-track-click'))});
  elements = $('[data-track-hover]');
  elements.bind('mouseenter', function() { trackevent($(this).attr('data-track-hover'))});
});

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-7216781-32']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

