/*                                                                                                                                                      
Copyright (c) 2006, Yahoo! Inc. All rights reserved.                                                                                                    
Code licensed under the BSD License:                                                                                                                    
http://developer.yahoo.net/yui/license.txt                                                                                                              
version: 0.10.0                                                                                                                                         
*/ 

/* Copyright (c) 2006 FBLA! Inc. All rights reserved. */

/**
 * The FBLA global namespace
 * @constructor
 */
var FBLA = window.FBLA || {};

/**
 * Returns the namespace specified and creates it if it doesn't exist
 *
 * FBLA.namespace("property.package");
 * FBLA.namespace("FBLA.property.package");
 *
 * Either of the above would create FBLA.property, then
 * FBLA.property.package
 *
 * @param  {String} sNameSpace String representation of the desired 
 *                             namespace
 * @return {Object}            A reference to the namespace object
 */
FBLA.namespace = function( sNameSpace ) {

    if (!sNameSpace || !sNameSpace.length) {
        return null;
    }

    var levels = sNameSpace.split(".");

    var currentNS = FBLA;

    // FBLA is implied, so it is ignored if it is included
    for (var i=(levels[0] == "FBLA") ? 1 : 0; i<levels.length; ++i) {
        currentNS[levels[i]] = currentNS[levels[i]] || {};
        currentNS = currentNS[levels[i]];
    }

    return currentNS;
};

/**
 * Global log method.
 */
FBLA.log = function(sMsg,sCategory) {
    if(FBLA.widget.Logger) {
        FBLA.widget.Logger.log(null, sMsg, sCategory);
    } else {
        return false;
    }
};

FBLA.namespace("util");
FBLA.namespace("widget");
FBLA.namespace("example");
