	/*
	*	noConflict Variable zur Vermeidung von Konflikten mit anderen JS-Frameworks
	*/
	var $j = jQuery.noConflict();
	
	/*
	*	Fügt einen Tooltip dynamisch in den HTML-Body ein.
	*	Hierzu wird die Position des Elementes bestimmt und 10px bzw. 45px addiert/subtrahiert um die Position des Tooltips zu bestimmen
	*	Inhalt des Tooltips kann innerhalb der als String übergeben werden.
	*/
	function ajs_crTooltip (id,string)
	{
		var offset = $j("#"+id).offset();
		var x = offset.left; var y = offset.top;
		x += 10; y -= 45;
		$j('body').append('<div id=\"' + id +'_tooltip\" style=\"top:'+y+'px;left:'+x+'px;\" class=\"tooltip\"></div>');
		$j("#"+id+"_tooltip").html(string);
		$j("#"+id+"_tooltip").fadeIn(150);
	}
	
	/*
	*	Entfernt den vorher erzeugten Tooltip.
	*/
	function ajs_rmTooltip(id)
	{
		$j("#"+id+"_tooltip").fadeOut(150, function()
		{
			$j("#"+id+"_tooltip").remove();
		})
		
	}
	
	/*
	*	Funktion zum Speichern des Mittagstisches.
	*	Hierbei wird das Formular serialisiert und als String übergeben.
	*	Ebenfalls wird die ID der aktuellen Seiten mitgegeben um dem Benutzer später weiterzuleiten.
	*/
	function ajs_saveMT (form,id,opt)
	{
		ajs_showSpinner();
		var input = $j("#"+form).serialize();
	
		$j.ajax({
			type: "post",
			url: "index.php",
			data: "eID=ajs&action=saveMT&input="+escape(input) + "&id=" + escape(id) + "&opt=" + escape(opt),
			success: function(phpData){    
				//$j("#test").html(phpData);	
				alert(unescape(phpData));
				window.location.href = "index.php?id=" + id;
				//ajs_hideSpinner(); 
			}	           
		});
	}
	
	/*
	*	Vgl. ajs_saveMT
	*/
	function ajs_updateMT (form,id,opt)
	{
		ajs_showSpinner();
		var input = $j("#"+form).serialize();
	
		$j.ajax({
			type: "post",
			url: "index.php",
			data: "eID=ajs&action=updateMT&input="+escape(input) + "&id=" + escape(id) + "&opt=" + escape(opt),
			success: function(phpData){    
				//$j("#test").html(phpData);	
				//alert(unescape(phpData));
				if (phpData == 1)
				{
					alert("Gespeichert.");
				}
				window.location.href = "index.php?id=" + id;
				
				//ajs_hideSpinner(); 
			}	           
		});
		
	}
	
	/*
	*	Funktion zum Ein-/Zuklappen eines Formularbereichs.
	*	Der Schaltfläche wird jedes eine Klasse entfernt bzw. hinzugefügt, wodurch sich der Hintergrund ändert.
	*/
	
	function ajs_toggle (id)
	{
		if ($j("#"+id).hasClass("toggler"))
		{
			$j("#"+id).removeClass("toggler").addClass("toggler_active");
		}
		else {
			$j("#"+id).removeClass("toggler_active").addClass("toggler");
		}
		$j("#"+id+"_frame").slideToggle("slow");
	}
	
	/*
	*	Funktion zum sichtbar machen das Spinners, der bei verschiedenen Aktionen anzeigt, das etwas lädt.
	*/
	function ajs_showSpinner()
	{
		$j("#spinner").css('display','block');
	}
	
	/*
	*	Funktion zum verstecken des Spinners.
	*/
	function ajs_hideSpinner()
	{
		$j("#spinner").css('display','none');
	}
	
	/*
	*	Funktion markiert Input-Felder als "Urlaub", wodurch eine Eingabe in die Input-Felder unterdrückt wird.
	*	Dient dazu Tag explizit als Feiertag zu markieren und ein ausversehentliches Eintragen von Daten zu verhindern.
	*	Beta.
	*/
	function ajs_markHoliday (id)
	{
		var new_id = id.split("_");
		if ($j("#"+id).hasClass("holiday"))
		{
			$j("#"+id).removeClass("holiday").addClass("holiday_active");
			$j("#"+new_id[0]+"_frame input").attr("readonly", true);
		}
		else {
			$j("#"+id).removeClass("holiday_active").addClass("holiday");
			$j("#"+new_id[0]+"_frame input").attr("readonly", false);
		}
	}
	
	/*
	*	Funktion um den Preis einzugeben / abzufragen
	* 	Erweitert um Arrays und Kontrollstukturen um nur bestimmte Werte zu nutzen.
	*/
	$j(".price_input").keyup(function (e) {
		
		var goodKeys = new Array(8,13,16,17,18,27,37,38,39,40,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,110,188);
		var rlyGoodKeys = new Array(8,48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,110,188);
		
		var	isGoodKey = false;
		for (var p = 0; p < goodKeys.length; p++)
		{
			if (e.keyCode == goodKeys[p]) {
				isGoodKey = true;
				continue;
			}
		}
		
		var length = this.value;
		length = length.length;
		
		var isGoodLength = false;
		
		if (length <= 4)
		{
			isGoodLength = true;
		}
		else
		{
			isGoodLength = false;
		}
		
		if (isGoodKey)
		{
			if (isGoodLength)
			{
				$j("#"+this.id).attr("readonly",false);
				var isRlyGoodKey = false;
				
				for (var a = 0; a < rlyGoodKeys.length; a++)
				{
					if (e.keyCode == rlyGoodKeys[a]) 
					{
						isRlyGoodKey = true;
						continue;
					}
				}
				
				if (isRlyGoodKey) 
				{
					ajs_getSuggest(this.value,this.id,'price');
				}				
			}
			else {
				alert("Max. 4 Zeichen.");
				$j("#"+this.id).attr("readonly",true);
				this.value = this.value.substring(0,4);
			}
		}
		else {
			alert("Falscher Wert. Nur Zahlen und Komma erlaubt.");
			this.value = this.value.substring(0,this.value.length-1);
		}
	});
	
	/*
	*	Funktion um das Menue einzugeben / abzufragen
	* 	Erweitert um Arrays und Kontrollstukturen um nur bestimmte Werte zu nutzen.
	*/
	$j(".menu_input").keyup(function (e) { 
		var goodKeys = new Array(0,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90);
	 
		var	isGoodKey = false;
		for (var p = 0; p < goodKeys.length; p++)
		{
			if (e.keyCode == goodKeys[p])
			{
				isGoodKey = true;
				continue;
			}
		}
		if (isGoodKey)
		{
			ajs_getSuggest(this.value,this.id,'menu');
		}
	});

	/*
	*	Funktion zur Ausgabe moeglicher Werte die mit dem uebermittelten Praefix uebereinstimmen.
	*/
	function ajs_getSuggest (value,id,what)
	{
		//var advanced = $j("#advanced").attr("checked");
		var advanced = false;
		/*
		function (e) {
			var key = e.keyCode;
			alert(key);
		}*/
		if ($j("#"+id).attr("readonly") == false)
		{
			$j.ajax({
				type: "post",
				url: "index.php",
				data: "eID=ajs&action=getSuggest&value="+escape(value) + "&what=" + escape(what) + "&advanced=" + escape(advanced)+ "&id=" + escape(id),
				success: function(phpData){    
					$j("#" + id + "_suggest").fadeIn(500); 
					$j("#" + id + "_suggest").html(phpData);  
				}	           
			});
		}
	}
	
	/*
	*	Funktion zum Verstecken/Ausblenden der Liste der moeglichen Werte die mit dem uebermittelten Praefix uebereinstimmen.
	*/
	function ajs_hideSuggest (id)
	{
		$j("#" + id + "_suggest").fadeOut(250);
		$j("#"+id).removeClass("active_input");
	}
	
	/*
	*	Funktion um den Wert in das entsprechende Input-Feld zu uebertragen.
	*/
	function ajs_addSuggestToField (target,value) 
	{
		value = ajs_str_replace('\'','\"',value);
		$j("#"+target).attr('value',value);
		focus("#"+target);
		ajs_hideSuggest(target);
	}
	
	/*
	*	str_replace Funktion fuer JS
	*	Vgl. http://hendi.name/2006/04/08/str_replace-fur-javascript/
	*/
	function ajs_str_replace(search, replace, subject)
	{
		return subject.split(search).join(replace);
	}
	
	/*
	*	Funktion um sich fuer den Newsletter anzumelden.
	*/
	function ajs_subscribe(id)
	{
		var email = $j("#newsletter_email").val();
		
		$j.ajax({
				type: "post",
				url: "index.php",
				data: "eID=ajs&action=subscribe&email=" + escape (email) + "&id=" + escape(id),
				success: function(phpData){ 
					$j("#ajs_newsletter_status").html(phpData);
					$j("#ajs_newsletter_status").fadeIn("slow");
				}	           
			});		
	}
	
	/*
	*	Funktion um die PDF zu erzeugen und auszugeben.
	*	DEPRECATED
	*/
	function ajs_createPdf()
	{
		//ajs_showSpinner();
		
		$j.ajax({
			type: "post",
			url: "index.php",
			data: "eID=ajs&action=pdf",
			success: function(phpData){ 
				if (phpData == 1)
				{
					location.href = "fileadmin/pdf/Mittagstisch.pdf";
				}
				// $j("#ajs_newsletter_status").html(phpData);
			//	ajs_hideSpinner();
				//alert(phpData);
			}	           
		});	
	}
	
	/*
	*	Funktion zum loeschen eines Speiseplans
	*/
	function ajs_delete(id)
	{
		
		$j.ajax({
			type: "post",
			url: "index.php",
			data: "eID=ajs&action=delete&id=" + escape(id),
			success: function(phpData){    
			
				if (phpData == 1)
				{
					alert(unescape('Plan wurde gel%F6scht.'));
					$j("#frame_"+id).remove();
				}
				
				//ajs_hideSpinner(); 
			}	           
		});
	}
	
	/*
	*	Funktion zum manuellen Versenden von Newsletter.
	*	DEPRECATED
	*/
	function ajs_sendNewsletter(id)
	{
		
		$j.ajax({
			type: "post",
			url: "index.php",
			data: "eID=ajs&action=sendNewsletter&id=" + escape(id),
			success: function(phpData){    
			
				if (phpData == 1)
				{
					alert(unescape('Mittagstisch verschickt.'));
				}
				
				//ajs_hideSpinner(); 
			}	           
		});
	}