 ;(function($) { 
     $.extend($.event.special, { 
         focusin: { 
             setup: function() { 
                 if ($.browser.msie) 
                     return false; 
                 this.addEventListener("focus", $.event.special.focusin.handler, true); 
             }, 
             teardown: function() { 
                 if ($.browser.msie) 
                     return false; 
                 this.removeEventListener("focus", $.event.special.focusin.handler, true); 
             }, 
             handler: function(event) { 
                 var args = Array.prototype.slice.call( arguments, 1 ); 
                 args.unshift($.extend($.event.fix(event), { type: "focusin" })); 
                 return $.event.handle.apply(this, args); 
             } 
         }, 
         focusout: { 
             setup: function() { 
                 if ($.browser.msie) 
                     return false; 
                 this.addEventListener("blur", $.event.special.focusout.handler, true); 
             }, 
             teardown: function() { 
                 if ($.browser.msie) 
                     return false; 
                 this.removeEventListener("blur", $.event.special.focusout.handler, true); 
             }, 
             handler: function(event) { 
                 var args = Array.prototype.slice.call( arguments, 1 ); 
                 args.unshift($.extend($.event.fix(event), { type: "focusout" })); 
                 return $.event.handle.apply(this, args); 
             } 
         } 
     }); 
     $.extend($.fn, { 
         delegate: function(type, delegate, handler) { 
             return this.bind(type, function(event) { 
                 var target = $(event.target); 
                 if (target.is(delegate)) { 
                     return handler.apply(target, arguments); 
                 } 
             }); 
         }, 
         triggerEvent: function(type, target) { 
             return this.triggerHandler(type, [jQuery.event.fix({ type: type, target: target })]); 
         } 
     }) 
 })(jQuery); 
