Google Reader で 5 件ずつ一気に新しいタブで表示する Greasemonkey を書いてみた その2

その1:http://d.hatena.ne.jp/spider-man/20080114
Google Reader で 5 件ずつ一気に新しいタブで表示するボタンを追加する」が正しいか。

// ==UserScript==
// @name           google reader all open button
// @namespace      googlereader@basyura.com
// @include        http://www.google.co.jp/reader/view/
// ==/UserScript==
//
//  version 0.2
//
var MAX_OPEN_COUNT = 5;
function openLump() {
  var entries = document.getElementById("entries");
  var hrefs   = entries.getElementsByTagName("a");
  var limit = hrefs.length - 2;
  if(limit > MAX_OPEN_COUNT) {
    limit = MAX_OPEN_COUNT;
  }
  for(var i = 0 ; i < limit ; i++) {
    var event = document.createEvent('MouseEvents');
    event.initMouseEvent ('click', false, true, document.defaultView,
        1, 0, 0, 0, 0, false, false, false, false, 0, null);

    hrefs[i].dispatchEvent(event);
    GM_openInTab(hrefs[i].href);
  }
  for(var i = 0 ; i < limit ; i++) {
    var list = hrefs[i].parentNode.parentNode.parentNode.parentNode;
    list.removeChild(list.firstChild);
  }
}
function addOpenButton() {
  var button   = document.createElement("input");
  button.type  = "button";
  button.value = MAX_OPEN_COUNT + "件表示";
  button.addEventListener("click" , openLump , false);
  var search_submit = document.getElementById("search-submit");
  search_submit.parentNode.appendChild(button);
}
addOpenButton();