(function($){
 $.fn.extend({
 	customStyle : function(options) {
	  if(!$.browser.msie || ($.browser.msie&&$.browser.version>6)){
	  return this.each(function() {

			var currentSelected = $(this).find(':selected');
            var tmpcl = '';
            if ($(this).hasClass('long-select')||$(this).hasClass('short-select')||$(this).hasClass('middle-select')){
            //if ($(this).hasClass('long-select', 'short-select', 'middle-select')){
                tmpcl = ' '+$(this).attr('class');}
            else{
                tmpcl = ' default-select';
            }
			$(this).after('<span class="customStyleSelectBox'+tmpcl+'">\
                               <span class="inner">\
                                   <span class="innest">'+currentSelected.text()+'</span>\
                               </span>\
                           </span>');

            var select = $(this);
            select.css({position: 'absolute'});
            var container = select.next();
            var inner = container.find(':first-child');
            var innest = inner.find(':first-child');

            select.css({opacity:0});
			
            var containerWidth  = parseInt(select.width()) - parseInt(container.css('padding-left')) -
                                  parseInt(container.css('padding-right'))-6;
            var containerHeight = parseInt(container.height()) + parseInt(container.css('padding-top')) +
                                  parseInt(container.css('padding-bottom'));            

			inner.css({width:containerWidth-20});
            innest.css({width:containerWidth-26});

            select.height(containerHeight).change(function(){
                //alert(select.val());
				innest.text($('option:selected',this).text());
                //$('option:selected',this).text());
                //.parent().addClass('changed');
			});
	  });
	  }
	},
    freeList : function(){
        var select = $(this);
        this.select.children().remove();
        return this;
    },
    addFirstItem : function(itemText, itemCode){
        var select = $(this);
        var container = select.next();
        var inner = container.find(':first-child');
        var innest = inner.find(':first-child');
        select.prepend(itemCode);
        innest.text(itemText);
        return this;
    },
    showText : function(text){
        var select = $(this);
        var container = select.next();
        var inner = container.find(':first-child');
        var innest = inner.find(':first-child');
        innest.text(text);
        return this;
    },
    reset : function(){
        var select = $(this);
        select.children().remove();
        var container = select.next();
        var inner = container.find(':first-child');
        var innest = inner.find(':first-child');
        innest.text('');
        return this;
    }
 });
})(jQuery);

$(document).ready(function(){
    $('SELECT').customStyle();
});

