/**************************************************
 * CRandomImage, version 0.10
 * Copyright 2007 Ivengi BV. Benelux
 **************************************************/
 /*
CONSTRUCTOR
new CRandomImage(DivID,NumberOfImages,ImgClass,aImage);
DivID										-> ID of the DIV that is going to contain the images
NumberOfImages					-> Number Of images appearing in the div
ImgClass		  					-> Class that all the images should have
aImage									-> Array Of images

FUNCTIONS
Start();								-> Get new set of random images

###########
# EXAMPLE #
###########

<script type="text/javascript" src="CRandomImage.js"></script>
<script type="text/javascript" src="imanagerexample.js"></script>  // LINK TO aImage array
<script type="text/javascript">
	var RandomImage = new CRandomImage("imagebar",3,"",aImage);
</script>
	
<div id="imagebar"></div>	


%%%%%%%%% imanagerexample.js (file to be created in imanager OR a non-dynamic file on the server) %%%%%%%%%%

var aImage = new Array();
aImage.push("fun013.jpg"); 
aImage.push("89-30-1.jpg"); 
aImage.push("http://www.wilsoninfo.com/300x300.gif"); 
aImage.push("06.jpg"); 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

*/
 

function CRandomImage(DivID,NumberOfImages,ImgClass,aImage){
		this.aSelectedImages 		= new Array();
		this.aUnSelectedImages 	= new Array();
		this.DivID							= DivID;
		this.NumberOfImages			= NumberOfImages;
		this.ImgClass						= ImgClass;
		
		this.aImage							= aImage;
 		var _this = this;
	 	this.addLoadHandler(function(){ _this.Start(); });
}

CRandomImage.prototype.Start = function() {
	this.aUnSelectedImages.splice(0,this.aUnSelectedImages.length); 
	this.aUnSelectedImages = this.aUnSelectedImages.concat(this.aImage);
	this.aSelectedImages.splice(0,this.aSelectedImages.length); 
	
	for(var i = 0; i < this.NumberOfImages; i++) {
		this.GetRandom();
	}
	
	var TargetDiv = document.getElementById(this.DivID);
	
	TargetDiv.innerHTML = "";
	for(var j = 0; j < this.aSelectedImages.length; j++) {
		TargetDiv.innerHTML += "<img class='" + this.ImgClass + "' src=\"" + this.aSelectedImages[j] + "\" />";
	}
}

CRandomImage.prototype.GetRandom = function() {
	if(this.aUnSelectedImages.length > 0) {
		var RandomId = Math.floor((this.aUnSelectedImages.length)*Math.random());
		this.aSelectedImages = this.aSelectedImages.concat(this.aUnSelectedImages[RandomId]);
		this.aUnSelectedImages.splice(RandomId,1);
	}
}

CRandomImage.prototype.addLoadHandler = function(handler)
{
	if(window.addEventListener)
	{
		window.addEventListener("load",handler,false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent("onload",handler);
	}
	else if(window.onload)
	{
		var oldHandler = window.onload;
		window.onload = function piggyback()
		{
			oldHandler();
			handler();
		};
	}
	else
	{
		window.onload = handler;
	}
}