/* DHTML-Bibliothek */

var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

function DHTML_init() {

 if (window.opera) {
     OP = 1;
 }
 if(document.getElementById) {
   DHTML = 1;
   DOM = 1;
 }
 if(document.all && !OP) {
   DHTML = 1;
   MS = 1;
 }
if (window.netscape && window.screen && !DOM && !OP){
   DHTML = 1;
   NS = 1;
 }
}

function getElem(p1,p2,p3) {
 var Elem;
 if(DOM) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.getElementById(p2) == "object")
     Elem = document.getElementById(p2);
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document.getElementsByName(p2) == "object")
     Elem = document.getElementsByName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.getElementsByTagName(p2) == "object" ||
        (OP && typeof document.getElementsByTagName(p2) == "function"))
     Elem = document.getElementsByTagName(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(MS) {
   if(p1.toLowerCase()=="id") {
     if (typeof document.all[p2] == "object")
     Elem = document.all[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="tagname") {
     if (typeof document.all.tags(p2) == "object")
     Elem = document.all.tags(p2)[p3];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="name") {
     if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
 else if(NS) {
   if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
   if (typeof document[p2] == "object")
     Elem = document[p2];
     else Elem = void(0);
     return(Elem);
   }
   else if(p1.toLowerCase()=="index") {
    if (typeof document.layers[p2] == "object")
     Elem = document.layers[p2];
    else Elem = void(0);
     return(Elem);
   }
   else return void(0);
 }
}

function getCont(p1,p2,p3) {
   var Cont;
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
     if(getElem(p1,p2,p3).firstChild.nodeType == 3)
       Cont = getElem(p1,p2,p3).firstChild.nodeValue;
     else
       Cont = "";
     return(Cont);
   }
   else if(MS && getElem(p1,p2,p3)) {
     Cont = getElem(p1,p2,p3).innerText;
     return(Cont);
   }
   else return void(0);
}

function getElementAttribute(elem,attr)
{
  if(elem!=null)
  {
    if(DOM || MS)
    {
      return elem.getAttribute(attr);
    }
    else if(NS)
    {
      if (typeof elem[0] == "object")
        return elem[0][attr];
      else
        return elem[attr];
    }
  }
  return void(0);
}

function setElementAttribute(elem,attr,val)
{
  if(elem!=null)
  {
    if(DOM || MS)
    {
      elem.setAttribute(attr,val);
    }
    else if(NS)
    {
      if (typeof elem[0] == "object")
        elem[0][attr]=val;
      else
        elem[attr]=val;
    }
  }
  return;
}

function getAttr(p1,p2,p3,p4) {
   var Attr;
   if((DOM || MS) && getElem(p1,p2,p3)) {
     Attr = getElem(p1,p2,p3).getAttribute(p4);
     return(Attr);
   }
   else if (NS && getElem(p1,p2)) {
       if (typeof getElem(p1,p2)[p3] == "object")
        Attr=getElem(p1,p2)[p3][p4]
       else
        Attr=getElem(p1,p2)[p4]
         return Attr;
       }
   else return void(0);
}

function OpenLink(arg)
{
  self.location.href = arg;
}

function setCont(p1,p2,p3,p4) {
   if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
     getElem(p1,p2,p3).firstChild.nodeValue = p4;
   else if(MS && getElem(p1,p2,p3))
     getElem(p1,p2,p3).innerText = p4;
   else if(NS && getElem(p1,p2,p3)) {
     getElem(p1,p2,p3).document.open();
     getElem(p1,p2,p3).document.write(p4);
     getElem(p1,p2,p3).document.close();
   }
}

DHTML_init();

var mnpMenuTop = null;
var mnpMenuKill = null;
var mnpMenuUrl = null;

var mnpMenuParent = null; 
var mnpMenuSelect = null;
var mnpMenuPopup = null;


// insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement()
// for Netscape 6/Mozilla by Thor Larholm thor@jscript.dk
// Usage: include this code segment at the beginning of your document
// before any other Javascript contents.
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
	{
		switch (where)
		{
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling) 
        this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else 
			  this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}                                                  

	HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
}

function getTarget(evt)
{
  var elem = null;
  if(window.event)
  {
    if(window.event.target)
      elem = window.event.target;
    else
      elem = window.event.srcElement;     
  }
  else if(evt)
  {
    if(evt.target)
      elem = evt.target;
    else
      elem = evt.srcElement;     
  }
  return elem;
}


function Fensterweite()
{
  if (window.innerWidth) 
    return window.innerWidth;
  else if (document.body && document.body.offsetWidth) 
    return document.body.offsetWidth;
  else return 0;
}

function Fensterhoehe()
{
  if (window.innerHeight) 
    return window.innerHeight;
  else if (document.body && document.body.offsetHeight) 
    return document.body.offsetHeight;
  else return 0;
}

function mnpMenuInit()
{
	mnpMenuTop = getElem("id","MenuTop",null);
			
	mnpMenuUrl = getAttr("id","MenuTop",null,"url");
	mnpMenuParent = getAttr("id","MenuTop",null,"parent");
	mnpMenuAttach(mnpMenuTop);
	
//	mnpMenuTop.insertAdjacentHTML('afterBegin','<div id=testEl style="color:#FF0000">This is a new <b>DIV</b> element inserted into the DOM tree (bold tags are rendered)</div>');
}


function mnpMenuExpand(evt)
{ 
  var myimg = getTarget(evt);

  myimg.src = "images/collapse.gif";
  myimg.alt = "Collapse";
  myimg.onclick = mnpMenuCollapse;
  myimg.subMenu.style.display = "block";
}  

function mnpMenuCollapse(evt)
{   
  var myimg = getTarget(evt);
  
  myimg.src = "images/expand.gif";
  myimg.alt = "Expand";
  myimg.onclick = mnpMenuExpand;
  myimg.subMenu.style.display = "none";
}

function mnpMenuAttach(el)
{
  var bShowMenu = true;
  
  setElementAttribute(el,"currentMenu", null);
    
  setElementAttribute(el,"onmouseenter",mnpMenuEnter);
  setElementAttribute(el,"onmouseleave",mnpMenuLeave);
  
//	el.onmouseenter = mnpMenuEnter;
//	el.onmouseleave = mnpMenuLeave;
	
//  el.insertAdjacentHTML('afterBegin','<div id=testEl style="color:#FF0000">This is a new <b>DIV</b> element inserted into the DOM tree (bold tags are rendered)</div>');

  // Netscape 4.7 and less
  if(!el.getElementsByTagName)
    return;

	var divs = el.getElementsByTagName("DIV");
	for (var i=0; i < divs.length; i++)
	{
		var div = divs.item(i);
		if (div.className == "MenuRow")
		{
	    div.onmouseover = mnpMenuMouseover;
			div.onmouseenter = mnpMenuMouseover;
	    div.onmouseout = mnpMenuMouseout;
			//div.onmouseleave = mnpMenuMouseout;
			
			div.onmousedown = mnpMenuMousedown;
			div.onmouseup = mnpMenuMouseup;
			
			div.setAttribute("saveBackground", div.style.background);
			div.setAttribute("saveBorder", div.style.borderColor);
			
			div.saveBackground = div.style.background;
			div.saveBorder = div.style.borderColor;
			
			var a = div.getElementsByTagName("A");
			if (a.length > 0)
			{
				var a0 = a[0];
				if (a0.aoff)
					a0.outerHTML = a0.innerHTML;
				else
				{
					div.setAttribute("status",a0.href);
					div.status=a0.href;
					div.onclick = mnpMenuClick;
				}
				if(!a0.parentElement)
				{
				  a0.setAttribute("parentElement", div);
				  a0.parentElement = div;
				}
			}
		}
		else if(div.className == "MenuLabel")
		{
			if ( (i+1) < divs.length)
			{
		    var divSub = divs.item(i+1);
		    if(divSub.className == "SubMenu")
		    {
			    var img = "<IMG src='images/expand.gif' width='15' height='15' border='0' align='right' vspace='1' alt='expand' onclick='mnpMenuExpand(event)' />";
			    div.insertAdjacentHTML("afterBegin", img);
		      divSub.style.display = "none";		     
		      var newImg = div.getElementsByTagName("IMG");
		      if(newImg.length > 0)
		      {
		        newImg[0].subMenu = divSub;
		      }
		    }
			}
		}
	}
}

function mnpMenuClick(evt)
{
  var div = getTarget(evt);
	
	if (div.tagName != "DIV")
	  div = div.parentElement;

	if(!div || (div.tagName!="DIV") )
	  return;
	
	var a = div.getElementsByTagName("A");
	if(mnpMenuSelect && mnpMenuSelect!=div)
	{
	// Netscape do not work
	//	mnpMenuSelect.style.background = mnpMenuSelect.saveBackground;
	//	mnpMenuSelect.style.borderColor = mnpMenuSelect.saveBorder;
	  mnpMenuSelect.style.background = "#ccccff";
	  mnpMenuSelect.style.borderColor = "#ccccff";
	  mnpMenuSelect.style.fontWeight = "normal";
	} 
	mnpMenuSelect = div;
	//mnpMenuSelect.style.background = "red";
	
	if (a.length == 0) return;
	
	var bShiftKeyPressed = false;	
	
	if ( document.all )
	{ // Internet Explorer 4+
	  bShiftKeyPressed = window.event.shiftKey;
	} 
	else if ( document.layers ) 
	{// Netscape 4
		bShiftKeyPressed=( evt.which == 16 ) ? true : false;
	} 
	else if ( document.getElementById ) 
	{// Netscape 6
		bShiftKeyPressed=( evt.which == 16 ) ? true : false;
	}
         
  if(a[0].click)
  {
	  if (bShiftKeyPressed)
	  {
		  var target = a[0].target;
		  a[0].target = "_new";
		  a[0].click();
		  a[0].target = target;
	  }
	  else
	  {
		  a[0].click();
	  }
	}
	else
	{
	  // Murx für netscape
	  if(bShiftKeyPressed)
	  {
	    top._new = a[0].href;
	  }
	  else
	  {
	    if(!a[0].target || a[0].target=="")
	    {
	      self.location.href = a[0].href;
	    }
	    else
	    {
	      Frame1 = eval("top."+a[0].target);
	      if(!Frame1)
	      {
	        window.open(a[0].href,a[0].target);
	      }
	      else
	      {
	        Frame1.location.href = a[0].href;
	      }
	    }
	  }
	}
}

function mnpMenuEnter()
{
	if (mnpMenuKill)
	{
		window.clearTimeout(mnpMenuKill);
		mnpMenuKill = null;
	}
}

function mnpMenuLeave()
{
	//mnpMenuKill = window.setTimeout("mnpMenuKiller()", 200);
}

function mnpMenuKiller()
{
	//mnpKillMenu(mnpMenuTop.getAttribute("currentMenu"));
	//mnpMenuTop.removeAttribute("currentMenu");
}

function MM_mOver(div)
{
	if (div.tagName != "DIV") div = div.parentElement;
	
	if(!div || (div.tagName!= "DIV") )
	  return;
	
 // mnpMenuTop.insertAdjacentHTML('beforeEnd','<div id=testEl style="color:#FF0000">div: ' + div + ' tag: ' + div.tagName + ' status ' + div.status + ' parent: ' + div.parentElement + '</div>');

	if(mnpMenuTop.currentMenu && mnpMenuTop.currentMenu!=mnpMenuSelect && div!=mnpMenuTop.currentMenu)
	{
	  // netscape do not work right
	  // mnpMenuTop.currentMenu.style.background = mnpMenuTop.currentMenu.saveBackground;
	  // mnpMenuTop.currentMenu.style.borderColor = mnpMenuTop.currentMenu.saveBorder;
	  mnpMenuTop.currentMenu.style.background = "#ccccff";
	  mnpMenuTop.currentMenu.style.borderColor = "#ccccff";
	  mnpMenuTop.currentMenu.style.fontWeight = "normal";

	}
	
	div.style.background = "Lavender";
	div.style.borderColor = "blue";
	div.style.fontWeight = "bold";
	mnpMenuTop.currentMenu = div; 
  
  if(div.status)
	  window.status = div.status;	
}

function mnpMenuMouseover(evt)
{
  var div = getTarget(evt);

  MM_mOver(div);
}

function mnpMenuMouseout(evt)
{
  var div = getTarget(evt);
	window.status = "";
	
	if (div.tagName != "DIV") 
	  div = div.parentElement;
	
	if (!div || div.tagName != "DIV") 
	  return;
	
	if(mnpMenuSelect==div)
	{
	  // netscape do not work right
	  //div.style.background = div.saveBackground;
	  div.style.background = "LightSteelBlue" ;
		div.style.borderColor = "blue";
	}
	else
	{
	  //if (div.tagName != "DIV") div = div.parentElement;
  	//mnpMenuTop.insertAdjacentHTML('beforeEnd','<div id=testEl style="color:#FF0000">This is ddddddddddddddddd ' + div.tagName +' Test</div>');
	 
	  // netscape do not work right
		//div.style.background = div.saveBackground;
		//div.style.borderColor = div.saveBorder;
	  div.style.background = "#ccccff";
		div.style.borderColor = "#ccccff";
	  div.style.fontWeight = "normal";
	}
}

function mnpMenuMousedown(evt)
{
  var div = getTarget(evt);
	if (div.tagName != "DIV") div = div.parentElement;
	
	if(div && (div.tagName=="DIV"))
	  div.style.background = "Thistle"; // #999999";
}

function mnpMenuMouseup(evt)
{
  var div = getTarget(evt);
	if (div.tagName != "DIV") 
	  div = div.parentElement;
}

function absLeftRek(el)
{ 
  return (el.offsetParent)? el.offsetLeft+absLeftRek(el.offsetParent) : el.offsetLeft; 
} 
function absTopRek(el) 
{ 
  return (el.offsetParent)? el.offsetTop+absTopRek(el.offsetParent) : el.offsetTop; 
}

function absLeft(el) 
{ 
  if (NS)
  {
    return document[el].pageX; 
  }
  else if (MS)
  { 
    return absLeftRek(eval("document.all."+el)); 
  }
  else if (DOM)
  { 
    return absLeftRek(document.getElementById(el)); 
  }
} 
function absTop(el) 
{ 
  if (NS)
  {
    return document[el].pageY; 
  }
  else if (MS)
  {
    return absTopRek(eval("document.all."+el)); 
  }
  else if (DOM)
  {
    return absTopRek(document.getElementById(el)); 
  }
} 


