//<![CDATA[
var browser = new Browser();
if (browser.isIE)
  document.onmousedown = pageMousedown;
else
  document.addEventListener("mousedown", pageMousedown, true);





//----------------------------------------------------------------------------
// Code for handling the menu bar and active button.
//----------------------------------------------------------------------------


// Capture mouse clicks on the page so any active button can be
// deactivated.


/* Studium */





function hfbkRollOver(imgName, num){
  document.images[imgName].src=Highlight[imgName].src;
}
function hfbkRollOut(imgName, num){
 // alert(imgName);
  if(!imgName){return;}
  if(imgName==""){return;}
  if(!document.getElementById(imgName)){return;}
  if(hasClassName(document.getElementById(imgName).parentNode,"activeButton")){
    return;
  }
  document.images[imgName].src=Normal[imgName].src;
}

function pageMousedown(event) {
  var el;
  // Find the element that was clicked on.
  if (browser.isIE)
    el = window.event.srcElement;
  else
    el = (event.target.tagName ? event.target : event.target.parentNode);

  if(el.tagName=="A")return;

  // Reset the Menu wenn nicht auf ein menuItem geklickt wurde
  if(!hasClassName(el.parentNode,"menuButton")){  
    menuInitBK();
    activeButtonArr=getElementsByClass('activeButton',null);  
   // alert(activeButtonArr.length);
    if(activeButtonArr.length>0){
      removeClassName(activeButtonArr[0],"activeButton");
      if(typeof(activeButtonArr[0].firstChild)=="object" && activeButtonArr[0].firstChild!=null){
        activeButtonName=activeButtonArr[0].firstChild.id;
        
  			if(activeButtonName!=""){    
  			    document.images[activeButtonName].src=Normal[activeButtonName].src;
  			 }
			 }
    }
	}

}

function buttonClick(event,menuId) {
   var button;
   if (browser.isIE)
     button = window.event.srcElement;
   else
     button = event.currentTarget;

   if(hasClassName(button, "activeButton")){
       return;
   }

   if(!hasClassName(button, "currentButton")){  // Wenn der Button current ist 
   	    currentMenuArr=getElementsByClass('currentMenu',null,"div");  // Wenn der Button nicht current ist das 
	    if(currentMenuArr.length>0){
			   currentMenuArr[0].style.visibility = "hidden";
			}	 
   }
  activeMenuArr=getElementsByClass('activeMenu',null,"div");  
	 if(activeMenuArr.length>0){
			   activeMenuArr[0].style.visibility = "hidden";
			   removeClassName(activeMenuArr[0], "activeMenu");
	 }	 
   activeButtonArr=getElementsByClass('activeButton',null);  
	 if(activeButtonArr.length>0){
			   removeClassName(activeButtonArr[0], "activeButton");
			   if(typeof(activeButtonArr[0].firstChild)=="object" && activeButtonArr[0].firstChild!=null){
             activeButtonName=activeButtonArr[0].firstChild.name;
             if(activeButtonName!=""){
    			     document.images[activeButtonName].src=Normal[activeButtonName].src;
    			   }
         }


	 }
   button.className= button.className + " " + "activeButton";
   document.getElementById(menuId).style.visibility = "visible";
   document.getElementById(menuId).className=document.getElementById(menuId).className + " activeMenu";
   
   //alert( document.getElementById(menuId).className);
   //return;
   //}
     
}



//----------------------------------------------------------------------------
// Code to initialize menus.
//----------------------------------------------------------------------------

function menuInitBK() {

  menuArr=getElementsByClass('menu',null,"div");
  // Show the menu
  for(i=0;i<menuArr.length;i++){
      if(hasClassName(menuArr[i],"currentMenu")){
        menuArr[i].style.visibility = "visible"; 
      }else{
        menuArr[i].style.visibility = "hidden"; 
      }
  }
 /* currentMenuArr=getElementsByClass('currentMenu',null);  
  if(currentMenuArr.length>0){
      currentMenuArr[0].style.visibility = "visible"; 
  }*/
  return true;
}



function menuInit() {
	menuInitBK();
	return;
}

//----------------------------------------------------------------------------
// General utility functions.
//----------------------------------------------------------------------------

function getContainerWith(node, tagName, className) {

  // Starting with the given node, find the nearest containing element
  // with the specified tag name and style class.

  while (node != null) {
    if (node.tagName != null && node.tagName == tagName &&
        hasClassName(node, className))
      return node;
    node = node.parentNode;
  }

  return node;
}

function hasClassName(el, name) {
  
  if(typeof(el)!="object"){return;}
  if(!el.className){return;}
  var i, list;
  // Return true if the given element currently has the given class
  // name.
  list = el.className.split(" ");
  for (i = 0; i < list.length; i++)
    if (list[i] == name)
      return true;

  return false;
}

function removeClassName(el, name) {
  var i, curList, newList;
  if (el.className == null)
    return;
  // Remove the given class name from the element's className property.
  newList = new Array();
  curList = el.className.split(" ");
  for (i = 0; i < curList.length; i++)
    if (curList[i] != name)
      newList.push(curList[i]);
  el.className = newList.join(" ");
}


function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

function getPageOffsetLeft(el) {

  var x;

  // Return the x coordinate of an element relative to the page.

  x = el.offsetLeft;
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);

  return x;
}

function getPageOffsetTop(el) {

  var y;

  // Return the x coordinate of an element relative to the page.

  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);

  return y;
}
function Browser() {

  var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isOP    = false;  // Opera
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "Opera";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isOP = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as Netscape 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }

  s = "MSIE";
  if ((i = ua.indexOf(s))) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }
}


function MM_swapImgRestore() { //v3.0
 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
 if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
 var i,j=0,x,a=MM_swapImage.arguments; 
 document.MM_sr=new Array; 
 for(i=0;i<(a.length-2);i+=3)if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



//]]>

