window.addEvent('domready', function() {
	if($('gallery_list')) {
		var transTimer = 0;										//length of animation
		var galleryList = $('gallery_list');						//contains each gallerySlide floated left
		var gallerySlides = $('gallery_list').getElements('div');	//each gallerySlide contains "<div><img><p></p></div>
		var galleryNext = $('galleryNext');							//next button
		var galleryPrev = $('galleryPrev');							//prev button
		var currentSlide = 0;										//start with first image
		var imageSize = 0;
		var firstWrap = galleryList.getFirst('div');
		var imageSize = firstWrap.getStyle('width').toInt();
		
		var slide = new Fx.Morph(galleryList, { duration: transTimer, transition: Fx.Transitions.Sine.easeOut });
		
		var slideMe = function(back) {
			//disable buttons while sliding
			enableButtons(1);
			//enable buttons after timer
			enableButtons.delay(transTimer);
			
			//slide next
			if (!back) {
				if (currentSlide < (gallerySlides.length - 1)) {
					currentSlide++;	
				} else {
					currentSlide = 0;
				}
			//slide prev
			} else if (back) {
				if (currentSlide != 0) {
					currentSlide--;	
				} else {
					currentSlide = (gallerySlides.length - 1);
				}
			}
			//slide it
			slide.start({ 'left': -(currentSlide * imageSize) });
		}
				
		var enableButtons = function(disable) {
			//disable
			if (disable) {
				galleryNext.removeEvents('click');
				galleryPrev.removeEvents('click');
			}
			//enable
			else {
				galleryNext.addEvent('click', function() { slideMe() });
				galleryPrev.addEvent('click', function() { slideMe(1) });
			}
		}
		
		//set up the gallery
		enableButtons();
		galleryList.setStyle('width', (gallerySlides.length * imageSize));
	}
});