function AutoCompleter(inputId, divId, url) {
	var input = document.getElementById(inputId);
	var div = document.getElementById(divId);
	this.ajax = false;
	if(input && div) {
		input.autocomplete = "off";
		div.className = "autoCompleter";
		input.onblur = function() {
			//div.style.display = "none";
		};
		input.onfocus = function() {
			if(this.ajax) {
				div.style.display = "block";
			}
		};
		input.onkeypress = function() {
			if(this.value.length >= 3) {
				this.ajax = true;
				var city = 0;
				var video = 0;
				var cuisine = 0;
				var bookable = 0;
				var e = null;
				e = document.getElementById("v");
				if(e) {
					video = parseInt(e.checked ? 1 : 0);
				}
				e = document.getElementById("c");
				if(e) {
					cuisine = parseInt(e.value);
				}
				e = document.getElementById("b");
				if(e) {
					bookable = parseInt(e.checked ? 1 : 0);
				}
				e = document.getElementById("city");
				if(e) {
					city = parseInt(e.value);
				}
				var j = jQuery.noConflict();
				j.ajax({
					type: "GET",
					url: url + "?city=" + city + "&query=" + this.value + "&bookable=" + bookable + "&cuisine=" + cuisine + "&video=" + video,
					dataType: "text",
					success: function(data) {
						div.innerHTML = data;
						var items = div.getElementsByTagName("a");
						for(var i = 0; i < items.length; i++) {
							items[i].onmouseover = function() {
								input.value = html_entity_decode(this.innerHTML);
							}
						}
					}
				});
/*
				new Ajax.Request(url + "?city=" + city + "&query=" + this.value + "&bookable=" + bookable + "&cuisine=" + cuisine + "&video=" + video, {
					method: "get",
					onSuccess: function(transport) {

					}
				});
*/
				div.style.display = "block";
			} else {
				div.style.display = "none";
			}
		};
	}
}