ImageLoader = {
	PreLoad: new Array(),
	TempImage: null,
	Timer: null,
	CurrentID: 0,
	
	Update: function(_id_to, _uri) {
		
		ImageLoader.hideImage(_id_to, _uri);
		
		/*if(ImageLoader.PreLoad.length == 0 || !inArray(ImageLoader.PreLoad, _uri)) {
			ImageLoader.TempImage = new Image();
			ImageLoader.TempImage.src = _uri;
			
			ImageLoader.CheckComplete(_uri, _id_to);
			
			ImageLoader.PreLoad[ImageLoader.PreLoad.length] = _uri;
		} else {
			document.getElementById(_id_to).src = _uri;
			ImageLoader.showImage(_id_to);
		}*/
	},
	
	Execute: function(_id_to, _uri) {
		if(ImageLoader.PreLoad.length == 0 || !inArray(ImageLoader.PreLoad, _uri)) {
			ImageLoader.TempImage = new Image();
			ImageLoader.TempImage.src = _uri;
			
			ImageLoader.CheckComplete(_uri, _id_to);
			
			ImageLoader.PreLoad[ImageLoader.PreLoad.length] = _uri;
		} else {
			document.getElementById(_id_to).src = _uri;
			ImageLoader.showImage(_id_to);
		}
	},
	
	CheckComplete: function(_uri, _id_to) {
		if(ImageLoader.TempImage.complete) {
			document.getElementById(_id_to).src = ImageLoader.TempImage.src;
			ImageLoader.showImage(_id_to);
		} else {
			ImageLoader.Timer = setTimeout("ImageLoader.CheckComplete('" + _uri + "', '" + _id_to + "')",10);
		}
	},
	
	hideImage: function(_id, _url) {
		$('#' + _id).animate(
			{opacity: 0}, 
			null, 
			null, 
			function() {
				ImageLoader.Execute(_id, _url);
			}
		);
	//	ImageLoader.Execute(_id, _url);
	},
	
	showImage: function(_id) {
		$('#' + _id).animate({opacity: 1.0});
	}
};

function inArray(_array, _value) {
	for(var i = 0; i < _array.length; i++) {
		if(_array[i] == _value) {return true;}
	}
	return false;
}