var myshow, formular_aenderungen_ueberwachen;
var halbtransparentes_layer_zwischenschaltung = false;
var amountPressedKeys = new Array(new Array(0,0), new Array(0, 0), new Array(0, 0));
var anzahl_gedrueckter_tasten = new Array();
var gleit_objekte = new Array();
var announcementPaste = "(Bitte die Adressen von Hand eingeben.)";
var mediathek_video_anforderung = new Array();
var bei_halbtransparentem_layer_zu_schliessende_bilder = new Array();
var bei_halbtransparentem_layer_zu_schliessende_videos = new Array();
var petition_mail_adresse_eingefuegt = false;

function startshow() {
	if(myshow)
		stopshow();
	myshow = window.setInterval("getimage('nextimg')", 3000);
}
	
function startshowrev() {
	if(myshow)
		stopshow();
	myshow = window.setInterval("getimage('previmg')", 3000);
}
	
function stopshow() {
	window.clearInterval(myshow);
}

function getimage(which) {
	if(receiveReq.readyState==4 || receiveReq.readyState==0) {	
		receiveReq.open("GET", "../cont/loadimage.php?which=" + which + "&actual=" + document.getElementById('actualimagex').value, true);
		receiveReq.onreadystatechange = successHandler;
		receiveReq.send(null);
	}
}

function errorHandler(msg) {
	document.getElementById("error").innerHTML = msg;
}

function successHandler() {
	if(receiveReq.readyState==4) {
		var data = (receiveReq.responseText).split("|||");

		document.getElementById('actualimagex').value = data[0];
		document.getElementById('imagetag').innerHTML = data[1];
		document.getElementById('temphead').value = data[2];
		document.getElementById('headtag').innerHTML = document.getElementById('temphead').value;
		document.getElementById('temptext').value = data[3];
		document.getElementById('texttag').innerHTML = document.getElementById('temptext').value;
		document.getElementById('pagetag').innerHTML = data[4];
		document.getElementById('pagetag1').innerHTML = data[4];
		document.getElementById('copyright').innerHTML = data[5];
	}
}	

function toggleForm() { // TrackBack-Formular aus-/einblenden
	form = document.getElementById("trackback_URL_form");
	plus = document.getElementById("trackback_form_plus");
	minus = document.getElementById("trackback_form_minus");
	explanation = document.getElementById("trackback_explanation[1]");

	if(form.style.display=="none") { // Öffnen des Formulars
		document.forms[0].trackback_mail.value = "";
		document.forms[0].trackback_mailconfirm.value = "";
		form.style.display = "block";
	}
	else { // Schließen des Formulars
		form.style.display = "none";
		document.getElementById("trackback_error").innerHTML = "";
	}

	if(minus.style.display=="none") {
		plus.style.display = "none"; // Minus-Zeichen ausblenden
		minus.style.display = "inline"; // Minus-Zeichen anzeigen
	}
	else {
		minus.style.display = "none"; // Minus-Zeichen ausblenden
		plus.style.display = "inline"; // Minus-Zeichen anzeigen
	}

	if(explanation.innerHTML!="" && explanation.innerHTML!=announcementPaste && form.style.display!="none") {
		explanation.style.display = "none";
	}
	else {
		explanation.style.color = "#343896";
		explanation.innerHTML = "(&raquo; <span style=\"text-decoration:underline;\">F&uuml;r TrackBackURL bitte hier klicken.</span>)";
		explanation.style.display = "inline";
	}
}

function countPressedKeys(field, formNr) { // gedrückte Tasten pro Feld hochzählen
	var inputField = document.getElementById("trackback_mail[" + formNr + "][" + field + "]").value;
	amountPressedKeys[formNr][field]++;

	if(inputField.length<(amountPressedKeys[formNr][field]-1)) 
		amountPressedKeys[formNr][field] = inputField.length + 1; // Buchstaben wurden entfernt

	if(amountPressedKeys[formNr][0]>0 && amountPressedKeys[formNr][1]>0) 
		document.getElementById("cmd[" + formNr + "]").disabled = false; // Button nicht mehr disablen
	else 
		document.getElementById("cmd[" + formNr + "]").disabled = true;
}

function checkForPaste(field, formNr) { // Prüfen, ob Mail-Adresse eingefügt wurde statt eingegeben
	var explanation = document.getElementById("trackback_explanation[" + formNr + "]");
	var inputField = document.getElementById("trackback_mail[" + formNr + "][" + field + "]");

		if((inputField.value).length>amountPressedKeys[formNr][field]) { // Text wurde eingefügt
		explanation.style.color = "#FF0000";
		explanation.innerHTML = announcementPaste;
		explanation.style.display = "inline";
		
		inputField.value = "";
		amountPressedKeys[formNr][field] = 0;
	}
}

// Prüft die Anzahl der Zeichen und kürzt ggf.
function checkForChars(object, maxChars) {
	display = document.getElementById("displayLeftChars");
	writtenChars = (object.value).length;
	leftChars = maxChars - writtenChars;

	if(leftChars<=0) { // keine Zeichen mehr zur Verfügung
		display.style.color = "#FF0000";
		display.innerHTML = "Max. Zeichenzahl (" + maxChars + ") erreicht!";
		object.value = (object.value).substr(0, maxChars); // auf maxChars Zeichen kürzen
	}
	else { // es stehen noch Zeichen zur Verfügung
		if(display.style.color=="#ff0000") // alte Formatierung wieder herstellen
			display.style.color = "";
		display.innerHTML = "noch " + leftChars + " Zeichen";
	}
}

// Objekt zur Verwaltung von Textarea-Zeichenzahlen
function textarea_zeichenzahl_waechter() {
	// Konstruktor
	this.initialisieren = function(objekt_id, anzeige_objekt_id, max_zeichen_anzahl, hinweis_ab_zeichen_anzahl, gleit_objekt_instanz) {
		this.objekt = document.getElementById(objekt_id);
		this.anzeige_objekt = document.getElementById(anzeige_objekt_id);
		if(!this.objekt || !this.anzeige_objekt)
			return false;
		this.max_zeichen_anzahl = max_zeichen_anzahl;
		this.hinweis_ab_zeichen_anzahl = hinweis_ab_zeichen_anzahl;
		this.gleit_objekt_instanz = (gleit_objekt_instanz && gleit_objekte[gleit_objekt_instanz]) ? gleit_objekte[gleit_objekt_instanz] : false;

		this.anzeige_ursprungs_klasse = this.anzeige_objekt.className;

		// Entsprechende Eventlistener hinzufügen
		var thisTA = this;
		if(navigator.product=="Gecko") { // nicht IE
			this.objekt.addEventListener("keyup", function() { thisTA.pruefe_zeichenzahl(); }, false);
			this.objekt.addEventListener("change", function() { thisTA.pruefe_zeichenzahl(); }, false);
		}
		else { // IE
			this.objekt.attachEvent("onkeyup", function() { thisTA.pruefe_zeichenzahl(); });
			this.objekt.attachEvent("onchange", function() { thisTA.pruefe_zeichenzahl(); });
		}

		return this.pruefe_zeichenzahl();
	}

	// Prüft die Anzahl der Zeichen und kürzt ggf.
	this.pruefe_zeichenzahl = function() {
		ueberbleibende_zeichen = this.max_zeichen_anzahl - this.objekt.value.length;

		if(ueberbleibende_zeichen<=0) { // keine Zeichen mehr zur Verfügung
			this.anzeige_objekt.className = this.anzeige_ursprungs_klasse + " max_zeichenzahl_erreicht_anzeige";
			this.anzeige_objekt.innerHTML = "Max. Zeichenzahl (" + this.max_zeichen_anzahl + ") erreicht!";
			this.objekt.value = (this.objekt.value).substr(0, this.max_zeichen_anzahl); // auf max_zeichen_anzahl Zeichen kürzen
		}
		else { // es stehen noch Zeichen zur Verfügung
			this.anzeige_objekt.className = this.anzeige_ursprungs_klasse;
			this.anzeige_objekt.innerHTML = "noch " + ueberbleibende_zeichen + " Zeichen";
		}

		// Anzeige ein-/ausblenden
		var bisherige_anzeige = this.anzeige_objekt.style.display;
		this.anzeige_objekt.style.display = (ueberbleibende_zeichen<=this.hinweis_ab_zeichen_anzahl) ? "" : "none";

		if(this.gleit_objekt_instanz && bisherige_anzeige!=this.anzeige_objekt.style.display) // Wenn die Einblendung der Anzeige geändert wurde, muss die Gleit-Objekt-Höhe evtl. angepasst werden
			this.gleit_objekt_instanz.ausgeklapptes_objekt_anpassen();

		return true;
	}
}

// Anti-C&P-Code erneuert (obiger ist vom InfoBlog)
function zaehle_gedrueckte_tasten(id) { // gedrückte Tasten pro Feld hochzählen
	if(!anzahl_gedrueckter_tasten[id])
		anzahl_gedrueckter_tasten[id] = 0;

	var inputField = document.getElementById(id).value;
	anzahl_gedrueckter_tasten[id]++;

	if(inputField.length<(anzahl_gedrueckter_tasten[id]-1)) 
		anzahl_gedrueckter_tasten[id] = inputField.length + 1; // Buchstaben wurden entfernt

	pruefe_paste(id);
}

// Prüfen, ob Inhalt eingefügt wurde statt eingegeben
function pruefe_paste(id, weiteres_handling) {
	if(!anzahl_gedrueckter_tasten[id])
		anzahl_gedrueckter_tasten[id] = 0;
	var tag_pasten_erlaubt = "pasten_erlaubt;";
	var pasten_erlaubt = (weiteres_handling && weiteres_handling.substr(0, tag_pasten_erlaubt.length)==tag_pasten_erlaubt);

	if(!pasten_erlaubt)
		var explanation = document.getElementById(id + "_ausgabe");
	else
		weiteres_handling = weiteres_handling.substring((tag_pasten_erlaubt.length-1), (weiteres_handling.length-1));
	var inputField = document.getElementById(id);

	if((inputField.value).length>anzahl_gedrueckter_tasten[id]) { // Text wurde eingefügt
		if(!pasten_erlaubt) {
			explanation.style.display = "";
			inputField.value = "";
			anzahl_gedrueckter_tasten[id] = 0;
		}
		window.setTimeout("" + weiteres_handling, 0); // Das >"" + var< ist nötig, um Fehlerauswurf zu vermeiden
	}
}

function uk_highlight(id) { // highlighted eine UK
	document.getElementById("uk" + id).style.backgroundColor = "#C8C8C8";
}

function uk_dehighlight(id) { // stellt ursprüngliche Farbe einer UK her
	document.getElementById("uk" + id).style.backgroundColor = "#E6E6E6";
}

function hk_highlight(id) { // highlighted eine HK
	document.getElementById("hk" + id).style.backgroundColor = "#C8C8C8";
	if(document.getElementById("hk_arrow_neutral" + id)) { // nur wenn Pfeil vorhanden ist
		document.getElementById("hk_arrow_neutral" + id).style.display = "none";
		document.getElementById("hk_arrow_mouse" + id).style.display = "";
	}
}

function hk_dehighlight(id) { // stellt ursprüngliche Farbe einer HK her
	document.getElementById("hk" + id).style.backgroundColor = "#E6E6E6";
	if(document.getElementById("hk_arrow_neutral" + id)) { // nur wenn Pfeil vorhanden ist
		document.getElementById("hk_arrow_mouse" + id).style.display = "none";
		document.getElementById("hk_arrow_neutral" + id).style.display = "";
	}
}

function subnav_open(id) {
	document.getElementById("sub_nav" + id).style.display = "block";
	if(document.getElementById("bigPic")) // evtl. großes Bild schließen
		document.getElementById("bigPic").style.display = "none";
}

function subnav_close(id) {
	document.getElementById("sub_nav" + id).style.display = "none";
}

function getList(start, id, part, module) { // Service-Rubrik-Liste auslesen
	if(receiveReq.readyState==4 || receiveReq.readyState==0) {
		var abbreviation;

		if(module=="blog")
			abbreviation = 'B';
		else if(module=="zeitschrift")
			abbreviation = 'Z';
		else if(module=="termine")
			abbreviation = 'D';
		else
			abbreviation = 'G';

		document.getElementById(part + "_service_rubrik_ajax_laedt").style.display = "";
		document.getElementById("display" + part).style.visibility = "hidden";

		receiveReq.open("GET", "../cont/list" + part + ".php?start=" + start + "&id=" + id + "&bType=" + abbreviation + "&anti_cache=" + Math.random(), true);
		receiveReq.onreadystatechange = displayList;
		globalPart = part; 
		receiveReq.send(null);

		location.href = "#" + globalPart;
	}
}

function displayList(name) { // Service-Rubrik-Liste anzeigen
	if(receiveReq.readyState==4) {
		document.getElementById("display" + globalPart).innerHTML = receiveReq.responseText;
		document.getElementById(globalPart + "_service_rubrik_ajax_laedt").style.display = "none";
		document.getElementById("display" + globalPart).style.visibility = "visible";
	}
}

// Blendet den Optional-Status der eMail-Zeile ein/aus
function verwalte_mail_optionalitaet() {
	if(document.getElementById("spende_newsletter").checked) {
		document.getElementById("spende_email").disabled = "";
		document.getElementById("spende_email_bestaetigen").disabled = "";
	}
	else {
		document.getElementById("spende_email").disabled = "disabled";
		document.getElementById("spende_email_bestaetigen").disabled = "disabled";
	}
}

// Submitted ein SSL-adaptives Formular und switched auf SSL/Nicht-SSL
function submit_ssl_adaptives_formular(mode, id) {
	var action = (mode=="mit_ssl") ? document.getElementById(id + "_form_action_https").value : document.getElementById(id + "_form_action_http").value;
	document.getElementById(id + "_formular").action = action;
	document.getElementById(id + "_formular").submit();
}

// Prüft ob das Parent-Element (erster Parameter) Inhalt enthält. Das abhängige Element (zweiter Parameter) wird dementsprechend en-/disabled
function abhaengiges_feld_pruefen(vater_objekt, abhaengig_id) {
	abhaengiges_obj = document.getElementById(abhaengig_id);
	if(vater_objekt.value.length==0) { // Abhängiges Element disablen
		abhaengiges_obj.disabled = "disabled";
		abhaengiges_obj.className = "order_input_disabled";
	}
	else { // Abhängiges Element enablen
		abhaengiges_obj.disabled = "";
		abhaengiges_obj.className = "order_input_default";
	}
}

// Markiert ein Formularfeld als fehlerhaft
function form_fehler_markieren(objekt) {
	objekt.className += " form_error";
}

// Disabled oder enabled entsprechende Felder bei der Lieferadresse
function pruefe_liefer_wie_rechnung_anschrift_chbx() {
	if(document.getElementById("bestellung_liefer_wie_rechnung").checked) { // Chbx aktiv => alles disablen
		document.getElementById("bestellung_liefer_name").disabled = "disabled";
		document.getElementById("bestellung_liefer_name").className = "order_input_disabled";
		document.getElementById("bestellung_liefer_strasse").disabled = "disabled";
		document.getElementById("bestellung_liefer_strasse").className = "order_input_disabled";
		document.getElementById("bestellung_liefer_plz").disabled = "disabled";
		document.getElementById("bestellung_liefer_plz").className = "order_input_disabled";
		document.getElementById("bestellung_liefer_ort").disabled = "disabled";
		document.getElementById("bestellung_liefer_ort").className = "order_input_disabled";
		document.getElementById("bestellung_liefer_land").disabled = "disabled";
		document.getElementById("bestellung_liefer_land").className = "order_select_disabled";
	}
	else { // Chbx deaktiviert => alles enablen
		document.getElementById("bestellung_liefer_name").disabled = "";
		document.getElementById("bestellung_liefer_name").className = "order_input_mandatory" + ((document.getElementById("bestellung_liefer_name").className.search(/form_error/)!=-1) ? " form_error" : "");
		document.getElementById("bestellung_liefer_strasse").disabled = "";
		document.getElementById("bestellung_liefer_strasse").className = "order_input_mandatory" + ((document.getElementById("bestellung_liefer_strasse").className.search(/form_error/)!=-1) ? " form_error" : "");
		document.getElementById("bestellung_liefer_plz").disabled = "";
		document.getElementById("bestellung_liefer_plz").className = "order_input_mandatory" + ((document.getElementById("bestellung_liefer_plz").className.search(/form_error/)!=-1) ? " form_error" : "");
		document.getElementById("bestellung_liefer_ort").disabled = "";
		document.getElementById("bestellung_liefer_ort").className = "order_input_mandatory" + ((document.getElementById("bestellung_liefer_ort").className.search(/form_error/)!=-1) ? " form_error" : "");
		document.getElementById("bestellung_liefer_land").disabled = "";
		document.getElementById("bestellung_liefer_land").className = "order_select_mandatory" + ((document.getElementById("bestellung_liefer_land").className.search(/form_error/)!=-1) ? " form_error" : "");
	}
}

// Disabled oder enabled entsprechende Felder bei den Zahlungsoptionen
function verwalte_zahlungsoptionen() {
	if(document.getElementById("bestellung_bezahlung_methode_zahlschein").checked) { // Bezahlung per Zahlschein ausgewählt
		document.getElementById("bestellung_bezahlung_tr_einzug").style.display = "none";
		document.getElementById("bestellung_bezahlung_tr_zahlschein").style.display = "";
	}
	else if(document.getElementById("bestellung_bezahlung_methode_einzug").checked) { // Bezahlung per Einzug ausgewählt
		document.getElementById("bestellung_bezahlung_tr_zahlschein").style.display = "none";
		document.getElementById("bestellung_bezahlung_tr_einzug").style.display = "";
	}
	else { // Keine Bezahlmethode ausgewählt
		document.getElementById("bestellung_bezahlung_tr_einzug").style.display = "none";
		document.getElementById("bestellung_bezahlung_tr_zahlschein").style.display = "none";
	}
}

// Ändert die Option-Auswahl des Abo-Tarifs
function aendere_abo_tarif(nr, key) {
	anzahl_options = document.getElementById("abo_tarif_anzahl_options").value;

	for(i=0;i<anzahl_options;i++) {
		if(nr!=i) { // Diese Zeile wurde NICHT ausgewählt
			document.getElementById("abo_tarif_selected_" + i).style.display = "none";
			document.getElementById("abo_tarif_unselected_" + i).style.display = "";
		}
		else { // Diese Zeile wurde ausgewählt
			document.getElementById("abo_tarif_unselected_" + i).style.display = "none";
			document.getElementById("abo_tarif_selected_" + i).style.display = "";
		}
	}

	document.getElementById("abo_tarif").value = key;

	if(key!="normal" && key!="foerder")
		aendere_abo_geschenk(0, "keine_bindung");
}

// Ändert die Option-Auswahl des Abo-Geschenks
function aendere_abo_geschenk(nr, key) {
	tarif = document.getElementById("abo_tarif").value;
	if(tarif=="normal" || tarif=="foerder" || key=="keine_bindung") {
		anzahl_options = document.getElementById("abo_geschenk_anzahl_options").value;

		for(i=0;i<anzahl_options;i++) {
			if(nr!=i) { // Diese Zeile wurde NICHT ausgewählt
				document.getElementById("abo_geschenk_selected_" + i).style.display = "none";
				document.getElementById("abo_geschenk_unselected_" + i).style.display = "";
			}
			else { // Diese Zeile wurde ausgewählt
				document.getElementById("abo_geschenk_unselected_" + i).style.display = "none";
				document.getElementById("abo_geschenk_selected_" + i).style.display = "";
			}
		}

		document.getElementById("abo_geschenk").value = key;
	}
}

// Allgemeines YouTube-Video öffnen
function starte_youtube_video(video_id, video_code, breite, hoehe) {
	document.getElementById("mediathek_video_" + video_id).innerHTML = '<object width="' + breite + '" height="' + hoehe + '"><param name="movie" value="http://www.youtube-nocookie.com/v/' + video_code + '>?fs=1&amp;hl=de_DE&amp;rel=0&amp;autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/' + video_code + '?fs=1&amp;hl=de_DE&amp;rel=0&amp;autoplay=1" type="application/x-shockwave-flash" width="' + breite + '" height="' + hoehe +'" allowscriptaccess="always" allowfullscreen="true"></embed></object>';

	return true;
}

// In Textbeitrag eingebettetes Video starten
function eingebettetes_video_in_textbeitrag_abspielen(js_id, video_code, breite, hoehe) {
	halbtransparent_layer_anzeigen(false, js_id); // Halbtransparentes Player einblenden
	document.getElementById("eingebettetes_video_container" + js_id).style.zIndex += 60; // Container in den Vordergrund setzen
	document.getElementById("video_vorschaubild" + js_id).style.display = "none"; // Vorschaubild verstecken
	document.getElementById("eingebettetes_video_vergroesserungs_balken" + js_id).style.display = "none"; // Vergrößerungsbalken verstecken
	document.getElementById("eingebettetes_video_verkleinerungs_balken" + js_id).style.display = ""; // Verkleinerungsbalken anzeigen
	starte_youtube_video("eingebettet" + js_id, video_code, breite, hoehe);
}

// HTML-Objekte, die zum Verstecken und Anzeigen ein- und ausgleiten
function gleit_objekt() {
	// Konstruktor
	this.initialisieren = function(instanz_id, container_id, titelzeile_id, icon_id, objekt_id, vertikales_container_padding_und_rahmen) {
		this.instanz_id = instanz_id;
		this.container_id = container_id;
		this.titelzeile_id = titelzeile_id;
		this.icon_id = icon_id;
		this.objekt_id = objekt_id;
		this.vertikales_container_padding_und_rahmen = vertikales_container_padding_und_rahmen;
		this.gleit_geschwindigkeit = 1;
		this.max_gleit_geschwindigkeit = 7;
		this.klapp_animation_aktiv = false;

		if(!document.getElementById(this.container_id) || !document.getElementById(this.objekt_id))
			return false;
		
		this.container = document.getElementById(this.container_id);
		this.objekt = document.getElementById(this.objekt_id);
		
		this.hoehen_berechnen();
		
		return true;
	}

	// Berechnet die aktuellen Höhen und Zielhöhen der Objekte
	this.hoehen_berechnen = function() {
		// Die folgende verkomplizierte Vorgehensweise hat mit der Skalierbarkeit für barrierefreie Webseiten zu tun
		var nachtraegliche_messung = false;
		if(!this.container_hoehe_ohne_objekt)
			this.container_hoehe_ohne_objekt = this.container.offsetHeight - this.vertikales_container_padding_und_rahmen;
		else
			nachtraegliche_messung = true;
		if(!nachtraegliche_messung) {
			this.container.style.height = this.container_hoehe_ohne_objekt + "px"; // Höhe des Containers wird auf Anfangshöhe gesetzt
			this.container.style.overflow = "hidden"; // Das Objekt soll nicht sichtbar werden
		}
		var nach_messung_wieder_verstecken = false;
		if(this.objekt.style.display=="none") {
			this.objekt.style.display = ""; // Objekt sichtbar machen, wenn nötig
			nach_messung_wieder_verstecken = true;
		}
		this.objekt_hoehe = this.objekt.offsetHeight; // ... um Höhen messen zu können
		if(nach_messung_wieder_verstecken)
			this.objekt.style.display = "none"; // ... und wieder verstecken, wenn nötig
		this.container_hoehe_mit_objekt = this.container_hoehe_ohne_objekt + this.objekt_hoehe;

		return true;
	}

	// Nimmt den Änderungswunsch der Darstellung an
	this.darstellung_aendern = function() {
		if(this.klapp_animation_aktiv) // Animation noch am Laufen -> Vermeiden konkurrierender Intervalle
			return false;

		var aktuell_dargestellt = this.ausgeklappter_zustand();
		this.klapp_animation_aktiv = true;

		if(aktuell_dargestellt) // Aktuell dargestellt -> einklappen
			this.animations_intervall = window.setInterval("gleit_objekte['" + this.instanz_id + "'].einklapp_animation();", 15);
		else { // Aktuell versteckt -> ausklappen
			this.hoehen_berechnen();
			this.objekt.style.display = "";
			this.animations_intervall = window.setInterval("gleit_objekte['" + this.instanz_id + "'].ausklapp_animation();", 15);
			document.getElementById(this.titelzeile_id).className += " funktionsbereich_zeile_aktiviert";
			document.getElementById(this.icon_id + "_normal").style.display = "none";
			document.getElementById(this.icon_id + "_aktiviert").style.display = "";
		}

		return true;
	}

	// Lässt das Objekt sofort erscheinen
	this.sofort_darstellen = function() {
		this.hoehen_berechnen();
		this.objekt.style.display = "";
		document.getElementById(this.titelzeile_id).className += " funktionsbereich_zeile_aktiviert";
		document.getElementById(this.icon_id + "_normal").style.display = "none";
		document.getElementById(this.icon_id + "_aktiviert").style.display = "";
		this.container.style.height = this.container_hoehe_mit_objekt + "px";

		return true;
	}

	// Prüft und initiiert ggf. die Notwendigkeit einer Höhenanpassung
	this.ausgeklapptes_objekt_anpassen = function() {
		if(this.klapp_animation_aktiv)
			return false;

		var benoetigte_hoehe_vor_neuberechnung = this.container_hoehe_mit_objekt;
		this.hoehen_berechnen();
		if(benoetigte_hoehe_vor_neuberechnung!=this.container_hoehe_mit_objekt) { // Anpassung initiieren da Differenz festgestellt
			this.klapp_animation_aktiv = true;
			this.animations_intervall = window.setInterval("gleit_objekte['" + this.instanz_id + "'].anpassungs_animation();", 15);
		}
	}

	// Klappt den Container aus
	this.ausklapp_animation = function() {
		var aktuelle_hoehe = parseInt(this.container.style.height);
		if(aktuelle_hoehe>=this.container_hoehe_mit_objekt) // Fertig ausgeklappt
			return this.fertig_ausgeklappt();
		this.container.style.height = Math.min(this.container_hoehe_mit_objekt, (aktuelle_hoehe + this.gleit_geschwindigkeit)) + "px";

		// Gleitgeschwindigkeit verändern, um Beschleunigungseffekt zu erzeugen
		if(this.gleit_geschwindigkeit<this.max_gleit_geschwindigkeit)
			this.gleit_geschwindigkeit++;

		return true;
	}

	// Klappt den Container ein
	this.einklapp_animation = function() {
		var aktuelle_hoehe = parseInt(this.container.style.height);
		if(aktuelle_hoehe<=this.container_hoehe_ohne_objekt) // Fertig eingeklappt
			return this.fertig_eingeklappt();
		this.container.style.height = Math.max(this.container_hoehe_ohne_objekt, (aktuelle_hoehe - this.gleit_geschwindigkeit)) + "px";
		
		// Gleitgeschwindigkeit verändern, um Beschleunigungseffekt zu erzeugen
		if(this.gleit_geschwindigkeit<this.max_gleit_geschwindigkeit)
			this.gleit_geschwindigkeit++;

		return true;
	}

	// Passt den Container neuen Gegebenheiten an
	this.anpassungs_animation = function () {
		this.gleit_geschwindigkeit = 1; // Exaktes Anpassen garantieren
		var aktuelle_hoehe = parseInt(this.container.style.height);
		ausstehende_anpassungs_differenz = this.container_hoehe_mit_objekt-aktuelle_hoehe;
		if(ausstehende_anpassungs_differenz==0) // Fertig angepasst
			return this.fertig_angepasst();

		var neue_hoehe = (ausstehende_anpassungs_differenz>0) ? aktuelle_hoehe + Math.min(ausstehende_anpassungs_differenz, this.max_gleit_geschwindigkeit) : aktuelle_hoehe - Math.max(ausstehende_anpassungs_differenz, this.max_gleit_geschwindigkeit);
		this.container.style.height = neue_hoehe + "px";

		return true;
	}

	// Beendet die Ausklapp-Animation mit der Anzeige des Objekts
	this.fertig_ausgeklappt = function() {
		this.gleit_geschwindigkeit = 1;
		this.klapp_animation_aktiv = false;

		window.clearInterval(this.animations_intervall)

		return this.ausgeklapptes_objekt_anpassen(); // Nochmal Höhenanpassung checken, falls während der Animation schon wieder etwas geändert worden ist
	}

	// Beendet die Einklappt-Animation
	this.fertig_eingeklappt = function() {
		this.container.style.height = this.container_hoehe_ohne_objekt + "px";
		this.objekt.style.display = "none";
		this.gleit_geschwindigkeit = 1;
		this.klapp_animation_aktiv = false;

		// Zeilenvisualisierung entfernen
		document.getElementById(this.titelzeile_id).className = " funktionsbereich_zeile";
		document.getElementById(this.icon_id + "_aktiviert").style.display = "none";
		document.getElementById(this.icon_id + "_normal").style.display = "";

		return window.clearInterval(this.animations_intervall);
	}

	// Beendet die Anpass-Animation
	this.fertig_angepasst = function() {
		this.klapp_animation_aktiv = false;

		return window.clearInterval(this.animations_intervall);
	}

	// Prüft, ob das Gleit-Objekt gerade ausgeklappt ist
	this.ausgeklappter_zustand = function() {
		return (this.objekt.style.display=="");
	}
}

// Alle ausgeklappten Gleit-Objekte anpassen lassen
function alle_gleit_objekte_anpassen() {
	for(var gleit_objekt_id in gleit_objekte) {
		if(gleit_objekte[gleit_objekt_id].ausgeklappter_zustand())
			gleit_objekte[gleit_objekt_id].ausgeklapptes_objekt_anpassen();
	}
}

// Fügt einem leeren Textfeld einen Standardtext hinzu, der onclick verschwindet und onblur wieder erscheint, wenn nichts eingegeben wurde
function textfeld_mit_dynamisiertem_inhalt() {
	// Konstruktor
	this.initialisieren = function(textfeld_id, inhalt) {
		if(this.textfeld = document.getElementById(textfeld_id)) {
			// Entsprechende Eventlistener hinzufügen
			var thisTF = this;
			if(navigator.product=="Gecko") { // nicht IE
				this.textfeld.addEventListener("focus", function() { thisTF.fokussiere_textfeld(); }, false);
				this.textfeld.addEventListener("blur", function() { thisTF.defokussiere_textfeld(); }, false);
			}
			else { // IE
				this.textfeld.attachEvent("onfocus", function() { thisTF.fokussiere_textfeld(); });
				this.textfeld.attachEvent("onblur", function() { thisTF.defokussiere_textfeld(); });
			}

			// Variable zuweisen
			this.inhalt = inhalt;

			// Feld beim Laden vorausfüllen, wenn das Feld leer ist
			this.defokussiere_textfeld();
		}

		return false;
	}

	// Fokus ins Textfeld
	this.fokussiere_textfeld = function() {
		if(this.textfeld.value==this.inhalt) {
			this.textfeld.value = "";
			return true;
		}

		return false;
	}

	// Fokus des Textfeldes verloren
	this.defokussiere_textfeld = function() {
		if(this.textfeld.value.length==0) {
			this.textfeld.value = this.inhalt;
			return true;
		}

		return false;
	}
}

// Schriftskalierung
function skaliere_schrift(groesse) {
	if(groesse!="klein" && groesse!="mittel" && groesse!="gross")
		return false;

	document.body.className = "dokument_schrift_groesse_" + groesse;

	// Cookie setzen, um diese Größe auch beim nächsten Seitenaufruf gewährleisten zu können
	if(!navigator.cookieEnabled)
		alert("Damit die von Ihnen gewünschte Schriftgröße auch beim weiteren Navigieren durch die Seite erhalten bleibt, akzeptieren Sie bitte Cookies von dieser Seite.");

	document.cookie = "schriftgroesse=" + groesse + ";path=/";

	// Skalierungsobjekte umformatieren
	document.getElementById("schrift_skalierung_klein").style.fontWeight = (groesse=="klein") ? "bold" : "normal";
	document.getElementById("schrift_skalierung_mittel").style.fontWeight = (groesse=="mittel") ? "bold" : "normal";
	document.getElementById("schrift_skalierung_gross").style.fontWeight = (groesse=="gross") ? "bold" : "normal";

	// Da Höhen-Berechnungen der Container nicht mehr passen, müssen ausgeklappte Objekte angepasst werden
	alle_gleit_objekte_anpassen();
}

// Berechnet überbleibende Zeichen und kürzt notfalls (obige Funktion vom InfoBlog)
function calculate_new_chars(version, obj) {
	var max_chars = document.getElementById("maxchars_" + version).value;
	var recent_chars = (obj.value).length;

	if(recent_chars<max_chars) { // noch Zeichen über
		document.getElementById("leftchars_" + version).style.color = "";
		document.getElementById("leftchars_" + version).innerHTML = "(noch " + (max_chars - recent_chars) + " Zeichen)";
	}
	else { // zu oder genau richtig viele Zeichen
		document.getElementById("leftchars_" + version).style.color = "#FF0000";
		document.getElementById("leftchars_" + version).innerHTML = "Max. Zeichenanzahl (" + max_chars + ") erreicht!";
		obj.value = (obj.value).substring(0, max_chars);
	}
}



/** Kalender **/
function kalender() {
	// Klassenkonstruktor
	this.initialisieren = function(id, gewaehltes_datum_feld, script_url, url_extension, verfahrensweise_nach_monatsanzeige) {
		// Variablen instanzieren
		this.id = id;
		this.gewaehltes_datum_feld = gewaehltes_datum_feld;
		this.script_url = script_url;
		this.url_extension = url_extension;
		this.verfahrensweise_nach_monatsanzeige = verfahrensweise_nach_monatsanzeige;
		this.anforderung = getXmlHttpRequestObject();
	}

	// Wählt einen neuen Tag des Kalenders aus
	this.waehle_neuen_kalender_tag = function(tag, monat, jahr) {
		if(!this.gewaehltes_datum_feld || !document.getElementById(this.gewaehltes_datum_feld))
			return false;

		gewaehltes_datum = document.getElementById(this.gewaehltes_datum_feld);

		// Hidden-Feld aktualisieren & anschließend Monat aktualisieren
		gewaehltes_datum.value = tag + "." + monat + "." + jahr;
		this.gehe_zu_monat(monat, jahr);
	}

	// Wechsel zu einem anderen Monat
	this.gehe_zu_monat = function(neuer_monat, neues_jahr) {
		if(this.anforderung.readyState==4 || this.anforderung.readyState==0) {
			var gewaehltes_datum = (this.gewaehltes_datum_feld && document.getElementById(this.gewaehltes_datum_feld)) ? document.getElementById(this.gewaehltes_datum_feld) : false;
			termin_kalender_aktiver_monat = neuer_monat + "." + neues_jahr;

			// Ladestatus anzeigen
			if(document.getElementById(this.id + "_kalender_ladestatus")) {
				for(var i=1;i<7;i++)
					document.getElementById(this.id + "_kalender_tr_woche_" + i).style.display = "none";
				document.getElementById(this.id + "_kalender_ladestatus").style.display = "";
			}

			// PHP-Script auslesen
			kalender_script = this.script_url;

			// GET-Parameter ermitteln
			if(gewaehltes_datum)
				ausgewahltes_datum = (gewaehltes_datum.value).split(".");
			url_erweiterung = (this.url_extension) ? "&" + this.url_extension : ""; // evtl. GET-Erweiterung ans Script hängen
			url_query = "?anzuzeigender_monat=" + neuer_monat;
			url_query += "&anzuzeigendes_jahr=" + neues_jahr;
			if(gewaehltes_datum) {
				url_query += "&ausgewaehlter_tag=" + ausgewahltes_datum[0];
				url_query += "&ausgewaehlter_monat=" + ausgewahltes_datum[1];
				url_query += "&ausgewaehltes_jahr=" + ausgewahltes_datum[2];
			}
			url_query += "&fixNoCache=" + Math.random();

			// AJAX-Request starten
			this.anforderung.open("GET", kalender_script + url_query + url_erweiterung, true);
			var objekt = this;
			this.anforderung.onreadystatechange = function() { objekt.anderen_monat_darstellen() };
			this.anforderung.send(null);
		}
	}

	// Stellt den neuen Monat dar
	this.anderen_monat_darstellen = function() {
		if(this.anforderung.readyState==4) {
			// Neuen Kalendermonat anzeigen
			document.getElementById(this.id + "_kalender_container").innerHTML = this.anforderung.responseText;
			window.setTimeout(this.verfahrensweise_nach_monatsanzeige, 0);
		}
	}
}

// Setzt einen Cookie bzgl. aktiven Kalendermonats
function aktiver_kalender_monat_termin_uebersicht_cookie_setzen() {
	cookie_verfallsdatum = new Date();
	cookie_verfallsdatum.setTime(cookie_verfallsdatum.getTime() + (1000 * 60 * 60 * termin_kalender_cookie_lebedauer));
	document.cookie = "termin_kalender_aktiver_monat=" + termin_kalender_aktiver_monat + ";path=/;expires=" + cookie_verfallsdatum.toGMTString() + ";";
}

// Verwaltet die Anzeige der Such-Informationen
function suchinformationen_anzeige_verwalten() {
	var informationen_layer = document.getElementById("suchinformationen");
	var informationen_link = document.getElementById("suchinformationen_einausblenden_link");

	if(informationen_layer.style.display=="none") {
		informationen_layer.style.display = "";
		informationen_link.title = "Informationen zur Suche ausblenden";
	}
	else {
		informationen_layer.style.display = "none";
		informationen_link.title = "Informationen zur Suche anzeigen";
	}
}

// Initialisiert das Petitions-Laden
var petition_im_laden = false;
function petition_anzeigen(script_pfad, petition_id, petition_breite) {
	if(petition_im_laden)
		return false;

	petition_im_laden = true;
	var petition_obj = new petition();
	petition_obj.laden(document.getElementById("root_url_pfad_adaptiv").value + script_pfad, petition_id, petition_breite);
	halbtransparentes_layer_zwischenschaltung = "petitions_schliessung_durchfuehren()";
}

// Prüft, ob die Petitions-Prüfung sicher durchgeführt werden soll
function petitions_schliessung_durchfuehren() {
	var keine_aenderung = formular_werte_unveraendert();
	return (keine_aenderung || confirm("Das Petitions-Formular wird geschlossen und die Eingaben werden verworfen, wenn OK betätigt wird."));
}

// Lädt eine Petition mittels AJAX und zeigt sie im halbtransparenten Layer an
function petition() {
	this.laden = function(script_pfad, petition_id, petition_breite) {
		petition_im_laden = true;
		this.script_pfad = script_pfad;
		this.petition_breite = petition_breite;
		this.petition_id = petition_id;
		this.start_rechteck_dimensionen = 50;
		this.geschwindigkeit = 40;
		this.min_geschwindigkeit = 25;
		this.anforderung = getXmlHttpRequestObject();
		this.container = document.getElementById("statisch_zentrierter_inhalt_container");
		this.layer = document.getElementById("statisch_zentrierter_inhalt");
		this.inhalt = document.getElementById("statisch_zentrierter_inhalt_body");
		if(this.anforderung.readyState==0 || this.anforderung.readyState==4) {
			// Anzeige
			halbtransparent_layer_anzeigen("statisch_zentrierter_inhalt_container");
			this.layer.style.width = this.start_rechteck_dimensionen + "px";
			this.inhalt.innerHTML = '<div style="text-align:center;"><img src="' + document.getElementById("root_url_pfad_adaptiv").value + 'gfx/ajax_laden_icon.gif" alt="l&auml;dt..." title="l&auml;dt..." style="width:21px;height:21px;"></div>';
			this.container.style.display = "";
			if(parseInt(this.layer.offsetHeight)>this.start_rechteck_dimensionen) { // Reset der Höhe
				this.layer.style.height = this.start_rechteck_dimensionen + "px";
				this.layer.style.height = "";
			}

			// Anfrage senden
			this.anforderung.open("GET", script_pfad + "?petition_id=" + this.petition_id + "&anti_cache=" + Math.random(), true);
			objekt = this;
			this.anforderung.onreadystatechange = function() { objekt.geladen() };
			this.anforderung.send(null);
		}
	}

	// Petitions-Formular fertig geladen
	this.geladen = function() {
		if(this.anforderung.readyState==4) {
			// Layer sichtbar lassen, aber Container nochmal kurz verstecken, um Ziel-Höhe messen zu können
			this.layer.style.width = this.petition_breite + "px";
			this.inhalt.innerHTML = this.anforderung.responseText;
			var ziel_hoehe = this.layer.offsetHeight;

			// Jetzt Layer leeren und Gleitfunktion starten
			this.layer.style.width = this.start_rechteck_dimensionen + "px";
			this.layer.style.height = this.start_rechteck_dimensionen + "px";
			this.inhalt.innerHTML = "&nbsp;";
			this.container.style.display = "";
			objekt = this;
			this.klapp_intervall = window.setInterval("objekt.ausklappen(" + this.petition_breite + ", " + ziel_hoehe + ");", 50);
		}
	}

	// Ausklapp-Effekt
	this.ausklappen = function(ziel_breite, ziel_hoehe) {
		// Aktuelle Dimensionen berechnen
		var aktuelle_breite = parseInt(this.layer.offsetWidth);
		var aktuelle_hoehe = parseInt(this.layer.offsetHeight);

		if(aktuelle_breite>=ziel_breite && aktuelle_hoehe>=ziel_hoehe) // Dimensionen erreicht
			return this.fertig_ausgeklappt();

		// Neue Höhe berechnen, vergeben und ausrichten
		var neue_breite = Math.min(aktuelle_breite + this.geschwindigkeit, ziel_breite);
		var neue_hoehe = Math.min(aktuelle_hoehe + this.geschwindigkeit, ziel_hoehe);
		this.layer.style.width = neue_breite + "px";
		this.layer.style.height = neue_hoehe + "px";

		if(this.geschwindigkeit>this.min_geschwindigkeit)
			this.geschwindigkeit--;
	}

	// Fertig ausgeklappt
	this.fertig_ausgeklappt = function() {
		// Intervall aufheben und Petition abbilden
		clearInterval(this.klapp_intervall);
		this.inhalt.innerHTML = this.anforderung.responseText;

		// GGf. JavaScript-Parts extrahieren, um sie mittels eval auszuführen
		var script_ausdruck = /<script(?: language="JavaScript")? type="text\/javascript">([^´]*?)<\/script>/mgi;
		while(script_ausdruck.exec(this.anforderung.responseText))
			eval(RegExp.$1);

		formular_aenderungen_ueberwachen = new Array("petition_anrede", "petition_akad_grad", "petition_familienname", "petition_vorname", "petition_geburtsdatum_tag", "petition_geburtsdatum_monat", "petition_geburtsdatum_jahr", "petition_strasse", "petition_plz", "petition_ort", "petition_email", "petition_email_wiederholen");
		urspruengliche_formular_werte = new Array();
		urspruengliche_formular_werte_laden();

		petition_im_laden = false;
	}
}

// Verwaltet die Anzeige des halbtransparenten Layers, das sich über die gesamte Seite spannt
function halbtransparent_layer_anzeigen(bild_anzeigen, video_abspielen) {
	if(bild_anzeigen) // ID hinzufügen, wenn hier ein Bild-Objekt angezeigt wird
		bei_halbtransparentem_layer_zu_schliessende_bilder.push(bild_anzeigen);
	if(video_abspielen) // ID hinzufügen, wenn hier ein Video-Objekt abgespielt wird
		bei_halbtransparentem_layer_zu_schliessende_videos.push(video_abspielen);
	if(!bild_anzeigen && !video_abspielen) { // ... ansonsten müssen alle geöffneten Objekte nun versteckt werden
		if(halbtransparentes_layer_zwischenschaltung) { // Ggf. Zwischenprüfung
			pruefung_positiv = false;
			eval("pruefung_positiv = " + halbtransparentes_layer_zwischenschaltung);
			if(!pruefung_positiv)
				return false;
		}
		for(var i=0;i<bei_halbtransparentem_layer_zu_schliessende_bilder.length;i++) {
			if(document.getElementById(bei_halbtransparentem_layer_zu_schliessende_bilder[i]))
				document.getElementById(bei_halbtransparentem_layer_zu_schliessende_bilder[i]).style.display = "none"; // Großbild wieder verstecken
		}
		bei_halbtransparentem_layer_zu_schliessende_bilder = new Array();

		for(var i=0;i<bei_halbtransparentem_layer_zu_schliessende_videos.length;i++) {
			var js_id = bei_halbtransparentem_layer_zu_schliessende_videos[i];
			if(document.getElementById("video_vorschaubild" + js_id))
				document.getElementById("video_vorschaubild" + js_id).style.display = ""; // Vorschaubild wieder anzeigen
			if(document.getElementById("eingebettetes_video_verkleinerungs_balken" + js_id))
				document.getElementById("eingebettetes_video_verkleinerungs_balken" + js_id).style.display = "none"; // Verkleinerungsbalken ausblenden
			if(document.getElementById("eingebettetes_video_vergroesserungs_balken" + js_id))
				document.getElementById("eingebettetes_video_vergroesserungs_balken" + js_id).style.display = ""; // Vergrößerungsbalken einblenden
			if(document.getElementById("mediathek_video_eingebettet" + js_id))
				document.getElementById("mediathek_video_eingebettet" + js_id).innerHTML = ""; // Video-Einbettung entfernen
			if(document.getElementById("eingebettetes_video_container" + js_id))
				document.getElementById("eingebettetes_video_container" + js_id).style.zIndex -= 60; // Container wieder in den Hintergrund setzen
		}
		bei_halbtransparentem_layer_zu_schliessende_videos = new Array();
	}

	// Layer selbst ein-/ausblenden
	document.getElementById("halbtransparent_layer").style.display = (bild_anzeigen || video_abspielen) ? '' : 'none';
}

// Prüft, ob Formularinhalte seit erstmaligem Seitenaufruf geändert wurden
function formular_werte_unveraendert() {
	if(!formular_aenderungen_ueberwachen)
		return true;
	for(var i=0;i<formular_aenderungen_ueberwachen.length;i++) { // Alle zu überwachenden Werte laden
		var input_id = formular_aenderungen_ueberwachen[i];
		var schon_radio_gemacht = false;
		if(inputs = document.getElementsByName(input_id)) { // Prüfen, ob das vllt Radio-Buttons sind -> dann brauchen die eine andere Überwachungsmethode
			if(inputs.length>0) {
				for(var j=0;j<inputs.length;j++) { // Alle Objekte mit dem Namen durchlaufen
					if(inputs[j].type=="radio") {
						if(inputs[j].checked!=urspruengliche_formular_werte[input_id][j])
							return false;
						schon_radio_gemacht = true;
					}
				}
			}
		}
		if(!schon_radio_gemacht && (input = document.getElementById(input_id))) { // Input-ID vorhanden
			if(((input.type=="text" || input.type=="textarea" || input.type=="select-one") && input.value!=urspruengliche_formular_werte[input_id])
				|| (input.type=="file" && input.value)
				|| (input.type=="checkbox" && input.checked!=urspruengliche_formular_werte[input_id]))
				return false;
			else if(input.type=="select-multiple") {				
				if(input.options.length!=urspruengliche_formular_werte[input_id].length)
					return false;
				for(var j=0;j<input.options.length;j++) {
					if(input.options[j].selected!=urspruengliche_formular_werte[input_id][j])
						return false;
				}
			}
		}
	}

	return true;
}

// Lädt die ursprünglichen Formularwerte
function urspruengliche_formular_werte_laden() {
	for(var i=0;i<formular_aenderungen_ueberwachen.length;i++) { // Alle zu überwachenden Werte laden
		var input_id = formular_aenderungen_ueberwachen[i];
		schon_radio_gemacht = false;
		if(inputs = document.getElementsByName(input_id)) { // Prüfen, ob das vllt Radio-Buttons sind -> dann brauchen die eine andere Überwachungsmethode
			if(inputs.length>0) {
				for(var j=0;j<inputs.length;j++) { // Alle Objekte mit dem Namen durchlaufen
					if(inputs[j].type=="radio") {
						if(j==0)
							urspruengliche_formular_werte[input_id] = new Array();
						urspruengliche_formular_werte[input_id][j] = inputs[j].checked;
						schon_radio_gemacht = true;
					}
				}
			}
		}
		if(!schon_radio_gemacht && (input = document.getElementById(input_id))) { // Input-ID vorhanden
			if(input.type=="text" || input.type=="textarea" || input.type=="select-one")
				urspruengliche_formular_werte[input_id] = input.value;
			else if(input.type=="file")
				urspruengliche_formular_werte[input_id] = false;
			else if(input.type=="checkbox")
				urspruengliche_formular_werte[input_id] = input.checked;
			else if(input.type=="select-multiple") {
				urspruengliche_formular_werte[input_id] = new Array();
				for(var j=0;j<input.options.length;j++)
					urspruengliche_formular_werte[input_id][j] = input.options[j].selected;
			}
			else
				urspruengliche_formular_werte[input_id] = false;
		}
	}
}

// Zeigt einen Hinweis-Alert an, wenn ungespeicherte Formulardaten existieren
function hinweis(url) {
	keine_aenderung = formular_werte_unveraendert();
	if(keine_aenderung || confirm("Die Formularinhalte wurden noch nicht gespeichert. Nur OK betätigen, wenn diese verloren gehen sollen."))
		location.href = url;
	else
		formularwechsel_innerhalb_beitrags_modul = false;
}

// Ändert die Hintergundfarbe eines Objekts
function focus_input(objekt) {
	if(document.getElementById("form_fields_recent_focused_bgcolor"))
		objekt.style.backgroundColor = document.getElementById("form_fields_recent_focused_bgcolor").value;
	if(document.getElementById("form_fields_recent_focused_color"))
		objekt.style.color = document.getElementById("form_fields_recent_focused_color").value;
}

// Setzt die Hintergrundfarbe eines Objekts wieder auf den ursprünglichen Stand zurück
function defocus_input(objekt) {
	objekt.style.backgroundColor = "";
	objekt.style.color = "";
}

function getXmlHttpRequestObject() {	
	if (window.XMLHttpRequest)
		return new XMLHttpRequest();
	else if(window.ActiveXObject)
		return new ActiveXObject("Microsoft.XMLHTTP");
	else
		alert("Ihr Browser unterstützt das HttpRequestObjekt nicht. Bitte verwenden Sie die aktuellste Version Ihres Browsers.");
}

function empty() { }

var receiveReq = getXmlHttpRequestObject();
