function cumulativeOffset(element)
{
	var valueT = 0, valueL = 0;
	do
	{
		valueT += element.offsetTop  || 0;
		valueL += element.offsetLeft || 0;
		element = element.offsetParent;
	}
	while (element);

	var result = [valueL, valueT];
	result.left = valueL;
	result.top = valueT;
	return result;
}

var SB_NAME		= 'box';
var SB_IN		= false;
var SB_FOCUSED	= false;

function sb_show()
{
	var input	= document.getElementById('search_substring');
	var box		= document.getElementById('media_type_box');

	var l = cumulativeOffset(input).left;
	var t = cumulativeOffset(input).top;

	box.style.left	= l + 'px';
	box.style.top	= (t + 22) + 'px';

	box.style.display = 'block';

	SB_FOCUSED = true;
}

function sb_try_to_hide()
{
	SB_FOCUSED = false;
	setTimeout("sb_hide()", 1000);
}

function sb_hide()
{
	if ( !SB_IN && !SB_FOCUSED )
	{
		document.getElementById('media_type_box').style.display = 'none';
	}
}

function sb_in()
{
	SB_IN = true;
}

function sb_out()
{
	SB_IN = false;
	setTimeout("sb_hide()", 1000);
}
