	function slide(direction, el) {
	    var currentslide = $('#supersize .activeslide');

		if (direction == 1)
		{
		    if (currentslide.length == 0) currentslide = $('#supersize img:last');
			
		    var nextslide =  currentslide.next().length ? currentslide.next() : $('#supersize img:first');

			if (nextslide.attr('id') == '')
				nextslide = nextslide.next().length ? nextslide.next() : $('#supersize img:first');
		} else {
			if (currentslide.length == 0) currentslide = $('#supersize img:first');

			var nextslide = currentslide.prev().length ? currentslide.prev() : $('#supersize img:last');

			if (nextslide.attr('id') == '')
				nextslide = nextslide.prev().length ? nextslide.prev() : $('#supersize img:last');
		}

		currentslide.removeClass('activeslide');
		$('#slides .selected').removeClass('selected');

		$('.prevslide').removeClass('prevslide');

		if (nextslide.attr('id').match(/bg-(\d+)/))
			$('#slides a:eq(' + (RegExp.$1 - 1) + ')').addClass('selected');

		currentslide.addClass('prevslide');
		nextslide.addClass('activeslide');		
		nextslide.css('display', 'block').addClass('activeslide');

		nextslide.fadeIn(250, function() {
			// $.inAnimation = false;	
		});

		currentslide.css('display', 'none');

		activeslide();

		return false;
	}

	function activeslide() {
		var a = $('.activeslide');

		var browserwidth = $(window).width();
		var browserheight = $(window).height();

		var imagewidth = a.width();
		var imageheight = a.height();

		var ratio = imageheight / imagewidth;

		if ((browserheight/browserwidth) > ratio){
		    a.height(browserheight);
		    a.width(browserheight / ratio);
		} else {
		    a.width(browserwidth);
		    a.height(browserwidth * ratio);
		}
		
		a.css('position', 'absolute');
		a.css('left', (browserwidth - a.width())/2);
		a.css('top', (browserheight - a.height())/2);
	}

	function hideMenu() {
		$('#wrapper, #nav').animate({left: -225}, 220, 'linear');
	}

	function showMenu() {
		$('#wrapper, #nav').animate({left: 0}, 220, 'linear');
	}

	$(function(){
		$(window).bind('resize', function() { activeslide(); });

		$(window).bind('load', function() { $('#loading').fadeOut("fast", function() { $('#loading').hide(); }); });

		activeslide();

       	$('#slides a').each(function(index, el) {
       		$(el).click(function() {
				if (el.href.match(/image-(\d+)/)) {
					var nextslide = $('#bg-' + RegExp.$1);
					var currentslide = $('#supersize .activeslide');

					if (nextslide.attr('src') == currentslide.attr('src'))
					    return false;

					currentslide.removeClass('activeslide');
					$('#slides .selected').removeClass('selected');

					$('.prevslide').removeClass('prevslide');
					$(el).addClass('selected');

					currentslide.addClass('prevslide');
					nextslide.addClass('activeslide');
					nextslide.css('display', 'block').addClass('activeslide');
					nextslide.fadeIn(250, function(){
					    // $.inAnimation = false;
					});

					currentslide.css('display', 'none');

					activeslide();

					return false;
				}
       		});
       	});

		$('#previous').mousemove(function(e) {
			$('#f').css({
				top: (e.clientY - 24) + 'px',
				left: (e.clientX - 22) + 'px'
			}).removeClass('next').addClass('prev');
		}).bind('click', function() {
			slide(-1, this);
			return false;
		}).mouseout(function() {
			$('#f').css({ 
				top: -100 + 'px', 
				left: -100 + 'px' 
			});
		});

		$('#next').mousemove(function(event) {
			$('#f').css({ 
				top: (event.clientY - 24) + 'px', 
				left: (event.clientX - 22) + 'px' 
			}).removeClass('prev').addClass('next');
		}).bind('click', function() {
			slide(1, this);
			return false;
		}).mouseout(function() {
			$('#f').css({ 
				top: -100 + 'px', 
				left: -100 + 'px' 
			});
		});

		$('a.title').bind('click', function() {
			var active = $('li.selected .sub');
			var next = $.browser.msie ? $(this.parentNode.getElementsByTagName('ul')[ 0 ]) : $(this.nextElementSibling);

			if (!active.length) {
				next.slideDown(500);

				$(next[ 0 ].parentNode).addClass('selected');
			} else {
				if (next.css('display') == 'block') {
					next.slideUp(500);
					$(next[ 0 ].parentNode).removeClass('selected');
				} else {
					next.slideDown(500);

					if (active) {
						$(active[ 0 ].parentNode).removeClass('selected');
						active.slideUp(500);                            
					}

					$(next[ 0 ].parentNode).addClass('selected');
				}
			}

			return false;
		});

		if (document.body.id) {
			var ival = setInterval(function() { hideMenu(); clearInterval(ival); }, 2500);

			$('#wrapper, #nav').hover(function() {
				if (ival)
					clearInterval(ival);

					ival = setInterval(function() { showMenu(); clearInterval(ival); }, 250);
				},
				function() {
					if (ival)
						clearInterval(ival);

					ival = setInterval(function() { hideMenu(); clearInterval(ival); }, 1000);
				}
			);
		}
    });
