jQuery(document).ready(function() {
	// user variables ----------------------------------------------
	var delay         = 10; //s
	var fadeColor	  = "#fff";
	var target        = "headerimage";
	var wRotorUrl     = "/w_rotor";
	var fadeInTime	  = 1400; //ms
	var fadeMidTime	  = 500; //ms
	var fadeOutTime	  = 2000; //ms

	// script constants -------------------------------------------
	var imgDivIdName  = "w_rotor_img";

	// script variables -------------------------------------------
	var targetDiv	  = "#" + target;
	var imgDivId	  = "#" + imgDivIdName;
	var img			  = new Array();
	var imgAddresses  = new Array();
	var imgNo		  = 0;
	var loading		  = false;

	//-------------------------------------------------------------
				
	$(targetDiv).append('<div id="' + imgDivIdName + '"></div>').css({"padding" : 0});
	$(imgDivId).hide();

	$(imgDivId).css({
		"width" : $(targetDiv).width(),
		"height" : $(targetDiv).height(),
		"backgroundColor" : "transparent",
		"padding" : 0,
		"margin" : 0,
		"overflow" : "hidden",
		"position" : "relative"			
//		"position" : "absolute",		
//		"zIndex" : "1"
	});
	
	getAllImages(wRotorUrl, function(){
		loadImage();
	});		
	
	$.timer(delay * 1000, function (timer) {
		loadImage();		
	});

	function loadImage() {
		var url;
		if (!loading) {
			loading = true;			
			//imgNo = randNum(imgAddresses.length);
			url   = imgAddresses[imgNo];
			imgNo = imgNo + 1;
			if (imgNo == imgAddresses.length) {
				imgNo = 0;	
			}
			imgReload(url, function() {
				$(imgDivId).fadeOut(fadeOutTime, function() {
					$(imgDivId).html(img[imgNo]);
					$(targetDiv + ' img').css({"padding":0, "margin": 0, "border": 0});
					$(targetDiv).delay(fadeMidTime, function() {						
						$(imgDivId).fadeIn(fadeInTime);
						loading = false;
						//timer.stop();
					});					
				});				
			});			
		}		
	}

	function getAllImages(url, completeCallback) {
		$.get(url, function(data){
			imgAddresses = data.split(';');
			completeCallback();
		});
	}

	function randNum (num){
		now = new Date();
		seed = now.getSeconds();
		return Math.round(Math.random() * seed) % num;
	}

	function imgReload(img_src, completeCallback){
		img[imgNo] = new Image();
		$(img[imgNo]).attr('src', img_src);
		var loadWatch = setInterval(watch, 500);
		function watch(){
			if (img[imgNo].complete) {			
				//$('body').append("*");
				clearInterval(loadWatch);
				if (completeCallback) {
					completeCallback();
				}			
			} else {
				//$('body').append(".");
			}
		}
	}
	
});

