var bitbots = {
	start: function() {
		new PageScroll();
			
	}

}

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

		this.scroll = new Fx.Scroll(this.wrapper, {'link': 'cancel', 'duration': 2500, '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", bitbots.start);
