var mooScroll = new Class({
	
	//implements
	Implements: [Events, Options],

	//options
	options: {
		trigger: '.trigger',
		direction: 'forward'
	},
	
	//initialization
	initialize: function(options) {
		this.setOptions(options);
		var self = this;

    $$(document.body)[0].addEvent('click:relay('+ this.options.trigger +')', function(event, clicked){
		  event.preventDefault();
		  self.scroll(this);
		});
	},
	
	//a method that does whatever you want
	scroll: function(el) {
		if (this.options.direction == 'forward') {
      next_slide = new Element('div', {'class': 'slide next_slide'});
      next_slide.inject($$('#slider')[0]);
      $$('div.next_slide')[0].set('html', '');
		  $$('#'+ el.get('rel'))[0].clone(true, true).inject($$('div.next_slide')[0]);
		  var scrollEffect = new Fx.Morph($$('div.next_slide')[0], {duration: 500, transition: Fx.Transitions.linear.easeOut});
		  scrollEffect.addEvent('complete', function() {
        $$('div.current_slide')[0].destroy();
        $$('div.next_slide')[0].addClass('current_slide');
        $$('div.next_slide')[0].removeClass('next_slide');
		  });
      scrollEffect.start({
        'left': [900, 0]
      });
    } else if (this.options.direction == 'reverse') {

      previous_slide = new Element('div', {'class': 'slide previous_slide'});
      previous_slide.inject($$('#slider')[0], 'top');
      $$('div.previous_slide')[0].set('html', '');
		  $$('#'+ el.get('rel'))[0].clone(true, true).inject($$('div.previous_slide')[0]);


		  $$('div.current_slide')[0].setStyle('z-index', 2000);
		  var scrollEffect = new Fx.Morph($$('div.current_slide')[0], {duration: 700, transition: Fx.Transitions.linear.easeOut});
		  var scrollEffect2 = new Fx.Morph($$('div.previous_slide')[0], {duration: 700, transition: Fx.Transitions.linear.easeOut});
      scrollEffect.addEvent('complete', function() {
        $$('div.current_slide')[0].destroy();
        $$('div.previous_slide')[0].addClass('current_slide');
        $$('div.previous_slide')[0].removeClass('previous_slide');
      });
      scrollEffect.start({
        'left': [00, 978]
      });        
      scrollEffect2.start({
        'opacity': [0, 1]
      });        
    } else if (this.options.direction == 'none') {
      if (el.rel == "home-page") {
        el.setStyle('opacity', 0);
        $$('.current_slide #pageTitleLeft')[0].setStyle('opacity', 0);
        $$('.current_slide #slideCont')[0].setStyle('background', '#fff');
		    $$('div.current_slide')[0].setStyle('opacity', 0.2);
      }
      next_slide = new Element('div', {'class': 'slide next_slide'});
      next_slide.inject($$('#slider')[0]);
      $$('div.next_slide')[0].set('html', '');
		  $$('#'+ el.get('rel'))[0].clone(true, true).inject($$('div.next_slide')[0]);
		  var scrollEffect = new Fx.Morph($$('div.next_slide')[0], {duration: 300, transition: Fx.Transitions.linear.easeOut});
		  $$('div.next_slide')[0].setStyles({'opacity':0, 'left': 0});
		  scrollEffect.addEvent('complete', function() {
        $$('div.current_slide')[0].destroy();
        $$('div.next_slide')[0].addClass('current_slide');
        $$('div.next_slide')[0].removeClass('next_slide');
		  });

      scrollEffect.start({
        'opacity': [0, 1]
      });
            
    } else if (this.options.direction == 'logo') {

        if ($$('div.current_slide')[0].getFirst().get('id') != 'home-page' ) {
        
          previous_slide = new Element('div', {'class': 'slide previous_slide'});
          previous_slide.inject($$('#slider')[0], 'top');
          $$('div.previous_slide')[0].set('html', '');
		      $$('#'+ el.get('rel'))[0].clone(true, true).inject($$('div.previous_slide')[0]);
		      $$('div.current_slide')[0].setStyle('z-index', 2000);
		      var scrollEffect = new Fx.Morph($$('div.current_slide')[0], {duration: 700, transition: Fx.Transitions.linear.easeOut});
		      var scrollEffect2 = new Fx.Morph($$('div.previous_slide')[0], {duration: 700, transition: Fx.Transitions.linear.easeOut});
          scrollEffect.addEvent('complete', function() {
            $$('div.current_slide')[0].destroy();
            $$('div.previous_slide')[0].addClass('current_slide');
            $$('div.previous_slide')[0].removeClass('previous_slide');
          });
          scrollEffect.start({
            'left': [00, 978]
          });        
          scrollEffect2.start({
            'opacity': [0, 1]
          });
        }
    }

	}
	
});


