// This module on hiqoo.net.
// Created by Orikasa,Tomohiro.

var p_list = {
	kind : '',
	formatLine : '<div class="line"><p class="haiku"><a href="#" onclick="popupWindow(\'popup\',500,550,\'俳句##no#\',\'#link#?popup\');return false;">#haiku#</a><br /></p><p class="icon">#icon#</p><p class="name">#name#</p></div>',

	top : 1,
	size : 8,
	length : 0,

	nodes : new Object ,
	popup : new Object ,

	entries : new Object() ,

	setHTML : function (id,kind) {
		p_list.kind = kind;
		p_list.nodes[kind] = document.getElementById(id);
		if (!p_list.nodes[kind]) throw id+" isn't found";

		if (isHTTPreq) {
			p_list.changeHTML(kind);
		}
	},

	changeHTML : function(kind) {
		p_list.loadList("/data/"+kind+".json?cache="+(new Date()).getTime(),kind);
	},

	loadList : function(url,kind) {
		var xml = new JKL.ParseXML.JSON(url);
		var func = function (data) {
			p_list.entries = data;
			p_list.drawHTML(kind);
		}
		xml.async(func);
		xml.parse();
	},

	reloadList : function(url) {
		p_list.top = 1;
		p_list.loadList(url);
	},

	drawHTML : function(kind) {
//var s='';var n=0;var c=data['entry'];for(n in c) { s = s+n+':'+c[n]+' '; } alert(s);
		var html = '';
		var c = 0;

		var func = function (row) {
			if (row==undefined) return;
			c++;

			if (c<p_list.top-1 || c>p_list.top+p_list.size-1) { return; }

			var line = p_list.formatLine;

			var icon = "";
			if (row.location!=undefined) {
				icon += '<img src="/image/locationicon.gif" style="vertical-align:middle;margin:1px;" alt="位置情報あり" />';
			}
			if (row.enclosure!=undefined) {
				icon += '<img src="/image/cameraicon.gif" style="vertical-align:middle;margin:1px;" alt="画像あり" />';
			}

			var dd = new Date.W3CDTF();
			dd.setW3CDTF(row['date']);

			var mon  = dd.getMonth()+1;
			var day  = dd.getDate();
			if ( mon  < 10 ) mon  = "0"+mon;
			if ( day  < 10 ) day  = "0"+day;
			dateMD = mon+"/"+day;

			var hour = dd.getHours();
			var min  = dd.getMinutes();
			if ( hour < 10 ) hour = "0"+hour;
			if ( min  < 10 ) min  = "0"+min;
			dateHI = hour+":"+min;

			line = line.replace(/#no#/g,row['no']);

			line = line.replace(/#day#/g,dateMD);
			line = line.replace(/#time#/g,dateHI);

			line = line.replace(/#haiku#/g,row['haiku']);
			line = line.replace(/#icon#/g,icon);
			line = line.replace(/#link#/g,row['link']);
			line = line.replace(/#name#/g,row['name']);
			html += line;
		}
		p_list.entries['entry'].each(func);

		html = pb_replace(html);
		p_list.length = c;

		p_list.nodes[kind].innerHTML = html;
	}
}
