/*
	quicksearch.js
	Copyright (c) Dan Wright, All rights reserved
	http://danwright.info
	25 Nov 2008
*/

var quickSearch = 
			{
			keyTimeout: null,
			lastSearchText: ''
			};

quickSearch.supportLiveSearch = function()
	{
	/* We do not support live search on IE 6 (the live search part works, but IE 6 badly
	   botches displaying the results). IE 6 users can use the old-fashioned search if
	   they don't want to use a modern browser. */
	return !isIE() || majik.ieVersion() >= 7.0;
	};

quickSearch.start = function(e)
	{
	if (quickSearch.keyTimeout)
		clearTimeout(quickSearch.keyTimeout);
	liveSearch.cancelSearch();
	if ($('terms').value.length > 0)
		{
		quickSearch.keyTimeout = setTimeout(function()
					{
					var text = $('terms').value;
					if (text.length > 0 && text != quickSearch.lastSearchText)
						{
						liveSearch.startSearch(text);
						quickSearch.lastSearchText = text;
						}
					quickSearch.keyTimeout = null;
					}, 250);
		}
	else
		liveSearch.clearResults();
	return true;
	};

quickSearch.searchClick = function(e)
	{
	liveSearch.clearResults();
	};
	
quickSearch.init = function()
	{
	if (quickSearch.supportLiveSearch())
		{
		var sf = $('terms');
		if (isAppleWebKit())
			{
			sf.onsearch = quickSearch.start;
			}
		else if (isIE())
			{
			sf.observe('keydown', quickSearch.start);
			}
		else
			{
			sf.observe('keyup', quickSearch.start);
			sf.observe('change', quickSearch.start);
			}
		majik.obscurePageWhileViewing = true;
		}
	};
	
document.observe('dom:loaded', quickSearch.init);		


