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

var timeout;
var container1;
var containerContentGallery1;
var locked;

IPSlider.prototype = {
	settings: {
		'slideWidth': 594,
		'lastPositionInt': 0,
		'duration': 0.6,
		'totalImagesLi': 0
	},
	initialize: function () {
		if($$('#slide-property-images')[0])	
		{
			container1 	   		  			 = $$('#slide-property-images')[0];
			containerContentGallery1		 = $$('#thisContentGallery')[0];	
			var imagesLi					 = $$('#slide-property-images li');
			var countImagesLi				 = 0;
			imagesLi.each(function (item){
				countImagesLi++;
			});
			this.settings['totalImagesLi'] 	 = countImagesLi;
			//alert(this.settings['totalImagesLi']);
			var container1Width 		  	 = container1.getStyle('width');
			var widthInt 	   		  		 = parseInt(container1Width.replace(/px/g, ''));
			var lastPositionInt   	  		 = widthInt - this.settings['slideWidth'];
			this.settings['lastPositionInt'] = lastPositionInt * -1;
			
			var linkPrev1 					 = $$('.nav-atras')[0];
			var linkNext1 					 = $$('.nav-adelante')[0];	
			locked 							 = false;		
			linkPrev1.observe('click', function (event) {
				event.stop();
				IPSlider.prototype.slideToPrevious();
			});		
			linkNext1.observe('click', function (event) {
				event.stop();
				IPSlider.prototype.slideToNext();
			});
			linkPrev1.hide();
			if(this.settings['totalImagesLi'] <=6)
				linkNext1.hide();
			IPSlider.prototype.hideLinksSlider();
			
//			setTimeout("IPSlider.prototype.slideToNext();",1000);
			
		}
	},
	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;
						IPSlider.prototype.hideLinksSlider();
					}
				});
				//clearInterval(idInternal);
				//setTimeout("IPSlider.prototype.slideToPrevious();",1000);
			}
			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;
						IPSlider.prototype.hideLinksSlider();
						//setTimeout("IPSlider.prototype.slideToNext();",1000);
					}
				});			
			}
		}
	},
	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;
						IPSlider.prototype.hideLinksSlider();
					}
				});
				//setTimeout("IPSlider.prototype.slideToNext();",1000);
			}
			else
			{
				var currentPositionInt = this.getCurrentPositionInt();
				var nextPositionInt	   = currentPositionInt + this.settings['slideWidth'];
				//alert(nextPositionInt);
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
						IPSlider.prototype.hideLinksSlider();
						//setTimeout("IPSlider.prototype.slideToPrevious();",1000);
					}
				});			
			}
		}
	},	
	getCurrentPositionInt: function () {
		var left = container1.getStyle('left');
		return parseInt(left.replace(/px/g, ''))
	},
	hideLinksSlider: function(){
		if(container1.getStyle('left') == '0px')
		{
			//alert('cero');
			$$('.nav-atras')[0].hide();
			$$('.nav-adelante')[0].show();
		}
		else if(container1.getStyle('left') == this.settings['lastPositionInt'] + 'px')
		{
			//alert('ultimo');
			$$('.nav-atras')[0].show();
			$$('.nav-adelante')[0].hide();
		}
		else
		{
			//alert('mitad');
			$$('.nav-atras')[0].show();
			$$('.nav-adelante')[0].show();
		}
		if(this.settings['totalImagesLi'] <=6)
		{
			//alert('neutro');
			$$('.nav-adelante')[0].hide();
			$$('.nav-atras')[0].hide();
		}
		//reduzco el with de acuerdo al numero de imagenes.
		if(this.settings['totalImagesLi']>6)
		{
			var positionSliderImages	= this.getCurrentPositionInt();
			var numpositionActual		= ((positionSliderImages/594)*-1);
			var totalImagesWidth		= 99*this.settings['totalImagesLi']; 
			
			var reduceWidth				= totalImagesWidth - (594*numpositionActual);
			
			//alert('>>imagenes>>'+totalImagesWidth+' >>>positionActual>>>'+positionSliderImages+'<<>>posicion>'+numpositionActual);	
			if(reduceWidth==0)
				reduceWidth = 594;
			else if(reduceWidth >594)
				reduceWidth = 594;
				
			//alert('Reduce '+ reduceWidth);
		}
		else
			var reduceWidth	= 99*this.settings['totalImagesLi']; 
		
		locked = true;
		new Effect.Morph(containerContentGallery1, {
					duration: 0.4,
					style: 'width:' + reduceWidth + 'px',
					afterFinish: function () {
						locked = false;
					}
				});
		//document.getElementById('viewElement').innerHTML =  reduceWidth;
		
	}
}
document.observe('dom:loaded', function () { 
	new IPSlider(); 
});
