/* menu.js */

var menuOpen = null;
var eTo = null;
var eFrom = null;
var currMenu = null;
var currMenuText;

var lastTimeout = 0;

/* Stillingar fyrir menu */
var x_offset_menu = 0;
var y_offset_menu = -3;

var x_offset_submenu = 120;
var y_offset_submenu = -2;

function frumstillaTimeout()
{
	clearTimeout( lastTimeout );
}

function finnaMenu( iId )
{
	var nafnMenu = "menu_" + iId;
	return document.getElementById( nafnMenu );
}

function synaMenu( iId, parentObj )
{
	var menu = finnaMenu( iId );
	frumstillaTimeout();
	checkGroundLevel( menu );
	var corrFactor = 2;

	menuOpen = menu;

	// Leiğrétting fyrir mismunandi vafrara
	var x_offset_menu = 0;
	var y_offset_menu = 0;

	if( vafrari == "OPERA" )
	{
		y_offset_menu = 0;
	}

	menu.style.left = document.getElementById( "rammi" ).offsetLeft + parentObj.offsetLeft + x_offset_menu + "px";
	menu.style.top  = document.getElementById( "rammi" ).offsetTop + parentObj.offsetTop + y_offset_menu - corrFactor + "px";

	if( !menu.style.top )
		menu.style.top = 0;
	//else
		//alert( document.getElementById( "rammi" ).offsetTop );

	// Sına menu
	menu.style.visibility = "visible";
}

function synaMenu_single( iId, parentObj )
{
	var menu = finnaMenu( iId );
	frumstillaTimeout();
	checkGroundLevel( menu );

	menuOpen = menu;

	var x_offset_menu = 0;
	var y_offset_menu = 0;

	// Setja x og y stöğu
	menu.style.left = parentObj.offsetLeft + x_offset_menu + 10;
	menu.style.top  = parentObj.offsetTop + y_offset_menu + 26;

	// Sına menu
	menu.style.visibility = "visible";
}

function synaMenu_single2( iId, parentObj, offsetX, offsetY )
{
  var menu = finnaMenu( iId );
  frumstillaTimeout();
  checkGroundLevel( menu );

  menuOpen = menu;

  var x_offset_menu = 0;
  var y_offset_menu = 0;

  // Setja x og y stöğu
  menu.style.left = parentObj.offsetLeft + offsetX + 10;
  menu.style.top  = parentObj.offsetTop + offsetY + 26;

  // Sına menu
  menu.style.visibility = "visible";
}

function synaSubMenu( iId, parentObj )
{
	var submenu = finnaMenu( iId );

	menuOpen = submenu;

	var divParent = skilaParentObj( "DIV", parentObj );

	if( divParent )
		checkLevel( divParent );

	// Setja x og y stöğu
	submenu.style.left = divParent.offsetLeft + x_offset_submenu;
	submenu.style.top = divParent.offsetTop + parentObj.offsetTop + y_offset_submenu;

	// Athuga hvort şurfi ağ hækka upp ef menu nær niğur fyrir skjáinn
	var windowBottom = submenu.offsetHeight + submenu.offsetTop + submenu.parentNode.offsetTop + submenu.parentNode.parentNode.offsetTop;
	var bodyHeight = document.body.clientHeight;

	if( windowBottom > bodyHeight )
		submenu.style.top  = divParent.offsetTop + parentObj.offsetTop + y_offset_submenu - ( windowBottom - bodyHeight ) - 10;

	// Sına menu
	submenu.style.visibility = "visible";
}

function initiateCloseMenu( iMenu )
{
	currMenu = iMenu;
	closeMenu();
}

function closeMenu()
{
	currMenu.style.visibility = "hidden";
}

function checkContains( iAncestor, iChild )
{
 	while( iChild && ( iAncestor != iChild ) && ( iChild != null ) )
		iChild = iChild.parentNode;

	return iAncestor == iChild;
}

function submenuOut( e )
{
	if( vafrari == "NETSCAPE" || vafrari == "MOZILLA" )
	{
		eFrom = e.target;
		eTo = e.relatedTarget;
	}
	else
	{
		eTo = window.event.toElement;
		eFrom = window.event.fromElement;
	}

	var divParent = skilaParentObj( "DIV", eTo );

	if( divParent == null || ( divParent.getAttribute( "typa" ) != "menuType" && divParent.getAttribute( "typa" ) != "menuFrame" ) )
	{
		initiate_hideAllMenus();
	}
	else if( menuOpen && !checkContains( menuOpen, eTo ) )
	{
		initiateCloseMenu( menuOpen );
	}

	try
	{
		var eDivTo = null;
		var eDivFrom = null;

		if( eTo )
			eDivTo = eTo.parentNode;

		while( eDivTo && eDivTo.tagName != "HTML" && eDivTo.tagName != "DIV" )
		{
			eDivTo = eDivTo.parentNode;
		}

		//eDivFrom = eFrom.parentNode;
		//while( eDivFrom && eDivFrom.tagName != "DIV" )
		//{
		//	eDivFrom = eDivFrom.parentNode;
		//}

		if( eDivTo && eDivTo.tagName == "DIV" );
			checkLevel( eDivTo );
	}
	catch( x ) {}
}

function menuOut( e )
{
	if( vafrari == "NETSCAPE" || vafrari == "MOZILLA" )
	{
		eFrom = e.target;
		eTo = e.relatedTarget;
	}
	else
	{
		eTo = window.event.toElement;
		eFrom = window.event.fromElement;
	}

	var divParent = skilaParentObj( "DIV", eTo );

	if( divParent == null || ( divParent.getAttribute( "typa" ) != "menuType" && divParent.getAttribute( "typa" ) != "menuFrame" ) )
	{
		initiate_hideAllMenus();
	}

	//try
	//{
	//	var eDivTo, eDivFrom;

	//	eDivTo = eTo.parentNode;
	//	while( eDivTo.tagName != "DIV" )
	//	{
	//		eDivTo = eDivTo.parentNode;
	//	}

	//	eDivFrom = eFrom.parentNode;
	//	while( eDivFrom.tagName != "DIV" )
	//	{
	//		eDivFrom = eDivFrom.parentNode;
	//	}

	//	if( eDivFrom && eDivTo && ( eDivFrom == eDivTo ) )
	//	{
	//			initiateCloseMenu( menuOpen );
	//	}
	//}
	//catch( x ) {}
}

function initiate_hideAllMenus()
{
	frumstillaTimeout();
	lastTimeout = setTimeout( "hideAllMenus()", 500 );
}

function hideAllMenus()
{
	try
	{
		var divColl = document.getElementsByTagName( "DIV" );
		var tmpItem, tmpItemTypa;

		for( var i = 0; i < divColl.length; i++ )
		{
			tmpItem = divColl[i];
			//tmpItem = divColl.item(i);
			//tmpItemTypa = tmpItem.typa;
			tmpItemTypa = tmpItem.getAttribute( "typa" );

			if( tmpItemTypa != null && tmpItemTypa == "menuType" )
			{
				tmpItem.style.visibility = "hidden";
			}
		}
	}
	catch( x ) {}
}

function skilaParentObj( parent_tagName, iObject )
{
	var parentObject;
	var count = 0;
	parentObject = iObject.parentNode;

	while( parentObject && ( parentObject.tagName != parent_tagName && parentObject.tagName != "HTML" ) )
	{
		parentObject = parentObject.parentNode;
		count++;
	}

	if( parentObject == null || parentObject.tagName != "DIV" )
		return null;

	return parentObject;
}

function checkGroundLevel( iMenu )
{
	/* Ef fyrsta level şá eyğa öllum greinum áğur en fariğ er í næsta ağalval */
	//if( iMenu.level = "0" )
	if( getLevel( iMenu ) == "1" )
	{
		hideAllMenus();
	}
}

function checkPositionX( iDiv )
{
	var browserX = window.screenLeft;
	var mouseX = window.event.screenX;
	if( mouseX < browserX + 8 )
		initiate_hideAllMenus();
}

function getLevel( iDiv )
{
	var toLevel;

	if( vafrari == "NETSCAPE" || vafrari == "MOZILLA" || vafrari == "OPERA" )
		toLevel = iDiv.getAttribute( "level" );
	else
		toLevel = iDiv.level;

	return toLevel;
}

function checkLevel( divTo )
{
	var toLevel = new Number( getLevel( divTo ) );

	if( !isNaN( toLevel ) )
	{
		var divColl = document.getElementsByTagName( "DIV" );
		var collLength = divColl.length;
		var tmpDiv,tmpDivValue;

		for( var i = 0; i < collLength; i++ )
		{
			tmpDiv = divColl[i];

			if( tmpDiv.style.visibility == "visible" )
			{
				tmpDivTypa = tmpDiv.getAttribute( "typa" );
				var tempLevel = new Number( getLevel( tmpDiv ) );

				if( tempLevel.valueOf() > toLevel.valueOf() && toLevel.valueOf() != 0 && tmpDivTypa == "menuType" )
				{
					tmpDiv.style.visibility = "hidden";
				}
			}
		}
	}
}

function TR_highlight( iObject, iMenuTypa )
{
	if( vafrari == "MSIE" )
	{
		if( iMenuTypa == "default" )
			iObject.className = "submenu submenu_MSIE_mouseOver";
		else if( iMenuTypa == "art" )
			iObject.className = "submenuArt submenu_MSIEArt_mouseOver";
	}
	else
	{
		if( iMenuTypa == "default" )
			iObject.className = "submenu submenu_others_mouseOver";
		else if( iMenuTypa == "art" )
			iObject.className = "submenuArt submenu_othersArt_mouseOver";
	}
}

function TR_normal( iObject )
{
	iObject.className = "";
}

function hladaSidu( iSida, iDesigner, iMaterial, iCategory )
{
	document.MainForm.action = iSida;

	if( document.MainForm.sida_numer )
		document.MainForm.sida_numer.value = "1";

	if( iDesigner == "null" )
		iDesigner = "";
	document.MainForm.d.value = iDesigner;
	if( iMaterial == "null" )
		iMaterial = "";
	document.MainForm.m.value = iMaterial;
	if( iCategory == "null" )
		iCategory = "";
	document.MainForm.c.value = iCategory;

	document.MainForm.decor.value = "";
	document.MainForm.gender.value = "";

	document.MainForm.submit();
}

