(function($){
    $.fn.extend({
 
        customStyle : function(options) {
            if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
                return this.each(function() {
	  
                    var currentSelected = $(this).find(':selected');
                    
                    $(this).after('<span class="customStyleSelectBox"><span class="customStyleSelectBoxInner">'+currentSelected.text()+'</span></span>').css({
                        position:'absolute', 
                        opacity:0,
                        fontSize:$(this).next().css('font-size')
                        });
                        
                    var selectBoxSpan = $(this).next();
                    
                    $(this).appendTo(selectBoxSpan).css({
                        left: 0
                    });
                    
                    var selectBoxWidth = parseInt($(this).width()) - parseInt(selectBoxSpan.css('padding-left')) -parseInt(selectBoxSpan.css('padding-right'));
                    
                    var selectBoxSpanInner = selectBoxSpan.find(':first-child');
                    selectBoxSpan.css({
                        display:'inline-block', 
                        position:'relative'
                    });
                    
                    selectBoxSpanInner.css({
                        width:selectBoxWidth, 
                        display:'inline-block'
                    });
                    
                    var selectBoxHeight = parseInt(selectBoxSpan.height()) + parseInt(selectBoxSpan.css('padding-top')) + parseInt(selectBoxSpan.css('padding-bottom'));
                    
                    $(this).height(selectBoxHeight).change(function(){
                        // selectBoxSpanInner.text($(this).val()).parent().addClass('changed');   This was not ideal
                        //selectBoxSpanInner.text($(this).find(':selected').text()).parent().addClass('changed');
                        $(this).parents('span.customStyleSelectBox').children('span.customStyleSelectBoxInner').text($(this).find(':selected').text());
                        //Renee Lung (rlung@olympic.ca) added in this line because the original code
                        //was replacing the text nodes of other nested <option> elements with the :selected text
                    // Thanks to Juarez Filho & PaddyMurphy
                    });
			
                });
            }
        }
    });
})(jQuery);
