// Browserversion.

IE4=(document.all)
NS4=(document.layers)
NS6=document.getElementById
W3C=DOM=!!document.getElementById

// Funktioner til at fange properties på et vilkårligt navngivent element.
// IE
function getelement(id){
	return W3C?document.getElementById(id):
		IE4?document.all[id]:
		NS4?document[id]:false;
}

function getAbsoluteLeft(oNode)
	{
		//var oCurrentNode=document.getElementById(oNode.name);
		var oCurrentNode=getelement(oNode.name);
		var iLeft=0;
		if (W3C)
		{
			while(oCurrentNode.tagName!="BODY")
			{
				iLeft+=oCurrentNode.offsetLeft;
				oCurrentNode=oCurrentNode.offsetParent;
			}

		}
		else if (IE4)
		{
			var tNode = getelement(oNode.name);
			iLeft = tNode.offsetLeft;

		}
		else
		{
			while(oCurrentNode.tagName!="BODY")
			{
				iLeft+=oCurrentNode.offsetLeft;
				oCurrentNode=oCurrentNode.offsetParent;
			}

		}
	   return iLeft;
	}

function getAbsoluteTop(oNode)
	{
		var oCurrentNode=getelement(oNode.name);
		//document.getElementById(oNode.name);
		var iTop=0;
		while(oCurrentNode.tagName!="BODY")
		{
			iTop+=oCurrentNode.offsetTop;
			oCurrentNode=oCurrentNode.offsetParent;
		}
	   return iTop;
	}

function getAbsoluteWidth(oNode)
	{
		var oCurrentNode=oNode;
		var iWidth=0;
		iWidth+=oCurrentNode.offsetWidth;
	   return iWidth;
	}

function getAbsoluteHeight(oNode)
	{
		var oCurrentNode=oNode;
		var iHeight=0;
		iHeight+=oCurrentNode.offsetHeight;
	   return iHeight;
	}

// Funktion der administrerer visning af dropdown-laget.
// 1. Laget tændes.
// 2. Positioner på det aktuelle link fanges, så laget kan placeres nedenunder.
// 3. Laget placeres med venstre-kant ud for det aktuelle link, 
//     og nedenunder (link-position + højde på link).
// Default rækkefølge : act, Lid, Direction, +X , +Y
// Oversættelse: Funktionen kaldes fx med MenuDrop('Menupunkt01', 'MenuLayer01', 'Down')
// Dette indikerer at, Laget 'MenuLayer01' foldes nedad, positioneret fra elementet 'Menupunkt01'
// MenuDrop('Menupunkt01', 'MenuLayer01', 'Down', 10, 20) lægger fx 10 til X-positionen og 20 til Y-positionen.
//	 

function MenuDrop()
	{
	var act = arguments[0];
	var Lid = arguments[1]; 
	var MenuDirection = arguments[2];
	var xMove = 0;
	var yMove = 0;

		if (arguments.length > 3)
			{
				var xMove = arguments[3];
				var yMove = arguments[4];
			}

		if (IE4)
			{
				var ob = document.all[Lid];
				if (typeof(act) == 'object')
				{
					var act_parent = act;
				}
				else
				{
					var act_parent = getelement(act);
					//var act_parent = getElementByID(act);
				}

				if (ob.style.visibility == "hidden")
				{
//					ob.filters[0].Apply();
					ob.style.visibility="visible";
					ob.style.zIndex="1000";
//					ob.filters[0].Play();
				}
				if (IE4)
				{
						X=getAbsoluteLeft(act_parent);
				}
				else
				{
					X=getAbsoluteLeft(act_parent) + xMove;
				}
				Y=getAbsoluteTop(act_parent) + yMove;
				W=getAbsoluteWidth(act_parent);
				H=getAbsoluteHeight(act_parent);

				if (MenuDirection == "Down")
				{
					ob.style.pixelLeft = X;
					ob.style.pixelTop = Y + H + 5 ;
				}
				else if (MenuDirection == "DownLeft")
				{
					ob.style.pixelLeft = X - (getAbsoluteWidth(ob) + 5);
					ob.style.pixelTop = Y + H + 5 ;
				}
				else if (MenuDirection == "DownAlignToRight")
				{
					ob.style.pixelLeft = X + W - (getAbsoluteWidth(ob));
					ob.style.pixelTop = Y + H + 5 ;
				}
				
				else if (MenuDirection == "Up")
				{
					ob.style.pixelLeft = X;
					TempY = Y - (getAbsoluteHeight(ob) + 5) ;
					if (TempY > 5)
					{
						ob.style.pixelTop = TempY ;
					}
					else
					{
						ob.style.pixelTop = 10;
					}
				}
				
				else if (MenuDirection == "CenterOnTarget")
				{
					LidW=getAbsoluteWidth(getelement(Lid));
					LidH=getAbsoluteHeight(getelement(Lid));

					TempX = X + (W/2) - (LidW/2) ;
					TempY = Y + (H/2) - (LidH/2);
					if (TempX > 5)
					{
						ob.style.pixelLeft = TempX ;
					}
					else
					{
						ob.style.pixelTop = 10;
					}
					if (TempY > 5)
					{
						ob.style.pixelTop = TempY ;
					}
					else
					{
						ob.style.pixelTop = 10;
					}
				}
				else if (MenuDirection == "StraightUp")
				{
					ob.style.pixelLeft = X - (getAbsoluteWidth(ob)/3);
					TempY = Y - (getAbsoluteHeight(ob) + 5) ;
					if (TempY > 5)
					{
						ob.style.pixelTop = TempY ;
					}
					else
					{
						ob.style.pixelTop = 10;
					}
				}
				else if (MenuDirection == "Right")
				{
					ob.style.pixelLeft = X + (W + 5);
					ob.style.pixelTop = Y;
				}
				else if (MenuDirection == "Left")
				{
					ob.style.pixelLeft = X - (getAbsoluteWidth(ob) + 5);
					ob.style.pixelTop = Y;
				}

		
			}
		else if (NS4) // Separat func til NS4
			{
				MenuDropNS4(act,Lid,MenuDirection);
			}
		else if (NS6)
			{
				ob = getelement(Lid).style;

				ob.left = act.offsetLeft + 5;
				ob.top = act.offsetTop + act.offsetHeight + 10;
				ob.visibility = "visible";
				ob.display = "";
			}
		else 
			{
				return false;
			}		
		
	}

function MenuDropNS4(act,Lid,Menudirection)
	{
		var X = document.layers[""+ act +""].pageX 
		var Y = document.layers[""+ act +""].pageY 
		var W = document.layers[""+ act +""].document.width
		var H = document.layers[""+ act +""].document.height
		if (Menudirection == "Down")
		{
			document.layers[""+ Lid + ""].moveToAbsolute(X,Y+H+2) 
		}
		else if (Menudirection == "Up")
		{
			document.layers[""+ Lid + ""].moveToAbsolute(X,Y-20) 
		}
			document.layers[""+ Lid + ""].visibility='show';
	}

// Funktion der administrerer lukning af dropdown-laget.
// 1. Handling sættes i variabel div_hide.
// 2. Laget lukkes efter 200ms.
var hide_string;
var div_hide;
function layer_off(Lid)
		{
			if (W3C)
			{
				var ob1 = Lid;
				if (getelement(ob1).style.visibility == "visible")
				{
					getelement(ob1).style.zIndex=999;
					div_hide=setTimeout("getelement('" + ob1 + "').filters[0].Apply();getelement('" + ob1 + "').style.visibility='hidden';getelement('" + ob1 + "').filters[0].Play();", 200);
				}

			}
			else if (IE4)
			{
				var ob1 = Lid;
				if (getelement(ob1).style.visibility == "visible")
				{
					getelement(ob1).style.zIndex=999;
					div_hide=setTimeout("getelement('" + ob1 + "').style.visibility='hidden';", 10);
					//div_hide=setTimeout("getelement('" + ob1 + "').filters[0].Apply();getelement('" + ob1 + "').style.visibility='hidden';getelement('" + ob1 + "').filters[0].Play();", 10);
				
				}
			
			}
			else if (NS4)
			{
				div_hide=setTimeout( "document.layers[\""+ Lid + "\"].visibility='hide'", 200)
			}
			else if (NS6)
			{
				div_hide=setTimeout("getelement('" + Lid + "').style.visibility='hidden';getelement('" + Lid + "').style.display='none'", 200);

			}
		}

// Funktion der holder laget åbent.
// (Hvis man bevæger sig hen over det åbne lag, skal det jo helst ikke lukkes...)

function KeepOpen()
	{
		window.clearTimeout(div_hide);
//		window.clearTimeout(div_hide2);
	}

	
