//------------------------------------------------------------------------------
function ImageLoader(path, callback, callbackArg)
{
	this.callback = callback;
	this.callbackArg = callbackArg;

	this.image = new Image;
	
	this.image.onload = ImageLoader.prototype.onload;
	this.image.onerror = ImageLoader.prototype.onerror;
	this.image.onabort = ImageLoader.prototype.onabort;
	
    this.image.loader = this;
    
	this.image.src = path;
}

//------------------------------------------------------------------------------
ImageLoader.prototype.onCompletion = function(success)
{
    this.callback(this.image, this.callbackArg, success);
}

//------------------------------------------------------------------------------
ImageLoader.prototype.onload = function()
{
    this.loader.onCompletion(true);
}

//------------------------------------------------------------------------------
ImageLoader.prototype.onerror = function()
{
    this.loader.onCompletion(false);
}

//------------------------------------------------------------------------------
ImageLoader.prototype.onabort = function()
{
    this.loader.onCompletion(false);
}