$(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() {
			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');
		},
		function() {
			$('.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;
		
		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');
					
					if($('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+') .media').hasClass('media-swf')) {
	            		var flashSrc = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+') .media').attr('flash:src');
	            		var backgroundColour = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+') .media').attr('flash:bgcolour');
	            		var elementId = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+i+') .media > div').attr('id');
	            		var playerParams = {
            				quality: 'high',
	            		    scale: 'noscale',
	            		    wmode: 'opaque',
	            		    allowScriptAccess: 'always',
	            		    allowFullScreen: 'true',
	            		    salign: 'tl',
	            		    menu: 'false',
	            		    bgcolor: '#'+backgroundColour
	            		};
	            		swfobject.embedSWF(flashSrc, elementId, '960', '548', '9.0.115.0', '', {}, playerParams);

						$('.homepage-gallery-pagination span.page').each(function(i,n) {
							$(n).bind('click', {index: i}, pageClick);
						});
						
						//hh_WT.trackEvent({'WT.ac':'HPB'+nextItemNumber}, true);
						
	            		//function startTimeoutClick() {

	            			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);
            			//}
            			//swfobject.addLoadEvent(startTimeoutClick);
            			
					} else {
            		
						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 {
			$(this).addClass('selected').removeClass('hidden');
			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);
			$(n).addClass('selected');
		}
	}
	
	function nextItem(nextItemNumber) {
		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');

				if($('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+') .media').hasClass('media-swf')) {

					$('.homepage-gallery-pagination span.page').each(function(i,n) {
						$(n).bind('click', {index: i}, pageClick);
					});
					
					var flashSrc = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+') .media').attr('flash:src');
            		var backgroundColour = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+') .media').attr('flash:bgcolour');
            		var elementId = $('#media-gallery.homepage-gallery .media-gallery-item:eq('+nextItemNumber+') .media > div').attr('id');
            		var playerParams = {
        				quality: 'high',
            		    scale: 'noscale',
            		    wmode: 'opaque',
            		    allowScriptAccess: 'always',
            		    allowFullScreen: 'true',
            		    salign: 'tl',
            		    menu: 'false',
            		    bgcolor: '#'+backgroundColour
            		};
            		
            		swfobject.embedSWF(flashSrc, elementId, '960', '548', '9.0.115.0', '', {}, playerParams);
            		
            		
            		//function startTimeoutScroll() {
            			timeoutNumber = $('#media-gallery.homepage-gallery .media-gallery-item.selected').attr('galleryitem:speed') + '000';
    					
                		nextItemNumber++;
    					
    					if(galleryItemLength == nextItemNumber) {
    						nextItemNumber = 0;
    					};
    					
    					timeout = setTimeout(function() {
    						nextItem(nextItemNumber);
    					}, timeoutNumber);
        			//}
            		
            		//function test() {
            			//console.log('blah');
            		//}
            		
        			//swfobject.addLoadEvent(test);
            		
				} else {
				
					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);
});
