selected_list = -1;
js_lists_selected = new Array();

function jsListGetIdNumber( list_id )
{
	return list_id.substr("list_".length, 100);
}

function jsListSelect( list_id, elem_id )
{
	if (elem_id != -1)
		document.getElementById(list_id + "_" + elem_id).style.background = "#f8dfcf";
	js_lists_selected[jsListGetIdNumber(list_id)] = elem_id;
}

function jsListElemsNum( list_id )
{
	for (i = 0; i < 1000; i++)
		if (!document.getElementById(list_id + "_" + i))
			break;
			
	return i;
}

function jsListUnselectAll( list_id )
{
	num = jsListElemsNum(list_id); 
	for (i = 0; i < num; i++)
		document.getElementById(list_id + "_" + i).style.background = "#FFFFFF";
		
	js_lists_selected[jsListGetIdNumber(list_id)] = -1;
}

function jsListGetSelected( list_id )
{
	if ((js_lists_selected[jsListGetIdNumber(list_id)] || js_lists_selected[jsListGetIdNumber(list_id)] == 0) && js_lists_selected[jsListGetIdNumber(list_id)] != "undefined")
		return js_lists_selected[jsListGetIdNumber(list_id)];
	return -1;
}

function jsListGetSelectedId( list_id )
{
	if (jsListGetSelected(list_id) != -1 &&
		document.getElementById(list_id + "_" + jsListGetSelected(list_id) + "_id"))
		return document.getElementById(list_id + "_" + jsListGetSelected(list_id) + "_id").innerHTML;
		
	return "";
}

function jsListGetSelectedValue( list_id )
{
	if (jsListGetSelected(list_id) != -1 &&
		document.getElementById(list_id + "_" + jsListGetSelected(list_id) + "_value"))
		return document.getElementById(list_id + "_" + jsListGetSelected(list_id) + "_value").innerHTML;
		
	return "";
}

function jsListMove( list_id, dir )
{
	num = jsListElemsNum(list_id);
	selected = jsListGetSelected(list_id);
	
	selected += dir;
	selected += num;
	selected %= num;
	
	jsListUnselectAll(list_id);
	jsListSelect(list_id, selected);
}
