var req;

function SendRequest(begin, evt) 
{

	var nbr = (window.event) ? event.keyCode : evt;

	if ((nbr >= 65 && nbr <= 90) || nbr == 8 || nbr == 27 || nbr == 32 || nbr == 222 || (nbr >= 48 && nbr <= 57))
	{
		document.getElementById('completion-ref').innerHTML = "0";

		var url = "completion.php?begin=" + begin;

    		if (window.XMLHttpRequest) 
		{
        		req = new XMLHttpRequest();
        		req.onreadystatechange = processReqChange;
        		req.open("GET", url, true);
        		req.send(null);
    		} 
		else if (window.ActiveXObject) 
		{
        		req = new ActiveXObject("Microsoft.XMLHTTP");
	        	if (req) 
			{
            			req.onreadystatechange = processReqChange;
            			req.open("GET", url, true);
            			req.send();
        		}
    		}
	}
	else if (nbr == 40 || nbr == 38)
	{
		var idx = parseInt(document.getElementById('completion-ref').innerHTML);
		var new_idx = (nbr == 40 ? idx + 1 : idx - 1);
		

		new_idx = (new_idx < 1 ? 1 : new_idx);

		var nbCompletion = GetNbCompletion();
		new_idx = (new_idx > nbCompletion  ? nbCompletion : new_idx);
	
		document.getElementById('completion-ref').innerHTML = new_idx;

		var line = "td_completion_"+ (new_idx- 1);
		ChangeBackground(line, "#FF0000", -1);
		document.getElementById('text-search-cocktail').value = document.getElementById(line).innerHTML;

	}

	
}

function upAndDown(evt)
{

	var nbr = (window.event) ? event.keyCode : evt;
	alert(nbr);
	if (nbr == 40 || nbr == 38)
        {
                var idx = parseInt(document.getElementById('completion-ref').innerHTML);
                var new_idx = (nbr == 40 ? idx + 1 : idx - 1);


                new_idx = (new_idx < 0 ? 0 : new_idx);

                var nbCompletion = GetNbCompletion();
                new_idx = (new_idx > nbCompletion  ? nbCompletion : new_idx);

                document.getElementById('completion-ref').innerHTML = new_idx;

                var line = "td_completion_"+ (new_idx- 1);
                ChangeBackground(line, "#FF0000");
                document.getElementById('text-search-cocktail').value = document.getElementById(line).innerHTML;

        }
	
}


function processReqChange() 
{
	if (req.readyState == 4) 
	{
        	if (req.status == 200) 
		{
			var res = req.responseXML;
			if (res != null)
			{
				var cocktails = res.getElementsByTagName("cocktails");

				if (cocktails.length != 0)
				{
					var  buildtable = "<table class=\"table_completion\"  cellspacing=\"0\">";

					for (var i = 0; i < cocktails.length; i++)
					{
						buildtable += "<tr><td class=\"td_completion\" id=\"td_completion_"+i+"\" onmouseover=\"ChangeBackground('td_completion_"+i+"', '#FF0000', "+i+");\" onclick=\"ValidateCompletion('td_completion_"+i+"')\">"+cocktails[i].firstChild.nodeValue+"</tr></td>";
    					}
					buildtable += "</table>";

					document.getElementById('completion').innerHTML = buildtable;
					document.getElementById('completion').style.border = "1px SOLID #000000";
					document.getElementById('completion').style.zIndex = 10;
				}
				else
				{
					document.getElementById('completion').style.border = "0px SOLID #000000";
					document.getElementById('completion').innerHTML = "";
					document.getElementById('completion').style.zIndex = -1;
				}
			}
		}
    }
}


function ChangeBackground(object, color, pos)
{
        var i = 0;

        var pa = "td_completion_"+i;
       
	 while (document.getElementById(pa))
        {
		document.getElementById(pa).style.backgroundColor = "#FFFFFF";
//		document.getElementById(pa).style.borderTop = "0px";
//              document.getElementById(pa).style.borderBottom = "0px";
		i++;
                pa = "td_completion_"+i;
        }

	

	if (document.getElementById(object))
	{
		document.getElementById(object).style.backgroundColor = color;
//		document.getElementById(object).style.borderTop = "1px SOLID #000000";
//		document.getElementById(object).style.borderBottom = "1px SOLID #000000";

		if (pos != -1)
		{	
			document.getElementById('completion-ref').innerHTML = (pos+1);
		}
	}
}

function CloseCompletion()
{
	document.getElementById('completion').style.border = "0px SOLID #000000";
	document.getElementById('completion').innerHTML = "";
	document.getElementById('completion-ref').innerHTML = "0";
	document.getElementById('completion').style.zIndex = -1;
}

function ValidateCompletion(object)
{
	document.getElementById('text-search-cocktail').value = document.getElementById(object).innerHTML;
	CloseCompletion();
	document.forms['search'].submit();
}


function GetNbCompletion()
{
	var i = 0;

	var object = "td_completion_"+i;
	while (document.getElementById(object))
	{
		i++;
		object = "td_completion_"+i;
	}
	return (i);
}