var Site = {
	start: function() {
		new PageScroll();
		/*
		var menu = $("menu");
		var wrapper = $("wrapper");
		var pages = $("pages");

		var scroll = new Fx.Scroll(wrapper, {'link': 'cancel', 'duration': 500, 'wheelStops': false});

		var active = menu.getElement("a.active");

		menu.getElements("a").each(function(anchor) {
			anchor.addEvent("click", function(event) {
				new Event(event).stop();

				active.removeClass("active");
				active = this.addClass("active");

				var href = this.get("href").toURI();

				var fragment = href.get("fragment");

				var element = $(fragment);

				var eSize = element.getCoordinates(pages);
				var wSize = window.getSize();

				var offset = (wSize.x - eSize.width) / 2;

				scroll.start(eSize.left - offset, eSize.top);
			});
		});*/
		
		/* Tooltip */
		var tooltip = new Tips($$('.tooltip'));
		
		/* Home */
		var news = new viewer($$('#slideshow-1 .news)'),{
			mode: 'right'
		});
		$('button-prev').addEvent('click',news.previous.bind(news));
		$('button-next').addEvent('click',news.next.bind(news));

		/* vacatures */
		var vacatures = new viewer($$('#slideshow-vacatures .vacature)'),{
			mode: 'right'
		});
		$('button-prev-2').addEvent('click',vacatures.previous.bind(vacatures));
		$('button-next-2').addEvent('click',vacatures.next.bind(vacatures));

		/* Contact */
		var contact = new viewer($('slideshow-3').getChildren(),{
			mode: 'right'
		});
		var handles = $$('#handles li');
		handles.each(function(el,i){el.addEvent('mouseover',contact.walk.bind(contact,[i,true]));});
		handles.each(function(el,i){el.addEvent('mouseout',contact.walk.bind(contact, 0));});
		
		/* Machtige machines */
		var machines = new viewer($$('#slideshow-2 img)'),{
			mode: 'right',
			interval: 4000
		}).play(true);
	}
}

var PageScroll = new Class({
	initialize: function() {
		this.wrapper = $("wrapper");
		this.pages = $("pages");

		this.scroll = new Fx.Scroll(this.wrapper, {'link': 'cancel', 'duration': 1500, 'wheelStops': false});

		this.active = document.getElement("a.active");
		if(this.active) {
			this.go(this.active);
		}

		this.links = $$(document.links);
		this.links.each(function(link) {
			link.addEvent("click", this.onClick.bindWithEvent(this, link));
		}.bind(this));
	}, 

	onClick: function(event, link) {
		if(this.go(link)) {
			event.preventDefault();
		}
	},

	go: function(link) {
		var uri = link.get("href").toURI();
		var fragment = uri.get("fragment");
		var element = this.pages.getElement("#" + fragment + ".container");

		if(element) {
			this.active.removeClass("active");
			this.active = link.addClass("active");

			var eSize = element.getCoordinates(this.pages);
			var wSize = window.getSize();

			var offset = (wSize.x - eSize.width) / 2;

			this.scroll.start(eSize.left - offset, eSize.top);

			return true;
		} else {
			return false;
		}
	}
});

window.addEvent("domready", Site.start);