var WinesRotator = new Class({
	options: {
		size: 7
	},
	initialize: function(element, options) {
		this.element = $(element);
		this.setOptions(options);
		$extend(element, this);
		element.position=0;
		element.inTransition=false;
		element.state=0;
		element.originalMarginLeft = element.getElement('.bottles').getStyle('margin-left').toInt();
		element.tween = new Fx.Tween(element.getElement('.bottles'), {
			property: 'margin-left',
			onComplete: function() {
				if (element.state == 1) {
					element.getElement('.bottles').grab(element.getElements('.bottles img')[element.options.size-1], 'top');
					element.getElement('.bottles').setStyle('margin-left', element.originalMarginLeft);
				} else if (element.state == -1) {
					element.getElement('.bottles').grab(element.getElements('.bottles img')[0], 'bottom');
					element.getElement('.bottles').setStyle('margin-left', element.originalMarginLeft);
				}
				element.state=0;
				element.inTransition=false;
				element.updateinfo();
			}
		});
		element.getElement('.nav .prev').addEvent('click', function(e) {
			if (!element.inTransition) {
				element.state=1;
				var marginleft = element.getElement('.bottles').getStyle('margin-left').toInt();
				element.tween.start(marginleft+95);
				element.inTransition=true;
				element.decreasePosition();
			}
		});
		element.getElement('.nav .next').addEvent('click', function(e) {
			if (!element.inTransition) {
				element.state=-1;
				var marginleft = element.getElement('.bottles').getStyle('margin-left').toInt();
				element.tween.start(marginleft-95);
				element.inTransition=true;
				element.increasePosition();
			}
		});
		element.updateinfo();
	},
	updateinfo: function() {
		var element = this.element;
		element.getElements('.overlay .info').setStyle('display','none');
		element.getElements('.overlay .info')[element.position].setStyle('display','block');
	},
	increasePosition: function() {
		var element = this.element;
		element.position++;
		if (element.position > element.options.size - 1) {
			element.position = 0;
		}
	},
	decreasePosition: function() {
		var element = this.element;
		element.position--;
		if (element.position < 0) {
			element.position = element.options.size - 1;
		}
	}
});
WinesRotator.implement(new Options, new Events);