var strokeTimeout = null; function instantSearch() { if (strokeTimeout) { clearTimeout(strokeTimeout); } strokeTimeout = setTimeout(doSearch, 150); } function doSearch() { value = document.getElementById("search").value; if (value === "") { strokeTimeout = null; document.getElementById("search-results").innerHTML = ""; return; } var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == XMLHttpRequest.DONE) { if (xhr.status === 404 || xhr.status === 400 || typeof xhr.response === 'undefined' || xhr.response === '404 not found') { document.getElementById("search-results").innerHTML = ''; return } if (value === "") { document.getElementById("search-results").innerHTML = ""; return; } document.getElementById("search-results").innerHTML = xhr.response.replace(new RegExp('{ (.*?)(' + value + ')(.*?) }', 'gi'), "$1$2$3").replace(new RegExp('{ (.*?) }', 'gi'), '$1'); } } xhr.open('GET', '/search/gril_instant/' + value, true); xhr.send(null); strokeTimeout = null; } function clickSearchResult(resId) { }