/**
*   @version $Id$
*	@package frontend
*	@author piotrj
*/

/**--------------------------------------------------------------------
*	ponizej kod dla menu rozwijanego
*---------------------------------------------------------------------*/

	var menusToHide = "";
	var lastMenu = "";
	var lastOff = "";
	var currentMenu = "";
	var timeOutMenu = 0;
	var timeOutSelect = 0;

	/**
	*	Opis: funkcja pokazuje menu rozwijane
	*/
	function showMenu( a_id, a_zind )
	{
		if( ( a_id == lastMenu ) || ( a_id == currentMenu ) )
		{
			clearTimeout( timeOutMenu );
		}
		else
		{
			currentMenu = a_id;
			hideMenu( lastMenu, 0 );
		}
		minLeft = 0;
		maxLeft = 720;
		sTab = a_id.split( "_" );
		num = sTab.length-1;
		i = 0;
		sId = "" + sTab[i] + "";
		firstMenu = $( "" + sTab[0] + "" );
		przesuniecie = firstMenu.offsetLeft;
		if( ( przesuniecie + 292 ) > maxLeft )
		{
			nextEl = 140;
		}
		else
		{
			nextEl = 0;
		}
		back = 0;
		while( i <= num )
		{
			
			k = 0;
			subM = "" + sId + "_m" + k + "";
			while( oMenu = $( subM ) )
			{
				oMenu.style.display = "block";
				k++;
				subM = "" + sId + "_m" + k + "";
			}
			
			mMenu = $( "" + sId + "" );
			posLeft = mMenu.offsetLeft;
			if( sId.indexOf( "_" ) != -1 )
			{
				addTopOffset = 12;
			}
			else
			{
				addTopOffset = 20;
			}
			if( hMenu = $( ""+sId+"h" ) )
			{
				//
					//hMenu.style.display = "block";
				//
				hMenu.style.top = "" + ( mMenu.offsetTop + addTopOffset ) + "px";
				przesun = przesuniecie;
				if( i == 1 )
				{
					nextElem = nextEl;
				}
				else
				{
					nextElem = 0;
				}
				if( ( przesuniecie + nextElem + 152 ) > maxLeft )
				{
					if( i == 0 )
					{
						//back = maxLeft - przesuniecie;
						back = przesuniecie + 150 - maxLeft;
						przesuniecie -= back;
					}
					else
					{
						przesuniecie -= 140;
					}
				}
				else// if( i > 0 )
				{
					przesuniecie += 140;
				}
				if( i > 0 )
				{
					if( ( przesun + nextElem + 152 ) > maxLeft )
					{
						hMenu.style.left = "" + ( posLeft - 140 ) + "px";
					}
					else
					{
						hMenu.style.left = "" + ( posLeft + 140 ) + "px";
					}
				}
				else
				{
					if( ( przesun + 152 ) > maxLeft )
					{
						hMenu.style.left = "" + ( posLeft - back ) + "px";
					}
					else
					{
						hMenu.style.left = "" + ( posLeft + 0 ) + "px";
					}
				}
			}
			i++;
			if( i <= num )
			{
				sId += "_" + sTab[i] + "";
			}
		}
		if( a_id != currentMenu )
		{
			lastMenu = currentMenu;
		}
		colorMenu( a_id, "#c0d8e9" );
		currentMenu = a_id;
		manageSelects();
	}

	/**
	*	Opis: funkcja ukrywa menu rozwijane
	*/
	function setHideMenu( a_id, a_zind )
	{
		if( a_id == currentMenu )
		{
			clearTimeout( timeOutMenu );
			timeOutMenu = setTimeout( "hideMenu( '" + a_id + "', 0 )", 300 );
		}
		lastOff = a_id;
		lastMenu = currentMenu;
		colorMenu( a_id, "#ffffff" );
		currentMenu = "";
	}

	/**
	*	Opis: funkcja ukrywa menu rozwijane
	*/
	function hideMenu( a_id, a_num )
	{
		menusToHide = "";
		//hideAllElements();
		if( currentMenu == "" )
		{
			sTabC = a_id.split( "_" );
			cLength = sTabC.length-1;
			num = 0;
			sId = sTabC[num];
			while( num <= cLength )
			{
				hideElements( sId );
				num++;
				if( num <= cLength )
				{
					sId += "_" + sTabC[num];
				}
			}
		}
		else
		{
			sTabC = a_id.split( "_" );
			sTabL = currentMenu.split( "_" );
			cLength = sTabC.length-1;
			lLength = sTabL.length-1;
			sId = "";
			if( cLength >= lLength )
			{
				num = cLength;
			}
			else
			{
				num = lLength;
			}
			for( i = 0; i <= num; i++ )
			{
				if( cLength >= lLength )
				{
					if( i == 0 )
					{
						sId = "" + sTabC[i];
					}
					else
					{
						sId += "_" + sTabC[i];
					}
					if( i <= lLength )
					{
						if( sTabL[i] != sTabC[i] )
						{
							hideElements( sId );
						}
					}
					else
					{
						hideElements( sId );
					}
				}
				else
				{
					if( i <= cLength )
					{
						if( i == 0 )
						{
							sId = "" + sTabC[i];
						}
						else
						{
							sId += "_" + sTabC[i];
						}
						if( sTabL[i] != sTabC[i] )
						{
							hideElements( sId );
						}
					}
					else
					{
						i = num + 1;
					}
				}
			}
		}
		lastMenu = "";
		//timeOutSelect = setTimeout( "manageSelects()", 100 );
		manageSelects();
		//alert( " m0h: "+$("m0h").style.display+";\n m0_m3h: "+$("m0_m3h").style.display+";\n m0_m3_m0h: "+$("m0_m3_m0h").style.display+";\n" );
	}

	/**
	*	Opis: funkcja ukrywa menu rozwijane
	*/
	function hideElements( a_id )
	{
		
		k = 0;
		subM = "" + a_id + "_m" + k + "";
		while( oMenu = $( subM ) )
		{
			oMenu.style.display = "none";
			k++;
			subM = "" + a_id + "_m" + k + "";
		}
		
		/*if( oMenu = $( a_id+"h" ) )
		{
			oMenu.style.display = "none";
		}*/
	}

	/**
	*	Opis: funkcja ukrywa menu rozwijane
	*/
	function hideAllElements()
	{
		if( oChildren = $$( '.dropChild' ) )
		{
			for( var i = 0; i < oChildren.length; i++ )
			{
				if( id = oChildren[i].id )
				{
					oChildren[i].style.display = 'none';
				}
			}
		}
	}

	/**
	*	Opis: funkcja ukrywa menu rozwijane
	*/
	function colorMenu( a_id, a_color )
	{
		sTab = a_id.split( "_" );
		num = sTab.length-1;
		i = 0;
		sId = "" + sTab[i] + "";
		while( i <= num )
		{
			mMenu = $( "" + sId + "" );
			if( i > 0 )
			{
				mMenu.style.backgroundColor = a_color;
			}
			i++;
			if( i <= num )
			{
				sId += "_" + sTab[i] + "";
			}
		}
		//clearTimeout( timeOutSelect );
		manageSelects();
	}

	/**
	*	Opis: funkcja ukrywa/odkrywa listy rozwijane
	*/
	function manageSelects()
	{
		clearTimeout( timeOutSelect );
		if( oSel = document.getElementsByTagName("SELECT") )
		{
			for( i = 0; i < oSel.length; i++ )
			{
				if( ( oSel[i].id != 'tbSelMonth' ) && ( oSel[i].id != 'tbSelYear' ) )
				{
					if( currentMenu == "" )
					{
						oSel[i].style.visibility = "visible";
					}
					else
					{
						oSel[i].style.visibility = "hidden";
					}
				}
			}
		}
	}

	/**
	*	Opis: funkcja powoduje, ze menu staje sie przezroczyste
	*/
	function setMenuOpaque()
	{
		if( oDiv = document.getElementsByTagName("DIV") )
		{
			for( i = 0; i < oDiv.length; i++ )
			{
				if( oDiv[i].className == "dropdown" )
				{
					oDiv[i].style.filter = "alpha(opacity=90)";
					//oDiv[i].style.-moz-opacity = "0.5";
					oDiv[i].style.opacity = "0.9";
				}
			}
		}
	}

/**-------------------------------------------------------------------*/
