var Fse; if (!Fse) Fse = {};

if( !Fse.EventManager ) Fse.EventManager = {};

Fse.EventManager.addEventHandler = function( oTarget, sEventType, fnHandler ) {

    if( ! ( oTarget && sEventType && fnHandler )) {
        return;
    }
	if( oTarget.addEventListener ) {     // Standard
	   oTarget.addEventListener( sEventType, fnHandler, false );
	} else if( oTarget.attachEvent ) {   // IE
	   oTarget.attachEvent( "on" + sEventType, fnHandler  );
	} else {                             // Other
	   alert( "Using other???" );
	   oTarget["on" + sEventType] = fnHandler;
	}
};

Fse.EventManager.removeEventHandler = function ( oTarget, sEventType, fnHandler ) {
    if( ! ( oTarget && sEventType && fnHandler )) {
        return;
    }
    if( oTarget.removeEventListener ) {  // Standard
        oTarget.removeEventListener( sEventType, fnHandler, false );
    } else if( oTarget.detachEvent ) {   // IE
        oTarget.detachEvent( "on" + sEventType, fnHandler );
    } else {                             // Other
        oTarget["on" + sEventType] = null;
    }
};

Fse.EventManager.getEvent = function() {
    if( window.event ) {
        return Fse.EventManager._normalizeEvent( window.event );
    } else {
        return Fse.EventManager._normalizeEvent( Fse.EventManager.getEvent.caller.arguments[0] );
    }
};    

Fse.EventManager._normalizeEvent = function( oEvent ) {
    return oEvent;
};

Fse.EventManager.addOnLoadHandler = function( fnHandler ) {
    Fse.EventManager.addEventHandler( window, "load", fnHandler );
};