SongSoft = {	
	isSafari: (navigator.userAgent.match(/safari/gi)),
	isIE: (!this.isSafari && navigator.userAgent.match(/msie/gi)),
	
	Web:{},
	Client:{},
	root : '',
    registerNamespace : function(ns)
	{
		if (!ns || !ns.length) {
			return null;
		}	
		
		var d=ns.split(".");
        var currentNS;
        
        if(typeof window[d[0]] != "undefined")
            currentNS=window[d[0]];
        else
            currentNS=window[d[0]]={};
	
		for (j=1; j<d.length; ++j) {
            currentNS[d[j]]=currentNS[d[j]] || {};
            currentNS=currentNS[d[j]];
        }

		return currentNS;
	},
	getRealUri: function(path){
	    return (this.root + path);
	},
	extend: function(subc, superc, overrides) {
        if (!superc||!subc) {
            throw new Error("YAHOO.lang.extend failed, please check that " +
                            "all dependencies are included.");
        }
        var F = function() {};
        F.prototype=superc.prototype;
        subc.prototype=new F();
        subc.prototype.constructor=subc;
        subc.superclass=superc.prototype;
        if (superc.prototype.constructor == Object.prototype.constructor) {
            superc.prototype.constructor=superc;
        }
        
        if (overrides) {
            for (var i in overrides) {
                subc.prototype[i]=overrides[i];
            }
        }
    }
}
