//	************************************************************
//		© Copyright 2001-2005 STEGMANN-IT ®
//		All rights reserved 
//	************************************************************


//	Browsertype
ie4		= (document.all && !document.getElementById)?1:0						//IE 4+
ie5		= (document.all && document.getElementById)?1:0							//IE 5.0
ie55	= (document.all && document.fireEvent && !document.createComment)?1:0	//IE 5.5
ie6		= (document.all && document.fireEvent && document.createComment)?1:0	//IE 6.0
ns4		= (document.layers)?1:0								//NN 4+
ns6		= (document.getElementById && !document.all)?1:0	//NN 6+ & Opera
op7		= (window.opera && document.createComment)?1:0		//Opera 7.0
op6		= (window.opera && !document.createComment)?1:0		//Opera 6.0 og under


//	Definition af globale variabler
timer			= new Array();
submenu			= new Array();
menuXoffset		= new Array();
xPosNow			= new Array();		//	Submenuens X-position (tilpasses efter browser-size)
xPosNowLock		= new Array();		//	(Benyttes til låsning/frigørelse af en submenus X-position
timerDef		= new Array();


cssOver		= 'pr_menu_main_item_over';
cssOut		= 'pr_menu_main_item';

cssSubOver	= 'pr_menu_sub_item_over';
cssSubOut	= 'pr_menu_sub_item';

subMenuWidth		= 190;				//	Submenuer, generel bredde/width
intItemMarginLeft	= 20;				//	Venstremargin for menuitems - forskydning i forhold til hovemenuens venstremargin


//	-------------------------------------------------------
//		MouseOver/Out + OnClick
//	-------------------------------------------------------
function addMenuFX(obj, fx)
{
	if(ie55||ie6)
	{
		switch(fx)
		{
			case "0":
				//	Do nothing...
				break;
			case "1":
				//	FADE
				obj.style.filter="blendTrans(duration=0.3):";
				obj.filters[0].Apply();
				obj.filters[0].Play();
				break;
			case "2":
				//	PIXELLATE
				obj.style.filter="progid:DXImageTransform.Microsoft.Pixelate(duration=0.5):";
				obj.filters[0].Apply();
				obj.filters[0].Play();
				break;
			case "3":
				//	GRADIENT WIPE
				obj.style.filter="progid:DXImageTransform.Microsoft.gradientWipe(duration=0.2):";
				obj.filters[0].Apply();
				obj.filters[0].Play();
				break;
			case "4":
				//	DISSOLVE
				obj.style.filter="revealTrans(transition=12, duration=0.5):";
				obj.filters[0].Apply();
				obj.filters[0].Play();
				break;
		}
	}
}


function calcOffset()
{
	// Justering af offset - IE 5.0+ vs NN/Mozilla
	startTop = (ie5)?1:0		
	startLeft = (ie5)?1:0

	//var TLoc = document.getElementById([firstMenuItem_ID]);	// Before: ("menu_offset")
	var TLoc = document.getElementById("dhtmlTopMenu");
	while(TLoc)
	{
		startTop += TLoc.offsetTop;
		TLoc=TLoc.offsetParent
	}
	
	var TLoc = document.getElementById([firstMenuItem_ID]);
	while(TLoc)
	{
		startLeft += TLoc.offsetLeft;
		TLoc=TLoc.offsetParent
	}
}


function calcMenuLevel(inpStr)
{
	intMenuLev = 1;
	for (i=0; i < inpStr.length; i++)
	{
		strChar = inpStr.charAt(i);
		if(strChar == "_")
		{
			intMenuLev += 1;
		}
	}
	return intMenuLev;
}


function posMenu()
{
	//	Dette script anvendes til at positionere menupunkterne korrekt vertikalt, når brugeren resizer browseren...
	//	Kaldes via onResize på Body-tag
	
	//	Definerer hvilke tags vi søger efter
	blnFirstFound = false;
	tagType		= "div"
	var ATags	= document.getElementById("dhtmlTopMenu").getElementsByTagName([tagType])
	tagLength	= ATags.length;
	
	//	Gennemløber alle valgte tags
	for (var i = 0; i <= tagLength-1; i++)  
	{
		tagChk	= ATags[i]
		tagID	= ATags[i].id;
		tagID2	= tagID.substring(0,9);
		tagPos	= ATags[i].style.position;
		
		//	Repositionerer elementet på siden såfremt elementet er ABSOLUT positionenet
		if(tagID2 == "menuitem_"){
			if(blnFirstFound==false){
//				alert(tagID.substring(9,12));
				menu_out(tagID.substring(9,12));
				blnFirstFound = true;
			}
		}
	}
//	menu_out('008');
//	self.location.href = self.location.href;
}


function menu_over(id)
{
	menuLevel	= calcMenuLevel(id);
	idNow		= id;

	for(i = 0; i < menuLevel+1; i++)
	{
		clearTimeout(timer[idNow]);
		idNow = idNow.substr(0, idNow.length-4);
	}
	
	if(id.length==3)
	{
		objItem = document.getElementById(["menuitem_" + id])
		objItem.className = cssOver;
	
		if (submenu[id] == true)
		{
			ctl = document.getElementById("dhtmlTopMenu")
			thisMenuItemOffsetLeft	= objItem.offsetLeft;

			calcOffset();
			divSubMenu = document.getElementById(["sub_menu_" + id])

			// Bemærk - variablen [startLeft] anvendes ikke i nedenstående beregning af venstreposition
			// I stedet manupuleres variablen [thisMenuItemOffsetLeft] for at en opnå tilsvarende effekt af horisontal justering i.h.t. enten IE/NN
			thisMenuItemOffsetLeft += (ie5)?1:0

			ctl = document.getElementById("dhtmlTopMenu")

			divSubMenu.style.top = objItem.offsetTop;
			divSubMenu.style.left = thisMenuItemOffsetLeft + subMenuWidth;
			
			//intMenuFX » Variabel der hentes fra DesignSkabelonen
			addMenuFX(divSubMenu, intMenuFX);
			
			divSubMenu.style.display = "block";
		}
	}else{
		document.getElementById(["sub_item_" + id]).className = cssSubOver;
	
		if (submenu[id] == true)
		{
			ctl = document.getElementById(["sub_item_" + id])
			mainMenuTop				= ctl.offsetParent.offsetTop + ctl.offsetTop;
			thisMenuItemOffsetLeft	= ctl.offsetLeft;
			mainMenuLeft			= ctl.offsetParent.offsetLeft;

			calcOffset();
			divSubMenu = document.getElementById(["sub_menu_" + id])

			divSubMenu.style.top = mainMenuTop + 4;
			divSubMenu.style.left = mainMenuLeft + thisMenuItemOffsetLeft + subMenuWidth - 6;

			//intMenuFX » Variabel der hentes fra DesignSkabelonen
			addMenuFX(divSubMenu, intMenuFX);

			divSubMenu.style.display = "block";
		}
	}
}


function menu_out(id)
{
	menuLevel	= calcMenuLevel(id);
	idNow		= id;

	//	MouseOut - Hovedmenupunkt
	if(submenu[idNow]!=true && menuLevel==1){
		document.getElementById(["menuitem_" + id]).className = cssOut;
	}

	//	MouseOut - Level1 menupunkt
	if(submenu[idNow]!=true && menuLevel==2){
		document.getElementById(["sub_item_" + id]).className = cssSubOut;
	}

	//	MouseOut - Level2 menupunkt
	if(submenu[idNow]!=true && menuLevel==3){
		document.getElementById(["sub_item_" + id]).className = cssSubOut;
	}

	for(i = 0; i < menuLevel+1; i++)
	{
		if(submenu[idNow] == true)
		{
			timer[idNow] = setTimeout("menu_hide('" + idNow + "')", 200);
		}
		idNow = idNow.substr(0, idNow.length-4);
	}
}


function menu_hide(id)
{
	if (id != null)
	{
		//	RESETTER HOVEDMENUPUNKT
		if(id.length==3){
			document.getElementById(["menuitem_" + id]).className = cssOut;
		}

		//	RESETTER MENUPUNKT - LEVEL 1
		if(id.length==7){
			document.getElementById(["sub_item_" + id]).className = cssSubOut;
		}
		document.getElementById(["sub_menu_" + id]).style.display = "none";	
	}
}


//	-------------------------------------------------------
//		Hovedmenu + menupunkter
//	-------------------------------------------------------
firstMenuItem = true;

function menuStart()
{
	m = ""
	m += "<div id='dhtmlTopMenu' style=''>"
	m += "<table class='pr_menu_main' border='0' cellPadding='0' cellSpacing='0'>";
	m += "<tr><td>"
}


menuItemName = "";

function menuItemAdd(id, tekst, url, template, supGet)
{
	menuItemName = "menuitem_" + id;

	m += "	<div id='menuitem_" + id + "' class='pr_menu_main_item' style='position: relative; float: left;' "
	m += "		onClick=\"javascript:dd_gotoid('" + template + "', '" + url + "', '" + supGet + "');\" "
	m += "		onMouseOver=\"menu_over('" + id + "');\" "
	m += "		onMouseOut=\"menu_out('" + id + "');\">"
//	m += "		<div style='margin-left: "+intItemMarginLeft+"px;'><img src='grafik_menu/arrow-001.gif' align='top' style='margin-top: 2px; margin-left: 15px; margin-right: 15px;'>" + tekst + "</div>"
	m += "		<div style='margin-left: "+intItemMarginLeft+"px;'>"
	m += "			<div style='float: left;'><img src='grafik_menu/arrow-001.gif' align='top' style='margin-top: 2px; margin-left: 15px; margin-right: 15px;'></div>"
	m += "			<div style='float: left; width: 120px; border: 0px solid silver;'>"+tekst+"</div>"
	m += "		</div>"
	m += "	</div>"
	
	/*
		border: 1px solid #bbbbbb;
	*/
	
	if(firstMenuItem == true)
	{
		firstMenuItem_ID = ['menuitem_' + id];
		firstMenuItem = false;
	}

}

function sepAdd()
{
	m += "	<div style='margin-left: 22px; margin-right: 0px; margin-top: 0px; color: #d6cdbe;'><img src='grafik_menu/menu-sep-001.gif'></div>"
}

function menuEnd()
{
	m += "</td></tr>"
	m += "</table>"
	m += "</div>"
}


//	-------------------------------------------------------
//		Undermenu + menupunkter
//	-------------------------------------------------------
function subMenuStart(parent_id)
{
	m += "<div id='sub_menu_" + parent_id + "' class='pr_menu_sub' "
	m += "	style='"
	m += "	position: absolute; "
	m += "	display: none; "
	m += "	width: " + subMenuWidth + ";'>"

	submenu[parent_id] = true;
}

function subMenuItemAdd(id, tekst, url, template, supGet)
{
	m += "	<div class='pr_menu_sub_item' id='sub_item_" + id + "' "
	m += "		onClick=\"javascript:dd_gotoid('" + template + "', '" + url + "', '" + supGet + "');\" " 
	m += "		onMouseOver=\"menu_over('" + id + "');\" "
	m += "		onMouseOut=\"menu_out('" + id + "');\">"
	m += "		</b>" + tekst + "</b>"
	m += "	</div>"
}

function subMenuEnd()
{
	m += "</div>";
}


//	-------------------------------------------------------
//		Øvrige Functions
//	-------------------------------------------------------
function menuWrite()
{
	document.write(m);
	m = "";
}


function dd_gotoid(template, url, supGet)
{
	self.location.href = template + '?' + url + supGet;
}
