/**
 * CKW.Registry.js
 *
 * A basic registry class to store global variables and
 * register functions to be executed on dovument load
 *
 * Author:       Chris Knowles<chris.knowles@ckweb.com.au>
 * Date:         24/03/2006
 * Last Updated: 24/11/2006
 */

/**
 * @var array onloadFunctions - holds all functions to be executed on
 *                              document load
 */

CKW.Registry = function()
{
    this.vars = new CKW.AssocArray;
    this.onloadFunctions = [];
    this.onloadFunctionsIE = [];
}

CKW.Registry.prototype =
{
    registerOnloadFunctions: function(funcs)
    {
        for (var i = 0; i < funcs.length; i++) {
            this.registerOnloadFunction(funcs[i]);
        }
    },

    registerOnloadFunction: function(func)
    {
        this.onloadFunctions.push(func);
    },

    registerOnloadFunctionsIE: function(funcs)
    {
        for (var i = 0; i < funcs.length; i++) {
            this.registerOnloadFunctionIE(funcs[i]);
        }
    },

    registerOnloadFunctionIE: function(func)
    {
        this.onloadFunctionsIE.push(func);
    },

    initFunctions: function()
    {
        if (window.attachEvent) {
            if (this.onloadFunctionsIE.length > 0) {
                for (var i = 0; i < this.onloadFunctionsIE.length; i++) {
                    eval(this.onloadFunctionsIE[i]);
                }
            }
        }
        if (this.onloadFunctions.length > 0) {
            for (var i = 0; i < this.onloadFunctions.length; i++) {
                eval(this.onloadFunctions[i]);
            }
        }
    }
}



