window.addEvent('domready', function()
{
	if($('slideshow_images'))
	{
		// Images array
		var a_images = new Array();
		a_images[0] = new Array('/images/slideshow/picture_1_1.jpg', '/images/slideshow/picture_1_2.jpg');
		a_images[1] = new Array('/images/slideshow/picture_2_1.jpg', '/images/slideshow/picture_2_2.jpg');
		a_images[2] = new Array('/images/slideshow/picture_3_1.jpg', '/images/slideshow/picture_3_2.jpg');
		a_images[3] = new Array('/images/slideshow/picture_4_1.jpg', '/images/slideshow/picture_4_2.jpg');

		// Set first images
		$('slideshow_1_1').getElement('img').set('src', a_images[0][0]);
		$('slideshow_1_1').addClass('_visible');
		$('slideshow_1_2').setStyle('opacity', '0');
		$('slideshow_2_1').getElement('img').set('src', a_images[1][0]);
		$('slideshow_2_1').addClass('_visible');
		$('slideshow_2_2').setStyle('opacity', '0');
		$('slideshow_3_1').getElement('img').set('src', a_images[2][0]);
		$('slideshow_3_1').addClass('_visible');
		$('slideshow_3_2').setStyle('opacity', '0');
		$('slideshow_4_1').getElement('img').set('src', a_images[3][0]);
		$('slideshow_4_1').addClass('_visible');
		$('slideshow_4_2').setStyle('opacity', '0');
		
		var i_interval = 5000;

		// Periodical Tween
		var timerSlideshow = function()
		{	
			// Generate random number
			var i_iterator = $random(0, 3);
			var o_visible;
			var o_notvisible;
			var i_nextArrayPointer;

			
	
			// Get a slideshow
			var o_selectedSlideshow = $('slideshow_'+(i_iterator +1)+'').getElements('div');			
			o_selectedSlideshow.each(function(o_element)
			{
				if(o_element.hasClass('_visible')) // Determine current visible div
				{
					o_visible = o_element; 			
				}
				else
				{
					o_notvisible = o_element;
				}
			});
			// Loop array
			$each(a_images[i_iterator], function(result, key)
			{
	
				// Determine current array key
				if(result == o_visible.getElement('img').get('src'))
				{
					// alert(result+'='+key);
					i_nextArrayPointer = (key +1);
					
					if(getImage(a_images[i_iterator], (key +1)))
					{
						i_nextArrayPointer = (key +1);
					}
					else
					{
						i_nextArrayPointer = 0;
					}
				}
			});		
	
	
			// Determine image for the not visible div
			o_notvisible.getElement('img').set('src', a_images[i_iterator][i_nextArrayPointer]);
			
			// Create tweens
			var o_Tween1 = new Fx.Tween(o_visible, {duration: 2000});
			var o_Tween2 = new Fx.Tween(o_notvisible, {duration: 2000});
			
			// Start tweens
			o_Tween1.start('opacity', 1, 0);
			o_Tween2.start('opacity', 0, 1);
			
			// Switch the currently visible div
			o_visible.removeClass('_visible');
			o_notvisible.addClass('_visible');		
		}
		timerSlideshow.periodical(i_interval);		
		
		// Returns true if the array index is not null
		function getImage(a_images, iterator)
		{
			if(a_images[iterator] != null)
			{
				return true;
			}
			else
			{
				return false;
			}
		}
	}
});
