/**
 * A simple namespace controlled preloader
 * 
 * @example
 * var preload_these = [
 *     "pic1.jpg",
 *     "header.png",
 *     "search_over.gif"
 * ];
 * var pic_holder = [];
 * BRHPreloader.register(pic_holder);
 * BRHPreloader.preload(preload_these);
 */

var BRHPreloader = function(){
    /** Placeholder for the image list */
    var images = undefined;
    /** Placeholder for the external image holder */
    var image_holder = undefined;
    /** Check if image holder is being used */
    function registration(){
        if (image_holder === undefined){
            image_holder = [];
        }
        return true;
    }
    /** Loads the images in the image list */
    function loadem(){
        if (document.images){
            for (var i in images){
                var imgObj = new Image();
                imgObj.src = images[i];
                image_holder.push(imgObj);
            }
        }
    }
    return {
        preload:function(imgs){
            images = imgs;
            registration();
            loadem();
            return true;
        },
        register:function(imgHolder){
            image_holder = imgHolder;
            return true;
        },
        getImages:function(){
            return images;
        },
        getHolder:function(){
            return image_holder;
        }
    };
}();

var attach = window;
attach.BRHPreloader = BRHPreloader;
