ハイク用続きを読むグリモン

はてなハイクで長文エントリー時に自動的に「続きを読む」になるグリモンを作りました。
http://maidcure.googlepages.com/read_more_for_haiku.user.js

// ==UserScript==
// @name            Read More For Haiku
// @namespace       http://h.hatena.ne.jp/id/maidcure
// @description     Add "Read More" at Hatena Haiku
// @include         http://h.hatena.ne.jp/
// @include         http://h.hatena.ne.jp/keyword/*
// @include         http://h.hatena.ne.jp/*/
// @include         http://h.hatena.ne.jp/*/following
// @include         http://h.hatena.ne.jp/id/*
// @exclude         http://h.hatena.ne.jp/*/[0-9]+
// @version         0.0.1
// ==/UserScript==

(function(){
//"続きを読む"を表示させる文字数を設定
 var MAXSIZE = 1024;

//getElementsByClassName(prototype.js v1.6.0)〜ここから〜
if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
  function iter(name) {
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
  }

  instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ?
  function(element, className) {
    className = className.toString().strip();
    var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className);
    return cond ? document._getElementsByXPath('.//*' + cond, element) : [];
  } : function(element, className) {
    className = className.toString().strip();
    var elements = [], classNames = (/\s/.test(className) ? $w(className) : null);
    if (!classNames && !className) return elements;

    var nodes = $(element).getElementsByTagName('*');
    className = ' ' + className + ' ';

    for (var i = 0, child, cn; child = nodes[i]; i++) {
      if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
          (classNames && classNames.all(function(name) {
            return !name.toString().blank() && cn.include(' ' + name + ' ');
          }))))
        elements.push(Element.extend(child));
    }
    return elements;
  };

  return function(className, parentElement) {
    return $(parentElement || document.body).getElementsByClassName(className);
  };
}(Element.Methods);
//getElementsByClassName(prototype.js v1.6.0)〜ここまで〜

 var elm = document.getElementsByClassName("body");
 var newstr;
 for(i=0;i<elm.length;i++)
  if(elm[i].innerHTML.length > MAXSIZE){
   newstr=document.getElementsByClassName("timestamp")[i].innerHTML.replace(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/,"続きを読む");
   elm[i].innerHTML=elm[i].innerHTML.substr(0,MAXSIZE)+'<br/>'+newstr;
  }
})();

グリモン完成させたのは初めてだったり…。