var Images = 
{
	images: false,
	currentImage: 0,
	intervalID: false,
	images: [],
	
	init: function()
	{
		var e = Images.getImages();
		
		var j= 0;
		for (var i = 0; i<e.length; i++)
		{
			var a = e[i].getElementsByTagName('a');
			
			if (Images.isUrl(a[0].name))
			{
				Images.images[j] = a[0].name;
				a[0].setAttribute('onclick', 'Images.setCurrentImage(\'' + a[0].name + '\'); Images.stopLoop();');
				a[0].setAttribute('href', '#');
				j++;
			}
		}
		new Images.startLoop();
	},
	
	getImages: function()
	{
		var e = $('image-index').getElementsByTagName('li');
		return e;		
	},
	
	getCurrentImage: function()
	{
		alert($('image-viewer').getAttribute('src'));
	},
	
	setCurrentImage: function(file)
	{
		Images.currentImage = Images.images.indexOf(file);
		$('image-viewer').setAttribute('src', file);
		Images.setCounter();
	},
	
	startLoop: function()
	{
		Images.getImages();
		Images.intervalID = window.setInterval('Images.loop()', 7000);
	},
	
	stopLoop: function()
	{
		$('timeline').display = 'none';
		window.clearInterval(Images.intervalID);
	},
	
	loop: function()
	{
		Images.incCurrentImage();
		new Effect.Opacity('image-container', {from: 1.0, to: 0.0, duration: 0.2});
		window.setTimeout('Images.setCurrentImage(Images.images[Images.currentImage]);', 200);
		Images.setCounter();
		window.setTimeout('new Effect.Opacity(\'image-container\', {from: 0.0, to: 1.0, duration: 3.5})', 1000);
		//Images.startTimeline();
	},
	
	next: function()
	{
		Images.stopLoop();
		Images.incCurrentImage();
		Images.setCurrentImage(Images.images[Images.currentImage]);
	},
	
	previous: function(imgId)
	{
		Images.stopLoop();
		Images.decCurrentImage();
		Images.setCurrentImage(Images.images[Images.currentImage]);
	},
	
	setCounter: function()
	{
		var e = Images.getImages();
		for (var i=0; i<e.length; i++)
		{
			e[i].setAttribute('class', 'unselected');
		}
		$('image-' + Images.currentImage).setAttribute('class', 'selected');
	},
	
	startTimeline: function()
	{
		new Effect.Morph('timeline', {style: 'width: 100%;', duration: 6.9});
		new Effect.Morph('timeline', {style: 'width: 0;', duration: 0.1, queue: 'end'});
	},
	
	incCurrentImage: function()
	{
		Images.currentImage++;
		if (Images.currentImage > parseInt(Images.images.length)-1)
		{
			Images.currentImage = 0;
		}
	},
	
	decCurrentImage: function()
	{
		Images.currentImage--;
		if (Images.currentImage < 0)
		{
			Images.currentImage = parseInt(Images.images.length)-1;
		}
	},
	
	isUrl: function(url)
	{
	  var RegexUrl = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	  return RegexUrl.test(url);
	}
}
