
/* plugin */
var ScrollSidebar = new Class({
	
	Implements: [Options],
	
	options: {
		offsets: { x:0, y:0 },
		mode: 'vertical',
		positionVertical: 'top',
		positionHorizontal: 'right',
		speed: 400
	},
	
	initialize: function(menu,options) {
		/* initial options */
		this.setOptions(options);
		this.menu = $(menu);
		this.move = this.options.mode == 'vertical' ? 'y' : 'x';
		this.property = this.move == 'y' ? 'positionVertical' : 'positionHorizontal';
		/* ensure a few things */
		var css = { position: 'absolute', display:'block' };
		css[this.options.positionVertical] = this.options.offsets.y;
		css[this.options.positionHorizontal] = this.options.offsets.x;
		this.menu.setStyles(css).set('tween',{ duration: this.options.speed });
		/* start listening */
		this.startListeners();
	},
	
	startListeners: function() {
		var action = function() {
			this.setPosition($(document.body).getScroll()[this.move] + this.options.offsets[this.move]);
		}.bind(this);
		window.addEvent('scroll',action);
		window.addEvent('load',action);
	},
	
	setPosition: function(move) {
		this.menu.tween(this.options[this.property],move);
		return this;
	}
});



/*
window.addEvent('domready',function() { /*
	//paired with smooooothscroll
	new SmoothScroll({ duration:300 });
	//vars
	var menu = $('sidebar-menu'), offsetY = 20, offsetX = 20, speed = 450;
	var setPosition = function(top) {
		var scroll = $(document.body).getScroll();
		menu.tween('top',scroll.y + offsetY);
	};
	//settings
	menu.set('tween',{ duration: speed }).setStyles({
		position: 'absolute',
		right: offsetX,
		top: offsetY,
		opacity: 0.8
	});
	//events
	window.addEvents({
		scroll: setPosition,
		load: setPosition
	}); 
	
	//paired with smooooothscroll
	new SmoothScroll({ duration:300 });
	$('sidebar-menu').set('opacity',0.8);
	var sidebar = new ScrollSidebar('sidebar-menu',{
		offsets: {
			x: 20,
			y: 60
		}
	});
	
});
*/