$(document).ready(function() {
	// Modules animatie
	
    var delayTime = 4000;
    var animTime = 1500;
    
	var Animation = new function() {
	    
	    var counter = 0;
	    var self = this;
	    var element = $(".cloud");
	    var iterations = element.length;

	    this.animation = function(item1, item2, item3, item4, item5) {
	        //
            $(item1)
                .animate({top: '43px', opacity: '1', filter: ''}, {duration: animTime*0.9, easing: 'easeInOutBack'});

            $(item2)
                .animate({top: '131px'}, {queue: false, duration: animTime*0.95, easing: 'easeInOutBack'})
                .animate({opacity: '0.6', filter: ''}, {queue: false, duration: animTime});
            
            $(item3)
                .animate({top: '219px'}, {queue: false, duration: animTime, easing: 'easeInOutBack'})
                .animate({opacity: '0.4', filter: ''}, {queue: false, duration: animTime});
            
            $(item4)
            	.animate({top: '338px'}, {queue: true, duration: animTime, easing: 'easeInOutBack'})
                .animate({opacity: 0, filter: ''}, {queue: true, duration: 0, easing: 'linear'});
           
            $(item5)
            	.animate({top: '338px'}, {queue: true, duration: animTime, easing: 'easeInOutBack'})
                .animate({opacity: 0, filter: ''}, {queue: true, duration: animTime*0.5, easing: 'linear'});
	    }
	    
	    this.runAnimation = function() {

	        var val = counter; 
	        if(val >= iterations) { val = val-iterations; }
	        element1Class = element.selector + "." + val;
	        
	        val = counter+1;
	        if(val >= iterations) { val = val-iterations; }
	        element2Class = element.selector + "." + val;
	        
	        val = counter+2;
	        if(val >= iterations) { val = val-iterations; }
	        element3Class = element.selector + "." + val;
	            
	        val = counter+3;
	        if(val >= iterations) { val = val-iterations; }
	        element4Class = element.selector + "." + val;
	            
	        val = counter+4;
	        if(val >= iterations) { val = val-iterations; }
	        element5Class = element.selector + "." + val;

	        window.setTimeout(function() { // Step 1

		        self.animation(element3Class, element2Class, element1Class, element4Class, element5Class);

	            window.setTimeout(function() { // Step 2
	                
		        	self.animation(element4Class, element3Class, element2Class, element5Class, element1Class);
	             	
		            window.setTimeout(function() { // Step 3
		                
					    self.animation(element5Class, element4Class, element3Class, element1Class, element2Class);
	
		            }, delayTime*0.8);

	            }, delayTime);

	        }, 4);

	    };

	    this.init = function() {

	        window.setTimeout(function() {
	            
	            if(counter >= iterations)
	            {
	                counter = counter - iterations;
	            }
	               
	            self.runAnimation();
	            
	            counter = counter+2;
	            
	            window.setTimeout(arguments.callee, (delayTime*2) + (animTime*0.5) + 4);

	        });

	    };

	};


	$(document).ready(function() {
		
		//$("img#loading").fadeIn('slow');
		
		//window.setTimeout(function() {
		//	$("img#loading").fadeOut('slow');
		//}, 100);
		
	    (function() {
	        Animation.init();
	    })();
	});
});
