
var DAP = window.DAP || {}

DAP.Data = {};
DAP.Objs = {};

// A registry of objects in the framework
DAP.registry = [];

DAP.namespace = function(ns){
	
    if(!ns || !ns.length){
        return null;
    }

    var dap_2 = ns.split(".");
    var dap_3 = DAP;

    for(var i=(dap_2[0]=="DAP")?1:0;i<dap_2.length;++i){
        dap_3[dap_2[i]] = dap_3[dap_2[i]] || {};
        dap_3 = dap_3[dap_2[i]];
    }

    return dap_3;
};

   
DAP.createObject = function(parent){
    var F = function(){};
    F.prototype = parent || {};
    return new F();
};

   
DAP.extend = function(o){
    var F = function(){};
    F.prototype = o || {};
    return new F();
};

DAP.register = function(name, objClass){

    if(!this.registry[name]){
        this.registry[name] = {}
    }

    var module = this.registry[name];
    module.name = name
    module.objClass = objClass;

};

    
DAP.get = function(name) {
    var temp = DAP.registry[name].objClass;
    if (typeof temp == 'object') {
        return temp;
    }
    return new temp();
};

// create core namespaces
DAP.namespace("Util");

