function ImagePreloader(imageSrc, callback){
	// store the callback
	this.callback = callback;
	this.aImages = new Array();
	this.preloader(imageSrc);
}
ImagePreloader.prototype.preloader = function(imageSrc)
{
	// create new Image object and add to array
	var oImage = new Image;
	this.aImages.push(oImage);
	// set up event handlers for the Image object
	oImage.onload = ImagePreloader.prototype.onload;
	oImage.onerror = ImagePreloader.prototype.onerror;
	oImage.onabort = ImagePreloader.prototype.onabort;

	// assign pointer back to this.
	oImage.oImagePreloader = this;
	oImage.bLoaded = false;
	oImage.source = imageSrc;
	// assign the .src property of the Image object
	oImage.src = imageSrc;
}


ImagePreloader.prototype.onComplete = function()
{
	var image = this.aImages.pop();
	if(image.bLoaded == true){
		this.callback(image);
	}
}
ImagePreloader.prototype.onload = function()
{
	this.bLoaded = true;
	this.oImagePreloader.onComplete();

}
ImagePreloader.prototype.onerror = function()
{
	this.bError = true;
	this.oImagePreloader.onComplete();
}
ImagePreloader.prototype.onabort = function()
{
	this.bAbort = true;
	this.oImagePreloader.onComplete();
}
function onImageLoad(image){
	divElement = document.getElementById('divWithBackgroundImage')
	divElement.style.backgroundImage = 'url('+image.src+')';
	divElement.style.backgroundPositionX = 'left';
	divElement.style.backgroundPositionY = 'bottom';
}
