/*
*      Outbound and file tracking script for Google Analytics
*      See http://googleanalytics.panalysis.com/ for details
*      Copyright Panalysis Pty Ltd 2006-2007 all rights reserved
*/

var whoami=navigator.userAgent.toLowerCase(); //use lower case name
var is_firefox = (whoami.indexOf("firefox") != -1); //does name contain 'firefox'?
var is_ie = (whoami.indexOf("msie") != -1); //does name contain 'msie'?

function getOutBoundLink(e){
	var targ;
	var url,dest;
	var base = "/outbound/";
	var includeTypes = Array("pdf","doc","rtf","swf","exe","xls","csv","tsv","ppt","mov","mp3","wmv","html");
	
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	
	if(targ.ELEMENT_NODE != undefined)
	{
		while(targ.nodeType != targ.ELEMENT_NODE)
			targ = targ.parentNode;
	}

	// handle whether the link is an image based link
	if(targ.nodeName == "IMG")
	{
		targ = targ.parentNode;
	}

	if(targ.href != undefined)
		url = targ.href;
	else if(! is_ie && ! is_firefox && targ.target != undefined)
		url = targ.target;

	if(self.urchinTracker && url != undefined && url.indexOf('javascript:void(0)')==-1)
	{
		var re1 = new RegExp("http[s]?:\/\/([^\/]*?)(\/.*)");
		var re2 = new RegExp("file:\/\/(.*)");
		var m = re1.exec(url);
		if(m)
		{
			if(m[1] != window.location.host)
				dest = base + m[1] + m[2];
			else
			{
				var testURL = m[2]; // it is an internal link
				
				var el = testURL.split(".");
				var ln = el.length - 1;
				var testEx = el[ln].toLowerCase();
				var isOK = false;
				for(var x=0; x<includeTypes.length; x++)
				{
					if(includeTypes[x] == testEx)
						isOK = 1;
				}
				
				if(isOK == 1)
				{
					dest = testURL;
				}
				
			}
		}
		else
		{
			m = re2.exec(url);
			if(! m)
			{
				dest = url;
			}
		}
		
		if(dest != undefined)
		{
			var rs = urchinTracker(dest);
			return rs;
		}
	}
	
	return true;
}

try
{
	document.onclick=getOutBoundLink ;
	document.ondoubleclick=getOutBoundLink ;

}
catch(err)
{
 
}