<!--
var x2006_additonal_domains = "YOURDOMAIN1.COM|YOURDOMAIN2.COM";

// How long clicky pauses to allow for image loading
var x2006_image_load_pause_msecs = 500;

// Returns the domain portion from an url
function x2006_getDomain(url) {
	var i = url.indexOf("://");

	if (i == -1) {
		return "";
	}
	
	url = url.substring(i + 3, url.length);

	i = url.indexOf("/");
	if (i != -1) {
		url = url.substring(0, i);

	}
	return url;
}

// This just swallows any clicky errors that happens
function x2006_handleError() {
	return true;
}

// Our onclick event handlers
function x2006_report_onclick(ev) {
	// change to our new error handler
	var oldonerror = window.onerror;
	window.onerror = x2006_handleError;

	x2006_report_onclick_inner(ev);

	// change back error handler
	window.onerror = oldonerror;

	if (x2006_old_onclick) {
		// run old onclick
		x2006_old_onclick(e);
	}
}

// The actual the onclick event handlers
function x2006_report_onclick_inner(ev) {
	var text;
	var url;
	var href;
	var target;

	if(ev) {
		target = ev.target;
	}
	else {
		target = window.event.srcElement;
	}

	// Try to find an element in the target hierarchry that has
	// an href property.

	for (var i=0; target && i<=20; i++) {
		// lets put a 20 limit on the number of parents we search
		if(target.href) {
			break;
		}
		target = target.parentNode;
	}

	if (target && target.href) {
		url = target.href;
		href = url;
		// try various things to get the text
		if (target.innerHTML) {
			text = target.innerHTML;
		}
		else if (target.innerText) {
			text = target.innerText;
		}
		else if(target.text) {
			text = target.text;
		}
	}

	if (!url || typeof(url) != 'string' || url == "") {
		return;
	}

	if (!text || typeof(text) != 'string' || text == "") {
		text = "[no text found]";
	}
	
	var currentDomain = x2006_getDomain("" + window.location);
	var currentBaseDomain = currentDomain;
	
	if (currentBaseDomain.indexOf("www.") == 0) {
		// strip off www from front
		currentBaseDomain = currentBaseDomain.substring(3, currentBaseDomain.length);
	}

	var expressionStr = "(\\w+[.])*("+ x2006_additonal_domains + ")$";

	var regex = new RegExp(expressionStr, "i");

	if (text.length > 40) {
		text = text.substring(0, 40);
	}
	
	if (!x2006_getDomain(url).match(regex)) {
		// lets log it
		var timeStamp = new Date();
		var page_url = document.location.href;
		var ext_referrer = document.referrer;
		
		var sxy = x2006_getScrollXY();
		var wxy = x2006_getWindowXY();
		var bxy = x2006_getBodyXY();
		var linkCount = x2006_getLinkCount(href);
		
		var reportUrl = "http://tracking.roispy.com/x2006.asp?time=" + timeStamp.valueOf() + "&mx=" + x2006_mouse_x + "&my=" + x2006_mouse_y + "&wx=" + wxy[0] + "&wy=" + wxy[1] + "&bx=" + bxy[0] + "&by=" + bxy[1] + "&sx=" + sxy[0] + "&sy=" + sxy[1] + "&li=" + linkCount.index + "&tl=" + linkCount.totalLinks + "&si=" + linkCount.similarIndex + "&sl=" + linkCount.similarLinks + "&text=" + escape(text) + "&link=" + escape(url) + "&pu=" + escape(page_url) + "&er=" + escape(ext_referrer);
		
		var image = new Image();
		image.src = reportUrl;

		// loop for a bit to let the image load
		var now = new Date();
		var stopTime = now.getTime() + x2006_image_load_pause_msecs;
		while(now.getTime() < stopTime) {
			now = new Date();
		}
	}
}

var x2006_old_onclick;
var x2006_mouse_x = 0;
var x2006_mouse_y = 0;

// Attach global event listeners
if (window.addEventListener)
{
	document.addEventListener('mousemove', x2006_onmousemove, false);
}
else if (window.attachEvent)
{
	document.attachEvent('onmousemove', x2006_onmousemove);
}

// Attach body onclick event listeners
if (document.body)
{
	// if the script is inside the body tag - which it should be
	x2006_old_onclick = document.body.onclick;
	document.body.onclick = x2006_report_onclick;
}
else if (document)
{
	// script is outside the body tag - works in some browsers
	x2006_old_onclick = document.onclick;
	document.onclick = x2006_report_onclick;
}

// === OTHER FUNCTIONS ===
function x2006_onmousemove(e)
{
	if (!e) { e = window.event; }
	if (e)
	{
		if (e.pageX || e.pageY)
		{
			x2006_mouse_x = e.pageX;
			x2006_mouse_y = e.pageY;
		}
		else if (e.clientX)
		{
			x2006_mouse_x = e.clientX + document.documentElement.scrollLeft;
			x2006_mouse_y = e.clientY + document.documentElement.scrollTop;
		}
		
		// can determine direction by looking at the previous and current coordinates
	}
	return true;
}

function x2006_getScrollXY()
{
  var x = 0, y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    // Netscape compliant
    y = window.pageYOffset;
    x = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    // DOM compliant
    y = document.body.scrollTop;
    x = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    // IE6 standards compliant mode
    y = document.documentElement.scrollTop;
    x = document.documentElement.scrollLeft;
  }
  return [x, y];
}

function x2006_getWindowXY()
{
  var x = 0, y = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    // Non-IE
    x = window.innerWidth;
    y = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    // IE 6+ in 'standards compliant mode'
    x = document.documentElement.clientWidth;
    y = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    x = document.body.clientWidth;
    y = document.body.clientHeight;
  }
  return [x, y];
}

function x2006_getBodyXY()
{
	var x = 0, y = 0;
	if (document.body)
	{	
		var test1 = document.body.scrollHeight;
		var test2 = document.body.offsetHeight;
		if (test1 > test2)
		{
			// all but Explorer Mac
			x = document.body.scrollWidth;
			y = document.body.scrollHeight;
		}
		else
		{
			// Explorer Mac
			x = document.body.offsetWidth;
			y = document.body.offsetHeight;
		}
	}
	return [x, y];
}

function x2006_getLinkCount(href)
{
	this.index = -1;
	this.totalLinks = 0;
	this.similarIndex = -1;
	this.similarLinks = 0;
	
	var links = document.getElementsByTagName("A");
	for (var i=0; i<links.length; i++)
	{
		if (links[i].href && links[i].parentNode)
		{
			if (links[i].href == href && this.index == -1)
				this.index = i;
			
			var j = links[i].href.indexOf("?");
			var k = href.indexOf("?")
			if (j == -1)
				j = links[i].href.length;
			if (k == -1)
				k = href.length;
			
			if (j > 0 && k > 0)
			{
				if (links[i].href.substring(0,j).toLowerCase() == href.substring(0,k).toLowerCase())
				{
					if (this.similarIndex == -1 && links[i].href == href)
						this.similarIndex = this.similarLinks;
						
					this.similarLinks++;
				}
			}
		}
	}
	this.totalLinks = links.length;
	
	return this;
}
// -->