// addEvent(window, "load", function() { // initAjax("searchBox", "search_completions"); // initAjax("tagBox", "upload_completions"); // }); function endWord(sentance) { words = sentance.split(" "); return words[words.length-1]; } var resultCache = new Array(); resultCache[""] = new Array(); function complete(boxname, text) { box = byId(boxname); words = box.value.split(" "); box.value = ""; for(n=0; n"+results[i]+""; } } function initAjax(boxname, areaname) { var box = byId(boxname); if(!box) return; addEvent( box, "keyup", function f() { starter = endWord(box.value); if(resultCache[starter]) { fillCompletionZone(boxname, areaname, resultCache[starter]); } else { ajaxRequest( "ajax.php?start="+starter, function g(text) { resultCache[starter] = text.split("\n"); fillCompletionZone(boxname, areaname, resultCache[starter]); } ); } }, false ); } //completion_cache = new array(); input = byId("search_input"); output = byId("search_completions"); function get_cached_completions(start) { // if(completion_cache[start]) { // return completion_cache[start]; // } // else { return null; // } } function get_completions(start) { cached = get_cached_completions(start); if(cached) { output.innerHTML = cached; } else { ajaxRequest(autocomplete_url+"/"+start, function(data) {set_completions(start, data);}); } } function set_completions(start, data) { // completion_cache[start] = data; output.innerHTML = data; } if(input) { input.onkeyup = function() { if(input.value.length < 3) { output.innerHTML = ""; } else { get_completions(input.value); } }; }