Function.prototype.bind = unsafeWindow.Function.prototype.bind;
with (unsafeWindow) {
if (Hatena && Hatena.Star && Hatena.Star.Entry) {
Hatena.Star.Entry.prototype.bindStarEntry = function(se) {
this.starEntry = se;
if (se.stars.length == 3 && typeof(se.stars[1]) == 'number') {
var star = document.createElement('img');
star.src = Hatena.Star.Star.ImgSrc;
with (star.style) {
padding = '0';
border = 'none';
cursor = 'pointer';
}
star.width = star.height = Math.log(se.stars[1]) * 10;
star.title = (se.stars[1] + 2) + ' stars';
star.onclick = function() {
unsafeWindow.e = this.entry;
this.entry.__proto__ = Hatena.Star.Entry.prototype;
var url = Hatena.Star.BaseURL + 'entry.json?uri=' + encodeURIComponent(this.entry.uri);
new Ten.JSONP(url, [,Hatena.Star.InnerCount.prototype.receiveStarEntry.bind(this)], 1);
}.bind(this);
this.stars.push(star);
} else {
se.stars.forEach(function(s) { this.stars.push(new Hatena.Star.Star(s)) }, this);
}
if (se.comments) {
for (var i = 0; i < se.comments.length; i++) {
this.comments.push(new Hatena.Star.Comment(se.comments[i]));
}
}
this.can_comment = se.can_comment;
}
}
}