(function($) {
	$.widget("ui.combobox", {
		_create: function() {
			var self = this;
			var select = this.element.hide();
			var input = $("<input>")
				.insertAfter(select)
				.autocomplete({
					source: function(request, response) {
						if (select.attr("id") == 'search')
							{
								$("#search2").val(request.term);
								//$("#search2").val('new');
							}
						var matcher = new RegExp(request.term, "i");
						response(select.children("option").map(function() {
							var text = $(this).text();
							if (this.value && (!request.term || matcher.test(text)))
								return {
									id: this.value,
									label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + $.ui.autocomplete.escapeRegex(request.term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
									value: text
								};
						}));
					},
					delay: 0,
					change: function(event, ui) {
						if (select.attr("id") == 'search')
							{
								if (!ui.item) {
									// remove invalid value, as it didn't match anything
									$(this).val("");
									input.val(jQuery("#"+select.attr("id")+" :selected").text() );
									return false;
								}
							}
						select.val(ui.item.id);
						self._trigger("selected", event, {
							item: select.find("[value='" + ui.item.id + "']")
						});
					},
					focus: function(event, ui) {
						select.val(ui.item.id);
						if (select.attr("id") == 'search')
							{
								$("#search2").val(ui.item.value);
								//$("#selectcpt2").val('selection');
							}
					},

					minLength: 3
				})
				.addClass("ui-widget ui-widget-content ui-corner-left");

		}
	});

})(jQuery);
	
$(function() {
	$("#search").combobox();
});
