
jQuery.extend({connect:function(){var args=this._getArgs(arguments);jQuery._connect.apply(this,args);},disconnect:function(){var args=this._getArgs(arguments);jQuery._disconnect.apply(this,args);},disconnectAll:function(){var args=this._getArgs(arguments);var refObj=args[0];var refFunc=args[1];var origFunc=refObj[refFunc];if(typeof origFunc._listeners=='undefined')
return;var ls=origFunc._listeners;var t=origFunc.target;origFunc._listeners=null;delete origFunc['_listeners'];origFunc=refObj[refFunc]=t;},_connect:function(refObj,refFunc,callObj,callFunc){var origFunc=refObj[refFunc];if(typeof callFunc=='string')
callFunc=callObj[callFunc];if(typeof origFunc._listeners=='undefined'){var newFunc=this._getNewFunc(refObj);newFunc.target=origFunc;newFunc._listeners=[];origFunc=refObj[refFunc]=newFunc;}
origFunc._listeners.push([callObj,callFunc]);},_disconnect:function(refObj,refFunc,callObj,callFunc){var origFunc=refObj[refFunc];if(typeof callFunc=='string')
callFunc=callObj[callFunc];if(typeof origFunc._listeners=='undefined')
return;var temp;for(var i=0;i<origFunc._listeners.length;i++){temp=origFunc._listeners[i];if(temp[0]==callObj&&temp[1]==callFunc)
origFunc._listeners.splice(i,1);return;}},_getArgs:function(_args){var a=_args,args=[],i=0;if(!a[0])a[0]=self;args.push(jQuery.isString(a[0])?self:a[i++],a[i++]);var a1=a[i+1];if(!a1)a1=self;args.push(jQuery.isString(a1)||jQuery.isFunction(a1)?a[i++]:self,a[i++]);for(var l=a.length;i<l;i++){args.push(a[i]);}
return args;},_getNewFunc:function(refObj){return function(){var c=arguments.callee;var ls=c._listeners;var _args=arguments;c.target.apply(refObj,arguments);for(var i=0;i<ls.length;i++){ls[i][1].apply(ls[i][0],_args);}};},isString:function(arg){if(typeof arg=='string')
return true;return false;}});
