function register_clickouts() {
	function attachTo(srcObject,srcEvent,targetMethod,targetObject) {
		return new eventWrapper(srcObject,srcEvent,targetMethod,targetObject);
		function eventWrapper(srcObject,srcEvent,targetMethod,targetObject) {
			try {
				function AttachEventWrapper() {
					return targetMethod.apply(targetObject,[srcEvent,window.event]);
					
				}
				function AddEventListenerWrapper(e) {
					return targetMethod.apply(targetObject,[srcEvent,e]);
					
				}
				if(srcObject.attachEvent) {
					srcObject.attachEvent("on"+srcEvent,AttachEventWrapper );
				}
				else {
					srcObject.addEventListener(srcEvent,AddEventListenerWrapper,false,true);
				}
								
				this.detach=function() {
					if(srcObject.detachEvent) {
						srcObject.detachEvent("on"+srcEvent,AttachEventWrapper);
					}
					else {
						srcObject.removeEventListener(srcEvent,AddEventListenerWrapper,false);
					}
				}
			}
			catch(e) {
				alert(e.message);				
			}
		}
	
	}
	function domLoading() {
		function IELoaded() {
			if(document.readyState=='complete') {
				domLoaded();				
				document.detachEvent('onreadystatechange',IELoaded);
			}				
		}
		function GeckoLoaded() {
			document.removeEventListener("DOMContentLoaded",GeckoLoaded,false);
			domLoaded();
		}						
		if(document.addEventListener) {
		    document.addEventListener("DOMContentLoaded",GeckoLoaded, false);
		} else {						 
			document.attachEvent('onreadystatechange',IELoaded);
		}
	}
	function domLoaded() {
		var IE=(navigator.userAgent.indexOf('MSIE')>-1);
		var dom=document.documentElement;	
		var links=dom.getElementsByTagName('a');		
		for(var i in links) {
			
			// IE hrefs are not always static string. Making them static here.
			if(links[i].href) {
				if(IE)
					links[i].href=links[i].href;
				var index=links[i].href.indexOf(window.location.hostname);						
				if(links[i].className!='lightwindow' && ( index <6 || index > 9) ) {								
					attachTo(links[i],'click',function(eventName,e) {								
						try {
							
							pageTracker._trackPageview('/clickouts/'+this.href);
							
						}
						catch(err) {
							try {								
								_gaq.push(['_trackEvent', 'Clickouts', this.href]);
								
								if(e.cancelBubble)
									e.cancelBubble=true;
								if(e.preventDefault)
									e.preventDefault();
								var href=this.href;
								var target=this.target;
								
																
								if (target)
									window.open(href,target);
								else {
									window.setTimeout(function() {										
										window.location.href=href;
									},100);
								}
								return false;
							}
							catch(err) {
								
							}
						}
					},links[i]);					
				}
			}
						
		}
		
	}
	domLoading();
}
register_clickouts();
