﻿var photoSlider = {};
$j(document).ready(function() {
	
	var $currentCat = $j('#photo-gallery .current-category');
	var initialCat = $j('#photo-gallery .category-list a:first').text().toUpperCase();
	$currentCat.text(initialCat);
	
	photoSlider = function() {
		var $slideWrapper = $j('#photo-gallery .slide-wrapper');
		var $groups = $j('.slide-group', $slideWrapper);
		$groups.each(function(i) {
			this.$slides = $j('.slide', this);
			if (i > 0) $j(this).hide();
		});
		var curIndex = 0;
		var curGroup = 0;
		
		return {
			slide: function(slideCount, speed) {
				var $slides = $groups.eq(curGroup).get(0).$slides;
				var newIndex = curIndex + slideCount;
				if (slideCount > 0 && newIndex >= $slides.length) newIndex = $slides.length-1;
				if (slideCount < 0 && newIndex < 0) newIndex = 0;
				if (newIndex != curIndex) {
					var $elm = $slides.eq(newIndex);
					curIndex = newIndex;
					$slideWrapper.scrollTo($elm, speed, { offset: {left: -20} });
				}
			},
			switchGroup: function(groupNumber) {
				var newGroup = (groupNumber < 0 || groupNumber >= $groups.length) ? 0 : groupNumber;
				if (newGroup != curGroup) {
					$groups.eq(curGroup).hide()
					$groups.eq(newGroup).show();
					curGroup = newGroup;
					this.slide(-$groups.eq(newGroup).get(0).$slides.length);
				}
			}
		};
		
	}();
	
	$j('#photo-gallery .prev-button').click(function() {
		photoSlider.slide(-1, 'normal');
		return false;
	});
	
	$j('#photo-gallery .next-button').click(function() {
		photoSlider.slide(1, 'normal');
		return false;
	});
	
	$j('#photo-gallery a.title').lightBox()
	
	$j('#photo-gallery .photo').click(function(event) {
		$j('a.title', this).click();
	});
	
	$j('#photo-gallery .category-list a').click(function(event) {
		var category = $j(this).text().toUpperCase();
		var group = parseInt(this.hash.replace('#', ''));
		$currentCat.text(category);
		photoSlider.switchGroup(group);
		return false;
	});
	
});