var titleHash = undefined;
var getAddress = function(e) {
	var uri = '/findjson.pl';
	new Ajax.Request(uri, {
		method: 'get',
		parameters: 'kw=' + encodeURIComponent($('kw').value) + '&num=' + $('num').value + '&page=' + $('page').value,
		//onCreate: function(httpObj) {
		//	alert(httpObj+"が作成されました");
		//},
		onSuccess: function(httpObj){
			successHandler(httpObj);
		},
		onFailure: function(httpObj){
			$('result').removeChild($('result').firstChild);
			$('result').appendChild(document.createTextNode("Error occurs."));
		}
	});
	$('echo').removeChild($('echo').firstChild);
	$('echo').appendChild(
		document.createTextNode(
			encodeURIComponent($('kw').value)
		)
	);
};
var resHandler = function(json) {
	titleHash = eval(json);
};
var turnPage = function(e) {
	var id = (Event.element(e)).id;
	if(id == 'prev' && 1 < $('page').value) {
		--$('page').value;
		getAddress();
	};
	if(id == 'next' && $('page').value < $('total').value) {
		++$('page').value;
		getAddress();
	};
};
var successHandler = function(httpObj) {
	eval(httpObj.responseText); //titlesに情報が詰まる
	var args = titleHash.Args;
	$('total').value = Math.ceil(args.count / args.num);
	var ul = document.createElement('ul');
	for (var i=0, chunk; chunk = titleHash.entryAry[i]; i++) {
		var title = document.createTextNode(chunk.title);
		var a  = document.createElement('a');
		a.setAttribute('href', chunk.permalink);
		a.appendChild(title);
		var d = new Date(chunk.time * 1000); //ミリ秒に直す
		//日付をローカル形式に直してテキストにする
		var dstr = document.createTextNode(' （'+d.toLocaleDateString()+'）');
		var li = document.createElement('li');
		li.appendChild(a);
		li.appendChild(dstr);
		ul.appendChild(li);
	}
	$('result').removeChild($('result').firstChild);
	$('result').appendChild(ul);
};
var setEvents = function() {
	Event.observe($('kw'), 'keyup', getAddress, false);
	Event.observe($('prev'), 'click', turnPage, false);
	Event.observe($('next'), 'click', turnPage, false);
};
