	var active = "home";
// Ajax-Aufruf
    // inhaltsdiv = in welches Div soll der Inhalt geschrieben werden
    // inhalt = Datei mit Inhalt
	// funktion = Nur mitgegeben wenn Liste benötigt wird => staedte, landkreise
	//			  da diese Listen nicht in "content" geladen werden, sondern in separates div
    function ajaxCall(inhalt, inhaltsdiv, funktion) {
      var req
      // Browser-Überprüfung
      if (window.XMLHttpRequest) { // Test, ob der Browser ein eingebautes XMLHttpRequest-Objekt besitzt oder...
          req = new XMLHttpRequest();
      } else if (window.ActiveXObject) { // ... ob er das Objekt per ActiveX implementiert
          req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      // Event-Handler
      if(funktion == "liste") {
    	  req.onreadystatechange = function() {liste(inhaltsdiv, req)};
      } else {
    	  req.onreadystatechange = function() {zeigeInhalt(req, inhalt)};
      }
      
      req.open("GET", inhalt, true);
      req.send(null);
    }
    
    
    function zeigeInhalt(req, inhalt) {
    	if (req.readyState == 4) { // Kommunikation beendet
            // erfolgreich, falls der Server den HTTP-Statuscode 200 gesendet hat
    		if (req.status == 200) {
            	// Navigation wird neu gebaut
    			if(inhalt == "startseite.php") {
            		generateNavi("home");
            		active = "home";
            	} else if(inhalt == "staedte.php") {
            		generateNavi("staedte");
            		active = "staedte";
            	} else if(inhalt == "landkreise.php") {
            		generateNavi("landkreise");
            		active = "landkreise";
            	} else if(inhalt == "regierungsbezirke.php") {
            		generateNavi("regbez");
            		active = "regbez";
            	} else if(inhalt == "impressum.php" || inhalt == "kontakt.php" || inhalt == "kontakt_verschicken.php?mail=ok" || inhalt == "kontakt_verschicken.php?mail=no") {
            		generateNavi("nav");
            		active = "nav";
            	} 
    			// Inhalt der angeforderten Seite wird in "content" geladen
            	document.getElementById('content').innerHTML = req.responseText;
            }
    	}
    }
    
    // Funktion zum Bau der Navigation => Zuweisung von Klassennamen
    function generateNavi(aktiv) {
    	document.getElementById('nav1').className = aktiv + "_home";
    	document.getElementById('nav2').className = aktiv + "_staedte";
    	document.getElementById('nav3').className = aktiv + "_landkreise";
    	document.getElementById('nav4').className = aktiv + "_regbez";
    }
    
    // Hover-Funktion
    function generateHover(element) {
    	var className = document.getElementById(element).className;
    	var newClassName = className + "_hover";
    	document.getElementById(element).className = newClassName;
    }
    
    // Hover entfernen
    function degenerateHover(element) {
    	var aktiv = active;
    	document.getElementById('nav1').className = aktiv + "_home";
    	document.getElementById('nav2').className = aktiv + "_staedte";
    	document.getElementById('nav3').className = aktiv + "_landkreise";
    	document.getElementById('nav4').className = aktiv + "_regbez";
    }
    

    // Liste wird nicht direkt in "content" geladen, sondern in separates div "inhaltsdiv"
    function liste(inhaltsdiv, req) {
         if (req.readyState == 4) { // Kommunikation beendet
            // erfolgreich, falls der Server den HTTP-Statuscode 200 gesendet hat
            if (req.status == 200) {
          	  document.getElementById(inhaltsdiv).innerHTML = req.responseText;
            }
        }
    }
    
    function undoInhaltRegierung() {
    	for(var i=1;i<=7;i++) {
    		document.getElementById('lkr_liste_' + i).innerHTML = "";
    	}
    }
    
    // da für jeden Landkreis eigenes Adress-Div angelegt wird, muss dieses bei
    // neuer Anwahl eines Landkreises zunächst für alle "unsichtbar" gemacht werden
    function undoInhaltAdresse() {
    	for(var i=1;i<=7;i++) {
    		document.getElementById('lkr_adresse_' + i).innerHTML = "";
    		document.getElementById('lkr_adresse_' + i).className = "lkr_adr";
    	}
    }
    
    // Adressfeld wird angezeigt
    function changeAdresse(id, adresse) {
    	document.getElementById('lkr_adresse_' + id).innerHTML= adresse;
    	document.getElementById('lkr_adresse_' + id).className = "lkr_adr_background";
    }
    
    // Färben der Städte-Buttons des Alphabets
    function styleStaedteButton(nr) {
    	// Buttons inaktiv
    	undoStyleStaedteButton();
    	// angewählter Button wird aktiv gesetzt
    	document.getElementById('staedte_' + nr).className = "staedte_buchstabe_aktiv";
    	document.getElementById('buchstabe_' + nr).className = "buchstabe_aktiv";
    }
    
    // jeder Städte-Button ist inaktiv 
    function undoStyleStaedteButton() {
    	for(var i=0;i<=22;i++) {
    		document.getElementById('staedte_' + i).className = "staedte_buchstabe";
    		document.getElementById('buchstabe_' + i).className = "buchstabe";
    	}
    }
    
    // Auswerten der Städte-Suche
    function suche_stadt(stadt, kreisfrei) {
    	// Buttons inaktiv
    	undoStyleStaedteButton();
    	// Auswerten ob Kreisfrei
    	if(kreisfrei == "false") kreisfrei='N';
    	else if(kreisfrei == "true") kreisfrei='J';
    	var url = 'staedte_liste.php?s=' + stadt + '&kf=' + kreisfrei;
    	// Liste für Städte wird neu geladen
    	ajaxCall(url, 'staedte_liste', 'liste');
    }
    
    // Checkbox wird als Bild angezeigt
    function CheckBox(feld) {
	    if(document.getElementById('kreisfrei').value == 'true') {
	     document.getElementById('kreisfrei').value = 'false';
	     document.images[feld].src = 'bilder/checkbox.png';
	    } else {
	     document.getElementById('kreisfrei').value = 'true';
	     document.images[feld].src = 'bilder/checkbox_checked.png';
	    }
    }
    
    
