(function($){
    $.fn.opaqueDiv = function (options){
        var defaults = {
            background: '#000000',
            opacity: 0.5,
            padding: 5,
            roundedCorners:0 
        }
        var options = $.extend(defaults, options);
        return this.each(function(){
            var obj = $(this);
            
            var height = obj.height();
            var width = obj.width();

            var divContents = obj.contents();
            
            var outerDiv = $('<div ></div>');
            var outerDivCss = {
                'width':width,
                'height':height
            }
            $(outerDiv).css(outerDivCss);
            
            var innerContentDiv = $('<div id="fill_me" class="fill_me"></div>');
            var innerContentDivCss = {
                'width':width - (options.padding*2),
                'height':height - (options.padding*2),
                'position':'relative',
                'z-index':'3',
                'padding':options.padding
            }
            $(innerContentDiv).css(innerContentDivCss);
            
            var transparentDiv = $('<div></div>');
            var transparentDivCss = {
                'background-color':options.background,
                'opacity':options.opacity,
                'position':'absolute',
                'width':width,
                'height':height,
                'z-index':'2',
                '-moz-border-radius': options.roundedCorners+'px',
                'border-radius':options.roundedCorners+'px'
            }
            $(transparentDiv).css(transparentDivCss);
            
            $(innerContentDiv).html(divContents);
            $(outerDiv).append(transparentDiv);
            $(outerDiv).append(innerContentDiv);
            $(this).html(outerDiv);
        });
    }
})(jQuery);
