var OCCSearch = {
	GetTimeStamp: function()
	{
		var d = new Date();
		var s = [];
		s.push(d.getDate());
		s.push(d.getMonth());
		s.push(d.getFullYear());
		s.push(d.getHours());
		s.push(d.getMinutes());
		s.push(d.getSeconds());
		return s.join('');
	},
	Search:
	{
		DefaultText: '',
		SetDefaultText:function(elm, txt, keep)
		{
			elm.value = txt;
			if (keep) 
			{
				OCCSearch.Search.DefaultText = txt;
				elm.className = 'dimmed';
			}
		},
    		Focus:function(elm)
    		{
      			if (elm.value === this.DefaultText) elm.value = '';
			else OCCSearch.Search.Lookup(elm);
      			elm.className = '';
    		},
    		Blur:function(elm)
    		{
      			if (elm.value.replace(/ /g, '') === '') elm.value = this.DefaultText;
      			elm.className = 'dimmed';
    		},
		Callback: function(html) 
		{
			html = html.replace(/amp;/g, '');
			$('#suggestions').html(html).show();
			var links = document.getElementById('suggestions').getElementsByTagName('a');
			var hrefs = '';
			var vis = 0;
			for (var i=0; i< links.length; i++)
			{
				if (vis >= 15 || hrefs.indexOf(links[i].href.toLowerCase()) > -1) links[i].style.display = 'none';
				else
				{
					hrefs += links[i].href.toLowerCase();
					vis ++;
				}					
			}
		},
    		Lookup:function(elm)
    		{
      			if (elm.value.replace(/ /g, '') === '')
			{
				$('#suggestions').hide();
			}
			else
			{
				$.post('/mcilookup.aspx', {search:elm.value, ts:OCCSearch.GetTimeStamp()}, OCCSearch.Search.Callback);
			}
    		},
    		Submit:function(elm)
    		{
      			return !(elm.value.replace(/ /g, '') === '' || elm.value === this.DefaultText);
    		},
    		KeyDown:function(evt)
    		{
      			var e = evt || window.event;
			var kc = e.keyCode || e.which;
			if (kc != 38 && kc != 40 && kc != 27) return true;
			var links = document.getElementById('suggestions').getElementsByTagName('a');
			if (links.length > 0)
			{
				var sel = null;
				for (var i=0; i< links.length; i++)
				{
					if (links[i].className == 'selected')
					{
						sel = links[i];
						break;
					}
				}
			}
			var nxt = null;
			if (kc == 27) // esc
			{
//				$('#suggestions').hide();
				document.getElementById('searchinput').focus();
			}
			else if (kc == 40) // down
			{
				if (sel && sel.nextSibling && sel.nextSibling.nodeType == 1)
				{
					nxt = sel.nextSibling;
				}
				else
				{
					nxt = links[0];
				}
			}
			else if (kc == 38) // up
			{
				if (sel && sel.previousSibling && sel.previousSibling.nodeType == 1)
				{
					nxt = sel.previousSibling;
				}
				else
				{
					nxt = links[links.length-1];
				}
			}
			if (sel) sel.className = '';
			if (nxt)
			{
				nxt.className = 'selected';
				try 
				{
					nxt.focus();
				}
				catch(e) {}
			}
			e.returnValue = false;
			e.cancelBubble = true;
			return false;
    		}
	}
}

$(document).bind('click', function(e) 
{
	$('#suggestions').hide();
});

$(document).ready(function()
{
	OCCSearch.Search.SetDefaultText(document.getElementById('searchinput'), 'Search', true);
$(function() {
	var zIndexNumber = 1000;
	$('div').each(function() {
		$(this).css('zIndex', zIndexNumber);
		zIndexNumber -= 10;
	});
}); 

 
});

