Events = Class.create();

Events.prototype = {

	initialize: function() {
		this.names2listenerLists = new Array();
	},

	names2listenerLists: new Array(),

	addListener: function(name, f) {
		var lst = this.names2listenerLists[name];
		if (!lst) {
				lst = new Array();
		}		
		var found = false;
		$A(this.names2listenerLists).each(function (g) {
		  found |= f==g ;
		});
		if (!found) lst[lst.length] = f; // can't use push???? TODO
		this.names2listenerLists[name] = lst;
		return true;
	},

	removeListener: function(name, f) {
		alert('Cannot remove yet "' + name + '"');
		return false;
	},

	notifyListeners: function(name,arr) {			
	  if (!arr) arr = new Array();
	  var lst = this.names2listenerLists[name];
		if (lst) $A(lst).each(function(f) {f(name,arr);});

	}
}

// singleton
var theEvents = new Events();

