//<!--=============================================================================
// Image Preloader
function ImagePreloader(images,callback){
	// store the callback
	this.callback = callback;

	// initialize internal state.
	this.nLoaded = 0;
	this.nProcessed = 0;
	this.aImages = new Array;

	// record the number of images.
	this.nImages = images.length;

	// for each image, call preload()
	for ( var h = 0; h < images.length; h++ ) 
	  this.preload(images[h]);
}

ImagePreloader.prototype.preload = function(image){
	// create new Image object and add to array
	var oImage = new Image; imCount=-1;
	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 = image;
	
	// assign the .src property of the Image object
	oImage.src = image;
}

ImagePreloader.prototype.onComplete = function(){
  this.nProcessed++;
  if ( this.nProcessed == this.nImages )
	   this.callback(this.aImages);
}

ImagePreloader.prototype.onload = function(){
	this.bLoaded = true; 
	imCount++; incQBar(imCount); 
	this.oImagePreloader.nLoaded++;
	this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onerror = function(){
	this.bError = true; 
	this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onabort = function(){
	this.bAbort = true;
	this.oImagePreloader.onComplete();
}
//-->