	function addEvent(obj, eventName, fn)
	{
		var prev = obj[eventName];
		obj[eventName] = prev ? function() { fn() ; prev() } : fn;
	}
	
	function doFreeOnload()
	{
		addEvent(document.body,'onmouseover',handleOnMouseOver);
		addEvent(document.body,'onmouseout',handleOnMouseOut);
		addEvent(document.body,'onclick',handleOnclick);

		var theTargets=document.getElementsByTagName('a');
		if (theTargets)
		{
			var theTarget;
			var theFree;
			for (var i=0;i < theTargets.length;i++)
			{
				theTarget=theTargets[i];
				theFree=theTarget.getAttribute('free');
				if (theFree==null && theTarget.href.indexOf('/promo/')!=-1)
				{ theFree=true; }
				if (!theFree)
				{
					theTarget.onclick=null;
					theTarget.href='#';
				}
				//theTarget.onclick=null;
			}
		}
	}
	function handleOnMouseOut(e)
	{
		var theTarget=document.getElementById('moMsgBox');
		if (theTarget)
		{
			theTarget.style.display='none';
		}
		theTarget=document.getElementById('moTabMsgBox');
		if (theTarget)
		{
			theTarget.style.display='none';
		}
	}
	function handleOnMouseOver(e)
	{
		var theXOffset=20;
		var theYOffset=5;
		var theEl;
		if (!e) var e = window.event;
		if (e.target) theEl = e.target;
		else if (e.srcElement) theEl = e.srcElement;
		if (! theEl && e){theEl=e; }
		if (theEl.nodeType == 3) // defeat Safari bug
			theEl = theEl.parentNode;
			
		if (theEl)
		{
			if (theEl.tagName!='A'){ theEl=theEl.parentNode; }
			if (theEl.tagName=='A')
			{
				var theFree=theEl.getAttribute('free');
				if (!theFree && (theEl.href.indexOf('/promo/')==-1 || theEl.href.indexOf('#')!=-1))
				{
					var x = theEl.offsetLeft;
					var y = theEl.offsetTop + theEl.offsetHeight ;
					// deal with elements inside tables and such
					var parent = theEl;
					while (parent.offsetParent) {
					parent = parent.offsetParent;
					x += parent.offsetLeft;
					y += parent.offsetTop ;
					}
					// Page introduces other offsets via padding if IE
					var theAgent=navigator.userAgent.toLowerCase();
					if ((theAgent.indexOf('msie') > 0) && (theAgent.indexOf('win') > 0))
					{
						x+=6;
						y-=7;
					}
					else if ((theAgent.indexOf('safari') > 0) && (theAgent.indexOf('mac') > 0))
					{
						y-=6;
					}
					else
					{
						x+=6;
						y-=6;
					}
					if (theEl.href.indexOf('#mtabother')!=-1)
					{
						
						showMessage(x+theXOffset,y+theYOffset,'moTabMsgBox');
					}
					else
					{
						if (theEl.href.indexOf('http')==-1 || theEl.href.indexOf('actioneconomics.com') != -1)
						{
							showMessage(x+theXOffset,y+theYOffset,'moMsgBox');
						}
						else
						{
							theEl.setAttribute('free','1');
						}
					}
				}
			}
		
			
		}
	}
	function handleOnclick(e)
	{
		var theEl;
		var theRet=true;
		if (!e) var e = window.event;
		if (e.target) theEl = e.target;
		else if (e.srcElement) theEl = e.srcElement;
		if (! theEl && e){theEl=e; }
		if (theEl.nodeType == 3) // defeat Safari bug
			theEl = theEl.parentNode;
		if (theEl)
		{
			if (theEl.tagName!='A'){ theEl=theEl.parentNode; }
			if (theEl.tagName=='A')
			{
				var theFree=theEl.getAttribute('free');
				if (!theFree && theEl.href && (theEl.href.indexOf('/promo/')==-1 || theEl.href.indexOf('#')!=-1))
				{
					theRet=false;
				}
			}
		}
		return theRet;
	}
	var tipobj;
	function showMessage(theX,theY,theMsgBoxID)
	{
		var theMsgBox=document.getElementById(theMsgBoxID);
		if (theMsgBox)
		{
			theMsgBox.style.zIndex=1000;
			theMsgBox.style.left=theX+'px';
			theMsgBox.style.top=theY+'px';
			theMsgBox.style.display='block';
		}
	}
