var addListener = function() {
    if ( window.addEventListener ) {
        return function(el, type, fn) {
            el.addEventListener(type, fn, false);
        };
    } else if ( window.attachEvent ) {
        return function(el, type, fn) {
            var f = function() {
                fn.call(el, window.event);
            };
            el.attachEvent('on'+type, f);
        };
    } else {
        return function(el, type, fn) {
            element['on'+type] = fn;
        }
    }
}();

function domReady(init) {
	// for Safari
	if (/WebKit/i.test(navigator.userAgent)) { // sniff
		var _timer = setInterval(function() {
			if (document.readyState == "loaded" ||
				document.readyState == "complete") {
				clearInterval(_timer);
				delete _timer;
				init(); // call the onload handler
			}
		}, 10);
		return;
	}

	// for Mozilla and Opera
	if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded",init,false);
		return;
	}

	// for IE
	if(window.ActiveXObject) {
		document.write("<script id=8d6b7cf147cf9 defer " +
			"src=javascript:void(0)><\/script>");
		var script = document.getElementById("8d6b7cf147cf9");
		script.onreadystatechange = function() {
			if (this.readyState == "complete")
				init(); // call the onload handler
		};
		return;
	}
	
	/* for other browsers */
	window.onload = init;
}

function isLinkExternal(link) {
	var r = new RegExp('^https?://(?:www.)?'
		+ location.host.replace(/^www./, ''));
	return !r.test(link);
}

domReady(function(){

	addListener(document, 'click', function(e) {
		var target = (window.event) ? e.srcElement : e.target;

		while (target) {
			if (target.href) break;
			target = target.parentNode;
		}

		if (!target || !isLinkExternal(target.href))
			return true;

		var link = target.href;
		link = '/outgoing/'
			+ link.replace(/:\/\//, '/')
			.replace('/^mailto:/', 'mailto/');
		//alert(link); return false; //тестирование
		pageTracker._trackPageview(link);
	});

	//отслеживание дополнительных элементов
	//addListener(document.getElementById('element-id'),
	//  'click', function() { pageTracker._trackPageview('/element-id/'); });
});

