window.addEvent('domready', function() {
	if($('browser')) {
		var transTimer = 1000;													//length of animation
		var galleryList = $('browse_list');										//contains each gallerySlide floated left
		var gallerySlides = galleryList.getElements('li');						//each gallerySlide contains "<div><img><p></p></div>
		var galleryNext = $('browse_next');										//next button
		var galleryPrev = $('browse_prev');										//prev button
		var currentSlide = Math.floor(Math.random()*(gallerySlides.length));	//set random first slide
		var imageSize = 0;
		var firstWrap = galleryList.getFirst('li');
		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.setStyles({
			width: (gallerySlides.length * imageSize),
			left: -(currentSlide * imageSize)			
		});
	}
});