
function show_infolayer( event, w, cx )
{
	lobj = document.getElementById('infolayer');
	lobj.blur();
	Ereignis = (event) ? event : window.event;
	scrollTopAdd = !window.pageYOffset ? !document.documentElement.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop : window.pageYOffset;

	lobj.style.width = w + 'px';
	lobj.style.top = '' + (Ereignis.clientY + 15 + scrollTopAdd) + 'px';
	lobj.style.left = '' + (Ereignis.clientX + 15 + cx) + 'px';
	lobj.style.visibility = 'visible';
	lobj.style.display = 'block';

	// Redefine top/left if table doesnt fit
	frameheight = get_frame_height() - 5;
	tableheight = parseInt( document.getElementById( 'infolayer' ).clientHeight );
	tabletopposition = parseInt( lobj.style.top );
	optimaltopposition = frameheight - tabletopposition - tableheight + scrollTopAdd;
	if( optimaltopposition < 0 )
	{
		newtop = parseInt( lobj.style.top ) + optimaltopposition;
		newtop = (newtop < 5) ? 5 : newtop;
		lobj.style.top = newtop;
	}
	framewidth = get_frame_width() - 5;
	tablewidth = parseInt( document.getElementById( 'infolayer' ).clientWidth );
	tableleftposition = parseInt( lobj.style.left );
	optimalleftposition = framewidth - tableleftposition - tablewidth;
	if( optimalleftposition < 0 )
	{
		newleft = parseInt( lobj.style.left ) + optimalleftposition;
		newleft = (newleft < 5) ? 5 : newleft;
		lobj.style.left = newleft;
	}
}
function hide_infolayer( event, reallyclose )
{
	Ereignis = (event) ? event : window.event;
	// Check if mouse is over the layer
	lobj = document.getElementById('infolayer');
	MouseX = Ereignis.clientX;
	MouseY = Ereignis.clientY;
	if( document.getElementById( 'infolayer' ) )
	{
		t_h = parseInt( document.getElementById( 'infolayer' ).clientHeight );
		t_t = parseInt( lobj.style.top ) + document.body.scrollTop;
		t_w = parseInt( document.getElementById( 'infolayer' ).clientWidth );
		t_l = parseInt( lobj.style.left );
		if( MouseY >= t_t && MouseX >= t_l && MouseY <= (t_t + t_h) && MouseX <= (t_l + t_w) )
			canbehidden = false;
		else
			canbehidden = true;
	}
	else canbehidden = true;
	if( canbehidden == true || reallyclose == true )
	{
		lobj = document.getElementById('infolayer');
		lobj.style.visibility = 'hidden';
		lobj.style.display = 'none';
		canbehidden = true;
	}
}
function get_frame_height()
{
	fHeight = 10000;
	if( self.innerHeight )
		fHeight = self.innerHeight;
	else if( document.documentElement && document.documentElement.clientHeight )
		fHeight = document.documentElement.clientHeight;
	else if( document.body )
		fHeight = document.body.clientHeight;
	return parseInt( fHeight );
}
function get_frame_width()
{
	fWidth = 10000;
	if( self.innerHeight )
		fWidth = self.innerWidth;
	else if( document.documentElement && document.documentElement.clientWidth )
		fWidth = document.documentElement.clientWidth;
	else if( document.body )
		fWidth = document.body.clientWidth;
	return parseInt( fWidth );
}

