anchor.diff:      }
   
       h.set("", str);
  -
  -    
       return h;
     });
  +
  +  UrlHash.set_normalize(normalize_hash, denormalize_hash);
     var view = new BrowserView();
     var thumbnail_view = new ThumbnailView($("post-browser"), view);
     new WindowTitleHandler();
     new PostLoader();
  +});
   </script>
   
  
positive.code:         h.set("post-id", post_id);
        if(path[post_id.length] == "/")
          h.set("tags", path.substr(post_id.length + 1));
        // alert(post_id.length + ", " + post_id + " ... " + tags);
      }
      return h;
    },
    function(h)
    {
      // Denormalize; the input will always be normalized.
      var str = "";
  
negative.code: <script type="text/javascript">
    var debug = new DebugWindow($("debug-box"));
  
  document.observe("dom:loaded", function()
  {
    var normalize_hash = function(h)
    {
      // Normalize:
      // post_id/search
      var path = h.get("");
      if(path != null)
      {
  