$(function() {
	var window_width,
		showcase = $('#showcase'),
		large_image_container = showcase.find('.showcase-image-large > div'),
		large_images = showcase.find('.showcase-image-large span');
	 
	showcase.length && $(window).ready(function() {
		var	window_width = $(window).width(),
			showcase_menu = $('#showcase-menu').fadeIn(),
			large_image_offset_min = [],
			large_image_container_left = large_image_container.offset().left,
			large_images = large_image_container.find('span').each(function() {
				var self = $(this),
					offset = self.offset().left;				
				large_image_offset_min.push(offset);
				self.data('offset-left', (offset - (window_width - self.width())) );
			}),
			small_image_container = showcase.find('.showcase-image-small > div'),
			small_image_container_left = small_image_container.offset().left,
			small_images = small_image_container.find('span').each(function() {
				$(this).data('offset-left', $(this).offset().left - small_image_container_left);
			}),
			text = showcase.find('.showcase-text > div').hide().removeClass('active').eq(0).show().end();
	
		showcase.find('.showcase-image-large').css('visibility','visible');
		
		large_image_offset_min.sort();
		large_image_offset_min = large_image_offset_min[0];
		
		showcase_menu.find('a').click(function() {
			var where = parseInt( $(this).text(), 10) - 1;
		
			var small_image = small_images.eq(where),
				large_image = large_images.eq(where),
				large_image_offset = large_image.data('offset-left');
			
			small_image_container.stop();
			large_image_container.stop();
			
			text.filter(':visible').fadeOut(function() {
				text.eq(where).fadeIn(500);
			});
									
			small_image_container.animate({
				'margin-left': - small_image.data('offset-left')
			},500);
			
			large_image_container.animate({
				'right': ( large_image_offset > large_image_offset_min ) ? large_image_offset : large_image_offset_min 
			},500);
		
			$(this).parent('li').addClass('active').siblings('.active').removeClass('active');			
		});
	
		setTimeout(function() {
			showcase_menu.find('a').eq(0).click();
		}, 500);	
	});
				
});
