// Umgehen blöder Bug mit mouseout bei divs mit childelementen
// Problem: div wird fälschlicherweise ausgeblendet, sobald die
// Maus über ein enthaltenes Childelement drübergeht (z.B. ein Link)
var raus;
function DivAusblenden () {
//if(raus)alert('mouse out');
if(raus){
	alleTabinhalteAusblenden('Klappmenu');
	alleTabinhalteAusblenden('KlappmenueZwei');
	}
}

// JavaScript Funktionen
// finden aller Elemente mit einer bestimmten Klasse im Dokument
// Übergabe: zu findene Klasse
// Rückgabe: alle Elemente mit einer bestimmten Klasse
function getElementsByClassName(class_name)
{
       var all_obj,ret_obj=new Array(),j=0,teststr;
        if(document.all)all_obj=document.all;
       else if(document.getElementsByTagName && !document.all)
         all_obj=document.getElementsByTagName("*");
        for(i=0;i<all_obj.length;i++)
       {
         if(all_obj[i].className.indexOf(class_name)!=-1)
         {
           teststr=","+all_obj[i].className.split(" ").join(",")+",";
           if(teststr.indexOf(","+class_name+",")!=-1)
           {
             ret_obj[j]=all_obj[i];
             j++;
           }
         }
       }
       return ret_obj;
}
function alleTabinhalteAusblenden (KlassenName) { // gegebene Inhalte ausblenden
	var container = getElementsByClassName(KlassenName);
	for (var i = 0; i < container.length; i++) {
		container[i].style.visibility = "hidden";
	}
}

function MenueEinblenden (Klassenname) { // alle Inhalte bei Tabs ausblenden, alle Klappmenüs ausblenden
  var container = getElementsByClassName(Klassenname);
  for (var i = 0; i < container.length; i++) {
		container[i].style.visibility = "visible";
	}
}
function Ausblenden (KlassennameAbdeck, idAbdeckDiv)
{
	MenueEinblenden(KlassennameAbdeck); // Alle Abdeckungen einblenden
	var obj = MM_findObj(idAbdeckDiv); // passendes Untermenü finden
	obj.style.visibility='hidden'; // Untermenü einblenden
}

function ZeigeUntermenue (idKopf, idDesDivs, idDesHauptmenuepunktes, idDesUntermenues, KlassennameDerUntermenues_1, KlassennameDerUntermenues_2, versatz)
{
	alleTabinhalteAusblenden(KlassennameDerUntermenues_1); // alle anderen untermenüs f. Ebene 1 ausblenden
	alleTabinhalteAusblenden(KlassennameDerUntermenues_2); // alle anderen untermenüs f. Ebene 2 ausblenden
	var Menuepunkt = document.getElementById(idDesDivs);// aktuellen Menüpunkt bestimmen
	var Menuepunkt2 = document.getElementById(idKopf); // aktuellen Menüpunkt bestimmen
	var Menuepunkt3 = document.getElementById(idDesHauptmenuepunktes); // aktuellen Menüpunkt bestimmen
	var Menuepunkt4 = document.getElementById("aussen"); // aktuellen Menüpunkt bestimmen
	var A1 = Menuepunkt.offsetLeft; // linken Abstand zum Rand des Menüpunktes rausfinden
	var A2 = Menuepunkt2.offsetLeft; // linken Abstand zum Rand des Menüpunktes rausfinden
	var A3 = Menuepunkt3.offsetLeft + versatz; // linken Abstand zum Rand des Menüpunktes rausfinden
	var A4 = Menuepunkt4.offsetLeft; // linken Abstand des Außendivs
	if(navigator.appName.indexOf("Explorer") != -1)
	{
		var Abstand = A1 + A2 + A3;
	} else
	{
		var Abstand = A3 + A4;
	}
	var obj = MM_findObj(idDesUntermenues); // passendes Untermenü finden
	obj.style.visibility='visible'; // Untermenü einblenden
	obj.style.left=Abstand+'px'; // Style ändern (Abstand links passend zum aktuellen Menüpunkt
}

function ZeigeBild (idDesContainers, idDesHauptmenuepunktes, idDesUntermenues)
{
	var Menuepunkt = document.getElementById(idDesHauptmenuepunktes); // aktuellen Menüpunkt bestimmen
	var Menuepunkt1 = document.getElementById(idDesContainers); // aktuellen Menüpunkt bestimmen
	var A1 = Menuepunkt.offsetLeft; // linken Abstand zum Rand des Menüpunktes rausfinden
	var A2 = Menuepunkt.offsetTop; // linken Abstand zum Rand des Menüpunktes rausfinden
	var C1 = Menuepunkt1.offsetLeft; // linken Abstand zum Rand des Menüpunktes rausfinden
	var C2 = Menuepunkt1.offsetTop; // linken Abstand zum Rand des Menüpunktes rausfinden
	var AbstandTop = A2 + C2;
	var AbstandLinks = A1 + C1;
	var obj = MM_findObj(idDesUntermenues); // passendes Untermenü finden
	obj.style.display='block'; // Untermenü einblenden
	obj.style.visibility='visible'; // Untermenü einblenden
	obj.style.left=AbstandLinks + 181 +'px'; // Style ändern (Abstand links passend zum aktuellen Menüpunkt
 	obj.style.top=AbstandTop+'px'; // Style ändern (Abstand oben passend zum aktuellen Menüpunkt
}

function ZeigeMenueBild (KlassenNameAus, idEin)
{
 	var container = getElementsByClassName(KlassenNameAus);
	for (var i = 0; i < container.length; i++) {
		container[i].style.display = "none";
	}
	var Menuebild = document.getElementById(idEin);
	Menuebild.style.display = "inline";
}
function anfahrtAusblenden(){
	var DIV1 = document.getElementById("contentMHabdeck");
	var DIV2 = document.getElementById("contentMHanfahrt");
	DIV1.style.display = "none";
	DIV2.style.display = "none";
}
function anfahrtEinblenden(){
	var DIV1 = document.getElementById("contentMHabdeck");
	var DIV2 = document.getElementById("contentMHanfahrt");
	DIV1.style.display = "block";
	DIV2.style.display = "block";
}

// Funktion zum Finden eines bestimmten Objektes im Baum
function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

// Funktion zum ändern eines bestimmten Styles eines bestimmten Objektes
// Übergabe: Name des Objektes, ' ', zu ändernder Style, neues Value
function StyleAendern(objName,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
function ChangeClass (IdDesDivs, Klassenname)
{
   var obj = MM_findObj(IdDesDivs);
   obj.className = Klassenname;
}
// Scrollen von Inhalt

function verifyCompatibleBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
bw=new verifyCompatibleBrowser()
lstart=120
loop=false
speed=20
pr_step=3
function ConstructObject(obj,nest){
    nest=(!nest) ? '':'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height+200:this.el.offsetHeight+200
	this.newsScroll=newsScroll;
	this.newsScrollDown=newsScrollDown;
	this.timername = '';
	this.timername2 = '';
	this.moveIt=b_moveIt; this.x; this.y;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}
function b_moveIt(x,y){
	this.x=x;this.y=y
	this.css.left=this.x
	this.css.top=this.y+'pt'
}
//Makes the object scroll up
function newsScroll(speed){
	if(this.y >-this.scrollHeight){
		this.moveIt(0,this.y-pr_step)
		this.timername = setTimeout(this.obj+".newsScroll("+speed+")",speed)
	}else if(loop) {
		this.moveIt(0,lstart)
		eval(this.obj+".newsScroll("+speed+")")
	  }
}

function newsScrollDown(speed){
 	if(this.y < 0){
		this.moveIt(0,this.y + pr_step);
		this.timername2 = setTimeout(this.obj+".newsScrollDown("+speed+")",speed) ;
	}else if(loop) {
		this.moveIt(0,lstart)
		eval(this.obj+".newsScroll("+speed+")")
	  }
}

function beimLaden(IDinnen, IDaussen){
	//objContainer=new ConstructObject('divASContainer')
	objContent=new ConstructObject(IDinnen,IDaussen)
	objContent.moveIt(0,0)
	//objContainer.css.visibility='visible'
}
//Makes the object
function InitialiseAutoScrollArea(direction){
	clearTimeout(objContent.timername);
	clearTimeout(objContent.timername2);
	if (direction == "up") {
		objContent.newsScroll(speed)
	} else {
		objContent.newsScrollDown(speed)
	}
}

function timeStop(){
	clearTimeout(objContent.timername);
	clearTimeout(objContent.timername2);
}

//2. Scrollebene

function beimLaden2(IDinnen, IDaussen){
	//objContainer=new ConstructObject('divASContainer')
	objContent2=new ConstructObject(IDinnen,IDaussen)
	objContent2.moveIt(0,0)
	//objContainer.css.visibility='visible'
}
//Makes the object
function InitialiseAutoScrollArea2(direction){
	clearTimeout(objContent2.timername);
	clearTimeout(objContent2.timername2);
	if (direction == "up") {
		objContent2.newsScroll(speed)
	} else {
		objContent2.newsScrollDown(speed)
	}
}

function timeStop2(){
	clearTimeout(objContent2.timername);
	clearTimeout(objContent2.timername2);
}
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_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];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
