(function($) {  
$.fn.filestyle = function(options) {
var settings = {
width : 250
};
if(options) {
$.extend(settings, options);
};
return this.each(function() {
var self = this;
var wrapper = $("<div>")
.css({
"width": settings.imagewidth + "px",
"height": settings.imageheight + "px",
"background": "url(" + settings.image + ") 0 0 no-repeat",
"background-position": "right",
"display": "inline",
"position": "absolute",
"overflow": "hidden"
});

var filename = $('<input class="file">')
.addClass($(self).attr("class"))
.css({
 "display": "inline",
 "width": settings.width + "px"
});
$(self).before(filename);
$(self).wrap(wrapper);
$(self).css({
"position": "relative",
"height": settings.imageheight + "px",
"width": settings.width + "px",
"display": "inline",
"cursor": "pointer",
"opacity": "0.0"
});

if ($.browser.mozilla) {
if (/Win/.test(navigator.platform)) {
$(self).css("margin-left", "-142px");                    
} else {
$(self).css("margin-left", "-168px");                    
};
} else {
$(self).css("margin-left", settings.imagewidth - settings.width + "px");                
};

$(self).bind("change", function() {
filename.val($(self).val());
});

});
};
})(jQuery);