var _gaq = _gaq || [];
var _ua = 'UA-334149-13';
var _atr2 = 'atr';
var _filetypes = /\.(zip|exe|pdf|doc|xls|ppt|mp(3|4)|eps|docx|rar|csv|gz|dmg|xml|ashx)$/i;

function initiate_ga() {
	_gaq.push(function() {
		var pageTracker = _gat._createTracker(_ua, _atr2);
		pageTracker._setAllowLinker(true);
		pageTracker._setDomainName('none');
	});
}

function extend_tracking() {
	var a = document.getElementsByTagName("a");
	
	for (var i = 0; i<a.length; i++) {
		var href = a[i].getAttribute("href");
		var onclick = a[i].getAttribute("onclick");
		var target = a[i].getAttribute("target");
		var prev_js = ((onclick != null) ? onclick + "; " : "");
		var page = location.pathname || "/";
		
		if (href) {
			if ((href.match(/^#?https?\:/i)) && (!href.match(document.domain))) {
				var ext_link = href.replace(/^https?\:\/\//i, '').replace(/^#/,'');
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr2 + "._trackEvent', 'External links', 'Click', '" + ext_link + "'])");
			} else if (href.match(/^mailto\:/i)) {
				var mail_link = href.replace(/^mailto\:/i, '');
				var new_js = prev_js + "_gaq.push(['" + _atr2 + "._trackEvent','Email', 'Click', '" + mail_link + "']);";
				var new_js = new_js + "_gaq.push(['" + _atr2 + "._trackPageview', '/event/email" + page + "/" + mail_link + "']);";
				a[i].setAttribute("onclick", new_js);
									
			} else if (href.match(_filetypes)) { 
				var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
				var new_js = prev_js + "_gaq.push(['" + _atr2 + "._trackEvent', 'Download', '" + extension + "', '" + href + "']);";				
				if (extension[0].match(/(pdf|ashx)/)) {
					var new_js = new_js + "_gaq.push(['" + _atr2 + "._trackPageview', '/event/download" + extension[0] + "/" + href + "']);"
				}
				a[i].setAttribute("onclick", new_js);
			} 
		}
		
		if (onclick) {
			if ((/window\.print/i).exec(onclick) != null) {
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr2 + "._trackEvent', 'Print', 'Click', '" + page + "'])");					
			} else if ((/TipAFriend/i).exec(onclick) != null) {
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr2 + "._trackEvent', 'Tip a friend', 'Click', '" + page + "'])");									
			} else if ((/addthis_sendto/i).exec(onclick) != null) { 
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr2 + "._trackEvent', 'Share', 'Click', '" + page + "'])");									
			} 
		}
	}
}

function add_load_event(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
    	window.onload = func;
	} else {
    	window.onload = function() {
      		if (oldonload) {
        		oldonload();
      		}
      		func();
    	}
  	}
}

function track_pageview() {
	_gaq.push([_atr2 + '._trackPageview']);
}

add_load_event(function() { 
	if (typeof(_gaq) != "undefined") {
		initiate_ga();
		extend_tracking();
		track_pageview();		
	} else {
	
	}
});

(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);
})();
