(function() {
	var domain = document.domain;
	if (/\.$/.test(domain)) {
		domain = domain.substr(0, domain.length - 1);
	}
	var reDomain = domain.replace(/\./g, '\\.');
	var reIsSameDomain = new RegExp('^(/|[a-zA-Z]+://' + reDomain + ')');
	var outboundClicker = function(event) {
		if (!self.urchinTracker) return;
		event = event || window.event;
		var o = event.target || event.srcElement;
		for (var i = 0; i < 10 && o; i ++, o = o.parentNode) {
			if (o.tagName == 'A') {
				break;
			}
		}
		if (!o || o.tagName != 'A') {
			return;
		}
		if (o.oldHref) {
			o.href = o.oldHref;
		}
		if (!reIsSameDomain.test(o.href)) {
			urchinTracker('/outbound/' + o.href);
		}
	}
	var body = !document.compatMode || document.compatMode == 'CSS1Compat' ? document.body : document;
	if (body.addEventListener) {
		body.addEventListener('click', outboundClicker, false);
	}
	else if (body.attachEvent) {
		body.attachEvent('onclick', outboundClicker);
	}
	else {
		body.onclick = outboundClicker;
	}
	// overlay fix
	if (/(^|; *)GASO=/.test(document.cookie) || /#gaso=/.test(document.URL)) {
		var links = document.getElementsByTagName('A');
		var link;
		for (var i = links.length - 1; i >= 0; i --) {
			link = links[i];
			if (!reIsSameDomain.test(link.href)) {
				link.oldHref = link.href;
				link.onclick = function () {
					this.href = this.oldHref;
				}
				link.href = "/outbound/" + link.href;
			}
		}
	}
})()
