
function ImageManager(options) 
{ 

	var __aItems = [];
	
	var index = 0;
    var percent = 0;
	var nbItems = 0;
	
	var _options = 
	{
		loading : options.loading || null,
		
		onComplete : options.onComplete,
		onCompleteParams : options.onCompleteParams || null
	}
	
    this.addItem = function(item) { 
        _aItems.push(item);
    } 
	
	this.add_aItems = function(aItems) { 
        _aItems = aItems;
    } 
	
	this.start = function()
	{

		var div = document.createElement('div');
		div.setAttribute("id", "image-garbage");
		//div.style.display = "none";
		document.body.appendChild(div);
		
		nbItems = _aItems.length;

		
		for(var i=0; i < nbItems; i++)
		{
			var item = _aItems[i];
			
			item.image = new Image();
			item.image.src = item.src;
			
			$(item.image).load(function()
			{
				
				index += 1;
				img = $(this);
				img.hide();
				
				$('#image-garbage').append(img);
				percent = parseInt(  (parseInt(index) / parseInt(nbItems) * 100 ) );
				
				
				if (_options.loading != null)
				{
					//$(_options.loading).css({width:percent+'%'});
					
					
					if (percent == 100 && _options.onComplete != null)
					{
						//_options.onComplete(_options.onCompleteParams);

						$(_options.loading).animate(
							{
								width:percent+'%'
							},
							{
								duration: 2000, 
								easing : 'easeOutCubic',
								complete:_options.onComplete
							}
						);
					}
					else
					{
						$(_options.loading).animate(
							{
								width:percent+'%'
							},
							{
								duration: 300, 
								easing : 'easeOutCubic'
							}
						);
					}

				}
				
				
			});

		}
		
		
	}
} 
