function InitEventTracker(){
	var page = location.pathname;
	var pageEvents = {
		'': [
			{id: 'fast_nav_container', action: 'navigation_quick', child: 'select'},
			{id: 'login_panel_container', action: 'login_quick'},
			{id: 'latest_news_container', action: 'news_container'},
			{id: 'footer', action: 'footer'},
			{id: 'secrets_container', action: 'secrets_container'},
			{id: 'menu_main', action: 'menu_main'},
			{id: 'tags_container', action: 'tags'}
		]
	};
	var o = pageEvents[''];
	
	for(i in o){
		if(o[i].child === undefined){
			o[i].child = 'a';
		}
		var tObj = document.getElementById(o[i].id);
		if(tObj !== null){
			var category = page;
			var action = o[i].action;
			var childs = tObj.getElementsByTagName(o[i].child);
			var node_action = 'click';
			var node_attr = 'text';
			if(o[i].node_attr === undefined){
				switch(o[i].child){
					case 'input':
						node_attr = 'name';
						node_action = 'click';
						break;
					case 'select':
						node_attr = 'value';
						node_action = 'change';
						break;
					case 'a':
					default:
						node_attr = 'text';
						node_action = 'click';
						break;
				}
			}
			else{
				node_attr = o[i].attr;
			}
			for(y in childs){
				if(childs[y].nodeType != 1){
					continue;
				}
				if(childs[y].className !== undefined){
					if(childs[y].className.match('trackEvent-none')){
						continue;
					}
					var match = [];
					if((match = childs[y].className.match('trackEventAction-(.+)')) !== null){
						action = match[1];
					}
				}
				var node = childs[y].nodeName.toLowerCase();
				(function(y, c, a, ac, attr){
					addHandler(childs[y], ac,
						function(){
							pageTracker._trackEvent(c, a, this[attr]);
						}
					);
				})(y, category, action, node_action, node_attr);
			}
		}
	}
}


setGlobalOnLoad(InitEventTracker);


function addHandler(object, event, handler){
	if (typeof object.addEventListener != 'undefined')
		object.addEventListener(event, handler, false);
	else if (typeof object.attachEvent != 'undefined')
		object.attachEvent('on' + event, handler);
}
function removeHandler(object, event, handler){
	if (typeof object.removeEventListener != 'undefined')
		object.removeEventListener(event, handler, false);
	else if (typeof object.detachEvent != 'undefined')
		object.detachEvent('on' + event, handler);
}
function setGlobalOnLoad(f) {
	var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
	if (root){
		if(root.addEventListener) root.addEventListener("load", f, false);
		else if(root.attachEvent) root.attachEvent("onload", f);
	} else {
		if(typeof window.onload == 'function') {
			var existing = window.onload;
			window.onload = function() {
				existing();
				f();
			};
		} else {
			window.onload = f;
		}
	}
}

