function SBR(el)
{

  $.fn.disableTextSelect = function() {
    var sbObj = $(this);
    if($.browser.mozilla){
    	$(sbObj).css('MozUserSelect','none');
    }else if($.browser.msie){
    	$(sbObj).bind('selectstart',function(){return false;});
    }else{
    	$(sbObj).mousedown(function(){return false;});
    }
  }

  function _createSBRSimple()
  {
    var offset = $(this.sbObj).offset();
    var width = $(this.sbObj).outerWidth();
    var height = $(this.sbObj).outerHeight();
		var widthIn = width - 1;
  
  	$('body').append('<div class="sbrWrap ' + this.sbWrapObj.replace('.', '') + '"><p class="sbrTitle ' + this.sbTitleObj.replace('.', '') + '"><span></span></p></div>');
  	$(this.sbTitleObj).disableTextSelect();
  	
  	$(this.sbWrapObj).css('left', offset.left + 'px');
  	$(this.sbWrapObj).css('top', offset.top + 'px');
  	$(this.sbWrapObj).css('width', width + 'px');
  	$(this.sbWrapObj).css('height', height + 'px');
  
	var _curSelected = this.sbCurSelected;
	var TH = this;
	
	var sbTitleSet = false;
    $(this.sbWrapObj).append('<div class="sbrWrapInner ' + this.sbWrapInnerObj.replace('.', '') + '"><ul class="sbrList ' + this.sbListObj.replace('.', '') + '"></ul></div>');
    $(this.sbObj).children('option').each(function() {
      var val = $(this).val();
      $(TH.sbListObj).append('<li>' + $(this).html() + '</li>');
      if(val == _curSelected) {
        $(TH.sbListObj + ' li:last').addClass('act');
        TH.sbLastOption = $(TH.sbListObj + ' li:last');
        $(TH.sbTitleObj + ' span').html($(this).html());
        sbTitleSet = true;
      }
  	});
  
  	if(!sbTitleSet) $(this.sbListObj + ' span').html($(this.sbListObj + ' li:first').html());
  	$(this.sbTitleObj + ' span').css('line-height', height + 'px');
  
    $(document).click(function(){
	$(".sbrWrapInner").css('display', 'none');
    });

  	$(this.sbTitleObj).click(function(e){
		if ( $(this).next().is(':visible') ) {
			$(TH.sbWrapInnerObj).css('display','none');
		} else {
			$(".sbrWrapInner").css('display', 'none');
			$(TH.sbWrapInnerObj).css('display','block');
			$(TH.sbWrapInnerObj).css('width', widthIn + 'px');
			$(TH.sbWrapInnerObj).css('z-index', '50');
		} 
		e.preventDefault();
		e.stopPropagation();    

  	});

  	$(this.sbListObj + ' li').mouseover(function(){
  	 $(this).addClass('hover');
  	}).mouseout(function(){
  	 $(this).removeClass('hover');
  	});
  	
  	$(this.sbListObj + ' li').click(function(){
  	 if(TH.sbLastOption) TH.sbLastOption.removeClass('act'); 
  	 $(this).addClass('act');
  	 $(TH.sbTitleObj + ' span').html($(this).html());
  	 $(TH.sbObj).val($(this).html());
  	 if(TH.sbOnChange) sbOnChange();
  	 TH.sbLastOption = $(this);
  	});	
	
  } 
  



  this.sbObj = el;
  this.sbObjName = $(this.sbObj).attr('name');

  this.sbWrapObj = '.sbWrap_'+this.sbObjName.replace('[]', '');
  this.sbWrapInnerObj = '.sbWrapInner_'+this.sbObjName.replace('[]', '');
  this.sbTitleObj = '.sbTitle_'+this.sbObjName.replace('[]', '');
  this.sbListObj = '.sbList_'+this.sbObjName.replace('[]', '');

  this.sbLastOption = false;
  this.sbOnChange = $(this.sbObj).attr('onchange');
  this.sbCurSelected = $(this.sbObj).val();
  this.sbMultiple = $(this.sbObj).attr('multiple');
  this.sbrLastVal = 0;

  $(this.sbObj).css('position', 'relative');
	$(this.sbObj).css('visibility', 'hidden');
	
	this._createSBRSimple = _createSBRSimple;
	//this._createSBRMultiple = _createSBRMultiple;
	
	if(this.sbMultiple) {  	
		//this._createSBRMultiple();
	} else {
		this._createSBRSimple();
	}

	
	
}



(function($) {
 
   $.fn.testPlug = function(settings) {
     var config = {};
     if (settings) $.extend(config, settings);
 
     this.each(function() {
			 var sbr = new SBR($(this));
     });
 
     return this;
   };
 
})(jQuery);
