var ScrollSidebar = new Class({
  
  Implements: [Options],
  
  options: {
    offsets: { x:0, y:315 },
    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;
  }
});

/* usage */
window.addEvent('domready',function() {
  $('aside').set('opacity',1); //opacity effect for fun
  if (window.location.pathname == '/offerte-aanvragen.aspx') {
      var sidebar = new ScrollSidebar('aside',{
        offsets: {
          x: 0,
          y: 315
        }
       });
  }
});

//vars
var menu = $('aside'), offsetY = 315, offsetX = 0, 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,
});
//events

if (window.location.pathname == '/offerte-aanvragen.aspx') {
    window.addEvents({
      scroll: setPosition,
      load: setPosition
    });
}
