var GeckoGallery = {
	init: function(options)
	{
		this.options = {
			i: 1,
			play: 0,
			slide: 5000
		}

		Object.extend(this.options, options || {});

		$$('div.slideshow_buttons span.button').invoke('observe', 'click', function(e)
		{
			el = Event.element(e);

			GeckoGallery.swap(el.id.replace('-control', ''), 'force');
		});

		this.options.play = setInterval("GeckoGallery.play()", this.options.slide);
	},

	swap: function(image, type)
	{
		type = (type == 'force') ? type : false;

		$$('div.image_slideshow div.fade-box').invoke('hide');
		$$('div.slideshow_buttons span.button').invoke('removeClassName', 'active');

		Effect.Appear('box-' + image, { duration: 0.5 });
		$(image + '-control').addClassName('active');

		GeckoGallery.options.i = image;
		if(GeckoGallery.options.play && type == 'force')
		{
			window.clearInterval(GeckoGallery.options.play);
			GeckoGallery.options.play = setInterval("GeckoGallery.play()", GeckoGallery.options.slide);
		}
	},

	play: function()
	{
		var show = ++GeckoGallery.options.i;
		show = (show <= GeckoGallery.options.images.length) ? show : 1;

		GeckoGallery.swap(show);
	}
}
