JKow.namespace(["Util.Image"]);

/******************************************************
 * Initialize namespaces 
 ******************************************************/
JKow.Util.Image.preLoad = function(src, members) {
	var onerror = function(img){
		if (JKow.getConfig('DEBUG')){ alert(src + ' image could not be downloaded'); }
	}
	var onabort = function(img){
		if (JKow.getConfig('DEBUG')){ alert(src + ' image download aborted'); }
	}	
	var f = function(){
		var _src = src;
		var _members = members;
		var _onerror = onerror;
		var _onabort = onabort;
		var _el = new Image(); 

		_el.onabort = function() { _onabort(_el) };
		_el.onerror = function() { _onerror(_el) };
		for (var k in _members){
			if (typeof members[k] == "function"){
				_el[k] = function() { _members[k](_el) };
			} else {
				_el[k] = _members[k];
			}
			
		}
		_el.setAttribute('src', _src);
		return _el;
	}	
	return f();	
}
