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

var timeout;
var container1;
var locked;

IKSlider.prototype = {
	settings: {
		'slideWidth': 675,
		'lastPositionInt': 0,
		'duration': 0.5
	},
	initialize: function () {
		if($$('#slide-container-imagespx')[0])	
		{
			container1 	   		  			 = $$('#slide-container-imagespx')[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 linkPrev 					 = $$('.slide-prev-page')[0];
			var linkNext 					 = $$('.slide-next-page')[0];	
			locked 							 = false;		
			linkPrev.observe('click', function (event) {
				event.stop();
				IKSlider.prototype.slideToPrevious();
			});		
			linkNext.observe('click', function (event) {
				event.stop();
				IKSlider.prototype.slideToNext();
			});
		}
	},
	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;
					}
				});			
			}
		}
	},
	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'];
				//alert(nextPositionInt);
				new Effect.Morph(container1, {
					duration: this.settings['duration'],
					style: 'left:' + nextPositionInt + 'px',
					afterFinish: function () {
						locked = false;
					}
				});			
			}
		}
	},	
	getCurrentPositionInt: function () {
		var left = container1.getStyle('left');
		return parseInt(left.replace(/px/g, ''))
	}
}
document.observe('dom:loaded', function () { 
	new IKSlider(); 
});
