var api = {
	init: function() {
		api.slideshow();
		api.gallery.init();
	},

	slideshow: function() {
		$('#slideshow').
			each(function(){
				var lis = $('li', this);
				$.data(this, 'max', lis.length);
			}).
			find('li').hide().end().
			find('li:first').show().end().
			find('a.next').click(function(){
				var p = this.parentNode.parentNode;
				var n = $('li:visible', p).hide().next();
				if (n.length <= 0) {
					n = $('li:first', p);
				}
				n.show();
				return false;
			}).end().
			find('a.prev').click(function(){
				var p = this.parentNode.parentNode;
				var n = $('li:visible', p).hide().prev();
				if (n.length <= 0) {
					n = $('li:last', p);
				}
				n.show();
				return false;
			}).end();
	},

	gallery: {
		t: null, i: -1, imgs: [],
		init: function() {
			$('#gallery').each(function(){
				$('li a', this).each(function(){
					var i = api.gallery.imgs.length;
					$.data(this, 'index', i);
					api.gallery.imgs[i] = this.href;
				}).click(function(){
					if (api.gallery.t)
					{
						clearInterval(api.gallery.t);
						api.gallery.t = null;
					}
					api.gallery.change($.data(this, 'index'));
					return false;
				});
				api.gallery.i = 0;
				api.gallery.t = setInterval(api.gallery.timer, 3000);
			});
		},
		change: function(i) {
			$('#gallery .img2').attr({ src: api.gallery.imgs[i] });
			$('#gallery .img1').fadeOut(500, function(){
				this.src = api.gallery.imgs[i];
				$(this).fadeIn(1);
			});
			api.gallery.i = i;
		},
		timer: function() {
			var i = api.gallery.i + 1;
			if (i >= api.gallery.imgs.length)
			{
				i = 0;
			}
			api.gallery.change(i);
		}
	}
};

$(document).ready(api.init);