/**
 * @author Richard Groenendijk
 */
$(function(){
	var settings = {
		url:"visuals.xml",
		success: $.visualCaroussel.init
	}
	$.ajax(settings)	
})

function initVisuals(data){
	console.log(data);
	
}

$.visualCaroussel = {
	list:[],
	shuffled:[],
	index:0,
	init: function(data) {
		var list = $("visual", data);
		var shuffled = [];
		var shuffledCheck = [];
		
		var rnd;
		do{
			rnd = Math.floor(Math.random()*list.length);
			while(shuffledCheck[rnd] == true)
			{
				if(--rnd < 0) rnd = list.length-1;							
			}
			shuffled.push(rnd);
			shuffledCheck[rnd] = true;
			
		} while(shuffled.length < list.length)
				
		$.visualCaroussel.shuffled = shuffled;
		$.visualCaroussel.list = list;
		$.visualCaroussel.start();
	},
	start : function(){		
		$("#credits").hide();		
		$.visualCaroussel.show();
	},
	show: function(){		
		var visual = $.visualCaroussel.list[$.visualCaroussel.shuffled[$.visualCaroussel.index++]];
		if($.visualCaroussel.index == $.visualCaroussel.list.length) $.visualCaroussel.index = 0;
		var src = $("img", visual).attr("src");
		var credits = $("credits", visual).text();
		var image = new Image();
		$(image).bind("load", function(){
			$(this).unbind("load");
			$("#visual").append($(this).fadeIn(1000,$.visualCaroussel.wait));
			$("#credits").fadeIn(1200);
		});
		$(image).attr("src",src).hide();
		
		$("#credits").html(credits);		
	},
	wait:function(){
		$img = $("img","#visual"); 
		if($img.length > 1) $($img[0]).remove();
		setTimeout($.visualCaroussel.hide,6000);
	},
	hide: function(){
		$("#credits").fadeOut(300, $.visualCaroussel.show);
	},
	stop : function(){}
	
}



