window.addEvent('domready', function() {
	// Menu overflows.
	document.id('menu').getElements('div').each(function(m) {
		var scroll = m.getAllNext('a.scroll');
		if (scroll.length) {
			var scroller = new Scroller(m, {
				'area': 20,
				'velocity': 0.3
			});
			scroll.addEvents({
				'mouseenter': function(e) {
					scroller.getCoords(e);
				},
				'mouseleave': function() {
					scroller.timer = $clear(scroller.timer);
				}
			});
		}
	});

	// Item mouse-overs.
	$$('.item').each(function(i) {
		var c = i.getElement('img'), s = i.getElement('span');
		if (c) {
			c.setStyle('opacity', 0.2);
			i.addEvents({
				'mouseenter': function() {
					c.set('tween', {'duration': 100}).fade(1);
					s.set('tween', {'duration': 100}).fade(0.2);
				},
				'mouseleave': function() {
					c.set('tween', {'duration': 500}).fade(0.2);
					s.set('tween', {'duration': 500}).fade(1);
				}
			});
		}
	});

	// Gallery index.
	var galleries = document.id('galleries');
	if (galleries) {
		var nav = galleries.getChildren('a.nav');
		if (nav.length) {
			nav.setStyle('opacity', 0.2).addEvents({
				'mouseenter': function() {
					this.set('tween', {'duration': 100}).fade(0.5);
				},
				'mouseleave': function() {
					this.set('tween', {'duration': 500}).fade(0.2);
				}
			});
			new bbAnimate({
				'container': galleries,
				'objects': '.menu',
				'animation': 'scroll',
				'transition': 'sine:in:out',
				'duration': 750,
				'autoPlay': false
			});
		}
	}

	// Gallery.
	var gallery = document.id('gallery');
	if (gallery) {
		var images = document.id('images'), nav = images.getChildren('a.nav');
		if (nav.length) {
			nav.setStyle('opacity', 0.2).addEvents({
				'mouseenter': function() {
					this.set('tween', {'duration': 100}).fade(0.5);
				},
				'mouseleave': function() {
					this.set('tween', {'duration': 500}).fade(0.2);
				}
			});
			new bbAnimate({
				'container': images,
				'objects': '.image',
				'animation': 'scroll',
				'transition': 'sine:in:out',
				'duration': 750,
				'autoPlay': false
			});
		}
	}

	// Fade to tag line only, if you're not using IE.
	if (!Browser.Engine.trident) {
		var hideThese = $$('#bg, #menu, #content'), hideDelay;
		document.id('logo').addEvents({
			'mouseenter': function() {
				hideDelay = (function() {
					hideThese.set('tween', {'duration': 2000}).fade(0);
				}).delay(8000);
			},
			'mouseleave': function() {
				$clear(hideDelay || null);
				hideThese.set('tween', {'duration': 250}).fade(1);
			}
		});
	}
});
