function add_events_tracking() {
	// .push(category, action, optional_label, optional_value)

	var as = document.getElementsByTagName("a");
	var extTrack = ["foss.dk","foss.com.au","foss.co.uk","foss.us","foss.pl","foss.it","foss.fr","foss.es","foss.de","foss.co.kr","foss.co.jp","foss.nl","foss-analytical.com.ar","foss.be","foss-electric.pl"];
	var extDoc = [".wrf",".ashx",".doc",".docx",".eps",".svg",".txt",".vsd",".vxd",".js",".css",".rar",".wma",".mov",".avi",".wmv",".xls",".exe",".zip",".pdf",".csv",".ppt",".zip",".gz",".dmg",".xml",".mp3"];
	var ga_object = '_gaq';

	for(var i=0; i<as.length; i++) {
		// Looping all <a>'s
		var tmp = as[i].getAttribute("onclick");
		if (typeof(tmp) == "string" && tmp.indexOf('urchinTracker') > -1) continue; 
		//if (tmp != null && tmp.indexOf('urchinTracker') > -1) continue;
		//if (as[i].getAttribute("href") == null) break;

		// Tracking external links
		var extT = true;
		for (var j=0; j<extTrack.length; j++) {
			if (as[i].href.indexOf(extTrack[j]) >= 0) {
				extT = false;
				break;
			}	
		}

		if(extT == true) {
			// Link is external
			var splitResult = as[i].href.split("//");
			var url = splitResult[1];
			var prev_js = ((tmp != null) ? tmp + "; " : "");
			as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'External links','Click','" + splitResult[1] + "']);");
			//as[i].setAttribute("rel", "external-link");				
		}

		// Tracking downloads
		for (var j=0; j<extDoc.length; j++) {
			if (as[i].href.indexOf(extDoc[j]) >= 0) {
				// Link is a download
				var type = extDoc[j].replace(/\./, '');
				var prev_js = ((tmp != null) ? tmp+"; " : "");
				as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Downloads', '" + type + "', '" + as[i].href + "']);");
				//as[i].setAttribute("rel", "download-" + type);													
				break;
			}
		}

		// Tracking mailto links
		if (as[i].href.indexOf("mailto:") != -1) {
			var splitResult = as[i].href.split(":");
			var prev_js = ((tmp != null) ? tmp+"; " : "");
			as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Mails','Click','" +splitResult[1]+ "']);");
			//as[i].setAttribute("rel", "mail");					
		}
		
		// Tracking prints
		if (as[i].href.indexOf("window.print") != -1) {
			var prev_js = ((tmp != null) ? tmp+"; " : "");
			as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Print','Click','" + document.location.href + "']);");
			//as[i].setAttribute("rel", "print");
		}
	}
}

window.onload = function( e ) { add_events_tracking() };
