var packageScroller = new Class({
		options: {
			packages: [],
			counter: 0
		},
		initialize: function(options){
				this.setOptions(options);
				this.counter = this.options.counter;
				this.packages = [];
				this.effects  = [];
				this.effectsa  = [];
				this.running  = 0;
				this.addPackages(this.options.packages);
				var start = this.start();
		},
		addPackages: function(packages){
				$(packages).getChildren().each(function(package){
						this.packages.include($(package));
						this.effects[this.packages.indexOf(package)] = new Fx.Styles(package,{duration : 1000});
				}, this);
		},
		scrollLeft: function(){
			this.running = this.counter;
			cout = this.counter;
			this.start = this.effects[this.counter].start({'width':0,'margin-right':0,'margin-left':0}).chain(function(){$('pk'+cout).setStyles({'width':160,'margin-right':1,'margin-left':1}).injectInside($('paks'))})
			this.counter++;
			if(this.counter == this.packages.length)this.counter = 0;
		},
		scrollRight: function(){
			this.counter--;
			if(this.counter == -1)this.counter = this.packages.length-1;
			this.running = this.counter;;
			$('pk'+this.running).setStyles({'width':0,'margin-right':0,'margin-left':0}).injectTop($('paks'))
			this.effects[this.running].start({'width':160,'margin-right':1,'margin-left':1});

		},
		periodr: function(){
			$clear(this.per);
			if(this.effects[this.running].timer)
			{
				this.effects[this.running].stop();
				this.start.clearChain();
				this.effects[this.running].start({'width':160,'margin-right':1,'margin-left':1});
				this.counter--;
			}
			this.scrollRight();
			this.per = this.scrollRight.periodical(5000,this);
		},
		periodl: function(){
			$clear(this.per);
			if(this.effects[this.running].timer)
			{
				this.effects[this.running].stop();
				this.start.clearChain();
				var cout = this.running;
				this.effects[this.running].start({'width':0,'margin-right':0,'margin-left':0}).chain(function(){$('pk'+cout).setStyles({'width':160,'margin-right':1,'margin-left':1}).injectInside($('paks'))});
			}
			this.scrollLeft();
			this.per = this.scrollLeft.periodical(5000,this);
		},
		start: function(){
			this.scrollLeft();
			this.per = this.scrollLeft.periodical(5000,this);
		},
		Sleep: function (naptime){
	  naptime = naptime * 1000;
	  var sleeping = true;
	  var now = new Date();
	  var alarm;
	  var startingMSeconds = now.getTime();
	  while(sleeping){
		 alarm = new Date();
		 alarmMSeconds = alarm.getTime();
		 if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
		 sleeping = false;
	  }

   }

});
packageScroller.implement(new Options, new Events);

window.addEvent('domready',function(){
		if($defined($('paks')))
		{
			var scr = new packageScroller({
				packages : 'paks',counter:0
			})
			$('prev').addEvent('click', function(event) {
						event = new Event(event).stop();
						scr.periodr();
					});
			$('next').addEvent('click', function(event) {
						event = new Event(event).stop();
						scr.periodl();
					});

		}


})



