src/shims/moxie/js/moxie-swf.js
function(type, fn) {
				type = type.toLowerCase();
	
				var list = eventpool[this.uid] && eventpool[this.uid][type], i;
	
				if (list) {
					if (fn) {
						for (i = list.length - 1; i >= 0; i--) {
							if (list[i].fn === fn) {
								list.splice(i, 1);
								break;
							}
						}
					} else {
						list = [];
					}
	
					// delete event list if it has become empty
					if (!list.length) {
						delete eventpool[this.uid][type];
						
						// and object specific entry in a hash if it has no more listeners attached
						if (Basic.isEmptyObj(eventpool[this.uid])) {
							delete eventpool[this.uid];
						}
					}
				}
			}
function(type, fn) {
				type = type.toLowerCase();
	
				var list = eventpool[this.uid] && eventpool[this.uid][type], i;
	
				if (list) {
					if (fn) {
						for (i = list.length - 1; i >= 0; i--) {
							if (list[i].fn === fn) {
								list.splice(i, 1);
								break;
							}
						}
					} else {
						list = [];
					}
	
					// delete event list if it has become empty
					if (!list.length) {
						delete eventpool[this.uid][type];
						
						// and object specific entry in a hash if it has no more listeners attached
						if (Basic.isEmptyObj(eventpool[this.uid])) {
							delete eventpool[this.uid];
						}
					}
				}
			}
function ( type , fn ) { type = type . toLowerCase ( ) ; var list = eventpool [ this . uid ] && eventpool [ this . uid ] [ type ] , i ; if ( list ) { if ( fn ) { for ( i = list . length - 1 ; i >= 0 ; i -- ) { if ( list [ i ] . fn === fn ) { list . splice ( i , 1 ) ; break ; } } } else { list = [ ] ; } // delete event list if it has become empty if ( ! list . length ) { delete eventpool [ this . uid ] [ type ] ; // and object specific entry in a hash if it has no more listeners attached if ( Basic . isEmptyObj ( eventpool [ this . uid ] ) ) { delete eventpool [ this . uid ] ; } } } }
Unregister the handler from the event, or if former was not specified - unregister all handlers

@method removeEventListener
@param {String} type Type or basically a name of the event
@param {Function} [fn] Handler to unregister
Unregister the handler from the event or if former was not specified - unregister all handlers