window.addEvent('domready', function() {
	var useOpacity = (!Browser.Engine.trident && navigator.appVersion.match('Chrome') == null);
	
	if (useOpacity) {
		$('sitenav').setStyle('opacity', 0);
		
		$('sitenav').set('tween', {
			'link': 'cancel',
			'duration': 250,
			'fps': 50,
			'transition': Fx.Transitions.Expo.easeIn
		});
		
		$('header').addEvents({
			'mouseenter': function() {$('sitenav').tween('opacity', 1);},
			'mouseleave': function() {$('sitenav').tween('opacity', 0)}
		});
	}
	
	var carousel = document.getElement('#scrolls');
	var scrolls = $$('#scrolls .tray .scroll');
	var tray = carousel.getElement('.tray');
	
	tray.setStyles({
		'width': scrolls.length * 100 + '%',
		'left': 0
	});
	
	if (scrolls.length > 1) {
		var btnPrevious = $('overview').getElement('.navi .previous');
		var btnNext = $('overview').getElement('.navi .next');
		
		$('overview').getElement('.navi').setStyle('display', 'block');
		
		if (useOpacity) {
			$('overview').getElement('.navi').setStyle('opacity', 0);
			
			$('overview').getElement('.navi').set('tween', {
				duration: 250,
				fps: 50,
				link: 'cancel',
				transition: Fx.Transitions.Expo.easeIn
			});
			
			$('overview').addEvents({
				'mouseenter': function() {
					$('overview').getElement('.navi').tween('opacity', 1);
				},
				'mouseleave': function() {
					$('overview').getElement('.navi').tween('opacity', 0);
				}
			});
			
			btnPrevious.set('tween', {
				'duration': 1000,
				'fps': 50,
				'link': 'cancel',
				'transition': Fx.Transitions.Sine.easeInOut
			});
			
			btnNext.set('tween', {
				'duration': 1000,
				'fps': 50,
				'link': 'cancel',
				'transition': Fx.Transitions.Sine.easeInOut
			});
			
			btnPrevious.setStyle('opacity', 0);
		}
		else {
			btnPrevious.setStyle('display', 'block');
		}		
		
		var scrollIndex = 0;
		
		tray.set('tween', {
			duration: 1000,
			fps: 50,
			link: 'cancel',
			transition: Fx.Transitions.Quad.easeInOut,
			onStart: function() {
				if (useOpacity) {
					if (scrollIndex == 0) {
						btnPrevious.tween('opacity', 0);
						btnNext.tween('opacity', 1);
					}
					else if (scrollIndex == scrolls.length - 1) {
						btnPrevious.tween('opacity', 1);
						btnNext.tween('opacity', 0);
					}
					else {
						btnPrevious.tween('opacity', 1);
						btnNext.tween('opacity', 1);
					}
				}
				else {
					if (scrollIndex == 0) {
						btnPrevious.setStyle('display', 'none');
						btnNext.setStyle('display', 'block');
					}
					else if (scrollIndex == scrolls.length - 1) {
						btnPrevious.setStyle('display', 'block');
						btnNext.setStyle('display', 'none');
					}
					else {
						btnPrevious.setStyle('display', 'block');
						btnNext.setStyle('display', 'block');
					}
				}
			}
		});
		
		btnPrevious.addEvent('click', function(e) {
			e.stop();
			
			if (scrollIndex > 0) {
				scrollIndex--;
				tray.tween('left', - carousel.getSize().x * scrollIndex);
			}
		});
		
		btnNext.addEvent('click', function(e) {
			e.stop();
			
			if (scrollIndex < scrolls.length - 1) {
				scrollIndex++;
				tray.tween('left', - carousel.getSize().x * scrollIndex);
			}
		});
		
		$('footer').getElements('ul.bookmarks a').each(function(anchor, i) {
			anchor.addEvent('click', function(e) {
				e.stop();
				window.location.replace(window.location.href.replace(/#.*/, '') + this.getProperty('href'));
				
				if (scrollIndex != i) {
					scrollIndex = i;
					tray.tween('left', - scrollIndex * carousel.getSize().x);
				}
			});
			
			if (anchor.getProperty('href') == window.location.href.match(/#.*/)) {
				scrollIndex = i;
			}
		});
		
		tray.tween('left', - scrollIndex * carousel.getSize().x);
	}
});
