jQuery(document).ready(function() {
	var currentTop = 1;
	var currentChange = 0;
	var changeTopAfter = 5;
	var topChangeSpeed = 50;
	var startAnimateAfter = 25000;
	var changePuzzelAfter = 3000; 
	var cssClass = 'none';

	function startAnimate(){		
		jQuery('#top').everyTime(changePuzzelAfter, 'topAnimation', function() {
			var puzzels = jQuery('span.topPuzzel[rel!=\'light\'][id!=\'logo\']');
			puz1 = Math.ceil(Math.random()*puzzels.length);
			puz2 = puz1;
			while(puz1 == puz2){
				puz2 = Math.ceil(Math.random()*Number(puzzels.length));
			}
			if(currentTop == 1){
				jQuery('span.topPuzzel').removeClass('b1light');
			}else{
				jQuery('span.topPuzzel').removeClass('b2light');
			}
			jQuery('span.topPuzzel').attr('rel', '');
			
			if(currentTop == 1){
				cssClass = 'b1light';
			}else{
				cssClass = 'b2light';
			}
		
			jQuery(puzzels[puz1]).addClass(cssClass);
			jQuery(puzzels[puz2]).addClass(cssClass);
			jQuery(puzzels[puz1]).attr('rel', 'light');
			jQuery(puzzels[puz2]).attr('rel', 'light');
			
			currentChange++;
		
			if(currentChange == changeTopAfter){
				if(currentTop == 1){
					currentTop = 2;
				}else{
					currentTop = 1;			
				}
				switchTop(currentTop);
				currentChange = 0;
			}
		});	
	}
	
	function switchTop(top){
		jQuery('#top').stopTime('topAnimation');
		fadeOutTop(0, top);
	}
	
	function fadeOutTop(puzzelNr, top){
		var top = top;
		puzzels = jQuery('span.topPuzzel:visible');
		var puzzelsCount = puzzels.length;
		puzzel = puzzels[puzzelNr];
		jQuery(puzzel).removeClass('b1light');
		jQuery(puzzel).removeClass('b2light');
		puzzelNr++;
		if(top == 2){
			jQuery(puzzel).fadeOut(topChangeSpeed, 
				function(){
					jQuery(this).addClass('b2'); 
					jQuery(this).fadeIn(topChangeSpeed);
					if(puzzelsCount == puzzelNr){
						jQuery('#top').oneTime(startAnimateAfter, 'topAnimation', function() {
							startAnimate();
						});
					}else{ 
						fadeOutTop(puzzelNr, top);
					}
				});
		}else{
			jQuery(puzzel).fadeOut(topChangeSpeed, 
				function(){
					jQuery(this).removeClass('b2'); 
					jQuery(this).fadeIn(topChangeSpeed); 
					if(puzzelsCount == puzzelNr){
						jQuery('#top').oneTime(startAnimateAfter, 'topAnimation', function() {
							startAnimate();
						});
					}else{ 
						fadeOutTop(puzzelNr, top);
					}
				});
		}
	}
	
	jQuery('#top').oneTime(startAnimateAfter, 'topAnimation', function() {
		startAnimate();
	});
	
});
