
function Mediator() {
	
	this.register=register_;
	this.trigger=trigger_;
	
	var myControls = new Array();
	
	var NotInCollection = -1;
	
	
	function register_(aControl) {
		if (NotInCollection == findControl(aControl)) {
				myControls.push(aControl);
			}
	}

	function findControl(aControl) {
		var index;
		for (index=0; index < myControls.length ; ++index) {
			if (myControls[index] === aControl) {
				return index;
				}
			}
		return NotInCollection;	
	}

	function trigger_(anEvent, aControl, aControlId) {
		if (aControlId == null) {
			//alert('here1');
			myControls[0].trigger(aControl, anEvent);
		} else {
			//alert('here2');
			for (var i=0; i<myControls.length; ++i) {
				if (myControls[i].myId==aControlId) {
					myControls[i].trigger(aControl, anEvent);
				}
			}
		}	
	}
	
}