

/* Create global vars */
var currentSlide=0; 	// the current slide we're looking at
var numSlides=0; 			// the total numbner of slides for this album
var thumbPage=0;			// the current page we're on. zero indexed 
var albumScroll=1;		//page of albums, 1 indexed
var numAlbums=0;

$(document).ready(function(){ 
	initSlideshow(); 
 });

/* initialise data */
function initSlideshow() {
	currentSlide=1;
	thumbPage=0;
	numSlides=slideDB.length; 
	initButtons();
	initThumbs();
	numAlbums=$('DIV.albumList UL LI').size();
	showSlide(currentSlide);
}

/*init buttons*/
function initButtons() {
	//initialise buttons
	$('A#nextSlide').click( function() {
		nextSlide();
		return false;
	})
	$('A#prevSlide').click( function() {
		prevSlide();
		return false;
	})
	
	//thumb paging
	$('A#nextThumb').click( function() {
		nextThumbPage();
		return false;
	})
	$('A#prevThumb').click( function() {
		prevThumbPage();
		return false;
	})
	
	//album paging
	$('A#nextAlbum').click( function() {
		nextAlbum();
		return false;
	})
	$('A#prevAlbum').click( function() {
		prevAlbum();
		return false;
	})
	
	
	
	
}

/*init thumbs */
function initThumbs() {
	$('DIV.SlideshowThumbs UL LI').click(function(){
		slideID=$(this).attr('id').replace('thumb_','');	
		showSlide(parseInt(slideID));
		return false;
	}) 
	
		$('DIV.SlideshowThumbs').jScrollPane({animateTo:true, scrollbarWidth:0});
	
	//album list
		$('DIV.albumList UL').jScrollPane({animateTo:true, scrollbarWidth:0});

}


/* show slide as indicated by 'slide' */
function showSlide(slide) {

	clearSlides();
	
	thisSlide=slide-1; //zero indexed array
	elemID='#thumb_'+slideDB[thisSlide].slide_id;
	$(elemID).addClass('current');	

	switchMain(slide);
	gotoThumb(parseInt(thisSlide/12));
	currentSlide=slide;
}

/* changes the main image */
function switchMain(slide) {
	thisSlide=slide-1; //zero indexed array


	$('DIV.SlideShowPanel').fadeOut('slow',function() {	
		$('DIV.SlideShowPanel P').text(slideDB[thisSlide].caption);
		$('IMG#polaroid').attr('src',slideDB[thisSlide].polaroid);
		$('DIV.SlideShowPanel').fadeIn('slow')
	})
	
	
}

/* remove the selected state of all slides */
function clearSlides() {
	$('DIV.SlideshowThumbs UL LI').removeClass('current');	
}


/* displays the next slide */
function nextSlide() {
	newSlide=currentSlide+1;
	
	//check for last slide
	if(newSlide > numSlides) {
		newSlide=1;
	}
	
	showSlide(newSlide);		

}


/* displays the previous slide */
function prevSlide() {
	newSlide=currentSlide-1;
	
	//check for first slide
	if(newSlide < 1 ) {
		newSlide=numSlides;
	}
	
	showSlide(newSlide);
}


/* change thumbpage */
function gotoThumb(page) {
	thumbPage=page;
	scrollTarget=(thumbPage*12)+1;
	$('DIV.SlideshowThumbs')[0].scrollTo('#thumb_'+scrollTarget); 
}

/* goto next page of thumbs */
function nextThumbPage() {
	thumbPage++;
	scrollTarget=(thumbPage*12)+1;
	if ( ! document.getElementById('thumb_'+scrollTarget)) { thumbPage=parseInt(numSlides/12); }
	gotoThumb(thumbPage);
}

/* goto next page of thumbs */
function prevThumbPage() {
	thumbPage--;
	if ( thumbPage < 0 ) { thumbPage=0; }
	gotoThumb(thumbPage);
}


/* goto next album */
function nextAlbum() {
	albumScroll=albumScroll+5;
	if(albumScroll > numAlbums) { albumScroll=numAlbums; }
	$('DIV.albumList UL')[0].scrollTo('#album_'+albumScroll); 
}

/* goto prev album */
function prevAlbum() {
	albumScroll=albumScroll-5;
	if (albumScroll < 1) { albumScroll=1;}
	$('DIV.albumList UL')[0].scrollTo('#album_'+albumScroll); 
}







