var events = new Object ();
//object hat handler-closure
//closure erhält this-zeiger
//function erhaelt eventsent-object
events.Observer  = function () {
	this.Listener = new Array ();	
}

events.Observer.prototype = {
	addListener:function (p_fnListener) {
		this.Listener.push (p_fnListener);
	},
	removeListener:function (p_iIndex) {
		if (p_iIndex < this.Listener.length-2) {
			this.Listener.slice(p_iIndex, p_iIndex+1);
		} 
		
		if (p_iIndex < this.Listener.length - 1) {
			this.Listener.slice (p_iIndex);
		}	
	},
	getListener:function (p_iIndex) {
		return this.Listener[p_iIndex];		
	},
	onEvent:function (p_Event) {
		for (var i = 0; i < this.Listener.length; i++) {
			func = this.Listener[i];
			func (p_Event);
		}
	}
}


