(function($) {
    $.fn.prettyButton = function(options){  
        var defaults = {  
            top: 10,
            bottom: 10,
            left: 10,
            right: 10,
            bgImagePre: "",
            bgImageOverPre: "",
            bgImageExt: "jpg",
            buttonClass: "pButton",
            addPointer: true,
            pointerClass: "pointer"
        };
                    
        var options = $.extend(defaults, options); 
              
        return this.each(function(){
            
            var origHtml = $(this).html();
                        
            var origAttr = {
                top: $(this).css("padding-top"),
                right: $(this).css("padding-right"),
                bottom: $(this).css("padding-bottom"),
                left: $(this).css("padding-left")
            };
 
            $(this)
            .addClass(options.buttonClass)
            .css("cursor", "pointer")
            .empty();
            
            var m = $("<div/>").appendTo(this)
            .css("background", "top left no-repeat")
            .css("padding-left", options.left);

            var inner = $("<div/>").appendTo(m)
            .css("background", "top right no-repeat")
            .css("padding-right", options.right)
            .css("height", options.top + options.bottom)
            .append(origHtml);
            
            var a = m.find("a");
            
            if(options.bgImageOverPre.length > 0)
            {
                $(this).hover(over, out);
            } 
            
            function over(){
                m.css("background-image", "url(" + options.bgImageOverPre + "1." + options.bgImageExt + ")");
                inner.css("background-image", "url(" + options.bgImageOverPre + "2." + options.bgImageExt + ")");
            }
            
            function out(){
                m.css("background-image", "url(" + options.bgImagePre + "1." + options.bgImageExt + ")");
                inner.css("background-image", "url(" + options.bgImagePre + "2." + options.bgImageExt + ")");
            }   
                         
            $(this).click(function(){
                if(a.attr("href") != undefined)
                    window.location.href = a.attr("href");
            }); 
             
            if(jQuery.browser.msie) inner.css("white-space", "nowrap")
            
            out();
        });
    };
})(jQuery);

