		function GET(v) {
			if(!HTTP_GET_VARS[v]){return 'undefined';}
			return HTTP_GET_VARS[v];
		}
		
		// Darstellen der Aktivitätsanzeige, wenn AJAX-Funktionen laufen
		var aktivitaetszaehler = 0;
		function aktivitaetsanzeige(option) {
			if(option == "start") { // Aktivitätsanzeige wird gestartet ...
				// Wenn der Zähler auf 0 steht, wird die Aktivitätsanzeige gestartet
				if(aktivitaetszaehler == 0) $.fancybox.showActivity();
				// In jedem Fall wird der Zähler eins hochgezählt
				aktivitaetszaehler += 1;
			} else { // ... oder gestoppt
				// Wenn der Zähler auf 1 steht, wird die Aktivitätsanzeige gestoppt
				if(aktivitaetszaehler == 1) $.fancybox.hideActivity();
				// In jedem Fall wird der Zähler eine runtergezählt
				aktivitaetszaehler -= 1;
			}
		}
		
		// Anzeigen, dass wir noch beim BETA-Testen sind
		function anzeigen_beta() {
			// Browserspezifische Einstellungen für Fancybox
			var padding = 8;
			if (jQuery.browser.msie && jQuery.browser.version < 8){
				var dauer = 0;
				if (jQuery.browser.version < 7){
					var padding = 0;
				}
			} else {
				var dauer = 200;
			}
		
		    $("<a href='ajax.php?type=geschenk&action=modal&input=file%20%3D%3E%20beta_phase&id="+ $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "'>Unbedingt merken!</a>").fancybox({
				'modal': true,
				'autoDimensions': false,
				'width' : 464,
				'height' : 'auto',
				'padding' : padding,
				'overlayColor' : '#09f',
				'overlayOpacity' : 0.75,
				'overlayShow' : true,
				'speedIn' : dauer, 
				'speedOut' : dauer
		    }).click();
		}

		// Mit dieser Funktion werden die Kommas aus einem Text ersetzt
        function text4transfer(QuellText,Mode) {
			// Erstellt von Ralf Pfeifer
			// Fehlerpruefung
			if(Mode==1) { // Entweder vom USER zum PHP...
				arr_SuchText = new Array(",","+","â‚¬","$","'");
				arr_ErsatzText = new Array("__KOMMA__","__PLUS__","__EURO__","__DOLLAR__","__HOCHKOMMA__");
			} else { // ... oder vom PHP zum USER
				arr_SuchText = new Array("__KOMMA__","__PLUS__","__EURO__","__DOLLAR__","__HOCHKOMMA__");
				arr_ErsatzText = new Array(",","+","â‚¬","$","'");
			}
			for (i = 0; i<arr_SuchText.length; i++) {
				SuchText = arr_SuchText[i];
				ErsatzText = arr_ErsatzText[i];
				if ((QuellText == null) || (SuchText == null))           { return null; }
				if ((QuellText.length == 0) || (SuchText.length == 0))   { return QuellText; }
				
				// Kein ErsatzText ?
				if ((ErsatzText == null) || (ErsatzText.length == 0))    { ErsatzText = ""; }
				
				var LaengeSuchText = SuchText.length;
				var LaengeErsatzText = ErsatzText.length;
				var Pos = QuellText.indexOf(SuchText, 0);
				
				while (Pos >= 0) {
					QuellText = QuellText.substring(0, Pos) + ErsatzText + QuellText.substring(Pos + LaengeSuchText);
					Pos = QuellText.indexOf(SuchText, Pos + LaengeErsatzText);
				}
			}
			return QuellText;
		}
		
		// Aktualisiert die Füllstandsanzeige
		function FuellstandUpdate() {
			if(GET("id")!="" && GET("id")!="undefined") {
				$.ajax({
					type: "GET",
					url: "ajax.php",
					data: ident_geschenk() + "&action=fuellstand&input=",
					success: function(msg){
						//alert(msg);
						msg = entferneUnsichtbareZeichen(msg);
					  	daten = msg.split(",");

					  	// Die Füllstandsanzeige füllen
					  	$(".fuellstand_anzahl").html(daten[0]);
					  	$(".fuellstand_anzahlkommentare").html(daten[4]);
					  	$(".fuellstand_prozent").html(daten[2]);
					  	$("#fuellstand_datum").html(daten[3]);
					  	$(".fuellstand_euro").html(number_format(daten[1],0,",","."));
					  	$("#fuellstand_durchschnitt").html(Math.round(100 * daten[1] / daten[0]) / 100);
					  	if(daten[2] == 0) {
						  	$("#fuellstand_bild").attr("src", "/media/status/status_0.png" );
						} else if(daten[2] > 0 && daten[2] <=25) {
						  	$("#fuellstand_bild").attr("src", "/media/status/status_1.png" );
						} else if(daten[2] > 25 && daten[2] <=50) {
						  	$("#fuellstand_bild").attr("src", "/media/status/status_2.png" );
						} else if(daten[2] > 50 && daten[2] <=75) {
						  	$("#fuellstand_bild").attr("src", "/media/status/status_3.png" );
						} else if(daten[2] > 75) {
						  	$("#fuellstand_bild").attr("src", "/media/status/status_4.png" );
						}
					}
				}); 
			}
		}
		
		// Fundamental wichtig: hier werden die drei Parameter gesetzt, anhand derer das Geschenk oder der Mitschenker identifiziert werden... und zwar bei JEDER Verbindung mit dem Server.
		function setID(id,schluessel,schluessel_extern,mitschenker_id,mitschenker_schluessel,shop_id,shop_schluessel) {
			$("#geschenk_id").val(id);
			$("#geschenk_schluessel").val(schluessel);
			$("#geschenk_schluessel_extern").val(schluessel_extern);
			$("#mitschenker_id").val(mitschenker_id);
			$("#mitschenker_schluessel").val(mitschenker_schluessel);
			$("#shop_id").val(shop_id);
			$("#shop_schluessel").val(shop_schluessel);
		}

		// Vereinfacht die Identifikation des Geschenks, da der String im Aufruf erheblich kürzer ist
		function ident_geschenk() {
			return "type=geschenk&id=" + $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val();
		}
		
		// Vereinfacht die Identifikation des Mitschenkers, da der String im Aufruf erheblich kürzer ist
		function ident_mitschenker() {
			return "type=mitschenker&id=" + $("#geschenk_id").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "&mitschenker_id=" + $("#mitschenker_id").val() + "&mitschenker_schluessel=" + $("#mitschenker_schluessel").val();
		}
		
		// Vereinfacht die Identifikation des Shopbetreibers, da der String im Aufruf erheblich kürzer ist
		function ident_shopbetreiber() {
			return "type=shopbetreiber&shop_id=" + $("#shop_id").val() + "&shop_schluessel=" + $("#shop_schluessel").val();
		}
		
		// Vereinfacht die Identifikation des Geschenks, da der String im Aufruf erheblich kÃ™rzer ist
		function ident_liste() {
			if(GET("schluessel") != "" && GET("schluessel") != "undefined") {
				return ident_geschenk();
			} else {
				return ident_mitschenker();
			}
		}

		// Holt die Liste der Mitschenker vom Server... ob für den Organisator oder den Mitschenker, wird hier nicht entschieden
		function liste_anzeigen() {
			aktivitaetsanzeige("start");
			$.ajax({
				type: "GET",
				url: "ajax.php",
				data: ident_liste() + "&action=liste&input=",
				success: function(msg){
					msg = entferneUnsichtbareZeichen(msg);
					$("#tabellemitschenker").html(msg);
					$("a.loeschen").click(function(){

						// Browserspezifische Einstellungen für Fancybox
						var padding = 8;
						if (jQuery.browser.msie && jQuery.browser.version < 8){
							var dauer = 0;
							if (jQuery.browser.version < 7){
								var padding = 0;
							}
						} else {
							var dauer = 200;
						}
		
					    $("<a href='ajax.php?type=geschenk&action=modal&input=file%20%3D%3E%20mitschenker_loeschen,mitschenker_id%20%3D%3E%20"+diff($(this).attr("id"),"mitdel_")+"&id="+ $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "'>Unbedingt merken!</a>").fancybox({
							'modal': true,
							'autoDimensions': false,
							'width' : 464,
							'height' : 'auto',
							'padding' : padding,
							'overlayColor' : '#09f',
							'overlayOpacity' : 0.75,
							'overlayShow' : true,
							'speedIn' : dauer, 
							'speedOut' : dauer
					    }).click();
						return false;
					});

					$("a.bezahlt").click(function(){
						bezahlt(diff($(this).attr("id"),"mitbez_"));
						return false;
					});

					$("#liste_emailfenster_oeffnen").click(function(){
						emailfenster_oeffnen();
						return false;
					});

					$("#liste_mitschenker_eintragen").click(function(){
						mitschenkerhinzufuegenfenster_oeffnen();
						return false;
					});

					$("#liste_drucken").click(function(){
						window.print();
						return false;
					});

					listeMitschenker.init("aufzaehlung_mitschenker", 2, 3);
					FuellstandUpdate();
					aktivitaetsanzeige("stop");
				}
			});
		}

		// Nummerformatierung
		function number_format( number, decimals, dec_point, thousands_sep ) {
			// http://kevin.vanzonneveld.net
			// + original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
			// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
			// + bugfix by: Michael White (http://crestidg.com)
			// + bugfix by: Benjamin Lupton
			// + bugfix by: Allan Jensen (http://www.winternet.no)
			// + revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
			// * example 1: number_format(1234.5678, 2, '.', '');
			// * returns 1: 1234.57
			var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
			var d = dec_point == undefined ? "," : dec_point;
			var t = thousands_sep == undefined ? "." : thousands_sep, s = n < 0 ? "-" : "";
			var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
			return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
		}
      
		// Entfernt eine Zeichenkette (entfernen) vom Anfang einer Variable (string) => Wichtig, um mit den id's arbeiten zu können
		function diff(string,entfernen) {
			// Wenn der Sting wirklich so anfängt, wie übergeben, dann wird das übergebene vom Anfang entfernt und mit dem Rest weitergearbeitet
			if(string.slice(0,entfernen.length) == entfernen) {
				return string.slice(entfernen.length,string.length);
			} else {
				return "STOP";
			}
		}
		
		// Schließt das Geschenk ab
		function geschenk_abschliessen() {
			aktivitaetsanzeige("start");
			$.ajax({
				type: "GET",
				url: "ajax.php",
				data: ident_liste() + "&action=geschenk_abschliessen&input=",
				success: function(msg){
					msg = entferneUnsichtbareZeichen(msg);
					link_anzeigen("panel_button_wiederoeffnen");
					link_verbergen("panel_button_abschliessen");
					link_verbergen("panel_linkgeschenk");
					geschenk_anzeige_buttons_zuweisen();
					$.fancybox.close();
					aktivitaetsanzeige("stop");
				}
			}); 
		}

		// Öffnet das Geschenk wieder
		function geschenk_wiederoeffnen() {
			aktivitaetsanzeige("start");
			$.ajax({
				type: "GET",
				url: "ajax.php",
				data: ident_liste() + "&action=geschenk_wiederoeffnen&input=",
				success: function(msg){
					msg = entferneUnsichtbareZeichen(msg);
					link_anzeigen("panel_linkgeschenk");
					link_anzeigen("panel_button_abschliessen");
					link_verbergen("panel_button_wiederoeffnen");
					geschenk_anzeige_buttons_zuweisen();
					$.fancybox.close();
					aktivitaetsanzeige("stop");
				}
			}); 
		}

		// Löscht das Geschenk
		function geschenk_loeschen() {
			$.ajax({
				type: "GET",
				url: "ajax.php",
				data: ident_liste() + "&action=geschenk_loeschen&input=",
				success: function(msg){
					msg = entferneUnsichtbareZeichen(msg);
					document.location.href = "http://www.mitschenken.de";
				}
			}); 
		}
		

		// Hat etwas gegen Spinnen
		function spinnenweg(text) {
			kleinespinne = '@'
			anderespinne = 'com'
			spinne = text  + kleinespinne + 'stylomat.' + anderespinne;

			return '<a href="' + 'mailto:' + spinne + '">' + spinne + '</a>';
		}

		function geschenk_anzeige_buttons_zuweisen() {
			$("#panel_button_abschliessen").click(function(){
				// Browserspezifische Einstellungen für Fancybox
				var padding = 8;
				if (jQuery.browser.msie && jQuery.browser.version < 8){
					var dauer = 0;
					if (jQuery.browser.version < 7){
						var padding = 0;
					}
				} else {
					var dauer = 200;
				}
	
			    $("<a href='ajax.php?action=modal&input=file%20%3D%3E%20geschenk_schliessen&id="+ $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "'>Unbedingt merken!</a>").fancybox({
					'modal': true,
					'autoDimensions': false,
					'width' : 464,
					'height' : 'auto',
					'padding' : padding,
					'overlayColor' : '#09f',
					'overlayOpacity' : 0.75,
					'overlayShow' : true,
					'speedIn' : dauer, 
					'speedOut' : dauer
			    }).click();
				return false;
			});
	
			$("#panel_button_wiederoeffnen").click(function(){
				// Browserspezifische Einstellungen für Fancybox
				var padding = 8;
				if (jQuery.browser.msie && jQuery.browser.version < 8){
					var dauer = 0;
					if (jQuery.browser.version < 7){
						var padding = 0;
					}
				} else {
					var dauer = 200;
				}
	
			    $("<a href='ajax.php?action=modal&input=file%20%3D%3E%20geschenk_wiederoeffnen&id="+ $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "'>Unbedingt merken!</a>").fancybox({
					'modal': true,
					'autoDimensions': false,
					'width' : 464,
					'height' : 'auto',
					'padding' : padding,
					'overlayColor' : '#09f',
					'overlayOpacity' : 0.75,
					'overlayShow' : true,
					'speedIn' : dauer, 
					'speedOut' : dauer
			    }).click();
				return false;
			});
	
			$("#panel_button_loeschen").click(function(){
				// Browserspezifische Einstellungen für Fancybox
				var padding = 8;
				if (jQuery.browser.msie && jQuery.browser.version < 8){
					var dauer = 0;
					if (jQuery.browser.version < 7){
						var padding = 0;
					}
				} else {
					var dauer = 200;
				}
	
			    $("<a href='ajax.php?action=modal&input=file%20%3D%3E%20geschenk_loeschen&id="+ $("#geschenk_id").val() + "&schluessel=" + $("#geschenk_schluessel").val() + "&schluessel_ext=" + $("#geschenk_schluessel_extern").val() + "'>Unbedingt merken!</a>").fancybox({
					'modal': true,
					'autoDimensions': false,
					'width' : 464,
					'height' : 'auto',
					'padding' : padding,
					'overlayColor' : '#09f',
					'overlayOpacity' : 0.75,
					'overlayShow' : true,
					'speedIn' : dauer, 
					'speedOut' : dauer
			    }).click();
				return false;
			});
		}

		// Anzeigen des Links
		function link_anzeigen(link) {
			$("#" + link).parent().css("display","block");
		}

		// Verbergen des Links
		function link_verbergen(link) {
			$("#" + link).parent().css("display","none");
		}

		function insert_partner(titel,beschreibung,preis) {
			url = document.location.href;
			if(url.indexOf("geschenk.php") != -1) {
				$("#titel").val(titel);
				$("#beschreibung").val(beschreibung);
				$("#minsumme").val(preis);
			} else {
				document.location.href = "/geschenk.php?titel="+ titel +"&beschreibung="+ beschreibung +"&minsumme="+ preis;
			}
		}
		
		// Oeffnet das Modal zum Aktivieren von Payment für das Geschenk
		function paymentaktivieren_fenster_oeffnen() {

			// Browserspezifische Einstellungen für Fancybox
			var padding = 8;
			if (jQuery.browser.msie && jQuery.browser.version < 8){
				var dauer = 0;
				if (jQuery.browser.version < 7){
					var padding = 0;
				}
			} else {
				var dauer = 200;
			}

		    $("<a href='ajax.php?" + ident_geschenk() + "&action=modal&input=" + encodeURI("file => geschenk_payment_aktivieren") + "'>Zurueck - wie kann man hier verlinken</a>").fancybox({
				'modal': true,
				'autoDimensions': false,
				'width' : 464,
				'height' : 'auto',
				'padding' : padding,
				'overlayColor' : '#09f',
				'overlayOpacity' : 0.75,
				'overlayShow' : true,
				'speedIn' : dauer, 
				'speedOut' : dauer
		    }).click();
		}

		// Oeffnet das Modal zum Aktivieren von Payment für das Geschenk
		function paymentdeaktivieren_fenster_oeffnen() {

			// Browserspezifische Einstellungen für Fancybox
			var padding = 8;
			if (jQuery.browser.msie && jQuery.browser.version < 8){
				var dauer = 0;
				if (jQuery.browser.version < 7){
					var padding = 0;
				}
			} else {
				var dauer = 200;
			}

		    $("<a href='ajax.php?" + ident_geschenk() + "&action=modal&input=" + encodeURI("file => geschenk_payment_deaktivieren") + "'>Zurueck - wie kann man hier verlinken</a>").fancybox({
				'modal': true,
				'autoDimensions': false,
				'width' : 464,
				'height' : 'auto',
				'padding' : padding,
				'overlayColor' : '#09f',
				'overlayOpacity' : 0.75,
				'overlayShow' : true,
				'speedIn' : dauer, 
				'speedOut' : dauer
		    }).click();
		}
		
		// Seit der Umstellung auf UTF-8 gibt es merkwürdige Zeichen, die nicht angezeigt werden, allerdings eine Menge Probleme verursachen. => BOM. Konnte in den wichtigen Dateien wieder entfernt werden. Daher wird diese Funktion erst einmal nicht mehr gebraucht.
		function entferneUnsichtbareZeichen(string) {
			//string2 = string.replace(/[^a-zA-Z0-9_äöüÄÖÜ,.-;:'_ =<>//]/g,'');
			//if(string != string2) alert(string);

			// Diese Funktion wurde wieder deaktiviert.
			
			//alert anmachen, wenn man Fehlermeldungen zum Testen braucht
			//alert(string);
			return string;
		}
