var NBAUtil = {
	
	Events : (function() { 
		var dom_loaded_handlers = [];
		
		return {
			addDomLoadedHandler : function(func) { dom_loaded_handlers.push(func); },
			attachDomLoadedHandlers : function() { dom_loaded_handlers.each(function(n) { n(); }); }
		};
	})(),
	
	URL : {
		
		hash : (window.location.hash.length > 1) ? window.location.hash.substring(1) : null,
		script_name : (function() { var p = window.location.href.split("?")[0]; var a = p.split("/"); if (a.length < 4) { return "index.html"; } else { return a[a.length-1].indexOf(".") > -1 ? a[a.length-1] : "index.html"; }})(),
	
		getQueryStringParam : (function() {
		
			var query_string = (window.location.search.length > 1) ? window.location.search.substring(1) : null;
			var pairs = (query_string != null) ? query_string.split("&") : [];
			var params = {};
			
			for (var i=0; i < pairs.length; i++) {
				var pair = pairs[i].split("=");
				
				params[pair[0]] = pair[1] != null ? pair[1] : null;
			}
			
			return function(name) { return params[name] != null ? decodeURIComponent(params[name]) : null; }
		})()
	},
	
	Utilities : { 
		getTeamCodeFromURL : function() { return (window.location.pathname.split("/"))[1]; },
		getDleagueTeamCodeFromURL : function() { return (window.location.pathname.split("/"))[2]; },

    openWindow : function(url, title, options) {

      if (typeof options == "object" || typeof options == null) {
        var optObj = Object.extend({toolbar:0, location:0, directories:0, status:0, menubar:0, scrollbars:'yes', resizeable:'yes'}, options);
        options = $H(optObj).map(function(o){return o[0]+"="+o[1]}).join(",");
      }

      window.open(url, title, options); 

      return false;
    }
	}
}

document.observe("dom:loaded", NBAUtil.Events.attachDomLoadedHandlers);

/*
 * prototype fix for firefox caching bug - 20091014 - NOrtenzio
 */

Event.observe(window, 'unload', function(){});
