$(document).ready
(
	function()
	{
		$('.favorite a').jFav();
		var lightbox =
		{
			imageLoading: '/lib/integration/jquery/design/lightbox/images/lightbox-ico-loading.gif',
			imageBtnClose: '/lib/integration/jquery/design/lightbox/images/lightbox-btn-close.gif',
			imageBtnPrev: '/lib/integration/jquery/design/lightbox/images/lightbox-btn-prev.gif',
			imageBtnNext: '/lib/integration/jquery/design/lightbox/images/lightbox-btn-next.gif',
			imageBlank: '/lib/integration/jquery/design/lightbox/images/lightbox-blank.gif',
			txtImage: 'Image',
			txtOf: 'of',
			keyToClose: 'q'
		};
		$('a[rel="lightbox"]').lightBox(lightbox);
		$('#slideshow_gallery').innerfade
		(
			{
				speed: 'slow',
				timeout: 5000,
				type: 'sequence',
				containerheight: '265px'
			}
		);
		
		$('#common_nav li').hover
		(
			function()
			{
				var position = $(this).position();
				
				var left = position.left * 1 - 9 * 1;
				var top = position.top * 1 + 13 * 1;
				
				$('ul', this).css
				(
					{
						'left' : left + 'px',
						'top' : top + 'px',
						'opacity' : '0.9',
						'z-index' : '1'
					}
				);
				
				$('ul', this).fadeIn('fast');
			},
			function()
			{
				$('ul', this).fadeOut();
			}
		);
		
		$('#reservation tr').hover
		(
			function ()
			{
				$(this).addClass('highlight');
			},
			function ()
			{
				$(this).removeClass('highlight');
			}
		);
		
		$('#searchfield, #quick_searchfield').focus
		(
			function ()
			{
				if ($(this).val() == 'Hľadaný výraz')
				{
					$(this).val('');
				}
			}
		);
		
		$('#searchfield, #quick_searchfield').blur
		(
			function ()
			{
				if ($(this).val() == '')
				{
					$(this).val('Hľadaný výraz');
				}
			}
		);
		
		$('#quick_searchform').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#quick_searchfield').val() == 'Hľadaný výraz')
				{
					alert('Zadajte hľadaný výraz');
					$('#quick_searchfield').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('quick_search_submit');
				}
				
				return submit;
			}
		);
		
		$('#search_form').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#searchfield').val() == 'Hľadaný výraz')
				{
					alert('Zadajte hľadaný výraz');
					$('#searchfield').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('search_submit');
				}
				
				return submit;
			}
		);
		
		$('a[name="large"],a[name="medium"],a[name="normal"]').click
		(
			function()
			{
				$.ajax
				(
					{
						type: 'GET',
						url: '/project/scripts/modules/other/ajax/changeFontSize.ajax.php',
						data: 'size=' + $(this).attr('name'),
						success: function(req)
						{
							$('#left_col').removeClass();
							$('#left_col').addClass(req);
							$('#middle_col').removeClass();
							$('#middle_col').addClass(req);
							
							return false;
						}
					}
				);
				
				return false;
			}
		);
		
		$('.print').click
		(
			function ()
			{
				$('#print_form').submit();
				
				return false;
			}
		);
		
		$('#captcha_image').click
		(
			function ()
			{
				var now = new Date();
				
				$(this).attr('src', '/lib/integration/captcha/visual_captcha.php?color=1&initial_refresh=' + Math.random() + '&refresh=' + now.getTime());
				
				$('#tmp_captcha_code').val('');
				$('#tmp_captcha_code').focus();
			}
		);
		
		$('#contactForm').submit
		(
			function()
			{
				var submit = true;
				
				if (submit && $('#subject').val() == '')
				{
					alert('Zadajte predmet správy!');
					$('#subject').focus();
					submit = false;
				}
				
				if (submit && $('#from').val() == '')
				{
					alert('Zadajte svoju emailovú adresu!');
					$('#from').focus();
					submit = false;
				}
				
				if (submit && !checkEmailAddress($('#from').val()))
				{
					alert('Skontrolujte emailovú adresu!');
					$('#from_e_mail').focus();
					submit = false;
				}
				
				if (submit && $('#message').val() == '')
				{
					alert('Zadajte telo správy!');
					$('#message').focus();
					submit = false;
				}
				
				if (submit && $('#tmp_captcha_code').val() == '')
				{
					alert('Prepíte text z obrázku do poľa!');
					$('#tmp_captcha_code').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('contactForm_submit');
				}
				
				return submit;
			}
		);
		
		$('#year_id').change
		(
			function ()
			{
				var year_id = $(this).val();
				
				if (year_id > 0)
				{
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/pages/ajax/aktualneGetMonthsIds.ajax.php',
							data: 'year_id=' + year_id,
							
							success: function(req)
							{
								var xmlNodeResult = req.getElementsByTagName('data');
								
								$('#month_id').removeOption(/./);
								$('#month_id').addOption('0', 'Všetky');
								
								for (index = 0; index < xmlNodeResult.length; index++)
								{
									var month_id = xmlNodeResult[index].getElementsByTagName('month_id')[0].childNodes[0].nodeValue;
									var title = xmlNodeResult[index].getElementsByTagName('title')[0].childNodes[0].nodeValue;
				
									$('#month_id').addOption(month_id, title, false);
								}
							}
						}
					);
				}
				else
				{
					$('#month_id').removeOption(/./);
					$('#month_id').addOption('0', 'Všetky');
				}
			}
		);
		
		$('#year').change
		(
			function ()
			{
				var year = $(this).val();
				
				if (year > 0)
				{
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/pages/ajax/aktualneGetMonths.ajax.php',
							data: 'year=' + year,
							
							success: function(req)
							{
								var xmlNodeResult = req.getElementsByTagName('data');
								
								$('#month').removeOption(/./);
								$('#month').addOption('0', 'Všetky');
								
								for (index = 0; index < xmlNodeResult.length; index++)
								{
									var month = xmlNodeResult[index].getElementsByTagName('month')[0].childNodes[0].nodeValue;
									var title = xmlNodeResult[index].getElementsByTagName('title')[0].childNodes[0].nodeValue;
				
									$('#month').addOption(month, title, false);
								}
							}
						}
					);
				}
				else
				{
					$('#month').removeOption(/./);
					$('#month').addOption('0', 'Všetky');
				}
			}
		);
		
		$('#registration').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#username').val() == '')
				{
					alert('Zadajte svoje prihlasovacie meno');
					$('#username').focus();
					submit = false;
				}
				
				if (submit && $('#password').val() == '')
				{
					alert('Zadajte heslo!');
					$('#password').focus();
					submit = false;
				}
				
				if (submit && $('#password_again').val() == '')
				{
					alert('Zadajte heslo znovu!');
					$('#password_again').focus();
					submit = false;
				}
				
				if (
					submit && $('#password_again').val() != ''
					&& $('#password_again').val() != $('#password').val()
				)
				{
					alert('Zadané heslá nie sú rovnaké!');
					$('#password').focus();
					submit = false;
				}
				
				if (submit && $('#e_mail').val() == '')
				{
					alert('Zadajte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && !checkEmailAddress($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && $('#tmp_captcha_code').val() == '')
				{
					alert('Prepíšte text z obrázku do poľa');
					$('#tmp_captcha_code').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('registration_submit');
				}
				
				return submit;
			}
		);
		
		$('#activation').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#activation_code').val() == '')
				{
					alert('Zadajte aktivačný kód');
					$('#activation_code').focus();
					submit = false;
				}
				
				if (submit && $('#e_mail').val() == '')
				{
					alert('Zadajte e-mailovú adresu, pomocou ktorej ste si účet vytvárali');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && !checkEmailAddress($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('activation_submit');
				}
				
				return submit;
			}
		);
		
		$('#password_form').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#e_mail').val() == '')
				{
					alert('Zadajte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && !checkEmailAddress($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('password_button');
				}
				
				return submit;
			}
		);
		
		$('#login').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#username').val() == '')
				{
					alert('Zadajte svoje prihlasovacie meno');
					$('username').focus();
					submit = false;
				}
				
				if (submit && $('#password').val() == '')
				{
					alert('Zadajte svoje heslo');
					$('password').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('login_submit');
				}
				
				return submit;
			}
		);
		
		$('td.action').click
		(
			function ()
			{
				var position = $(this).position();
				
				$.ajax
				(
					{
						type: 'GET',
						url: '/project/scripts/modules/events/ajax/showEvent.ajax.php',
						data: 'time=' + $(this).attr('id').substr(2),
						success: function(req)
						{
							var xmlNodeResult = req.getElementsByTagName('text')[0].childNodes[0].nodeValue;
							
							var css_obj = {
								'left' : (position.left * 1) + 'px',
								'top' : ((position.top * 1) + (45 * 1)) + 'px'
							}
							
							$('#cal_action').html(xmlNodeResult).css(css_obj).fadeIn();
						}
					}
				);
			}
		);
		
		$('#termin').change(function (){window.location.href = $(this).val();});
		$('#calendar_form').submit(function (){disableButton('calendar_submit')});
		$('#sign_in_form').submit(function (){disableButton('sign_in_submit')});
		$('#reservation_form').submit(function (){disableButton('reservation_submit')});
					
		$('#dialog').dialog
		(
			{
				autoOpen: true,
				width: 450,
				modal: true,
				buttons:
				{
					'Ok': function()
					{
						$('#overlay').hide();
						$(this).dialog('close');
					}
				},
				close: function()
				{
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/events/ajax/disableDialog.ajax.php',
							data: 'event_id=' + $('#event_id').val(),
							success: function(req) {}
						}
					);
				}
			}
		);
		
		$('.login_detail').click
		(
			function ()
			{
				var login_id = $(this).attr('alt');
				
				$.ajax
				(
					{
						type: 'GET',
						url: '/project/scripts/modules/events/ajax/loginDetail.ajax.php',
						data: 'login_id=' + login_id,
						success: function(req)
						{
							$('#box').html(req);
							$('#box').dialog('open');
						}
					}
				);
			}
		);
		
		$('.login_cancel').click
		(
			function ()
			{
				if (confirm('Naozaj chcete zrušiť prihlášku?'))
				{
					var login_id = $(this).attr('alt');
					
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/events/ajax/loginCancel.ajax.php',
							data: 'login_id=' + login_id,
							success: function(req)
							{
								window.location.reload();
							}
						}
					);
				}
			}
		);
		
		$('.reservation_detail').click
		(
			function ()
			{
				var reservation_id = $(this).attr('alt');
				
				$.ajax
				(
					{
						type: 'GET',
						url: '/project/scripts/modules/events/ajax/reservationDetail.ajax.php',
						data: 'reservation_id=' + reservation_id,
						success: function(req)
						{
							$('#box').html(req);
							$('#box').dialog('open');
						}
					}
				);
			}
		);
		
		$('.reservation_cancel').click
		(
			function ()
			{
				if (confirm('Naozaj chcete zrušiť rezerváciu?'))
				{
					var reservation_id = $(this).attr('alt');
					
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/events/ajax/reservationCancel.ajax.php',
							data: 'reservation_id=' + reservation_id,
							success: function(req)
							{
								window.location.reload();
							}
						}
					);
				}
			}
		);
		
		$('#box').dialog
		(
			{
				autoOpen: false,
				width: 600,
				modal: true
			}
		);
		
		$('#event_id').change
		(
			function ()
			{
				var event_id = $(this).val();
				
				$.ajax
				(
					{
						type: 'GET',
						url: '/project/scripts/modules/events/ajax/termin.ajax.php',
						data: 'event_id=' + event_id,
						success: function(req)
						{
							var xmlNodeResult = req.getElementsByTagName('data');
							
							$('#termin_id').removeOption(/./);
							
							for (index = 0; index < xmlNodeResult.length; index++)
							{
								var termin_id = xmlNodeResult[index].getElementsByTagName('termin_id')[0].childNodes[0].nodeValue;
								var termin = xmlNodeResult[index].getElementsByTagName('termin')[0].childNodes[0].nodeValue;
			
								$('#termin_id').addOption(termin_id, termin, false);
							}
							
							goToTermin(event_id, xmlNodeResult[0].getElementsByTagName('termin_id')[0].childNodes[0].nodeValue);
						}
					}
				);
			}
		);
		
		$('#termin_id').change
		(
			function ()
			{
				goToTermin($('#event_id').val(), $(this).val());
			}
		);
		
		var reservation_id, login;
		
		$('.reservation_item').draggable
		(
			{
				drag: function (event, ui)
				{
					reservation_id = $(this).attr('id').substr(4);
					if ($(this).hasClass('login'))
					{
						login = true;
					}
				}
			}
		);
		
		$('.droppable').droppable
		(
			{
				drop: function(event, ui)
				{
					$(this).effect('highlight');
					
					var bus_id = $(this).attr('id').substr('4', '1');
					var position = $(this).attr('id').substr('6');
					
					if (login == true)
					{
						$(this).addClass('login');
						login = false;
					}
					
					$.ajax
					(
						{
							type: 'GET',
							url: '/project/scripts/modules/events/ajax/fillBus.ajax.php',
							data: 'bus_id=' + bus_id + '&position=' + position + '&reservation_id=' + reservation_id,
							success: function(req)
							{
								if (req == 'F')
								{
									alert('Toto miesto nie je voľné.');
								}
							}
						}
					);
				}
			}
		);
		
		$('.emoticons img').click
		(
			function ()
			{
				$('#message').val($('#message').val() + ' ' + $(this).attr('alt') + ' ');
				$('#message').focus();
			}
		);
		
		$('#guestbook_form').submit
		(
			function ()
			{
				var submit = true;
				
				if (submit && $('#name').val() == '')
				{
					alert('Zadajte svoje meno');
					$('#name').focus();
					submit = false;
				}
				
				if (submit && $('#subject').val() == '')
				{
					alert('Zadajte predmet spávy');
					$('#subject').focus();
					submit = false;
				}
				
				if (submit && $('#e_mail').val() == '')
				{
					alert('Zadajte e-mailovú adresu.');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && !checkEmailAddress($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit && $('#tmp_captcha_code').val() == '')
				{
					alert('Prepíte text z obrázku do poľa!');
					$('#tmp_captcha_code').focus();
					submit = false;
				}
				
				if (submit)
				{
					disableButton('guestbook_submit');
				}
				
				return submit;
			}
		);
	}
);

function goToTermin(event_id, termin_id)
{
	$.ajax
	(
		{
			type: 'GET',
			url: '/project/scripts/modules/events/ajax/linkCreator.ajax.php',
			data: 'id=' + $('#script_id').val() + '&event_id=' + event_id + '&termin_id=' + termin_id,
			success: function(req)
			{
				window.location.href = req;
			}
		}
	);
}

function disableButton(button_id)
{
	$('#' + button_id).attr('disabled', 'disabled');
	$('#' + button_id).val('Čakajte prosím');
}

function checkEmailAddress(email)
{
	var re = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	
	if (!re.test(email))
	{
		return false;
	}
	else
	{
		return true;
	}
}

function closeActionDetail()
{
	$('#cal_action').fadeOut();
}
