EXTEND_NAMESPACE = function( nameSpace ) {
  var names = nameSpace.split(".");
  var previousNS = null;
  for ( var i=0; i < names.length; i++ ) {
    var ns = names[i];
    if (i == 0) {
      _CREATE_ROOT_NAMESPACE(ns);
      previousNS = window;
    } else 
    if ( !(previousNS[ns] && previousNS[ns]._isNameSpace) ) {
        previousNS[ns] = {};
        previousNS[ns]._isNameSpace = true;      
    }    
    previousNS = previousNS[ns];            
  }  
}
    
_CREATE_ROOT_NAMESPACE = function( rootNameSpace ) {  
  if ( window[rootNameSpace] == undefined ) {
    window[rootNameSpace] = {};
    window[rootNameSpace]._isNameSpace = true; /* really not necessary, but it was/is very useful for debugging */
  }
}

