ImageManager = {};

ImageManager.objects = {};

ImageManager.loadInterval = 1000;

ImageManager.loadAttempts = 10;

//--- public
/*
ImageManager.getSize = function(src){
	var img = new Image();
	img.src = src;
	
	alert(img.width);
	
	var i = 0;
	while(true){
		if(src.complete || i++ > 1000000){
			break;
		}
	}
	
	return [img.width, img.height];
};
*/

//--- public
ImageManager.load = function(src, func, params){
	if(typeof(params) == 'undefined'){
		var params = {};
	}
	
	var index = ImageManager.objects.length;
	
	ImageManager.objects[index] = {
		'image': 	null,
		'src':		src,
		'func':		func,
		'params':	params
	};
	
	ImageManager.loadImage(index, 1);
};

ImageManager.loadImage = function(index, attempt){
	if(attempt++ > ImageManager.loadAttempts){
		alert('Nie można załadować obrazka.');
		return;
	}
	
	var x = ImageManager.objects[index];
	
	if(x['image'] == null){
		x['image'] = new Image();
		x['image'].src = x['src'];
	}
	
	if(x['image'].complete)
		x['func'](x['image'], x['params']);
	else
		setTimeout('ImageManager.loadImage(' + index + ', ' + attempt + ')', ImageManager.loadInterval);
};