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; //тестирование
		urchinTracker(link);
	});

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