var _gaq = _gaq || [];
var _ua = 'UA-12360812-1';
var _atr = '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, _atr);
	});
}

function get_cookie(c_name) {
	if (document.cookie.length > 0 ) {
  		c_start=document.cookie.indexOf(c_name + "=");
  		if (c_start != -1 ) {
    		c_start= c_start + c_name.length + 1;
    		c_end = document.cookie.indexOf(";", c_start);
    		if (c_end == -1) { c_end = document.cookie.length; }
    		return unescape(document.cookie.substring(c_start, c_end));
    	}
  	}
	return "";
}

function get_lang() {
	cookie_name = 'land';
	if (get_cookie(cookie_name) && get_cookie(cookie_name) != '') {
		lang = get_cookie(cookie_name);
		_gaq.push([_atr + '._setCustomVar', 1, 'language', lang, 2]);
	}
}

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(['" + _atr + "._trackEvent', 'External links', 'Click', '" + ext_link + "'])");
			} else if (href.match(/^mailto\:/i)) {
				var mail_link = href.replace(/^mailto\:/i, '');
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr + "._trackEvent','Email', 'Click', '" + mail_link + "'])");					
			} else if (href.match(_filetypes)) { 
				var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr + "._trackEvent', 'Download', '" + extension + "', '" + href + "']); _gaq.push(['" + _atr + "._trackPageview', '/download/" + extension + "/" + href + "'])");				
				
			} 
		}
		
		if (onclick) {
			if ((/window\.print/i).exec(onclick) != null) {
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr + "._trackEvent', 'Print', 'Click', '" + page + "'])");					
			} else if ((/TipAFriend/i).exec(onclick) != null) {
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr + "._trackEvent', 'Tip a friend', 'Click', '" + page + "'])");									
			} else if ((/addthis_sendto/i).exec(onclick) != null) { 
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr + "._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([_atr + '._trackPageview']);
}

add_load_event(function() { 
	if (typeof(_gaq) != "undefined") {
		initiate_ga();
		get_lang();		
		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);
})();
