/**
 * Almost cross-browser compatible addEventListener() function
 *
 * @access     public
 * @param      object oNode The node to listen to.
 * @param      string sType The type of event to listen to.
 * @param      function fListener The handler function.
 * @param      bool bUseCapture Capture or bubble the event.
 * @return     void
 */

// W3C model
if (window.addEventListener)
{
	var addEvent = function (oNode,
	                         sType,
	                         fListener,
	                         bUseCapture)
	{
		if (!oNode || !oNode.addEventListener)
		{
			return;
		}
		oNode.addEventListener(sType, fListener, bUseCapture);
	};
}
// MSIE model
else if (window.attachEvent)
{
	var addEvent = function (oNode,
	                         sType,
	                         fListener)
	{
		if (!oNode || !oNode.attachEvent)
		{
			return;
		}
		oNode.attachEvent('on'+sType, fListener);
	};
}
// unsupported, try to do it the old way
else
{
	var addEvent = function (oNode,
	                         sType,
	                         fListener)
	{
		if (!oNode)
		{
			return;
		}
		var fOldListener = oNode['on'+sType];
		oNode['on'+sType] = function (oEvent)
		{
			fListener(oEvent);
			if (fOldListener)
			{
				fOldListener(oEvent);
			}
		}
	};
}

/**
 * Initialiaze Google Analytics
 */
var bIsGALoaded = false;
function initGA()
{
	if (bIsGALoaded)
	{
		return true;
	}
	bIsGALoaded = true;
	try
	{
		var pageTracker = _gat._getTracker('UA-10410434-1');
		pageTracker._trackPageview();
	}
	catch (e)
	{
	}
	return true;
}


addEvent(window, 'load', initGA);
addEvent(window, 'DOMContentLoaded', initGA);
