$(document).ready(function()
{
	//---------------------------------------------------------------------------
	//zum Ändern der Größe des inline-Pickers muss im css die font-size von .ui-widget angepasst werden
	var language = $("#language").val();
	if(language == 'en') language = '';
	$.datepicker.setDefaults($.datepicker.regional[language]);
	
	$("#progressbar").hide();
	var datumOK = false;
	checkDatum();
	
	//erlaubte Eingabewerte festlegen
	$('#anzahlE').numeric();
	$('#anzahlK').numeric();
	$('#plz').numeric();
	$('#telefon').numeric({allow:"/+- "});
	$('#datumVon').numeric({allow:"."});
	$('#datumBis').numeric({allow:"."});
	
	//Picker erzeugen und Callback-Funktionen den Ereignissen zuweisen
	$("#datumVon").datepicker({ minDate:new Date(),	onClose: validateDatum });
	$("#datumBis").datepicker({minDate:new Date(),	onClose: validateDatum });
	$("#myform input").bind("keyup", checkPflichtfelder);
	$(".datumsfeld").bind("change", checkDatum);
	//---------------------------------------------------------------------------
	
	//Belegungstage selecten und Picker initialisieren (Vorlage: bewebmaster.com/280.php)
	$.ajax(
	{
		url: "ajax/getBelegung.php",
		dataType: "json",
		success: function(calendarEvents)
		{
			$("#datePicker").datepicker(
			{
				numberOfMonths: 2,
				minDate:new Date(),
				beforeShowDay: function(date)
				{
					//alle belegten Tage durchgehen (Format: ['yyyy','mm','dd','status'])
					for(i = 0; i < calendarEvents.length; i++)
					{
						//wenn Tag im JSON-Array vorhanden ist, deaktivieren
						if(date.getFullYear() == calendarEvents[i][0] && 
									date.getMonth() == calendarEvents[i][1] - 1 && 
									date.getDate() == calendarEvents[i][2])
						{
							//[disable, class for styling appearance, tool tip]
							if(calendarEvents[i][3] == 1)
								return [false, "belegungGelb", "Vorreserviert"];
							else if(calendarEvents[i][3] == 2)
								return [false, "belegungRot", "Leider belegt"];
						}
					}
					return [false, "", 'frei'];
				}
			});
		}
	});
	//---------------------------------------------------------------------------
	
	$("#datePicker").everyTime(100,function(i) 
	{
		//bööser Würgaround á la Monsieur Grallért; bei den belegten Tagen die Klasse "ui-state-default" ersetzen
		//Timer verwenden, da es bei onMonthYearChange() nicht funktioniert
		$("td[title='Vorreserviert'] > span").removeClass("ui-state-default");
		$("td[title='Vorreserviert'] > span").addClass("belegungGelb");
		$("td[title='Leider belegt'] > span").removeClass("ui-state-default");
		$("td[title='Leider belegt'] > span").addClass("belegungRot");
	});
	//---------------------------------------------------------------------------
	
	//Formular senden
	$('#SendButton').click(function(e)
	{
		$("#progressbar").show();
				
		$.ajax(
		{ 
			type: "POST", url: "ajax/formular-post.php", data: $("#myform").serialize(), success: function(result)
			{
   	$('#formContent').html(result);
			}
		});
	});
	//---------------------------------------------------------------------------
	
	function validateDatum()
	{
		//prüfen, ob ausgewähltes Datum gültig ist (also Abreise >= Anreise)
		var param = "datumVon=" + $("#datumVon").val() + "&datumBis=" + $("#datumBis").val();
		
		$.ajax(
		{
			type: "POST", url: "ajax/validateDatum.php", data: param,  success: function(result)
			{
				if(result == "invalid")
				{
					$("#status").attr("src", "../images/belegt.png");
					$('#SendButton').attr("disabled","disabled");
				}
  	}
		});
	}
	//---------------------------------------------------------------------------
	
	function checkDatum()
	{
		var param = "datumVon=" + $("#datumVon").val() + "&datumBis=" + $("#datumBis").val();
		
		$.ajax(
		{
			type: "POST", url: "ajax/checkBelegung.php", data: param,  success: function(result)
			{
  	 if(result == "OK")
				{
					datumOK = true;
					$("#status").attr("src", "../images/frei.png");
				}
				else if(result == "belegt")
				{
						datumOK = false;
						$("#status").attr("src", "../images/belegt.png");
				}
					
				checkPflichtfelder();
  	}
		});
	}
	//---------------------------------------------------------------------------
	
	function checkPflichtfelder()
	{
		if(datumOK == true &&
			$('#anzahlE').val() != "" && 
			$('#name').val() != "" && 
			$('#strasse').val() != "" && 
			$('#land').val() != "" && 
			$('#plz').val() != "" && 
			$('#ort').val() != "" && 
			$('#email').val() != "" && 
			$('#telefon').val() != "")
		{
			$('#SendButton').attr("disabled","");
		}
		//wenn nicht, Submit-Button disablen
		else
		{
			$('#SendButton').attr("disabled","disabled");
		}
	}
	//---------------------------------------------------------------------------
});
//---------------------------------------------------------------------------
