// JavaScript Document
var RVSlider = Class.create();

var timeout;
var container1;
var locked;

RVSlider.prototype = {
	settings: {
		'slideWidth': 781,
		'slideDuration': 8000,
		'lastPositionInt': 0,
		'duration': 1
	},
	initialize: function () {
		container1 	   		  			 = $$('#slide-container')[0];
		var container1Width 		  	 = container1.getStyle('width');
		var widthInt 	   		  		 = parseInt(container1Width.replace(/px/g, ''));
		var lastPositionInt   	  		 = widthInt - this.settings['slideWidth'];
		this.settings['lastPositionInt'] = lastPositionInt * -1;
		var links 						 = $$('.home2-stage-buts a');
		locked 							 = false;		
		links[0].observe('click', function (event) {
			event.stop();
			RVSlider.prototype.slideToPrevious();
		});		
		links[1].observe('click', function (event) {
			event.stop();
			RVSlider.prototype.slideToNext();
		});
		timeout = setTimeout('RVSlider.prototype.slideToNext()', this.settings['slideDuration']);
	},
	slideToNext: function() {
		if(!locked)
		{
			locked = true;
			if(container1.getStyle('left') == this.settings['lastPositionInt'] + 'px')
			{
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:0px',
					afterFinish: function () {
						locked = false;
					}
				});
			}
			else
			{
				var currentPositionInt = this.getCurrentPositionInt();
				var nextPositionInt	   = currentPositionInt - this.settings['slideWidth'];
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
					}
				});			
			}
			clearTimeout(timeout);
			timeout = setTimeout('RVSlider.prototype.slideToNext()', this.settings['slideDuration']);
		}
	},
	slideToPrevious: function() {
		if(!locked)
		{		
			locked = true;		
			if(container1.getStyle('left') == '0px')
			{
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:' + this.settings['lastPositionInt'] + 'px',
					afterFinish: function () {
						locked = false;
					}
				});
			}
			else
			{
				var currentPositionInt = this.getCurrentPositionInt();
				var nextPositionInt	   = currentPositionInt + this.settings['slideWidth'];
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
					}
				});			
			}
			clearTimeout(timeout);
			timeout = setTimeout('RVSlider.prototype.slideToNext()', this.settings['slideDuration']);
		}
	},	
	getCurrentPositionInt: function () {
		var left = container1.getStyle('left');
		return parseInt(left.replace(/px/g, ''))
	}
}
document.observe('dom:loaded', function () { 
	new RVSlider(); 
});
