docs: function (target, settings) {
  			if (this._getInst(target)) {
  				return FALSE;
  			}
  			var $target = $(target),
  				self = this,
  				inst = self._newInst($target),
  				sbHolder, sbSelector, sbToggle, sbOptions,
  				s = FALSE, optGroup = $target.find("optgroup"), opts = $target.find("option"), olen = opts.length;
  				
  			$target.attr("sb", inst.uid);
  				
  			$.extend(inst.settings, self._defaults, settings);
  			self._state[inst.uid] = FALSE;
  			$target.hide();
  			
  			function closeOthers() {
  				var key, uid = this.attr("id").split("_")[1];
  				for (key in self._state) {
  					if (key !== uid) {
  						if (self._state.hasOwnProperty(key)) {
  							if ($(":input[sb='" + key + "']")[0]) {
  								self._closeSelectbox($(":input[sb='" + key + "']")[0]);
  							}
  						}
  					}
  				}
  			}
  			
  			sbHolder = $("<dl>", {
  				"id": "sbHolder_" + inst.uid,
  				"class": inst.settings.classHolder + ' closed'
  			});
  			
  			sbSelector = $("<a>", {
  				"id": "sbSelector_" + inst.uid,
  				"href": "#",
  				"class": inst.settings.classSelector + ' name',
  				"click": function (e) {
  					e.preventDefault();
  					closeOthers.apply($(this), []);
  					var uid = $(this).attr("id").split("_")[1];
  					if (self._state[uid]) {
  						self._closeSelectbox(target);
  					} else {
  						self._openSelectbox(target);
  					}
  				}
  			});
  			
  			sbToggle = $("<a>", {
  				"id": "sbToggle_" + inst.uid,
  				"href": "#",
  				"class": inst.settings.classToggle + ' more',
  				"html": '&#9660;',
  				"click": function (e) {
  					e.preventDefault();
  					closeOthers.apply($(this), []);
  
  					var uid = $(this).attr("id").split("_")[1];
  					if (self._state[uid]) {
  						self._closeSelectbox(target);
  					} else {
  						self._openSelectbox(target);
  					}
  				}
  			});
  
  			sbOptions = $("<ul>", {
  				"id": "sbOptions_" + inst.uid,
  				"class": inst.settings.classOptions,
  				"css": {
  					"display": "none"
  				}
  			});
  			
  			$target.children().each(function(i) {
  				var that = $(this), li, config = {};
  				if (that.is("option")) {
  					getOptions(that);
  				} else if (that.is("optgroup")) {
  					li = $("<li>");
  					$("<span>", {
  						"text": that.attr("label")
  					}).addClass(inst.settings.classGroup).appendTo(li);
  					li.appendTo(sbOptions);
  					if (that.is(":disabled")) {
  						config.disabled = true;
  					}
  					config.sub = true;
  					getOptions(that.find("option"), config);
  				}
  			});
  			
  			function getOptions () {
  				var sub = arguments[1] && arguments[1].sub ? true : false,
  					disabled = arguments[1] && arguments[1].disabled ? true : false;
  				arguments[0].each(function (i) {
  					var that = $(this),
  						li = $("<li>"),
  						child;
  					if (that.is(":selected")) {
  						sbSelector.text(that.text());
  						s = TRUE;
  					}
  					if (i === olen - 1) {
  						li.addClass("last");
  					}
  					if (!that.is(":disabled") && !disabled) {
  						child = $("<a>", {
  							"href": "#" + that.val(),
  							"rel": that.val(), 
  							"text": that.text(),
  							"click": function (e) {
  								e.preventDefault();
  								var t = sbToggle,
  									uid = t.attr("id").split("_")[1];
  								self._changeSelectbox(target, $(this).attr("rel"), $(this).text());
  								self._closeSelectbox(target);
  							}
  						});
  						if (sub) {
  							child.addClass(inst.settings.classSub);
  						}
  						child.appendTo(li);
  					} else {
  						child = $("<span>", {
  							"text": that.text()
  						}).addClass(inst.settings.classDisabled);
  						if (sub) {
  							child.addClass(inst.settings.classSub);
  						}
  						child.appendTo(li);
  					}
  					li.appendTo(sbOptions);
  				});
  			}
  			
  			if (!s) {
  				sbSelector.text(opts.first().text());
  			}
  			
  			$.data(target, PROP_NAME, inst);
  			
  			sbDeftype = $('<dt>');
  			sbSelector.appendTo(sbDeftype);
  			sbToggle.appendTo(sbDeftype);
  			sbDeftype.appendTo(sbHolder);
  			sbDef = $('<dd>');
  			sbOptions.appendTo(sbDef);
  			sbDef.appendTo(sbHolder);			
  			sbHolder.insertAfter($target);
  		}