$(document).ready(function() {
	$("input.autocomplete").each(function() {
		var classes = $(this).attr("class").split(" ");
		for (var i=0; i<classes.length; i++) {
			var cl = classes[i];
			if (cl.split("-")[0] == 'ac') {
				$(this).attr("autocomplete", "off");
				var param = cl.split("-")[1];
				$(this).keyup(function() {
					autoComplete($(this), param);
				})
			}
		}
	});
});

function autoComplete(input, param) {
	$.ajax({
		type: "POST",
		url: "scripts/autocomplete.php",
		data: "value=" + escape(input.val()) + "&param=" + param,
		success: function(msg){
			buildCompleteList(input, msg);
		}
	});
}

function buildCompleteList(input, msg) {
	removeList();
	if (msg.length) {
		input.parent().prepend('<div id="completelist" class="completelist"></div>');
		var list = $('#completelist');
		var pos = input.position();
		list.css("top", (pos.top + input.height() + 5) + "px");
		list.css("left", (pos.left) + "px");
		list.css("min-width", input.width() + "px");
		$('body').click(function() {
			removeList();
		});
		var entry = msg.split("|");
		for (var i=0; i<entry.length; i++) {
			if (entry[i].length) {
				list.append('<a id="complete_' + i + '">' + entry[i] + '</a>');
				var anchor = $('#complete_' + i);
				anchor.click(function() {
					input.val($(this).text());
					removeList();
					input.get(0).form.submit();
				});
			}
		}
	}
}

function removeList() {
	$('body').unbind();
	$('#completelist').remove();
}
