(function() {
   if (window.localStorage && window.sessionStorage)
	 return;

   if (typeof window.ScriptEngine == "function" && window.ScriptEngine() == "JScript") { // for IE6, IE7
	 with({ nodeSet: document.getElementsByTagName("script"), storages: ["localStorage", "sessionStorage"] }) {
	   var loader = nodeSet.item(nodeSet.length - 1);
	   var src = loader.getAttribute("src");
	   var behavior_uri = src.replace(/\/\w+\.js$/, '/exdomstorage.htc');

	   for (var i in storages) with ({ storage: document.createElement('script'), name: storages[i] }) {
		 window[name] = storage;
		 loader.parentNode.appendChild(storage);
		 storage.addBehavior(behavior_uri + "#" + name);
	   }
	 }
   }
   else if (window.globalStorage && !window.localStorage) { // for Fx2, Fx3
	 window.localStorage = window.globalStorage[location.hostname];
   }
})();