
var eventListeners = new Array();

function MyEvent(name, params, target)
{
	this.name = name || '';
	this.params = params || null;
	this.target = target || null;
}

dispatchEvent = function(e)
{
	var fn;
	var listeners = [];
	
	for(var i = 0; i < eventListeners.length; i++) {
		listeners[i] = eventListeners[i];
	}
	
	for(var i = 0; i < listeners.length; i++) {
		if(listeners[i].name == e.name) {
			fn = listeners[i].fn;
			fn(e);
		}
	}
}

addListener = function(eventName, eventFn)
{
	eventListeners.push({
		name: eventName,
		fn: eventFn
	});
}

removeListener = function(eventName, eventFn)
{
	for(var i = 0; i < eventListeners.length; i++) {
		if(eventListeners[i].name == eventName && eventListeners[i].fn === eventFn) {
			eventListeners.splice(i, 1);
		}
	}
}