
function HandleMenuVisibility( activeItem, action )
{
	switch (action)
	{
		case 'open': 
			HandleMenuVisibilityOpen( activeItem );
			break;

		case 'close': 
			HandleMenuVisibilityClose();
			break;
	}
}


var iframes = new Array();
var iframeNr = 0;


function CreateIframe( parentEl )
{
	var ifr;
	ifr = document.createElement('iframe');
	ifr.scrolling ='no';
	ifr.src = 'javascript:false';
	ifr.style.position = 'absolute';
	ifr.style.visibility = 'hidden';
	
	ifr.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
	
	ifr = parentEl.insertBefore(ifr, parentEl.firstChild);
	return ( iframes[iframeNr++] = ifr );			
}


function HandleMenuVisibilityOpen( activeItem )
{	
	// obsluhu provadime pouze pro nekoncove polozky
	if (activeItem.lastChild.nodeName != 'UL')
		return;
 
	var activeList = activeItem.parentNode;	
	var subList = activeItem.lastChild;

	var menu = document.getElementById('topBlockGoIn');
	
	if ( !iframes.length )
		ifr1 = CreateIframe(menu);
	else if ( iframes.length == 1)
		ifr2 = CreateIframe(menu);

	var ifrActive;
	
	if (ifr1.style.visibility == 'visible' && ifr2.style.visibility != 'visible')
		ifrActive = ifr2;
	else
   	ifrActive = ifr1;

	ifrActive.style.top    = subList.offsetTop + activeItem.offsetTop + activeList.offsetTop; 
	ifrActive.style.left   = activeItem.offsetLeft + subList.offsetLeft + ((activeList.parentNode.nodeName=='LI')? activeList.parentNode.offsetLeft : 0) + ((activeList.offsetLeft<0)? activeList.offsetLeft : 0);
	ifrActive.style.width  = subList.offsetWidth + 2;
	ifrActive.style.height = subList.offsetHeight + 1;

	ifrActive.style.visibility = 'visible';			
}



function HandleMenuVisibilityClose()
{
	for (i=0; i<iframes.length; i++)
	{
		iframes[i].style.visibility = 'hidden';
	}
}





//skryva/odkryva vsechny selecty ve formech
function changeSelectsVisibility(show)
{
	var selects = gEBTN('select');
	var vis = (show)? 'visible' : 'hidden';

	for( i=0; i<selects.length; i++ )
		selects[i].style.visibility = vis;
}


/* vraci kolekci elementu dle jmena */
function gEBTN(name, el)
{
	if ( document.getElementsByTagName )
   {
		if ( !el )
      {
		   el = document;
		}
		return el.getElementsByTagName(name);
	}
   else if ( document.all )
   {
      if( !el )
      {
			return document.all.tags(name);
		}
      else
      {
			var tags = new Array();
			return getTagsFromChildren(name, el, tags);
		}
	}
}

/* pomocna fce pro fci gEBTN pro IE4 - pridava do kolekce tagu vsechny tagy daneho jmena z kolekce children, rekurzivne */
function getTagsFromChildren(name, el, tags)
{
	var children = el.children;
	for(i=0; i<children.length; i++)
   {
		if( children[i].tagName==name )
      {
		   tags[tags.length] = children[i];
		}
		tags = getTagsFromChildren(name, children[i], tags);
	}
	return tags;
}

