function ImageChanger(){
	
	var container = '';
	var images = new Array();
	var imageObjects = new Array();
	var activeImage_key = -1;
	
	this.preloadImage = function(key, hash){
		if(key < imageObjects.length) {
			var newhash = hash + imageObjects[key].width;
	    	var img = document.createElement("img");
	    	img.src = imageObjects[key].src;
	    	container.appendChild(img);
	    	images.push(img)
	    	self.preloadImage(key+1, newhash)
		}
		else {
	    	self.allToAlphaZero();
	    	self.showNext();
		}
	}
	
    this.init = function(){	
    	
		container = dojo.byId('topImages');
    	if (container)
		self.preloadImage(0);
    }
    
    this.setImages = function(imagesArray) {
    	imageObjects = imagesArray;
    }
    
    this.allToAlphaZero = function() {
		for (var  i  = 0;  i<images.length;  i++)  {
			dojo.style(images[i], "opacity", "0");
		}
    }
    this.showNext = function() {
    	if(activeImage_key < images.length - 1)
    		self.showImage(activeImage_key + 1);
    	else 
    		self.showImage(0);
    	
    	window.setTimeout("imageChanger.showNext()", 5000);
    }
    
    this.showImage = function(image_key) {
    	//console.log(image_key + "," + activeImage_key);
    	dojo.style(images[image_key], "display", "block");
    	
    	var fxShowImage = dojo.animateProperty({
	            node: images[image_key],
	            duration: 2000,
				easing: dojo.fx.easing.quadInOut,
	            properties: {
    				opacity: {
	                    end: 1
	                }
	            },
				onEnd: function(){
	            	container.style.backgroundImage = "none";
	    		}
    	});
    	
    	fxShowImage.play();
		
    	tmp_activeImage_key = activeImage_key;
    	
    	if(activeImage_key > -1) {
	    	var fxHideImage = dojo.animateProperty({
	            node: images[activeImage_key],
	            duration: 2000,
				easing: dojo.fx.easing.quadInOut,
	            properties: {
					opacity: {
	                    end: 0
	                }
	            },
				onEnd: function(){
	            	dojo.style(images[tmp_activeImage_key], "display", "none");
	    		}
	    	});	
			
	    	fxHideImage.play();
    	}
    	
     	activeImage_key = image_key;
     	
    }
    
    var self = this;
}

var imageChanger = new ImageChanger();


dojo.addOnLoad(function(){
	//imageChanger.init();
});


