var SubMenus = new Array();

var MenuItems = new Array();



var ActiveSubMenu = null;

var SelectedMenuElement = null;

var SelectedSubMenuElement = null;

var TotalWidth = 0;

var MainPositionLeft = findPos(document.getElementById('main'))+19;

function InitMenu(element, subelement)

{

	SelectedMenuElement = element;

	SelectedSubMenuElement = subelement;



	MenuItems = getElementsByClassName('a','level0');			

	SubMenus = document.getElementById('navmenu').getElementsByTagName('ul');

	

	for(i=0;i<MenuItems.length;i++)

	{		

		MenuItems[i].onclick = MenuItemClick;

		MenuItems[i].onmouseover = MenuItemOver;

		MenuItems[i].onfocus = MenuItemOver;

		MenuItems[i].id = i;					



		if(SelectedMenuElement == i)

		{

			ActiveSubMenu = i;

			SubMenus[ActiveSubMenu].style.display = 'block';

		}

		else

			MenuItems[i].type = 'normal';

	}

	TotalWidth = findPos(MenuItems[MenuItems.length-1])+MenuItems[MenuItems.length-1].offsetWidth;

}



function MenuItemClick()

{	

	if(SubMenus[this.id].getElementsByTagName('li').length>0)

		return false;

	else

		return true;

}



function MenuItemOver()

{	

	var position = null;

	try

	{



		if(this.id != ActiveSubMenu)

		{

		switch(this.type)

		{

			case "normal" :

			{	

				if(ActiveSubMenu == null)

				{

					ActiveSubMenu = this.id;

					SubMenus[this.id].style.display='block';	

					position = setSubMenuPosition(this.id);

					SubMenus[this.id].style.left = position+'px';

					this.style.color='#e0cf4f';



					if(position == 0)

						throw new Exception();

				}



				else		

				{

					if(ActiveSubMenu != SelectedMenuElement)

						MenuItems[ActiveSubMenu].style.color= '#FFFFFF';

					SubMenus[ActiveSubMenu].style.display='none';

					ActiveSubMenu = this.id;

					SubMenus[this.id].style.display='block';	

					position = setSubMenuPosition(this.id);

					SubMenus[this.id].style.left = position+'px';

					this.style.color='#e0cf4f';	



					if(position == 0)

						throw new Exception();

				}

				break;

			}



			case "selected" :

			{

				MenuItems[ActiveSubMenu].style.color = '#FFFFFF';

				SubMenus[ActiveSubMenu].style.display='none';

				ActiveSubMenu = this.id;

				SubMenus[this.id].style.display='block';	

				position = setSubMenuPosition(this.id);

				SubMenus[this.id].style.left = position+'px';



				this.style.background='transparent';

				

				if(position == 0)

					throw new Exception();

				break;

			}

			default :

			{				

			}

		}

		}

	}

	catch(Exception)

	{

		try

		{

			SubMenus[this.id].style.left = setSubMenuPosition(this.id)+'px';

		}

		catch(Exception)

		{

		}



	}

}



function setSubMenuPosition(id)

{

	var pos = 0;

	var marginal = 0;

	var leftMost = 0;

	


	pos = (findPos(MenuItems[id])-findPos(SubMenus[id]))+5;

	leftMost = ( findPos(MenuItems[id]) + SubMenus[id].offsetWidth);



	marginal = TotalWidth - leftMost;



	if(marginal < 0)
	{
		if((pos + marginal)<MainPositionLeft)
		{
			/*alert("POS: "+pos+", MARGINAL: "+marginal+", LEFTMOST: "+leftMost+", TOTALWIDTH: "+TotalWidth+", MAINPOSITIONLEFT: "+MainPositionLeft);*/
			pos = MainPositionLeft;			
		}
		else
			pos = pos + marginal;				
	}
    
	return pos;

}



function getElementsByClassName(strTagName, strClassName){

    var arrElements = document.getElementsByTagName(strTagName);	

    var arrReturnElements = new Array();

    var oElement;



	for(var i=0; i<arrElements.length; i++)

	{

        oElement = arrElements[i];      

        if(strClassName == oElement.className)		

            arrReturnElements.push(oElement);           	

    }

    return (arrReturnElements)

}





function findPos(obj) {

	var curleft = 0;

	if (obj.offsetParent) {

		curleft = obj.offsetLeft

		while (obj = obj.offsetParent) {

			curleft += obj.offsetLeft

		}

	}

	return curleft;

}



InitMenu();