var hatena_bookmark_anywhere_url;
var hatena_bookmark_starttime;
var hatena_bookmark_endtime;
var hatena_bookmark_imge;

function displayresult(json) {
    try {
	var html = "";
	var escapeHTML = function(str) {
	    str = str.replace("&","&amp;");
	    str = str.replace("\"","&quot;");
	    str = str.replace("'","&#039;");
	    str = str.replace("<","&lt;");
	    str = str.replace(">","&gt;");
	    return str;
	};
	if(json==null) {
	    html += "<div class=\"hatena_bookmark_anywhere_zero\">";
	    html += "このページはまだブックマークされていません。";
	    html += "</div>";
	}
	else {
	    html += "<ul id=\"bookmarked_user\">";
	    for(var i=0; i<json.bookmarks.length; ++i) {
			var bookmark = json.bookmarks[i];
			var t = bookmark.timestamp.split(" ")[0].split("/");
			var tm = bookmark.timestamp.split(" ")[1].split(":");
			var tags = [];
			var bktime = t[0]+t[1]+t[2]+tm[0]+tm[1];
			if( (hatena_bookmark_starttime <= bktime) && (bktime <= hatena_bookmark_endtime) )
			{
				for(var j=0; j<json.bookmarks[i].tags.length; ++j) {
				    var tag = json.bookmarks[i].tags[j];
				    tags.push("<a href=\"http://b.hatena.ne.jp/"+bookmark.user+"/"+tag+"\">"+escapeHTML(tag)+"</a>");
				}
				html += "<li><span class=\"hatena_bookmark_anywhere_timestamp\">"+escapeHTML(tm[0])+":"+escapeHTML(tm[1])+"</span><img src=\"http://www.hatena.ne.jp/users/"+escapeHTML(bookmark.user.substring(0,2))+"/"+bookmark.user+"/profile_s.gif\" width=\"16\" height=\"16\"><a href=\"http://b.hatena.ne.jp/"+escapeHTML(bookmark.user)+"/"+escapeHTML(t.join(""))+"\" class=\"hatena_bookmark_anywhere_user\">"+escapeHTML(bookmark.user)+"</a><span class=\"hatena_bookmark_anywhere_tags\">"+tags.join(", ")+"</span>"+escapeHTML(bookmark.comment)+"</li>";
			}
	    }
	    html += "</ul>";
	}

    document.getElementById("hatena_bookmark_anywhere").style.width   = '100%';
//	document.getElementById("hatena_bookmark_anywhere").style.max-height  = '20em';
//    document.getElementById("hatena_bookmark_anywhere").style.width   = '39em';
//	document.getElementById("hatena_bookmark_anywhere").style.height  = '20em';

	document.getElementById("hatena_bookmark_anywhere").innerHTML = html;
	//document.getElementById("hatena_bookmark_anywhere").appendChild(document.getElementById("hatena_bookmark_anywhere"));
    } catch(e) { alert('error02'); }

}
function __hatena_bookmark_anywhere_loade(imge,tmphatena_bookmark_anywhere_url,stime,etime) {
	var bdisplay = false;
    try {
    hatena_bookmark_anywhere_url = tmphatena_bookmark_anywhere_url;
    hatena_bookmark_starttime = stime;
    hatena_bookmark_endtime   = etime;

    if(document.getElementById("hatena_bookmark_anywhere"))
    {
        hatena_bookmark_imge.parentNode.removeChild(document.getElementById("hatena_bookmark_anywhere"));
        hatena_bookmark_imge.src = "./img/comments.gif";
        if(hatena_bookmark_imge != imge){
        	bdisplay = true;
        }
	}
	else
	{
		bdisplay = true;
	}
	
	if(bdisplay == true)
	{
	    var tdiv = document.createElement("div");
		var html = "";
	    tdiv.setAttribute("id","hatena_bookmark_anywhere");

	    tdiv.style.width   = '16px';
//		tdiv.style.height  = '54px';
		html += "<img src=\"./img/loading.gif\">";
		tdiv.innerHTML = html;
	    imge.parentNode.appendChild(tdiv);

		imge.src = "./img/commentsc.gif";
		hatena_bookmark_imge = imge;
		
	    var script = document.createElement("script");
	    script.setAttribute("type","text/javascript");
	    script.setAttribute("src","http://b.hatena.ne.jp/entry/json/?url="+encodeURIComponent(hatena_bookmark_anywhere_url)+"&callback=displayresult");
	    document.getElementsByTagName('head')[0].appendChild(script);
	    
	}
	} catch(e) { alert('error01'); }
}

