

// はてなブックマーク件数を blog に貼り付けるウィジェット
// http://cl.pocari.org/2006-02-27-1.html
 
var CGI_URL = 'hatebu-count/count.cgi';

var HatebuCount = Class.create();
HatebuCount.prototype = {
	initialize: function(uri) {
		this.doAjax(uri);
	},
	doAjax: function(uri) {
		var param = new Date().getTime() + '&uri=' + encodeURI(uri);
		new Ajax.Request(CGI_URL, {
			method: 'post', 
			parameters: param, 
			onComplete: this.doResponse
		});
	},
	doResponse: function(response, json) {
		if (json.name == 'error') return false;

		var tag = '';
		if (json.count == 0) return false;
		if (json.count >= 10) {
			tag = 'strong';
		} else if (json.count >= 5) {
			tag = 'em';
		}
		var anchor = document.createElement('a');
		anchor.setAttribute('href', 'http://b.hatena.ne.jp/entry/' + json.name);
		anchor.setAttribute('target', '_blank');
		
		var text = json.count + ' ' + (json.count > 1 ? 'users' : 'user');
		anchor.appendChild(document.createTextNode(text));
		
		var element;
		// document.createElement('') だと Firefox でうまくいかない
		if (tag == '') {
			element = anchor;
		} else {
			element = document.createElement(tag);
			element.appendChild(anchor);
		}
		$('hatebu-count').appendChild(element);
	}
};

Event.observe(window, 'load', function() {
	new HatebuCount(document.URL);
}, false);
