// Slideshow //

var slideshowContainer = $('#img ul'); // moet een lijst zijn (ul)
var headersDir = '/uploaded/headers/';
var firstImgFilename = $(slideshowContainer).find('img').attr('src').replace(headersDir,'');
var headersList;
var counter = 1;
var limit;
var state = 'load';

$(window).load(function () {
	startSlideshow();
});

function startSlideshow(){
	
	$.ajax({
		url: "/headers.php",
		dataType: "json",
		success: function(json){
			headersList = json;
			limit = (headersList.length)-1; // -1 omdat length bij 1 begint ipv bij 0 zoals een array of dom nodes
			
			for ( index in headersList ) {
				if( headersList[index]['filename'] == firstImgFilename ){
					
					var tmp = headersList[0];
					headersList[0] = headersList[index];
					headersList[index] = tmp;
					
					setTimeout('slideshow();',headersList[index]['delay']);
					
					break;

				}
			}
		}
	});
	
}

function slideshow(){
	
	$(slideshowContainer).queue(function(){
		
		if( (counter <= limit) && state == 'load' ) {
				
			var img = new Image();
			
			$(slideshowContainer).append($('<li></li>')
				.css('z-index', 100-counter) // hardhandig een z-index geven zodat ook IE de bedoelde volgorde aanhoud
				.append(
					$(img).load(function() { // wachten totdat de afbeelding geladen is voordat we de bovenloggende afbeelding uitfaden
						
						if( counter == limit ) {

							$(slideshowContainer).find('li').eq(0).fadeIn(1500, function() {
																						 
								counter = 0;
								state = 'recycle';
								
								setTimeout('recycleSlideshow();',headersList[counter]['delay']);

								$(slideshowContainer).find('li').eq(counter).nextAll().show();
								
							});
						
						} else {
							
							$(slideshowContainer).find('li').eq(counter-1).fadeOut(1500, function() {
																								
								counter++;
								
								setTimeout('slideshow();',headersList[counter]['delay']);

							});
						
						}
						
					}).attr('src', headersDir+headersList[counter]['filename'])
				)
			);

		}

		$(this).dequeue();
	});
	
}

function recycleSlideshow (){
	
	$(slideshowContainer).queue(function(){
		
		if( (counter <= limit) && state == 'recycle' ) {
			
			if( counter == limit ) {

				$(slideshowContainer).find('li').eq(0).fadeIn(1500, function() {
																			 
					counter = 0;
					state = 'recycle';
					
					setTimeout('recycleSlideshow();',headersList[counter]['delay']);

					$(slideshowContainer).find('li').eq(counter).nextAll().show();
					
				});
			
			} else {
				
				$(slideshowContainer).find('li').eq(counter-1).fadeOut(1500, function() {
																					
					counter++;
					
					setTimeout('recycleSlideshow();',headersList[counter]['delay']);

				});
			
			}

		}

		$(this).dequeue();
	});
	
}
