$(document).ready(function() {
	
	$(".searchQ").keyup(function() { // Bind keyup events in searchfield
		var currVal = $(this).val(); // Save the current searchvalue
		var inputField = $(this);
		setTimeout(function () {searchAjax(currVal, inputField)}, 500); // Call the searchfunction with a delay in ms
	});
	
});

function searchAjax(prevVal, inputField) {
	startLoading($(inputField));
	prevVal = $.trim(prevVal); // The previous value without starting and ending whitespaces
	var currVal = $.trim($(inputField).val()); // The current value without starting and ending whitespaces 
	
	if(currVal != prevVal) { // If the user has written somthing since the function call
		return;
	}
	
	if(currVal.length >= 2) { // It must be more then 2 chars
		var searchStr = $(inputField).val();
		searchStr = searchStr.replace(/å/,"A_LOWER"); 
		searchStr = searchStr.replace(/ä/,"AE_LOWER"); 
		searchStr = searchStr.replace(/ö/,"O_LOWER"); 
		searchStr = searchStr.replace(/Å/,"A_UPPER"); 
		searchStr = searchStr.replace(/Ä/,"AE_UPPER"); 
		searchStr = searchStr.replace(/Ö/,"O_UPPER"); 
		
		$.ajax({
			type: 'post',
			url : '/ajax/search.php',
			data: 'q=' + searchStr,
			cache: false, 
			success: function(data){
				$("#searchResult").remove();
				$("#rightContent").prepend(data);
				
				$("#closeSearch").css("cursor", "pointer");
				
				$("#closeSearch").click(function() {
					$(inputField).val("")
					$("#searchResult").remove();
				});
				endLoading($(inputField));
				
				// possible to click on the whole row
				$("#searchResult table tr td").css("cursor", "pointer");
				$("#searchResult table tr td").click(function() {
					var a = $(this).parent().find("a");
					location.href = $(a).attr("href");
				});
				
			}
		});
	} else { // If the user didn't supply a valid search string
		$("#searchResult").remove();
		endLoading($(inputField));
	}
}

function startLoading(field) {
	$(field).addClass('searchLoading');
}

function endLoading(field) {
	$(field).removeClass('searchLoading');
}