function $( id )
{
	return document.getElementById( id );
}

function addEvent( elm, evType, fn, useCapture, multi )
{
	if ( elm.addEventListener )
		elm.addEventListener( evType, fn, useCapture );
	else if ( multi && elm.attachEvent )
		elm.attachEvent( 'on' + evType, fn );
	else
		elm[ 'on' + evType ] = fn;
}

function removeEvent( elm, evType, fn, useCapture, multi )
{
	if ( elm.removeEventListener )
		elm.removeEventListener( evType, fn, useCapture );
	else if ( multi && elm.detachEvent )
		elm.detachEvent( 'on' + evType, fn );
	else
		elm[ 'on' + evType ] = null;
}

function standard_event( event, obj )
{
	if ( !event && window.event )
		event = window.event;

	if ( !event.stopPropagation )
		event.stopPropagation = new Function( 'this.cancelBubble = true' );

	if ( !event.preventDefault )
		event.preventDefault = new Function( 'this.returnValue = true' );

	if ( typeof event.layerX == 'undefined' && typeof event.offsetX == 'number' )
	{
		event.layerX = event.offsetX;
		event.layerY = event.offsetY;
	}

	if ( !event.currentTarget && obj)
		event.currentTarget = obj;

	if ( !event.target && event.srcElement )
	{
		event.target = event.srcElement;
		if ( event.type == 'onmouseout' )
			event.relatedTarget = event.toElement;
		else if ( event.type == 'onmouseover' )
			event.relatedTarget = event.fromElement;
	}

	if ( !event.pageX && event.clientX )
	{
		event.pageX = event.clientX + document.body.scrollLeft;
		event.pageY = event.clientY + document.body.scrollTop;
	}
	return event;
}

if ( !document.getElementById && document.all )
{
	document.getElementById = new Function( 'id', 'return document.all[id]' );
}

function windowWidth()
{
	if ( typeof( window.innerWidth ) != 'number' )
	{
		if ( document.documentElement && document.documentElement.clientWidth )
			return document.documentElement.clientWidth;
		else if ( document.body && document.body.clientWidth )
			return document.body.clientWidth;
	}
	else
		return window.innerWidth;
}

function windowHeight()
{
	if ( typeof( window.innerHeight ) != 'number' )
	{
		if ( document.documentElement && document.documentElement.clientHeight )
			return document.documentElement.clientHeight;
		else if ( document.body && document.body.clientHeight )
			return document.body.clientHeight;
	}
	else
		return window.innerHeight;
}

