/**
 * @author      Dipl.-Ing. (FH) André Fiedler / ö_konzept Zwickau <a.fiedler@oe-konzept.de>
 * @license     http://www.creativecommons.org/licenses/by-nc-nd/3.0/deed.de
 * @version     1.0
 * @link        http://www.oe-konzept.de
 */

window.addEvent('domready', function()
{
	var five_cols = {
		'elements': $$('.five_cols .col'),
		'activeindex': 0,
		'slider_sleeps': false,
		'slider': function(){},
		'runnerid': 0,
		'duration': 'short',
		'firstrun': true,
		'starter': null,
		'images_loaded': 0
	};
	
	five_cols.starter = function()
	{
		five_cols.images_loaded++;
		if(five_cols.images_loaded == 5)
		{
			five_cols.runnerid = five_cols.slider.periodical(200);
		}
	}
	
	if(five_cols.elements.length > 0)
	{
		five_cols.elements.each(function(el, i)
		{
			var col_img = el.getElement('.col_image');
			col_img.setStyle('opacity', 0.5);
			
			var img = col_img.getElement('img');
			img.addEvent('load', five_cols.starter);
			img.set('src', img.get('src')); // Fire onLoad Event
			
			el.addEvents({
			
				'mouseenter': function(e)
				{
					five_cols.slider_sleeps = true;
					five_cols.elements[five_cols.activeindex].getElement('.col_image').fade(0.5);
					five_cols.elements[five_cols.activeindex].removeClass('active');
					five_cols.activeindex = i;
					
					var col_img = this.getElement('.col_image');
					col_img.set('tween', {duration: 'short'});
					col_img.fade('in');
					this.addClass('active');
				},
				
				'mouseleave': function(e)
				{
					five_cols.slider_sleeps = false;
				}
			
			});
		});
		
		five_cols.elements[five_cols.activeindex].getElement('.col_image').fade('show');
		five_cols.elements[five_cols.activeindex].addClass('active');
		
		five_cols.slider = function()
		{
			if(!five_cols.slider_sleeps)
			{
				var col_img = five_cols.elements[five_cols.activeindex].getElement('.col_image');
				col_img.set('tween', {duration: five_cols.duration});
				col_img.fade(0.5);
				five_cols.elements[five_cols.activeindex].removeClass('active');
				
				five_cols.activeindex++;
				if(five_cols.activeindex == five_cols.elements.length)
				{
					five_cols.activeindex = 0;
					if(five_cols.firstrun)
					{
						five_cols.firstrun = false;
						five_cols.duration = 'long';
						$clear(five_cols.runnerid);
						five_cols.runnerid  = five_cols.slider.periodical(5000);
					}
				}
				
				col_img = five_cols.elements[five_cols.activeindex].getElement('.col_image');
				col_img.set('tween', {duration: five_cols.duration});
				col_img.fade('in');
				five_cols.elements[five_cols.activeindex].addClass('active');
			}
			else
			{
				five_cols.firstrun = false;
				five_cols.duration = 'long';
				$clear(five_cols.runnerid);
				five_cols.runnerid  = five_cols.slider.periodical(5000);
			}
		}
	}
});

