$(document).ready(function() {

	var timeout = null;
	var timeoutNumber = $('#media-gallery.homepage-gallery .media-gallery-item.selected').attr('galleryitem:speed') + '000';
	var nextItemNumber = 1;
	var galleryItemLength = $('#media-gallery.homepage-gallery .media-gallery-item').length;
	var shade = 'light';
	var toFade = true;
	
	$('.homepage-gallery-pagination span.page').each(function(i,n) {
		$(n).bind('click', {index: i}, pageClick);
	});
	
	$('.homepage-gallery-pagination span.button').toggle(
		function() {
		},
		function() {
		}
	);
	
	
	$('.homepage-gallery-pagination span.button').click(
		function() {
			if($(this).hasClass('pause')) {
				clearTimeout(timeout);
				hh_WT.trackEvent({'WT.ac':'HPBPause'}, true);
				$('.homepage-gallery-pagination span.selected').addClass('current');
				$('.homepage-gallery-pagination span').removeClass('selected');
				$(this).removeClass('pause');
				$(this).addClass('play selected');
			} else {
				$('.homepage-gallery-pagination span.current').addClass('selected');
				$('.homepage-gallery-pagination span').removeClass('current');
				$(this).removeClass('play selected');
				$(this).addClass('pause');
				toFade = false;
				$('.homepage-gallery-pagination span.selected').click();
				toFade = true;
			}
		}
	);
	
	function pageClick(event) {
		var i = event.data.index;
		
		$('.homepage-gallery-pagination span.button').removeClass('play selected');
		$('.homepage-gallery-pagination span.button').addClass('pause');
		
		clearTimeout(timeout);
		$('.homepage-gallery-pagination span.page').unbind('click');
		
		if($('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+')').hasClass('dark')) {
			shade = 'dark';
		} else {
			shade = 'light';
		}
		$('.homepage-gallery-pagination span').removeClass('selected');
		
		if(toFade) {
			$('#media-gallery.homepage-gallery .media-gallery-item.selected').fadeOut('fast', function() {
				$('.homepage-gallery-pagination').removeClass('dark');
				$('.homepage-gallery-pagination').removeClass('light');
				$(this).removeClass('selected').addClass('hidden');
				$('.homepage-gallery-pagination').addClass(shade);
				$('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+')').fadeIn('fast', function() {
					
					$(this).addClass('selected').removeClass('hidden');
					
					nextItemNumber = i+1;

					hh_WT.trackEvent({'WT.ac':'HPB'+nextItemNumber}, true);
					
					if(galleryItemLength == nextItemNumber) {
						nextItemNumber = 0;
					};

					timeoutNumber = $('#media-gallery.homepage-gallery .media-gallery-item.selected').attr('galleryitem:speed') + '000';
					
					$('.homepage-gallery-pagination span.page').each(function(i,n) {
						$(n).bind('click', {index: i}, pageClick);
					});
					
					timeout = setTimeout(function() {
						nextItem(nextItemNumber);
					}, timeoutNumber);
						
				});
				$('.homepage-gallery-pagination span:eq('+i+')').addClass('selected');
			});
		} else {
						
			$('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+')').addClass('selected').removeClass('hidden');
			$('.homepage-gallery-pagination span.page:eq('+i+')').addClass('selected')
			
			nextItemNumber = i+1;
			
			if(galleryItemLength == nextItemNumber) {
				nextItemNumber = 0;
			};

			timeoutNumber = $('#media-gallery.homepage-gallery .media-gallery-item.selected').attr('galleryitem:speed') + '000';
			
			timeout = setTimeout(function() {
				nextItem(nextItemNumber);
			}, timeoutNumber);
			
		}
	}
	
	function nextItem(nextItemNumber) {
		if(galleryItemLength > 1) {
			clearTimeout(timeout);
			$('.homepage-gallery-pagination span.page').unbind('click');

			if($('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+')').hasClass('dark')) {
				shade = 'dark';
			} else {
				shade = 'light';
			}

			$('.homepage-gallery-pagination span').removeClass('selected');
			
			$('#media-gallery.homepage-gallery .media-gallery-item.selected').fadeOut('fast', function() {
				$(this).removeClass('selected').addClass('hidden');
				$('.homepage-gallery-pagination').removeClass('dark');
				$('.homepage-gallery-pagination').removeClass('light');
				$('.homepage-gallery-pagination').addClass(shade);
				$('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+')').fadeIn('fast', function() {
					$(this).addClass('selected').removeClass('hidden');
					
					timeoutNumber = $('#media-gallery.homepage-gallery .media-gallery-item.selected').attr('galleryitem:speed') + '000';
					
					nextItemNumber++;
					
					if(galleryItemLength == nextItemNumber) {
						nextItemNumber = 0;
					};

					$('.homepage-gallery-pagination span.page').each(function(i,n) {
						$(n).bind('click', {index: i}, pageClick);
					});
					timeout = setTimeout(function() {
						nextItem(nextItemNumber);
					}, timeoutNumber);

				});
				
				$('.homepage-gallery-pagination span:eq('+nextItemNumber+')').addClass('selected');
				
			});
		}
	}
	
	timeout = setTimeout(function() {
		nextItem(nextItemNumber);
	}, timeoutNumber);
});
