window.addEvent('domready', function() 
{	
	if($('photoslide'))
	{
		var objPhotoSlide = new photoSlide($('photoslide'), $('image'));
	}
	
	var objFormCheck = new FormCheck('form',
	{
		display:
		{
			showErrors: 1
		}
	});
	
	ReMooz.assign($$('.zoom'));
});

var photoSlide = new Class(
{
	elPhotoContainer: null,
	elPhotoSlide: null,
	elPrevious: null,
	elNext: null,
	elTotal:null,
	elCurrent: 0,
	elSlideContainer: null,
	intWidth: 130,
	intShowNr: 5,
	objContainerFx: null,
	objPhotos: null,
	elOverlayerDiv1: null,
	elOverlayerDiv2: null,
	timer: 0,
	initialize:function(argElPhotoSlide, argElPhotoContainer)
	{
		var self = this;
		
		this.elPhotoContainer = argElPhotoContainer;
		this.elPhotoSlide = argElPhotoSlide;
		this.elTotal = this.elPhotoSlide.getElements('ul li').length;
		this.elSlideContainer = this.elPhotoSlide.getElements('ul')[0];
		this.objContainerFx = new Fx.Tween(this.elSlideContainer);
		this.objPhotos = argElPhotoSlide.getElements('a.image');

		this.elPrevious = this.elPhotoSlide.getElements('.nav-left')[0];
		this.elPrevious.addEvent('click', function(event)
		{
			event.stop();
			self.showPrevious();
		});
		
		this.elNext = this.elPhotoSlide.getElements('.nav-right')[0];
		this.elNext.addEvent('click', function(event)
		{
			event.stop();
			self.showNext();
		});
		
		this.makeViewable();
		this.checkButtons();
	},
	makeViewable: function()
	{
		var self = this;
		
		this.objPhotos.each(function(elPhoto)
		{
			elPhoto.addEvent('click', function(event)
			{
				event.stop();
				self.viewPhoto(elPhoto);
			});
		});
	},
	viewPhoto: function(argElPhoto)
	{
		var self = this;
		clearTimeout(this.timer);
		
		//this.elPhotoContainer.getElement('img').fade('out');
		var elImg = this.elPhotoContainer.getElement('img')
		
		var elNewImg = new Element('img', {
			src: argElPhoto.get('href')
		}).inject(this.elPhotoContainer).fade('hide').fade('in');
		
		this.timer = (function()
		{
			//console.log(elImg);
			elImg.destroy()
		}).delay(1000, {link: 'chain'});
		//this.elPhotoContainer.getElement('.overlayer').highlight('#fff');		
	},
	showPrevious: function()
	{
		if(this.elCurrent > 0)
		{
			this.elCurrent--;
			this.setPosition();
		}
	},
	showNext: function()
	{
		if((this.elCurrent + this.intShowNr) < this.elTotal)
		{
			this.elCurrent++;
			this.setPosition();
		}
	},
	setPosition: function()
	{
		var intLeft = -1 * (this.intWidth * this.elCurrent);
		this.objContainerFx.start('left', intLeft);
		this.checkButtons();
	},
	checkButtons: function()
	{
		// check if we got 3 or more images
		if(this.elTotal >= 3)
		{
			// hide next?
			if((this.elCurrent + this.intShowNr) == this.elTotal)
			{
				this.elNext.fade('out');
			}
			else
			{
				this.elNext.fade('in');
			}
		}
		else
		{
			// 3 or less
			this.elNext.fade('out');
		}
		
		// hide previous if position = 0
		if(this.elCurrent == 0)
		{
			this.elPrevious.fade('out');
		}
		else
		{
			this.elPrevious.fade('in');
		}	
	}
});
