/**
*   事件解析器 
*  @dispatchEvent({type:"事件名" target:参数}) 广播事件
*  @addEventListener("广播事件的type", 追加事件的对象)
**/
function __eventDispatcher()
{
	this.initialize=function(object){
		object.addEventListener=this.addEventListener;
		object.dispatchEvent=this.dispatchEvent;
		object.dispatchQueue=this.dispatchQueue;
	}
	this.addEventListener=function(event, handler){var queueName = "__q_" + event; if (this[queueName] == undefined)  this[queueName] = new Array();
 this[queueName].push(handler);}
	this.dispatchEvent=function(eventObj){  if (eventObj.target == undefined)   eventObj.target = this;  this.dispatchQueue(this, eventObj); }
	this.dispatchQueue=function(queueObj, eventObj){var queueName = "__q_" + eventObj.type;var queue = queueObj[queueName];if (queue != undefined){ var i; for (i in queue){  var o = queue[i];  var oType = typeof(o);  if (oType == "object"){   if (o.handleEvent == undefined)     o[eventObj.type](eventObj);   else o.handleEvent(eventObj);  }  else   o.apply(queueObj, [eventObj]); }}}
}
var EventDispatcher = new __eventDispatcher();