SearchField = function()
{
	return {
		Init: function()
		{
			var query = document.getElementById('query');
			query.autocomplete = 'off';
			query.setAttribute('autocomplete', 'off');
			query.focus();
			query.value = SearchField.PHRASE;
				
			if (query.addEventListener) query.addEventListener('keydown',SearchField.OnKeyDown, false);
			else
			if (query.attachEvent) query.attachEvent('onkeydown', SearchField.OnKeyDown);
			
			if (query.addEventListener) query.addEventListener('blur',SearchField.OnBlur, false);
			else
			if (query.attachEvent) query.attachEvent('onblur', SearchField.OnBlur);
			
			if (query.addEventListener) query.addEventListener('click',SearchField.OnClick, false);
			else
			if (query.attachEvent) query.attachEvent('onclick', SearchField.OnClick);
		},
		
		OnKeyDown: function(evt)
		{
			var evt = (evt) ? evt : ((window.event) ? event : null);
			var query = document.getElementById('query');
			
			if (evt && ((evt.keyCode >= 48 && evt.keyCode < 128) || evt.keyCode == 8)) 
			{
				if (query.value == SearchField.PHRASE)
				{
					query.value = '';	
				}
			}
		},
		
		OnClick: function()
		{
			var query = document.getElementById('query');
			if (query && query.value == SearchField.PHRASE)
			{
				query.value = '';	
			}
		},
		
		OnBlur: function()
		{
			var query = document.getElementById('query');
			
			if (query.value == '')
			{
				query.value = SearchField.PHRASE;
			}
		},
		
		PHRASE: 'Enter a ticker or company...'
	};
}();

function InitSearch()
{
	var query = document.getElementById('query');
	if (query == null)
	{
		setTimeout('InitSearch();', 500);	
	}
	else
	{
		SearchField.Init();
		var suggestion = new CSuggestion('query');
	
		suggestion.init(
			{
				searchUrl: '/stock-lookup.cgi?query=',
				searchKey: 'search',
				searchTarget: '_self',
				requestUrl: '/searchservice.cgi?query='
			}
		);
		
		//query.onkeyup = suggestion.handleArrowKeys.bind(suggestion);
		if (query.addEventListener) query.addEventListener('keydown',suggestion.handleArrowKeys.bind(suggestion), false);
		else
		if (query.attachEvent) query.attachEvent('onkeydown', suggestion.handleArrowKeys.bind(suggestion));
		document.getElementById('IGfrmSearch').onsubmit = suggestion.formSubmit.bind(suggestion);
	}
}

InitSearch();