$(document).ready(function()
{
	Interface = new function()
	{
		var self = this;
		
		self.initialize_interface = function()
		{
			Debug.info("Initializing interface.");
		}
		
		self.initialize_slideshow = function()
		{
			Debug.info("Initializing slideshow.");
			var $slideshows = $(".subwrapper.slideshow");
			$slideshows.each(function()
			{
				var $slideshow = $(this);
				$.data($slideshow[0], "a", -1);
				var $slides = $(".slide", $slideshow);
				$.data($slideshow[0], "z", $slides.length);
				for (var a = 0, z = $slides.length; a < z; ++a) {
					var $slide = $($slides[a]);
					$slide.css({display: "none"});
				}
				var next_slide = function(n, slideshow)
				{
					if (slideshow == null) {
						slideshow = this;
					}
					var current_slide = $.data(slideshow, "a");
					var next_slide = current_slide + 1;
					var last_slide = $.data(slideshow, "z");
					if (next_slide >= last_slide) {
						next_slide = 0;
					}
					$.data(slideshow, "a", next_slide);
					var $current = $($slides[current_slide]);
					var $next = $($slides[next_slide]);
					$current.css({zIndex: 0});
					$next.css({zIndex: 1});
					$current.animate({marginTop: 0}, window.config.slideshow_time).fadeOut(window.config.slideshow_time);
					$next.fadeIn(window.config.slideshow_time);
				}
				next_slide(0, $slideshow[0]);
				$slideshow.everyTime(window.config.slideshow_delay, "next_slide", next_slide);
			});
		}
		
		self.__init__ = (function()
		{
			self.initialize_interface();
			self.initialize_slideshow();
			
			Debug.info("Interface class initialized.");
		}).apply(self);
	}
});
