var EventController = Class.create();

/**
 *  Objet EventController
 */
 
Object.extend(EventController.prototype, {
 initialize: function(options){
 		this.events = new Array();
 		Event.extend(this);
 		Element.extend(this);
 },
 add: function(eventname,funct){
// 			this.observe(eventname,funct);
 		this.events.push(new Array(eventname,funct));
 },
 remove: function(eventname){
// 			this.stopObserving(eventname,funct);
 		var that = this;
 		this.events.each(function(c){
 				if(c[0]==eventname){
 					that.events = that.events.without();
 				}
 		});
 },
 fire: function(eventname){
 	  //on récupère les arguments puis on retire l'eventname
 		var args = $A(arguments);
 		args = args.without(eventname)
 		//puis on lance l'evenement correspondant avec les valeurs correspondantes.
 		var that = this;
 		this.events.each(function(c){
 				if(c[0]==eventname){
// 					str = c[1]+"("+args.join(",")+")";
// 					eval(str);
 					c[1].apply(this,args);
 				}
 		});
 },
 list: function(eventname){
 		var that = this;
 		output = "";
 		this.events.each(function(c){
 				output+=c[0]+"\n";
 		});
 		alert(output);
 }
});

