function gsImageList()
{
    var _currentImage = -1;
    var _imagesList = new Array();
    
    this.addImage = function(src, idImage, callback) {
        var image = new Image();
        image.src = src;
        
        loadImage = function() {
            if (!image.complete) {
                setTimeout(loadImage, 50);
            } else {
                _imagesList[idImage] = image;
                if (typeof(callback) == 'function') {
                    callback();
                }
            }
        }
        
        setTimeout(loadImage);
    }
    
    this.addImages = function(images, callback) {
        var newImages = new Array();
        for (i in images) {
            var image = new Image();
            image.src = images[i].src;
            newImages[images[i].idImage] = image;
        }
        
        loadImages = function() {
            var load = true;
            for (i in newImages) {
                load = load && newImages[i].complete;
            }
            
            if (!load) {
                setTimeout(loadImages, 50);
            } else {
                for (i in newImages) {
                    _imagesList[i] = newImages[i];
                }
                if (typeof(callback) == 'function') {
                    callback();
                }
            }
        }
        
        setTimeout(loadImages, 50);
    }
    
    
    this.getImage = function(idImage) {
        if (typeof(_imagesList[idImage]) == 'undefined') {
            return false;
        }
        
        return _imagesList[idImage];
    }
}