function create_results(id)
{
	var r = document.createElement('DIV');
	r.id =id+"_results";
	r.style.position="absolute";
	r.style.backgroundColor="white";
	r.style.visibility="hidden";
	r.style.zIndex="1";
	r.style.borderRight="black 1px solid";
	r.style.borderLeft="black 1px solid";
	r.style.borderTop="black 1px solid";
	r.style.borderBottom="black 1px solid";
	r.style.paddingRight="0";
	r.style.paddingLeft="0";
	r.style.paddingTop="0";
	r.style.paddingBottom="0";
	return r;
}
function do_key(e, id)
{
	var kc = e.keyCode;
	var ret;
	switch (kc)
	{
		case 13: // return
		case 27: // escape
			hide_results(id+'_results');
			return true;
			break;
		case 38: // up arrow
			select_prev(id);
			return true;
			break;
		case 40: // down arrow
			select_next(id);
			return true;
			break;
		default:
			return false;
			break;
	}
}
function select_next(id)
{
	var i = document.getElementById(id+'_idx').value;
	var m = document.getElementById(id+'_max').value;
	i++;
	if (i > m) i = m;
	document.getElementById(id+'_idx').value = i;
	for (var x = 1; x <= m; x++)
	{
		if (x == i)
		{
			document.getElementById(id+x).style.backgroundColor='#CCCCCC';
			document.getElementById(id).value=document.getElementById(id+'_val'+x).value;
		}
		else
		{
			document.getElementById(id+x).style.backgroundColor='white';
		}
	}
}
function select_prev(id)
{
	var i = document.getElementById(id+'_idx').value;
	var m = document.getElementById(id+'_max').value;
	i--;
	if (i < 1) i = 1;
	document.getElementById(id+'_idx').value = i;
	for (var x = 1; x <= m; x++)
	{
		if (x == i)
		{
			document.getElementById(id+x).style.backgroundColor='#CCCCCC';
			document.getElementById(id).value=document.getElementById(id+'_val'+x).value;
		}
		else
		{
			document.getElementById(id+x).style.backgroundColor='white';
		}
	}
}
function set_value(id, n)
{
	document.getElementById(id).value = n;
	hide_results(id+'_results');
}
function get_offset(e, dir)
{
	var o=0;
	while (e)
	{
		o += e[dir];
		e = e.offsetParent;
	}
	return o;
}
function set_position(id, r)
{
	var c = document.getElementById(id);
	var adj = 0;
	if (navigator && navigator.userAgent.toUpperCase().indexOf('MSIE')==-1) adj = 2;
	if (1)
	{
		r.style.left = get_offset(c, 'offsetLeft') + 'px';
		r.style.top = get_offset(c, 'offsetTop') + c.offsetHeight - 1 + 'px';
		r.style.width = c.offsetWidth - adj + 'px';
	}
}
function show_results(r)
{
	document.getElementById(r).style.visibility="visible";
}
function hide_results(r)
{
	document.getElementById(r).style.visibility="hidden";
}
