$(document).ready(function ()
{
	/* ---------------------------------------------------------------------------------------------------------------------------------
																		CALENDAR
	----------------------------------------------------------------------------------------------------------------------------------*/
	
	function loadCalendar(month, year, day)
	{
		$.get('calendar.php?ajaxcalendar&month=' + month + '&year=' + year + '&day=' + day + '&' + nocaching(), function(data)
		{
			$('#calendar').html($(data).find('#calendar').html());
			setupTextareaButtonbarSmileys();
			setupCalendar();
		});
	}
	
	function setupCalendar()
	{
		$('#calendar td.day').click(function()
		{
			loadCalendar(parseInt($('#selectMonth #sliderMonth').slider('value'))+1, $('#selectYear #sliderYear').slider('value'), $(this).attr('id').substr(3));
		});
		$('#calendar #newEventButton').click(function()
		{
			$('#calendar #newEvent').show();
		});
		$('#calendar #newEvent #abortEventButton').click(function()
		{
			$('#calendar #newEvent').hide();
		});
		$('#calendar #newEvent #submitEventButton').click(function()
		{
			if($('#calendar #newEvent #name').val() == "")
			{
				alert("Bitte gib einen Eventnamen ein!");
			}
			else
			{
				if($('#calendar #newEvent #notime').is(':checked') || $('#calendar #newEvent #time').val().match(/^[0-2]?\d\:[0-6]?\d$/))
				{
					$('#calendar #newEvent').hide();
					
					var date = $('#selectYear #sliderYear').slider('value') + "-" + parseInt(parseInt($('#selectMonth #sliderMonth').slider('value'))+parseInt(1)) + "-" + $('#calendar td.selected').attr('id').substr(3);
					if($('#calendar #newEvent #notime').is(':checked'))
					{
						date = date + " 00:00:00";
					}
					else
					{
						date = date + " " + $('#calendar #newEvent #time').val() + ":00";
					}
					
					$.post('calendar.php?action=newevent',
					{
						name: $('#calendar #newEvent #name').val(),
						description: $('#calendar #newEvent #description').val(),
						date: date,
						privat: $('#calendar #newEvent #private').is(':checked')
					}, function(data)
					{
						loadCalendar(parseInt($('#selectMonth #sliderMonth').slider('value'))+1, $('#selectYear #sliderYear').slider('value'), $('#calendar td.selected').attr('id').substr(3));
					});
					
					$('#calendar #newEvent')[0].reset();
				}
				else
				{
					alert("Bitte gib eine gültige Zeit an oder markiere das Event als ganztägig!");
				}
			}
		});
		$('#calendar #newEvent #notime, #calendar .editEvent .notime').change(function()
		{
			if($(this).is(':checked'))
			{
				$(this).parent().find('#time, .time').attr('readonly', 'readonly');
			}
			else
			{
				$(this).parent().find('#time, .time').removeAttr('readonly');
			}
		});
		$('#calendar #newEvent #time, #calendar #events .time').click(function()
		{
			$(this).removeAttr('readonly').parent().find('#notime, .notime').removeAttr('checked');
		});
		$('#calendar .deleteEventButton').click(function()
		{
			$.get('calendar.php?action=deleteevent&id=' + $(this).parent().parent().parent().attr('id').substr(5) + '&' + nocaching(), function(data)
			{
				loadCalendar(parseInt($('#selectMonth #sliderMonth').slider('value'))+1, $('#selectYear #sliderYear').slider('value'), $('#calendar td.selected').attr('id').substr(3));
			});
		});
		$('#calendar .editEventButton').click(function()
		{
			$(this).parent().parent().parent().find('.editEvent').show();
		});
		$('#calendar .abortEditEventButton').click(function()
		{
			$(this).parent().hide();
		});
		$('#calendar .submitEditEventButton').click(function()
		{
			if($(this).parent().find('.name').val() == "")
			{
				alert("Bitte gib einen Eventnamen ein!");
			}
			else
			{
				if($(this).parent().find('.notime').is(':checked') || $(this).parent().find('.time').val().match(/^[0-2]?\d\:[0-6]?\d$/))
				{
					$(this).parent().hide();
					
					var date = $('#selectYear #sliderYear').slider('value') + "-" + parseInt(parseInt($('#selectMonth #sliderMonth').slider('value'))+parseInt(1)) + "-" + $('#calendar td.selected').attr('id').substr(3);
					if($(this).parent().find('.notime').is(':checked'))
					{
						date = date + " 00:00:00";
					}
					else
					{
						date = date + " " + $(this).parent().find('.time').val() + ":00";
					}
					
					$.post('calendar.php?action=editevent',
					{
						id: $(this).parent().parent().attr('id').substr(5),
						name: $(this).parent().find('.name').val(),
						description: $(this).parent().find('.description').val(),
						date: date,
						privat: $(this).parent().find('.private').is(':checked')
					}, function(data)
					{
						loadCalendar(parseInt($('#selectMonth #sliderMonth').slider('value'))+1, $('#selectYear #sliderYear').slider('value'), $('#calendar td.selected').attr('id').substr(3));
					});
					
					$(this).parent()[0].reset();
				}
				else
				{
					alert("Bitte gib eine gültige Zeit an oder markiere das Event als ganztägig!");
				}
			}
		});
	}
	
	for(var i = 0; i < 12; i++)
	{
		if($('#selectMonth #showMonth').text() == monthNames[i])
		{
			var selectedMonth = i;
		}
	}
	$('#selectMonth #sliderMonth').slider(
	{
		value: selectedMonth,
		min: 0,
		max: 11,
		slide: function(event, ui)
		{
			$('#selectMonth #showMonth').text(monthNames[ui.value]);
			loadCalendar(ui.value+1, $('#selectYear #sliderYear').slider('value'), $('#calendar td.selected').attr('id').substr(3));
		},
		animate: true
	});
	$('#selectYear #sliderYear').slider(
	{
		value: $('#selectYear #showYear').text(),
		min: 2010,
		max: 2012,
		slide: function(event, ui)
		{
			$('#selectYear #showYear').text(ui.value);
			loadCalendar(parseInt($('#selectMonth #sliderMonth').slider('value'))+1, ui.value, $('#calendar td.selected').attr('id').substr(3));
		},
		animate: true
	});
	setupCalendar();
});
