var latency = 300;
var currentRequest = false;
var requesting = false;

jQuery(document).ready(function() {
	jQuery('input, select')
		.keyup(function() {checkResults();})
		.change(function() {checkResults();});
});

function reloadForm()
{
	currentRequest = false;
	requesting = true;
	jQuery.getJSON(
			document.location.href + '?ajax=1', 
			jQuery('form').serialize(), function(data) {
				requesting = false;
				if (!jQuery('#resultPreview').length) {
					jQuery('#submit').before('<span id="resultPreview"></span>');
				}
				if (data) {
					jQuery('#resultPreview').html(data.resultCounter+' Suchergebnisse&nbsp;&nbsp;');
				} else {
					jQuery('#resultPreview').html('');
				}
			}
	);
}

function checkResults()
{
	if (currentRequest) {
		window.clearTimeout(currentRequest);
	}
	
	if (!requesting) {
		currentRequest = window.setTimeout('reloadForm()', latency);
	} else {
		window.setTimeout('checkResults()', latency);
	}
}

