flashListener = new FlashListener();
function FlashListener() {
   var t = this
   var eventsArr = new Array();

/////////////////////////////////////////////////////////////////////////////
t.addListener = function (objectid,callBackEvent,evt) {
  var i;
  for(i=0; i<eventsArr.length;i++) {
	if ((eventsArr[i][0]==objectid) && (eventsArr[i][1]==callBackEvent) && (eventsArr[i][2]==evt)) {
	  return false;
	}
  }
  var ArrLength = eventsArr.length
  eventsArr[ArrLength] = new Array(3);
  eventsArr[ArrLength][0] = objectid
  eventsArr[ArrLength][1] = callBackEvent
  eventsArr[ArrLength][2] = evt
}
/////////////////////////////////////////////////////////////////////////////
t.removeListener = function (objectid,callBackEvent,evt) {
  var i,j;
  for(i=0; i<eventsArr.length;i++) {
	if ((eventsArr[i][0]==objectid) && (eventsArr[i][1]==callBackEvent) && (eventsArr[i][2]==evt)) {
	  for(j=i+1; j<eventsArr.length;j++) {
		  eventsArr[j-1][0] = eventsArr[j][0]
		  eventsArr[j-1][1] = eventsArr[j][1]
		  eventsArr[j-1][2] = eventsArr[j][2]			  
	  }
	  eventsArr.length--
	  return false;
	}
  }		
}
/////////////////////////////////////////////////////////////////////////////
t.removeAllListeners = function () {
  eventsArr.length = 0
  eventsArr = new Array();
}
/////////////////////////////////////////////////////////////////////////////
t.triggerEvent = function (objectid,evt,args) {
  var i;
  for(i=0; i<eventsArr.length;i++) {
	if ((eventsArr[i][0]==objectid) && (eventsArr[i][2]==evt)){
	    eventsArr[i][1].call(this,eventsArr[i][2],args);
	}
  }	 
}
/////////////////////////////////////////////////////////////////////////////


// REMOVE //
/*t.showListeners = function () {
  var i;
  for(i=0; i<eventsArr.length;i++) {
	  alert([eventsArr[i][0],eventsArr[i][1],eventsArr[i][2]])
  }
}*/
/////////////////////////////////////////////////////////////////////////////

}
