/** Slideshow */
$(document).ready(function($)
{
	function displaySlide(index)
	{
		$('.slides .current .info').hide();
		$('.slides .current .info').fadeIn(100);
		$('.tab').attr('aria-selected', 'false');
		$('.tablist .tab').eq(index).prepend('<span class="active-icon"></span>').attr('aria-selected', 'true');
		$('.slides .slide').attr('aria-expanded', 'false');
		$('.slides .slide.current').attr('aria-expanded', 'true');
	}

	function hideSlides()
	{
		$('.active-icon').remove();
		
		if(api.cssTransitionsAvailable())
		{
			$('.slides .current .info').css({'opacity': 0});
		}
		else
		{
			$('.slides .current .info').fadeOut(100);
		}
	}

	if($('#slideshow').length > 0)
	{
		var api = $('#slideshow').centredScroller({autoAdvance:6000, interactionDelay:500});
		
		api.onAutoAdvanceBefore(function()
		{
			hideSlides();
		});
		
		api.onAutoAdvanceAfter(function()
		{
			displaySlide(api.getIndex());
		});
		
		$('#slideshow').delegate('.slide', 'mouseenter', function()
		{
			api.stopAutoAdvance();
		});
		
		$('#slideshow').delegate('.slide', 'mouseleave', function()
		{
			api.startAutoAdvance();
		});
		
		$('.tab').bind('click', function()
		{
			var index = parseInt($(this).attr('data-slide-index'), 10);
			
			hideSlides();
			
			api.display(index, function()
			{
				displaySlide(index);
			});
			
			return false;
		});
		
		$('#slideshow').delegate('.slide>a', 'click', function()
		{
			api.next();
			return false;
		});
		
		if($('#slideshow .btn-prev').length > 0)
		{
			$('#slideshow .btn-prev').click(function()
			{
				api.prev();
				return false;
			});
		}
		
		if($('#slideshow .btn-next').length > 0)
		{
			$('#slideshow .btn-next').click(function()
			{
				api.next();
				return false;
			});
		}
	}
});

/** Sharer */
$(document).ready(function($)
{
	if($('.sharer').length > 0)
	{
		var $sharer = $('.sharer');
		var hash = 'general';
		
		if(
				window.location.hash == '#weddings'
				|| window.location.hash == '#portraits'
				|| window.location.hash == '#pets'
		){
			hash = window.location.hash.replace(/#/, '');
		}
		
		$('.panel', $sharer).hide().removeClass('active-panel').attr('aria-expanded', 'false');
		$('h2[aria-controls]', $sharer).removeClass('active-action').attr('aria-selected', 'false');
		$('#' + hash + '-panel', $sharer).show().attr('aria-expanded', 'true').addClass('active-panel');
		$sharer.height($('#' + hash + '-panel', $sharer).innerHeight());
		$('h2[aria-controls="' + hash + '-panel"]', $sharer).addClass('active-action').attr('aria-selected', 'true');
		
		$('.date input', $sharer).datepicker({dateFormat:'yy-mm-dd', minDate:new Date()});
		
		$('.action', $sharer).bind('click.sharer', function()
		{
			var panelId = '#' + $(this).attr('aria-controls');
			
			if($(panelId, $sharer).attr('aria-expanded') == 'true')
			{
				return false;
			}
			
			$('.action', $sharer).removeClass('active-action').attr('aria-selected', 'false');
			$(this).addClass('active-action').attr('aria-selected', 'true');
			$('.panel', $sharer).attr('aria-expanded', 'false');
			
			$('.active-panel', $sharer).css({'z-index':1});
			$(panelId, $sharer).attr('aria-expanded', 'true').css({'z-index':100, 'top': $sharer.outerHeight() + 50}).show();
			
			$('.active-panel', $sharer).animate(
				{'top': 1500},
				400,
				function()
				{
					$(this).removeClass('active-panel');
				}
			);
			
			$(panelId, $sharer).animate(
				{'top': 0},
				400,
				function()
				{
					$(this).addClass('active-panel');
				}
			);
			
			$sharer.animate({'height':$(panelId, $sharer).innerHeight()}, 400);
			
			return false;
		});
	}
});

