// ==UserScript==
// @include main
// ==/UserScript==

(function(){
  var $ = function(id){ return document.getElementById(id); };
  var $N = function(name, attrs, children){
    var elem = document.createElement(name);
    if(attrs) for(var name in attrs) elem.setAttribute(name, attrs[name]);
    if(children) for(var i = 0; i < children.length; i++) elem.appendChild(children[i]);
    return elem;
  };
  var insertionPoint = $("appmenu_bookmarks");
  var bmListBox, bmMenuBox = $N("vbox", {}, [
    $N("menuitem", { label:"ブックマーク", disabled:true }),
    $N("menuseparator"),
    bmListBox = $N("vbox", {
      context:"placesContext",
      onclick:"BookmarksEventHandler.onClick(event);",
      oncommand:"BookmarksEventHandler.onCommand(event);"
    })
  ]);
  insertionPoint.parentNode.insertBefore(bmMenuBox, insertionPoint.nextSibling);
  new PlacesMenu({ target:bmListBox, originalTarget:bmListBox }, "place:folder=BOOKMARKS_MENU");
  bmMenuBox.controllers.appendController(bmMenuBox._placesView._controller);
  [insertionPoint, $("appmenu_history"), $("appmenu_downloads"), $("appmenu_help")].forEach(function(menu){
    try{ menu.parentNode.removeChild(menu); } catch(e){}
  });
})();