Simple Image Loader

Small library to load images

HTML

<canvas id='canvas' width = 600 height = 600>

JavaScript

// Simple Image Loader Library
window.Loader = (function () {
    var imageCount = 0;
    var loading = false;
    var total = 0;

    // this object will hold all image references
    var images = {};

    // user defined callback, called each time an image is loaded (if it is not defined the empty function wil be called)
    function onProgressUpdate() {};
    // user defined callback, called when all images are loaded (if it is not defined the empty function wil be called)
    function onComplete() {};

    function onLoadImage(name) {        
        ++imageCount;
        console.log(name + " loaded");
        
        // call the user defined callback when an image is loaded
        onProgressUpdate(getProgress());
        
        // check if all images are loaded
        if (imageCount == total) {
            loading = false;
            console.log("Load complete.");
            onComplete();
        }

    };

    function onImageError(e) {
        console.log("Error on loading the image: " + e.srcElement);
    }

    function loadImage(name, src) {
        try {
            images[name] = new Image();
            images[name].onload = function () {
                onLoadImage(name);
            };
            images[name].onerror = onImageError;
            images[name].src = src;
        } catch (e) {
            console.log(e.message);
        }
    }
    
    function getImage(/**String*/ name){
        if(images[name]){
            return (images[name]);
       }
        else{
            return undefined; 
        }
    }

    // pre-load all the images and call the onComplete callback when all images are loaded
    // optionaly set the onProgressUpdate callback to be called each time an image is loaded (useful for loading screens) 
    function preload( /**Array*/ _images, /**Callback*/ _onComplete, /**Callback <optional>*/ _onProgressUpdate) {
        if (!loading) {

            console.log("Loading...");
            loading = true;

           ...