input.on( "change", function( e ) {
var fn = arguments.callee,
clone;
me.files = e.target.files;
// reset input
clone = this.cloneNode( true );
clone.value = null;
this.parentNode.replaceChild( clone, this );
input.off();
input = $( clone ).on( "change", fn )
.on( "mouseenter mouseleave", mouseHandler );
owner.trigger("change");
});
label.on( "mouseenter mouseleave", mouseHandler );