$(document).ready
(
	function()
	{
		$('#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');
			}
		);
		
		$('#slideshow_gallery').innerfade
		(
			{
				speed: 'slow',
				timeout: 5000,
				type: 'sequence',
				containerheight: '265px'
			}
		);
		
		$('a[rel="lightbox"]').lightBox();
		
		$('#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)
				{
					disable_button('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)
				{
					disable_button('search_submit');
				}
				
				return submit;
			}
		);
		
		$('a[name="large"],a[name="medium"],a[name="normal"]').click
		(
			function()
			{
				$.ajax
				(
					{
						type: 'POST',
						url: '/editor/scripts/ajax/template/change_font_size.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;
			}
		);
		
		$('a[name="large"],a[name="medium"],a[name="normal"]').hover
		(
			function()
			{
				$(this).css({'cursor' : 'pointer'});
			}
		);
		
		if (window.opera)
		{
			if ($('a.jqbookmark').attr('rel') != '')
			{
				$('a.jqbookmark').attr('rel', 'sidebar');
			}
		}
		
		$('a.jqbookmark').click
		(
			function (event)
			{
				event.preventDefault();
				var url = this.href;
				var title = this.title;
				
				if (window.sidebar)
				{
					/**
					 * Mozilla Firefox Bookmark
					 */
					window.sidebar.addPanel(title, url, '');
				}
				else if (window.external)
				{
					/**
					 * IE Favorite
					 */
					window.external.AddFavorite(url, title);
				}
				else if (window.opera)
				{
					/**
					 * Opera 7+
					 */
					alert('Pre pridanie stránok v Opere stlačte CTRL+D');
				}
				else
				{
					alert('Unfortunately, this browser does not support the requested action,'
					+ ' please bookmark this page manually.');
				}
				
				return false;
			}
		);
		
		$('.print').click
		(
			function ()
			{
				$('#print_form').submit();
				
				return false;
			}
		);
		
		$('#captcha_image').click
		(
			function ()
			{
				var now = new Date();
				
				$(this).attr('src', '/editor/scripts/custom_modules/captcha/visual_captcha.php?color=1&initial_refresh=' + Math.random() + '&refresh=' + now.getTime());
				$('#tmp_captcha_code').val('');
				$('#tmp_captcha_code').focus();
			}
		);
		
		$('#contact_form').submit
		(
			function()
			{
				var submit = true;
				var newsletteremail = $('#from_e_mail').val();
				
				if (submit && $('#subject').val() == '')
				{
					alert('Zadajte predmet správy!');
					$('#subject').focus();
					submit = false;
				}
				
				if (submit && newsletteremail == '')
				{
					alert('Zadajte svoju emailovú adresu!');
					$('#from_e_mail').focus();
					submit = false;
				}
				
				if (submit && !check_email_address(newsletteremail))
				{
					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)
				{
					disable_button('contact_submit');
				}
				
				return submit;
			}
		);
		
		$('#year_id').change
		(
			function ()
			{
				var year_id = $(this).val();
				
				if (year_id > 0)
				{
					$.ajax
					(
						{
							type: 'GET',
							url: '/editor/scripts/ajax/aktualne_get_months.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');
				}
			}
		);
		
		$('#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 && !check_email_address($('#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)
				{
					disable_button('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 && !check_email_address($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit)
				{
					disable_button('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 && !check_email_address($('#e_mail').val()))
				{
					alert('Skontrolujte svoju e-mailovú adresu');
					$('#e_mail').focus();
					submit = false;
				}
				
				if (submit)
				{
					disable_button('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)
				{
					disable_button('login_submit');
				}
				
				return submit;
			}
		);
		
		$('td.action').click
		(
			function ()
			{
				var position = $(this).position();
				
				$.ajax
				(
					{
						type: 'GET',
						url: '/editor/scripts/ajax/show_action.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 (){disable_button('calendar_submit')});
		$('#sign_in_form').submit(function (){disable_button('sign_in_submit')});
		$('#reservation_form').submit(function (){disable_button('reservation_submit')});
					
		$('#dialog').dialog
		(
			{
				autoOpen: true,
				width: 450,
				modal: true,
				buttons:
				{
					'Ok': function()
					{
						$('#overlay').hide();
						$(this).dialog('close');
					}
				},
				close: function()
				{
					$.ajax
					(
						{
							type: 'GET',
							url: '/editor/scripts/custom_modules/events/ajax/disable_dialog.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: '/editor/scripts/custom_modules/events/ajax/login_detail.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: '/editor/scripts/custom_modules/events/ajax/login_cancel.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: '/editor/scripts/custom_modules/events/ajax/reservation_detail.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: '/editor/scripts/custom_modules/events/ajax/reservation_cancel.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: '/editor/scripts/custom_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);
							}
							
							go_to_termin(event_id, xmlNodeResult[0].getElementsByTagName('termin_id')[0].childNodes[0].nodeValue);
						}
					}
				);
			}
		);
		
		$('#termin_id').change
		(
			function ()
			{
				go_to_termin($('#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: '/editor/scripts/custom_modules/events/ajax/fill_bus.ajax.php',
							data: 'bus_id=' + bus_id + '&position=' + position + '&reservation_id=' + reservation_id,
							success: function(req) {}
						}
					);
				}
			}
		);
		
		$('.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 && !check_email_address($('#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)
				{
					disable_button('guestbook_submit');
				}
				
				return submit;
			}
		);
	}
);

function go_to_termin(event_id, termin_id)
{
	$.ajax
	(
		{
			type: 'GET',
			url: '/editor/scripts/custom_modules/events/ajax/link_creator.ajax.php',
			data: 'id=' + $('#script_id').val() + '&event_id=' + event_id + '&termin_id=' + termin_id,
			success: function(req)
			{
				window.location.href = req;
			}
		}
	);
}

function disable_button(button_id)
{
	$('#' + button_id).attr('disabled', 'disabled');
	$('#' + button_id).val('Čakajte prosím');
}

function check_email_address(email)
{
	var re = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	
	if (!re.test(email))
	{
		return false;
	}
	else
	{
		return true;
	}
}

function close_action_detail()
{
	$('#cal_action').fadeOut();
}