$(document).ready(function(){
	$(document.body).click(function (e) {
		if(e.target.className !='sObjM' && e.target.className !='sObj')
			$('.option').hide();
	});
});	

(function($) {
	$.fn.selectBox = function() {
		return this.each(function() {

			var setOptionValue = function($a) {
				var value = null;
				if ($a.size() > 0) {
					$ui.find('span').text($a.text());
					value = $a.attr('value');
					if (typeof value == 'undefined')
						value = $a.text();
					$input.val(value);
				}
				return value;
			}

			var self = this;
			var inputName = $(self).attr('inputName'); 
			var $ui = $(self).find('div.ui')
			var $option = $(self).find('div.option');
			if ($('input[name="'+inputName+'"]').size() == 0)
				$(self).append('<input type="hidden" name="'+inputName+'" />');
			var $input = $('input[name="'+inputName+'"]');
			$option.hide();

			// set default value
			if ($input.val() == '') {
				if (setOptionValue($option.find('a[selected="true"]')) == null) {
					//setOptionValue($option.find('a:first'));
				}
			}
			
			$option.find('a').click(function() {
				setOptionValue($(this));
				$option.hide();
				return false;
			});
			$ui.find('a:first').click(function() {
				$option.addClass('NOHIDE');
				$('.option').each(function() {
					if (!$(this).hasClass('NOHIDE'))
						$(this).hide();
				});
				$option.toggle();
				$option.removeClass('NOHIDE');
				return false;
			});
//			$ui.find('span').click(function() {
			$ui.click(function() {
				$ui.find('a:first').click();
				return false;
			});
		});
	}
})(jQuery);
