function addLoadListener(fn)
{
	if(fn == null)
	{
		return false;
	}

	if (window.addEventListener)
	{
		window.addEventListener('load', fn, false);
	}
	else if (document.addEventListener)
	{
		document.addEventListener('load', fn, false);
	}
	else if (window.attachEvent)
	{
		window.attachEvent('onload', fn);
	}
	else
	{
		return false;
	}
	
	return true;
};



function attachEventListener(target, eventType, functionRef, capture)
{
	if(target == null || functionRef == null)
	{
		return false;
	}

    if (target.addEventListener)
    {
        target.addEventListener(eventType, functionRef, capture);
    }
    else if (target.attachEvent)
    {
        target.attachEvent("on" + eventType, functionRef);
    }
    else
    {
        return false;
    }

    return true;
};




function detachEventListener(target, eventType, functionRef, capture)
{
	if(target == null || functionRef == null)
	{
		return false;
	}

    if (target.removeEventListener)
    {
        target.removeEventListener(eventType, functionRef, capture);
    }
    else if (target.detachEvent)
    {
        target.detachEvent("on" + eventType, functionRef);
    }
    else
    {
        return false;
    }

    return true;
};