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

var timeout;
var containerH;
var locked;

IHSlider.prototype = {
	settings: {
		'slideWidth': 600,
		'lastPositionInt': 0,
		'duration': 0.5
	},
	initialize: function () {
		if($$('#slide-container-images')[0])	
		{
			containerH 	   		  			 = $$('#slide-container-images')[0];
			var containerHWidth 		  	 = containerH.getStyle('width');
			var widthInt 	   		  		 = parseInt(containerHWidth.replace(/px/g, ''));
			var lastPositionInt   	  		 = widthInt - this.settings['slideWidth'];
			this.settings['lastPositionInt'] = lastPositionInt * -1;
			var linkPrev 					 = $$('#S_f_left')[0];
			var linkNext 					 = $$('#S_f_right')[0];	
			locked 							 = false;		
			linkPrev.observe('click', function (event) {
				event.stop();
				IHSlider.prototype.slideToPrevious();
			});		
			linkNext.observe('click', function (event) {
				event.stop();
				IHSlider.prototype.slideToNext();
			});
			//se mueve cada 7 segundos
			setInterval("IHSlider.prototype.slideToNext()",12000);
		}
	},
	slideToNext: function() {
		if(!locked)
		{
			locked = true;
			if(containerH.getStyle('left') == this.settings['lastPositionInt'] + 'px')
			{
				new Effect.Morph(containerH, {
					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(containerH, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
					}
				});			
			}
		}
	},
	slideToPrevious: function() {
		if(!locked)
		{		
			locked = true;		
			if(containerH.getStyle('left') == '0px')
			{
				new Effect.Morph(containerH, {
					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'];
				//alert(nextPositionInt);
				new Effect.Morph(containerH, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
					}
				});			
			}
		}
	},	
	getCurrentPositionInt: function () {
		var left = containerH.getStyle('left');
		return parseInt(left.replace(/px/g, ''))
	}
}
document.observe('dom:loaded', function () { 
	new IHSlider(); 
});
