
/* 
 * Event Manager
 */

var EventManager = {};

EventManager.list = [];

EventManager.removeEvent = function( obj, event, listener, useCapture ){
	if(obj.removeEventListener){
		obj.removeEventListener( event, listener, useCapture ? true : false );
	} else if(obj.detachEvent){
		obj.detachEvent( "on"+event, listener );
	}
};

EventManager.addEvent = function( obj, event, listener, useCapture ){
	//EventManager.list.push(arguments);
	EventManager.list[EventManager.list.length] = arguments;
	if(obj.addEventListener){
		obj.addEventListener( event, listener, useCapture ? true : false );
	} else if(obj.attachEvent){
		obj.attachEvent( "on"+event, listener );
	} else {
		var exists = obj['on'+event];
		obj['on'+event] = (exists)?
			function(){
				exists();
				listener();
			} : function() {
				listener();
			};
	}
};

EventManager.addLoadEvent = function( listener ){
	EventManager.addEvent( window, "load", listener, false );
};



EventManager.addEvent(window, 'unload', EventManager.removeEvent);


