$(document).ready(function() {
	
	$('#get-in-touch-txt, #get-in-touch-btn').hover(function() {
		$('#get-in-touch-txt').animate({marginRight: 0}, {duration: 200, queue: false});
	}, function() {
		$('#get-in-touch-txt').animate({marginRight: 2}, {duration: 200, queue: false});
	});
	
	// --------------------------------------------------------------------
	
	$('#nav li a').each(function() {
		if($(this).prop('href') == window.location.href.match(/^[^?#]+/)) {
			$(this).addClass('active');	
		}
	});
	
	// --------------------------------------------------------------------
	
	$('#nav li').hover(function() {
		$(this).find('ul').show(400);
	}, function() {
		$(this).find('ul').hide();
	}); 
	
	// --------------------------------------------------------------------
	
	if($('#services-blocks, #advantages-blocks').length) {
		$('.block', '#services-blocks, #advantages-blocks').equalHeights();
	}
	
	// --------------------------------------------------------------------
	
	if($('#slideshow').length) {
		$('#slideshow').cycle({ 
			fx: 'growY',
			speed: 600,
			timeout: 6000,
			cleartype: false,
			next: '#cycle-next',
			prev: '#cycle-prev'
		});	
	}
	
	// --------------------------------------------------------------------
	
	$('#downloads-page-link').qtip({
		content: {
			text: '<strong>Akcia!</strong> Výpredaj zimných pneumatík'
		},
		position: {
			my: 'top center',
			at: 'bottom center',
			adjust: {
				y: 4
			}
		},
		show: {
			ready: true
		},
		style: {
			classes: 'ui-tooltip-dark'
		}
	});
	
	$('.tooltip', '#footer').qtip({
		position: {
			my: 'left center',
			at: 'right center',
			target: $('.tooltip img', '#footer'),
			adjust: {
				y: 4
			}
		},
		style: {
			classes: 'ui-tooltip-dark'
		}
	});
	
	$('.pager', '#footer').qtip({
		position: {
			my: 'bottom center',
			at: 'top center',
			adjust: {
				y: 2
			}
		},
		style: {
			classes: 'ui-tooltip-dark'
		}
	});
	
	// --------------------------------------------------------------------
	
	$('.fancybox-thumb').fancybox({
		prevEffect: 'none',
		nextEffect: 'none',
		helpers: {
			title: {
				type: 'outside'
			},
			overlay: {
				opacity: 0.8,
				css: {
					'background-color': '#000'
				}
			},
			thumbs: {
				width: 50,
				height: 50
			}
		}
	});
	
	$('.preview a').fancybox({
		maxWidth: 800,
		maxHeight: 600,
		fitToView: false,
		width: '70%',
		height: '70%',
		autoSize: false,
		closeClick: false
	});
	
	// --------------------------------------------------------------------
	
	$('.pager', '#container').click(function() {
		
		var $pagerContainer = $(this).parent(),
			$gallery = $pagerContainer.siblings('.gallery'),
			$loader = $pagerContainer.prev('.gallery-loader'),
			$pagers = $pagerContainer.find('.pager').hide(),
			$page = $pagerContainer.find('.page').css('visibility', 'hidden'),
			requestedPage = $(this).prop('href').match(/\d+$/)[0],
			loaderHeight = $gallery.outerHeight(true);
		
		$gallery.fadeTo(500, 0, function() {
			$.ajax({
				type: 'POST',
				url: 'load_images.php',
				data: {gallery: $gallery.prop('id'), requested_page: requestedPage},
				dataType: 'json',
				beforeSend: function() {
					$loader.height(loaderHeight).fadeIn('fast');
					$gallery.empty().hide();
				},
				success: function(response) {
					if(response) {
						var	images = response.images,
							imageCount = images.length,
							loadedImages = 0;
						
						for(i in images) {
							var $image = $('<img/>', {src: images[i].thumb_src});
							
							$image.load(function() {
								loadedImages += 1;
								if(loadedImages == imageCount) {
									$gallery.append(response.html);
									$loader.fadeOut('fast', function() {						
										$gallery.fadeTo(500, 1);
										$pagers.filter('.prev-pager').prop('href', function(index, value) {
											return value.replace(/\d+$/, response.prev_page);
										});
										$pagers.filter('.next-pager').prop('href', function(index, value) {
											return value.replace(/\d+$/, response.next_page);
										});
										$page.text(response.current_page + ' / ' + response.page_count).css('visibility', 'visible');
										$pagers.show();
										$gallery.find('.fancybox-thumb').fancybox();
									});
								}
							});
						}
					}
				}
			});
		});
		
		return false;
		
	});
	
	// --------------------------------------------------------------------
	
	$('#contact-submit').click(function() {
		
		var $form = $(this).parents('form'),
			$submitButton = $(this),
			$loader = $submitButton.next('.form-loader'),
			$input;
		
		$.ajax({
			type: 'POST',
			url: $form.prop('action'),
			dataType: 'json',
			data: $form.serialize(),
			beforeSend: function() {
				$('.error', $form).removeClass('error');
				$('.error-message', $form).hide();
				$submitButton.hide();
				$loader.show();
			},
			success: function(response) {
				if(response.type == 'error') {
					$loader.hide();
					$submitButton.show();
					
					$.each(response.data, function(index, value) {
						$input = $('input[name="' + value + '"], textarea[name="' + value + '"]', $form);
						$input.parent('p').addClass('error').end().next('.error-message').fadeIn();
					});
				}
				else {
					$form.submit();
				}
			}
		});		
		
		return false;
		
	});
	
	$('input, textarea', '#contact-form').change(function() {
		$(this).parent('p').removeClass('error').end().next('.error-message').fadeOut();
	});
	
});
