// html should have <div id="comments"></div>
var this_url; 
var my_root;
function hateb_callback_function(hateb_json){
  var result = "コメント欄が無いのではてなブックマークをコメント欄がわりにしています。<br />";
  if(hateb_json==null){
    result += "No comment(はてブ)(0)";
  }else{
    result += "コメント(はてブ)数 (" + hateb_json.count + ") <a href=\"http://b.hatena.ne.jp/entry/" + escapeHTML(this_url) + "\">はてなブックマークのページへ飛ぶ</a><br/>";
    result += "<ul id=\"bookmarked_user\">";
    for(var i=0; i < hateb_json.bookmarks.length; i++){
      var bookmark = hateb_json.bookmarks[i];
      var bookmark_date = bookmark.timestamp.split(" ")[0];
      var tags = [];
      for(var j=0; j<hateb_json.bookmarks[i].tags.length; ++j){
        var tag = bookmark.tags[j];
		    tags.push("<a href=\"http://b.hatena.ne.jp/" + bookmark.user + "/" + escapeHTML(tag) + "\">" + escapeHTML(tag) + "</a>");
      }
      result += "<li>" + bookmark_date;
      result += "<img src=\"http://www.hatena.ne.jp/users/" + bookmark.user.substring(0,2) + "/" + bookmark.user + "/profile_s.gif\" width=\"16\" height=\"16\" />";
      result += "<a href=\"http://b.hatena.ne.jp/" + bookmark.user + "/" + bookmark_date.replace(/\//g,"") + "\">" + bookmark.user + "</a>";
      result +=",&nbsp;" + tags.join(",&nbsp;") + escapeHTML(bookmark.comment) + "</li>";
    }
    result += "</ul>";
	}
  var result_node = document.createElement("div");
  result_node.innerHTML = result;
	my_root.appendChild(result_node);
  return true;
}
function escapeHTML(str){
  str = str.replace(/&/g,"&amp;");
  str = str.replace(/"/g,"&quot;");
  str = str.replace(/'/g,"&#039;");
  str = str.replace(/</g,"&lt;");
  str = str.replace(/>/g,"&gt;");
  return str;
} 

function hateb_list_kicker(){
  if((typeof document.getElementById("comments"))!="undefined"){
    my_root=document.getElementById("comments"); 
    var script = document.createElement("script");
    script.setAttribute("type","text/javascript");
    this_url = location.href;
    script.setAttribute("src","http://b.hatena.ne.jp/entry/json/?url=" + escapeHTML(this_url) + "&callback=hateb_callback_function");
    document.body.appendChild(script);
  }
  return true;
}

try{
  if(window.addEventListener){
    window.addEventListener("load",hateb_list_kicker, false);
  }else{
    window.attachEvent("onload",hateb_list_kicker);
  }
}catch(e){}

