

var ve_ns4 = (document.layers) ? 1 : 0;		/* NS 4 */
var ve_w3  = (document.getElementById) ? 1 : 0;	/* NS 6, newer IE versions */
var ve_ie  = (document.all) ? 1 : 0;

var ve_move = 0;
var ve_static = 0;
var ve_init = 0;
var ve_navi_initialized = false;

/*
w = window.open('','debug','width=400,height=200');
var dbg = w.document;
dbg.open('text/plain');
function debug(msg) { dbg.writeln(msg+"<br>"); }
*/

function ve_shownavi(e) {
  if ("undefined" == typeof (ve_navi)) return;

  var obj = null;
  var inside = true;
  if (! ve_ns4) {
    if ("undefined" == typeof e) {
      if ("undefined" == typeof window.event) {
	ve_shownavi1();
	return;
      }
      e = window.event;
    }
    if ("undefined" != typeof e.toElement)
      obj = e.toElement;
    if ("undefined" != typeof e.currentTarget)
      obj = e.currentTarget;

    for (; obj; obj=obj.parentNode) {
      inside = false;
      if (obj == ve_navi) {
	inside = true;
	break;
      }
    }
    if (! inside) return;
  }
  ve_shownavi1();
}


function ve_shownavi1() {
  window.clearTimeout (ve_move);

  ve_pd_hide_all();

  if (ve_ns4)
    var left = ve_navi.left;
  else
    var left = parseInt(ve_navi.style.left);

  if (left >= 0) return;

  left -= (Math.round(left*0.2) + 1);

  if (ve_ns4)
    ve_navi.left = left;
  else
    ve_navi.style.left = left;

  ve_move = setTimeout("ve_shownavi1()", 20);
}


function ve_hidenavi(e) {
  if ("undefined" == typeof ve_navi) return;
  if (! ve_ns4) {
    if ("undefined" == typeof e) {
      if ("undefined" == typeof window.event) {
	clearTimeout (ve_move);
	ve_move = setTimeout ("ve_hidenavi1();", 900);
	return;
      }
      e = window.event;
    }
    if ("undefined" != typeof e.toElement)
      var obj = e.toElement;
    if ("undefined" != typeof e.relatedTarget)
      var obj = e.relatedTarget;

    for (; obj; obj=obj.parentNode) {
      if (obj==ve_navi) {
	return;
      }
    }
  }
  clearTimeout (ve_move);
  ve_move = setTimeout ("ve_hidenavi1();", 900);
}


function ve_hidenavi1() {
  clearTimeout (ve_move);

  if (ve_ns4)
    var left = ve_navi.left;
  else
    var left = parseInt(ve_navi.style.left);

  if ((ve_navwidth+left) <= 0) return;

  left -= Math.round((ve_navwidth+left)*0.2) + 1;

  if (ve_ns4)
    ve_navi.left = left;
  else
    ve_navi.style.left = left;

  ve_move = setTimeout('ve_hidenavi1()', 20); 
}

function ve_navi_openclose() {
  var left = (ve_ns4) ? ve_navi.left : parseInt(ve_navi.style.left);
  if ((ve_navwidth+left) <= 0)
    ve_shownavi1();
  else
    ve_hidenavi1();
}

function ve_fadein() {
  clearTimeout (ve_move);

  if (ve_ns4)
    var left = ve_navi.left;
  else
    var left = parseInt(ve_navi.style.left);

  if ((ve_navwidth+left) >= 0) return;

  left += 2;

  if (ve_ns4)
    ve_navi.left = left;
  else
    ve_navi.style.left = left;

  ve_move = setTimeout('ve_fadein()', 100); 
}

function ve_staticnavi() {
  if (typeof ve_navi == "undefined") return;
  if (ve_ie) {
    ve_navi.style.top = document.body.scrollTop < ve_navtop ? ve_navtop : document.body.scrollTop;
  } else if (ve_w3) {
    clearTimeout (ve_static);
    ve_static = setTimeout('ve_staticnavi()', 100);
    ve_navi.style.top = pageYOffset < ve_navtop ? ve_navtop-pageYOffset : 0;
  } else if (ve_ns4) {
    clearTimeout (ve_static);
    ve_static = setTimeout('ve_staticnavi()', 100);
    ve_navi.top = pageYOffset < ve_navtop ? ve_navtop : pageYOffset;
  }
}


function ve_initnavi() {
  clearTimeout (ve_init);
  if (typeof ve_navi == "undefined") {
    ve_init = setTimeout("ve_initnavi()", 500);
    return;
  }

  ve_initnavi1();
}


function ve_initnavi1() {
  if (ve_navi_initialized) return;
  ve_navi_initialized = true;
  if (typeof ve_navi.addEventListener != "undefined") {
//    ve_navi.addEventListener ("mouseover", ve_shownavi, true);
    ve_navi.addEventListener ("mouseout", ve_hidenavi, true);
  } else {
//    ve_navi.onmouseover = ve_shownavi;
    ve_navi.onmouseout = ve_hidenavi;
  }
  if (ve_ie)
    document.body.onscroll = ve_staticnavi;
  else if (ve_w3)
//    window.onscroll = ve_staticnavi;
    ve_static = setTimeout("ve_staticnavi()", 1000);
  if (ve_ns4)
    ve_static = setTimeout("ve_staticnavi()", 1000);

  ve_fadein();
}



if ("undefined" != typeof ve_navi) {
  ve_initnavi1();
} else {
  setTimeout("ve_initnavi();", 500);
}



/////////////////////////////////////////////////////
// Menüs für die horizontale Navigation
/////////////////////////////////////////////////////


var ve_pd_store = new Array();		// Speicher für gerade sichtbare Menüs
var ve_pd_active_item = null;		// aktiver Menüpunkt


//  menu object definieren
//
// id - id des menu-layers
// node - DOM Object des menu-layers
// anchor - Anker DOM Node des menu-layers
function ve_pd (id, node, anchor)
{
  this.id = id;
  this.node = node;
  this.anchor = anchor;
}


// objekt für menüitem definition
//
// inner - anker html
// href - link url
// sub - id des zu öffnenden submenüs
function um (inner, href, sub)
{
  this.inner = inner;
  this.href = href;
  this.sub = sub;

}


// Menüpunkt aktivieren/deaktivieren
function ve_pd_activate(item,active)
{
  if (item.id!="root") {
      if (typeof document.layers == "undefined") {
    
          item.className = active ? "bopdactive" : "bopdinactive"; 
      } else {
        if (active) {
          item.backgroundColor = "#426fd4";
          item.color = "#ffffff";
        } else {
          item.backgroundColor = "#f0f5fb";
          item.color = "#000000";
        }
      }
  }
  ve_pd_active_item = active ? item : null;

}


// einzelnes Menü verstecken
//
// menu - ve_pd menü objekt
function ve_pd_do_hide (menu)
{
  if (ve_ns4) {
    menu.node.visibility = "hide";
  } else {
    menu.node.style.visibility = "hidden";
  }
  ve_pd_activate (menu.anchor, false);
}


// alle menüs verstecken
function ve_pd_hide_all (event)
{
  if (ve_pd_active_item)
    ve_pd_activate (ve_pd_active_item, false);

  for (var i=0; i<ve_pd_store.length; i++)
    ve_pd_do_hide (ve_pd_store[i]);

  ve_pd_store = new Array();
}


// Menü bedingt bei mouseover öffnen
//
// anchor - anchor dom node
// name - id des zu öffnenden menüs
function ve_pd_over(anchor,name)
{
  if (typeof ve_pd_store != "undefined" && ve_pd_store.length > 0)
    bo_pd_show(anchor,name);
}


// Menü an der anker position öffnen
//
// anchor - anchor dom node
// name - id des zu öffnenden menüs
function bo_pd_show(anchor,name)
{
  var menu = null;
  var ax = 0;
  var ay = 6;
  var ayo = 19;


  if (name == null) {
    // keine Argumente
    name = ve_pd_to_show;
    anchor = ve_pd_to_show_anchor;
  } else {
    // Argumente merken
    ve_pd_to_show = name;
    ve_pd_to_show_anchor = anchor;
  }

  if (name == null)
    return true;
    
  // Nicht anzuzeigende Menüs ausblenden
  var na = name.split("-");
  var test = new Array();
  var temp = new Array();
  for (var i=0; i<ve_pd_store.length; i++) {
    test[test.length] = na[i];
    var x = test.join ("-");
    if (x == ve_pd_store[i].id) {
      temp[i] = ve_pd_store[i];
    } else {
      //i=i+1;
      // ab der position alte menüs verstecken und neue anzeigen
      for ( ; i < ve_pd_store.length; i++) {
	ve_pd_do_hide (ve_pd_store[i]);
      }
      break;
    }
  }
  ve_pd_store = temp;

  if (ve_pd_store.length == 0 || ve_pd_store[ve_pd_store.length - 1].id != name) {

    if (typeof ve_navi != "undefined")
      ve_hidenavi1();

    // Anker Position feststellen
    if (ve_ns4) {
      ax = anchor.x;
      ay = anchor.y;
      if (ve_pd_store.length > 0) {
	ax += ve_pd_store[ve_pd_store.length - 1].node.pageX;
	ay += ve_pd_store[ve_pd_store.length - 1].node.pageY;
      }
    } else {
      ayo = anchor.offsetHeight;
      for (var obj=anchor; obj != null; obj = obj.offsetParent) {
	ay += parseInt(obj.offsetTop);
	ax += parseInt(obj.offsetLeft);
      }
    }

    if (name.match(/-/)) {
      ax += ve_pd_width - 1;	// Submenü
    } else {
      ay += ayo - 3;		// Pulldown
    }
    // Neues Menü anzeigen
    if (typeof document.getElementById != "undefined") {
      var node = document.getElementById(name);
      if (node != null) {
      
	menu = new ve_pd (name, node, anchor);
	with (node.style) { left = ax; top = ay; width = ve_pd_width; visibility = "visible"; zindex = 10 + ve_pd_store.length; }
      }
    } else if (typeof document.all != "undefined") {
    
      var node = document.all.name;
      if (node != null) {
	menu = new ve_pd (name, node, anchor);
	with (node.style) { left = ax; top = ay; width = ve_pd_width; visibility = "visible"; zindex = 10 + ve_pd_store.length; }
      }
    } else if (typeof document.layers != "undefined") {
      var node = document.layers[name];
      if (node != null) {
	menu = new ve_pd (name, node, anchor);
	with (node) { left = ax; top = ay; visibility = "show"; zIndex = 10 + ve_pd_store.length; }
      }
    }
    if (menu != null) {
      ve_pd_store[ve_pd_store.length] = (menu);
      if (typeof document.captureEvents != "undefined") {
	document.captureEvents(Event.MOUSEUP);
	document.onmouseup = ve_pd_hide_all;
      } else {
	document.body.onmouseup = ve_pd_hide_all;
      }
    }
  }

  return false;
}


// aktuellen menüpunkt aktivieren und submenüs ein- und ausblenden
//
// anchor - anchor dom node
// sub - anzuzeigendes menü
function ve_pd_highlite(anchor,sub)
{
  if (ve_pd_active_item)
    ve_pd_activate (ve_pd_active_item, false);

  if (ve_pd_store.length > 1) {
    for (var i=1; i<ve_pd_store.length; i++) {
      ve_pd_activate(ve_pd_store[i].anchor, true);
    }
  }

  bo_pd_show(anchor, sub);
  ve_pd_activate (anchor, true);
}



function MM_reloadPage(init)
{
  if (init==true) 
    with (navigator) {
    if ((appName=="Netscape")&&(parseInt(appVersion)==4))
      {
	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight;
	onresize=MM_reloadPage;
      }
  }
 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
    location.reload();
}


