//
// Set up method to add new events
function addEvent( obj, evType, fn )
{
	if ( obj.addEventListener )
	{ // W3C DOM
		obj.addEventListener( evType, fn, true ); 
		return true; 
	}
	else if ( obj.attachEvent )
	{ // IE 5/6 
		var r = obj.attachEvent( "on" + evType, fn ); 
		return r; 
	}
	// We dont support any thing else ;)
	return false; 
}

// Set up method to add new events
function addEventWithParameters ( obj, evType, fn )
{
	// get all option args
	var args = [] ;
	for( var i = 3 ; i < arguments.length ; i++ )
	{
		args.push( arguments[ i ] ) ;
	}

	function handler( e )
	{
		if ( e )
		{
			if( !e.target ) e.target = e.srcElement ;
		}
		else
		{
			alert( "no ee" );
		}
		args.push( e );
		fn.apply( e.target, args )
	}

	if ( obj.addEventListener )
	{ // W3C DOM
		obj.addEventListener( evType, handler, true ); 
		return true; 
	}
	else if ( obj.attachEvent )
	{ // IE 5/6 
		var r = obj.attachEvent( "on" + evType, handler ); 
		return r; 
	}
	// We dont support any thing else ;)
	return false; 
}

// Default for most comman event
function addOnWindowLoadEvent( func )
{
	return addEvent( window, 'load' , func )
}

// remove method to add new events
function removeEvent( obj, evType, fn )
{
	if ( obj.removeEventListener )
	{ // W3C DOM
		obj.removeEventListener( evType, fn, true ); 
		return true; 
	}
	else if ( obj.removeEvent )
	{ // IE 5/6 
		var r = obj.removeEvent( "on" + evType, fn ); 
		return r; 
	}
	// We dont support any thing else ;)
	return false; 
}
