var last_flyouts = Array();
var fo_timeout = 0;

function flyout(flyout_id, referencing_div)
{
	clearTimeout(fo_timeout);
	var fo = document.getElementById('flyout_'+flyout_id);
	
	var tlfs = last_flyouts;
	var child_of_current_flyout = false;
	var last_flyout = null;
	var rd_op = null;
	if(referencing_div) rd_op = referencing_div.offsetParent;
	for(var fc=tlfs.length-1; fc>-1; fc--)
	{
		child_of_current_flyout = false;
		last_flyout = tlfs[fc];
		if(last_flyout && rd_op == last_flyout)
		{
			child_of_current_flyout = true;
		}
		if(last_flyout && !child_of_current_flyout)
		{
			last_flyout.style.display = 'none';	
		}	
		else {
			/*
			last_flyouts = Array();
			while(last_flyouts.length <= fc)
			{
				last_flyouts[last_flyouts.length] = tlfs[fc];	
			}
			fc = -1;			
			*/
			fc = -1;			
		}
	}
	
	if(fo && referencing_div)
	{
		var anote = referencing_div.getElementsByTagName('a');
		if(anote.length > 0) referencing_div = anote[0];
		var rx = referencing_div.offsetWidth;
		var ry = 0;
		var rel = referencing_div;
		if(rel)
		{
			rx += rel.offsetLeft;
			ry = rel.offsetTop;
			while(rel.offsetParent)
			{
				rel = rel.offsetParent;
				rx += rel.offsetLeft;
				ry += rel.offsetTop;
			}
		}
		fo.style.position = 'absolute';
		fo.style.left = rx+'px';
		fo.style.top = ry+'px';
		fo.style.display = '';
		last_flyouts[last_flyouts.length] = fo;
	}
}

function flyout_out()
{
	fo_timeout = setTimeout('clear_flyout()',3000);
}

function clear_flyout()
{
	for(var fc=0; fc<last_flyouts.length; fc++)
	{
		last_flyouts[fc].style.display = 'none';	
	}
	last_flyouts = Array();
}
