// JavaScript Document

jQuery.noConflict();

(function($) { 
  $(function() {
	// jquery scripts run inside noconflict construct for silverstripe compatibility
	
	$(document).ready(function() {
		
		_page_list = '#pagination a';
		_target_image = '#content img#gallery';
		_image_href = $(_page_list+':first').attr('href');
		_image_caption = $(_page_list+':first span').html()+' ';
		_transition_speed = 'fast';
		_caption_div = '#caption';
		_sub_navigator = false;
		_sub_navigator_store = new Array();
		_sub_navigator_pos = 0;
		
		function swap_image(new_image_src,new_caption) {
			$(_target_image).fadeTo(_transition_speed,0.1,function() {
				$(this).attr('src',	new_image_src);
				$(this).fadeTo(_transition_speed,1);
				$(_caption_div).html(new_caption);
			});
		}
		
		function sub_swap_image(new_image_src) {
			$(_target_image).fadeTo(_transition_speed,0.1,function() {
				$(this).attr('src',	new_image_src);
				$(this).fadeTo(_transition_speed,1);
			});
		}
		
		function show_sub_navigator($els) {
			if (! _sub_navigator && $els.length > 1) {
				
				//$('#sub_navigator').show('fast',function(){$('#sub_navigator .sub_nav_prev').hide(function(){$('#sub_navigator .sub_nav_next').show();});});
				$('#sub_navigator').css("display", "block");
				$('#sub_navigator .sub_nav_prev').css("display", "none");
				$('#sub_navigator .sub_nav_next').css("display", "block");
				
				_sub_navigator_store = $els;
				_sub_navigator_pos = 0;
				_sub_navigator = true;
			}
		}
		
		function hide_sub_navigator() {
			if (_sub_navigator) {
				$('#sub_navigator').css("display", "none");
				_sub_navigator_store = new Array();
				_sub_navigator_pos = 0;
				_sub_navigator = false;
			}
		}
		
		function sub_show_next() {
			_sub_navigator_pos++;
			sub_swap_image($(_sub_navigator_store.get(_sub_navigator_pos)).attr('href'));
			if ((_sub_navigator_pos+1) == _sub_navigator_store.length) {
				$('#sub_navigator .sub_nav_next').css("display", "none");	
			}
			$('#sub_navigator .sub_nav_prev').css("display", "block");
		}
		
		function sub_show_prev() {
			_sub_navigator_pos--;
			sub_swap_image($(_sub_navigator_store.get(_sub_navigator_pos)).attr('href'));
			if ((_sub_navigator_pos) == 0) {
				$('#sub_navigator .sub_nav_prev').css("display", "none");	
			}
			$('#sub_navigator .sub_nav_next').css("display", "block");
		}
		
		function apply_active_state(el) {
			$('#numbers #pagination ul li a').removeClass('active');
			el.addClass('active');
		}
		
		$(_page_list).each(function() {
			$(this).click(function() {  
				
				apply_active_state($(this));
				
				hide_sub_navigator();
				swap_image($(this).attr('href'),$(this).children('span').html());
				//alert($(this).siblings('a').length);
				
				if ($(this).siblings('a').length) {
					show_sub_navigator($(this).siblings('a'));		
				} 
				
				return false;
			});
			
		});
		
		$('#sub_navigator .sub_nav_prev').click(function() {
			sub_show_prev();
			return false;
		});
		
		$('#sub_navigator .sub_nav_next').click(function() {
			sub_show_next();
			return false;
		});
		
		$('#aboutGalleryHolder #content').css('background-image','none');
		$('#portfolioGalleryHolder #content').css('background-image','none');
		
		swap_image(_image_href,_image_caption);
		
		if ($(_page_list+':first').siblings('a').length) {
			show_sub_navigator($(_page_list+':first').siblings('a'));
		}
		
	});
	
  });
})(jQuery); 
