var x = -1;

function getListItem(e, nr)
{
	//tab;
	 if( e.keyCode == 9 )
	 {
	 	x = -1;
	 }
	 // arrow down;
	 if( e.keyCode == 40 )
     {

     	y = x+1;
     	if(list_elements[nr][y])
     	{
	     	x++;
	     	var elId1 = list_elements[nr][x].id.match(/\d+/gi);
			if(elId1)
			{
				select_option(document.getElementById(list_elements[nr][x].id), elId1);
			}
     	}

		e.cancelBubble = true;
		e.returnValue = false;

		if (e.stopPropagation)
		{
			e.stopPropagation();
			e.preventDefault();
		}
     }
     //arrow up
     if( e.keyCode == 38)
     {
     	if(list_elements[nr][--x])
     	{
     		var elId2 = list_elements[nr][x].id.match(/\d+/g);
     		if(elId2)
			{
				select_option(document.getElementById(list_elements[nr][x].id), elId2);
			}
     	}
     	else
     	{
     		++x;
     	}
     	e.cancelBubble = true;
		//e.returnValue = false;

		if (e.stopPropagation)
		{
			e.stopPropagation();
			e.preventDefault();
		}
     }

}

function select_option(o_option, val)
{
	//alert(o_option);
	try
	{
		o_option.parentNode.parentNode.getElementsByTagName('DIV')[0].innerHTML = o_option.innerHTML;
		o_option.parentNode.parentNode.getElementsByTagName('INPUT')[0].value = val; // o_option.innerHTML;
	}
	catch (e)
	{
		;
	}
}

function close_select_boxes(e)
{
	try
	{
		var targ;
		if (!e)
		{
			var e = window.event;
		}

		if (e.target)
		{
			targ = e.target;
		}
		else if (e.srcElement)
		{
			targ = e.srcElement;
		}

		if (targ.nodeType == 3) // defeat Safari bug
		{
			targ = targ.parentNode;
		}

		var divs = document.getElementsByTagName('DIV');

		for (var i = 0; i < divs.length; i++)
		{
			if (divs[i].className.match('_opened') && divs[i] != targ.parentNode)
			{
				divs[i].className = divs[i].className.replace('opened', 'closed');
			}
		}
	}
	catch (e)
	{
		;
	}
}

document.onclick = close_select_boxes;
