$(function() {
	// dtsv = default top search value
	var dtsv = 'Enter your search terms here...';
	
	$('#top_search_input').val(dtsv);
	
	$('#top_search_input').focus(function() {
		if($(this).val() == dtsv) {
			$(this).val('');
		} else {
			if($(this).val().length >= 2) {
				showSearchReport();
			}
			$(this).select();
		}
	});
	
	$('#top_search_input').blur(function() {
		clearSearchReport();
		if(jQuery.trim($(this).val()) == '') {
			$(this).val(dtsv);
		}
	});
	
	$('#top_search_form').submit(function() {
		if(jQuery.trim($('#top_search_input').val()) == '') {
			alert('Please enter some search terms!');
			return false;
		}
	
		if($('#top_search_input').val() == dtsv) {
			alert('Please enter your own search terms!');
			return false;
		}
	});
	
	var searchTimeout = undefined;
	
	$('#top_search_input').keyup(function() {
		var query_string = jQuery.trim($(this).val());
	
		if(searchTimeout != undefined) {
			clearTimeout(searchTimeout);
		}
		
		searchTimeout = setTimeout(function() {
			searchTimeout = undefined;
			if(query_string.length >= 2) {
				ajaxSearch();
			} else clearSearchReport();
		}, 500);
	});
	
	function ajaxSearch() {
		var search_report = '';
		
		$.get('/files/ajax-search/?q=' + $('#top_search_input').val(),
		function(data) {
			switch(data) {
				case '0':
					search_report = 'No results found...';
					break;
				case '1':
					search_report = '1 result found...';
					break;
				default:
					search_report = data + ' results found...';
					break;
			}
			
			$('#search_report').html(search_report);
			$('#adv_search:visible').fadeOut();
			$('#search_report:hidden').fadeIn();
		});
	}
	
	function clearSearchReport() {
		$('#search_report:visible').fadeOut();
		$('#adv_search:hidden').fadeIn();
	}
	
	function showSearchReport() {
		$('#adv_search:visible').fadeOut();
		$('#search_report:hidden').fadeIn();
	}
});