var _gaq = _gaq || [];
var _ua = 'UA-21119071-1';
var _atr2 = 'atr';
var _filetypes = /\.(zip|exe|pdf|doc|xls|ppt|mp(3|4)|eps|docx|rar|csv|gz|dmg|xml|ashx)$/i;
var dom1 = 'drk.dk|rodekors.dk|inforce.dk|netimage.dk'
var patt1 = new RegExp(dom1);
var subd1 = ('.' + patt1.exec(window.location.hostname));

//call for this function currently commented out further below due to being put on the frontpage.
function initiate_ga() {
	_gaq.push(function() {
		
		//pageTracker._setDomainName(subd1); OLD idea
		pageTracker._setDomainName('.rodekors.dk');
		pageTracker._setAllowLinker(true);
		pageTracker._setAllowHash(false);
		_gaq.push([_atr2 + '._trackPageview']);
	});
}

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(dom1)) && (!href.match(document.domain))) {
				a[i].setAttribute("onclick", prev_js + "_gaq.push(['" + _atr2 + "._link', this.href]);return false");			
			}
			else 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 load_frame(url, place) {
	var use_url;
	_gaq.push(function() {
		var pageTracker = _gat._getTrackerByName(_atr2);
		use_url = pageTracker._getLinkerUrl(url);
		var frame = document.createElement('iframe');
		frame.src = use_url;
		document.getElementById(place).appendChild(frame);
	});
}

function manipulate_frame(url, frame) {
	console.log('attempting on ' + frame + ', with: ' + url);
	_gaq.push(function() {
		var pageTracker = _gat._getTrackerByName(_atr2);
		use_url = pageTracker._getLinkerUrl(url);
		if (!isNaN(frame)) {
			var frame = document.getElementsByTagName('iframe')[frame];
		} else {
			var frame = document.getElementById(frame);
		}
		frame.src = use_url;
	});	
}
*/

function get_query_string(key) {
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
    var qs = regex.exec(window.location.href);

    if (qs == null) {
        return null;
    }

    return qs[1];
}

function track_pageview() {
	
	// manual addons
	// prototype
	
	var page = location.pathname || "/";

	/* iframe
	if (/bliv\+indsamler/.test(page)) {
        var iframe = document.getElementsByTagName('iframe')[0];

		try {
		  	_gaq.push(function() {
				var pageTracker = _gat._getTrackerByName(_atr2);
				//iframe.src=pageTracker._getLinkerUrl('http://tilmelding.rodekors.dk');
				iframe.src=pageTracker._getLinkerUrl(iframe.src);
			});
		} catch(err) { }

        var drkId = get_query_string('drkId');
        if (drkId) {
            iframe.src = iframe.src + '&drkId=' + drkId;
        }
	}
	*/
	
	if (/frie\+midler/.test(page)) {
		try {
		  	_gaq.push(function() {
				var pageTracker = _gat._getTrackerByName(_atr2);
				document.getElementById('formFrame').src=pageTracker._getLinkerUrl(document.getElementById('formFrame').src);
			});
		} catch(err) { }		
	}
	
	// newsletter
	$$('div.newsletter form#signup input')[1].observe('click', function() {
	    _gaq.push([_atr2 + '._trackEvent', 'Newsletter', 'Signup', page]);
	});
	
	// tabs
	$$('body#body.frontpage div.masterinfo ul#mastertabs.tablist li').each(function(s) {
		s.observe('click', function() {
			var tab = s.innerHTML;
			_gaq.push([_atr2 + '._trackEvent', 'Change Tab - Frontpage - Header', 'Click', tab]);
		});
	});

	$$('html body#body.frontpage div#page div#mainbox div#contentbox div.lCol ul#newslists.tablist li').each(function(s) {
		s.observe('click', function() {
			var tab = s.innerHTML;
			_gaq.push([_atr2 + '._trackEvent', 'Change Tab - Frontpage - Content', 'Click', tab]);
		});
	});

	$$('body#body.frontpage div#page div#mainbox div#contentbox div.lCol ul#netbutikker.tablist li').each(function(s) {
		s.observe('click', function() {
			var tab = s.innerHTML;
			_gaq.push([_atr2 + '._trackEvent', 'Change Tab - Frontpage - Bottom', 'Click', tab]);
		});
	});

	/*
	DRK.Maps.Map.observe("dom:loaded", function() {
		var s = $$('div.drk_maps_map_search div.drk_maps_map_search_form form input.input_submit')[0] 
		s.observe('click', function() {
			var term = $$('div.drk_maps_map_search div.drk_maps_map_search_form form input.input_text')[0].getValue()
			_gaq.push([_atr2 + '._trackEvent', 'Local Map Search', 'Click', term]);
		});
	});
	*/
	//$$('div.drk_maps_map_search div.drk_maps_map_search_form form input.input_submit')[0].observe('click', function() {
	//	var term = $$('div.drk_maps_map_search div.drk_maps_map_search_form form input.input_text')[0].getValue()
	//	_gaq.push([_atr2 + '._trackEvent', 'Local Map Search', 'Click', term]);
	//});
}

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