Slider = {
	move: function(element, offset) {
		if (!(element = $(element))) {
			return;
		}

		if (Slider.sliding) {
			return;
		}

		var width = element.getElementsByTagName('li').length * offset,
			left = parseInt(element.style.left);

		if (offset < 0 && left >= 0) {
			return;
		}

		if (offset > 0 && (width + left) <= 616) {
			return;
		}

		Slider.sliding = true;
		new Effect.Move(element, {x: -offset, duration: .7, afterFinishInternal: function() { Slider.sliding = false; }});
	},
	moveMany: function(elements, offset) {
		var x = 0,
			fx = [];

		if (Slider.sliding) {
			return;
		}

		var width = $(elements[0]).getElementsByTagName('li').length * offset,
			left = parseInt($(elements[0]).style.left);

		if (offset < 0 && left >= 0) {
			return;
		}

		if (offset > 0 && (width + left) <= 616) {
			return;
		}

		Slider.sliding = true;
		for (; x < elements.length; ++x) {
			fx.push(new Effect.Move(elements[x], {sync: true, x: -offset}));
		}
		new Effect.Parallel(fx, {duration: .7, afterFinishInternal: function() { Slider.sliding = false; }})
	},
	image: function(url, idx, title, description) {
		var options = {afterFinishInternal: function(){}};
		new Effect.Parallel([
			Effect.Fade('gallery_image', options),
			Effect.Fade('gallery_image_title', options),
			Effect.Fade('gallery_image_description', options)
		], {
			duration: .33,
			afterFinishInternal: function() {
				var img = new Image();
				img.src = url;
				img.onload = function() {
					$('gallery_index').innerHTML = idx;
					$('gallery_image').src = url;
					$('gallery_image_title').innerHTML = title;
					$('gallery_image_description').update(description);

					new Effect.Parallel([
						Effect.Appear('gallery_image'),
						Effect.Appear('gallery_image_title'),
						Effect.Appear('gallery_image_description')
					], {
						duration: .33
					});
				}
			}
		});
	}
}
