I'm new to this business. I didn't notice any errors. I copied a piece of code from Chrome.
$("#small-search-box-form").on("submit", function(event) {
if ($("#small-searchterms").val() == "") {
alert('\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043B\u044E\u0447\u0435\u0432\u043E\u0435 \u0441\u043B\u043E\u0432\u043E \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430');
$("#small-searchterms").focus();
event.preventDefault();
}
window.setLocation('/search?q=' + encodeURIComponent($("#small-searchterms").val().replace(/([ \,\+\-\&\\\|\!\{\}\[\]\^\(\)\"\~\:\;\?\*\/])/g, '\\$1')))
event.preventDefault();
});
$(document).ready(function () {
$('#small-searchterms').autocomplete({
delay: 500,
minLength: 3,
source: function(request, response) {
$.ajax({
url: '/dsearch/',
data: "h=dp_suggest&q=" + encodeURIComponent(request.term.replace(/([ \,\+\-\&\\\|\!\{\}\[\]\^\(\)\"\~\:\;\?\*\/])/g, '\\$1')),
success: function (data) {
var array = [];
$(data.SearchProducts)
.each(function (e, v) {
var object = {
label: v.Name,
manufacturer: v.Manufacturer,
manufacturerPartNumber: v.ManufacturerPartNumber,
value: v.Name.replace(/<em>|<\/em>/gi, ""),
producturl: v.SeName,
productpictureurl: v.ImageUrl,
shortdescription: v.ShortDescription
}
array.push(object);
});
response(array);
}
})
},
appendTo: '.search-box',
select: function(event, ui) {
$("#searchterms").val(ui.item.value);
setLocation(ui.item.producturl);
return false;
}
})
.data("ui-autocomplete")._renderItem = function (ul, item) {
var t = item.label ? item.label : "";
var z = "";
var manufacturers = "";
if (item.manufacturer != null) {
manufacturers = item.manufacturer;
}
$(manufacturers)
.each(function (e, v) {
z += v.split("_").pop().replace('+', ' ');
});
var shortdescription = "";
if (item.shortdescription != null) {
shortdescription = item.shortdescription;
}
var manufacturerPartNumber = "";
if (item.manufacturerPartNumber != null) {
manufacturerPartNumber = item.manufacturerPartNumber;
}
var name = "";
if (z != "") {
name = decodeURIComponent(htmlEncode(z)) + " ";
}
if (manufacturerPartNumber != "") {
name += htmlEncode(manufacturerPartNumber) + " ";
}
//html encode
name += htmlEncode(t);
return $("<li></li>")
.data("item.autocomplete", item.value)
.append("<a><span class='entityType'>" + name + "</span></a>")
.appendTo(ul);
};
});