(function ($) {
    $.fn.filestyle = function (options) {
        var settings = {
            width: 150
        };
        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": "transparent url(" + settings.image + ") 0 0 no-repeat",
                
                "float": "left",
                "position": "absolute",
                "overflow": "hidden",
                "top": "0",
                "right": "0"
            });
            var filename = $('<input type="text"  />').addClass($(self).attr("class"));
            
            $(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"
            });
            //filename.parent().parent().css("padding-right", (settings.imagewidth + 5) + "px");
            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);
