$(function(){
	$.extend({
		ay:
		{
			hoverTrack: 0
		}
	});
	
	$('.submit').on('click', function(){
		$(this).closest('form').submit();
	});
	
	$('#carousel').ayCarousel();
	
	$('#lightbox').on('click', 'div.close-button', function(){
		$('#lightbox').empty().removeClass().hide();
	});
	
	$('#carousel.press div.pictures').on('mousemove', function(){
		++$.ay.hoverTrack;
		
		if($.ay.hoverTrack > 25)
		{
			$.ay.hoverTrack	= 0;
			
			var pictures			= $.makeArray( $(this).data().pictures );
			
			var picture				= pictures.pop();
			
			$(pictures).hide();
			$(picture).show();
			
			pictures.unshift(picture);
			
			$(this).data().pictures	= pictures;
		}
	});

	
	$('#carousel.press div.pictures').each(function(){
		var pictures			= $(this).find('.picture');
		
		if(pictures.length < 2)
		{
			$(this).off('mousemove');
		}
		else
		{
			$(this).data().pictures	= pictures;
		}
	});
	
		
	$('#carousel.collection').on('click', '.item', function(){
		$.ajax({
			url: '?controller=collection',
			data: { ay: { id: $(this).attr('data-id') } },
			type: 'post',
			success: function(data){			
				var lightbox_html = $('<div class="close-button"></div>\
					<div class="header">\
						<div class="style"></div>\
						<div class="description"></div>\
					</div>\
					<div class="product"></div>');
				
				lightbox_html.filter('.product').css({backgroundImage: 'url(\'public/uploads/collection/' + data.uid + '.2.jpg\')'});
				
				
				
				lightbox_html.find('.style').text( data.style );
				lightbox_html.find('.description').text( data.description );
				//lightbox_html.find('.product').css({background: 'url(\'public/uploads/collection/' + data.uid + '.1.jpg\')'});
				
				$('#lightbox').addClass('product').html(lightbox_html).fadeIn(250);
			}
		});
	});
	
	if(template != 'collection')
	{
		$('#header .navigation a[data-controller="collection"]').on('hover', function(){
			var tab	= $(this);
		
			$.ay.hoverTrack	= 10;
			
			$('#header .sub-navigation, .sub-nav-wrapper').show();
			
			$(document).on('mousemove', function(e){		
				if(!$.contains($('#header .sub-navigation')[0], e.target) && tab[0] != e.target)
				{			
					--$.ay.hoverTrack;
					
					if($.ay.hoverTrack < 0)
					{
						$('#header .sub-navigation, .sub-nav-wrapper').hide();
						
						$(document).off('mousemove');
					}
				}
			});
		});
	}
	else
	{
		$('#header .sub-navigation, .sub-nav-wrapper').show();
		
		$('#header .sub-navigation ul > li').on('hover', function(){
		
			if($(this).find('.sub-collection').length)
			{
				$.ay.hoverTrack	= 10;
			
				var active_li				= $(this);
				var active_sub_collection	= active_li.find('.sub-collection');
			
				active_sub_collection.show();
				
				$(document).on('mousemove', function(e){		
					if(!$.contains(active_li[0], e.target) && active_sub_collection[0] != e.target)
					{
						--$.ay.hoverTrack;
					
						if($.ay.hoverTrack < 0)
						{
							active_sub_collection.hide();
						
							$(document).off('mousemove');
						}
					}
				});
			}
		});
	}
	
	if($('body.template-home, body.template-collection').length)
	{
		var resizeSlideshow	= function()
		{
			$('#body, #slideshow').css({height: $(window).height()-61-31});
		};
		
		resizeSlideshow();
		
		$(window).on('resize', resizeSlideshow);
	}
});

function ay_slideshow(pictures, path)
{
	var slideshow	= $('#slideshow');
	
	var time		= {transmition: 750, pause: 3000};

	if(slideshow.length)
	{			
		for(var i = 0, j = pictures.length; i < j; i++)
		{
			$('<img/>')[0].src = path + pictures[i];
		}
		
		var lastIndex			= 0;
		
		var slideshowAnimation	= function()
		{
			slideshow.animate({opacity: 1}, time.transmition, function(){
				setTimeout(function(){				
					slideshow.animate({opacity: 0}, time.transmition, function(){					
						slideshow.css({backgroundImage: 'url(\'' + path + pictures[lastIndex++] + '\')'});
						
						if(lastIndex == pictures.length)
						{
							lastIndex	= 0;
						}
					});
				}, time.pause);
			});
		};
		
		slideshow.css({opacity: 0, backgroundImage: 'url(\'' + path + pictures[lastIndex++] + '\')'});
		
		slideshowAnimation();
		
		setInterval(slideshowAnimation, time.transmition*2 + time.pause);
	}	
}
