﻿var nonMsg = "(登録がありません)";

function initList() {
	createPrefList();
}

function createPrefList() {
	var str = "";
	var i;
	var j;
	var tmp;
	for (i in RegionData) {
		if (RegionData[i].id == undefined) break;
		str += "<a href='javascript:regionSelected(" + RegionData[i].id + ")'>" + RegionData[i].region + "(" + RegionData[i].value + ")</a><br />";
		str += "<div class=\"preflist\" id=\"region_" + RegionData[i].id + "\">";
		for (j in RegionData[i].group) {
			if (RegionData[i].group[j] == "") break;
			tmp = RegionData[i].group[j];
			str += "<a href='javascript:prefSelected(\"" + tmp + "\")'>" + PrefData[tmp].pref + "(" + PrefData[tmp].value + ")</a><br />";
		}
		str += "</div>";
	}
	str += "<div class=\"preflist\" id=\"region_all\" align=\"right\"><a href='javascript:resetAllList()'>全て表示</a></div>";
	document.getElementById("pref").innerHTML = str;
}

function resetAllList() {
	createAllList()
	map.setCenter(new GLatLng(initParam.lat, initParam.lng), initParam.zoom);
	for (i in RegionData) {
		if (RegionData[i].id == undefined) break;
		document.getElementById("region_" + RegionData[i].id).style.display = "none";
	}
	document.getElementById("region_all").style.display = "none";
}

function createAllList() {
	if (map != null) plotAll();
	var str = "";
	var i;
	for (i in MapData) {
		if (MapData[i].id == undefined) break;
		str += "<img src='./img/point-" + MapData[i].value + ".gif' width='18' height='18' /> "
		str += "<a href='javascript:listSelected(" + i + ")'>" + MapData[i].pref + MapData[i].city + "</a><br />";
	}
	document.getElementById("list").innerHTML = str;
	if (str == "") str = nonMsg;
}

function createListByRegion(region) {
	var str = "";
	var i;
	var j;
	for (j in RegionData[region].group) {
		for (i in MapData) {
			if (MapData[i].id == undefined) break;
			if (MapData[i].prefid == RegionData[region].group[j]) {
				str += "<img src='./img/point-" + MapData[i].value + ".gif' width='18' height='18' /> "
				str += "<a href='javascript:listSelected(" + i + ")'>" + MapData[i].pref + MapData[i].city + "</a><br />";
			}
		}
	}
	if (str == "") str = nonMsg;
	document.getElementById("list").innerHTML = str;
}

function createListByPref(pref) {
	var str = "";
	var i;
	for (i in MapData) {
		if (MapData[i].id == undefined) break;
		if (MapData[i].prefid == pref) {
			str += "<img src='./img/point-" + MapData[i].value + ".gif' width='18' height='18' /> "
			str += "<a href='javascript:listSelected(" + i + ")'>" + MapData[i].pref + MapData[i].city + "</a><br />";
		}
	}
	if (str == "") str = nonMsg;
	document.getElementById("list").innerHTML = str;
}

function regionSelected(region) {
	for (i in RegionData) {
		if (RegionData[i].id == undefined) break;
		if (RegionData[i].id == region){
			document.getElementById("region_" + RegionData[i].id).style.display = "block";
		}else{
			document.getElementById("region_" + RegionData[i].id).style.display = "none";
		}
	}
	document.getElementById("region_all").style.display = "block";
	if (map != null) plotByRegion(region);
	createListByRegion(region);
	map.setCenter(new GLatLng(RegionData[region].lat, RegionData[region].lng),RegionData[region].zoom);
}

function prefSelected(pref) {
	if (map != null) plotByPref(pref,true);
	createListByPref(pref);
	map.setCenter(new GLatLng(PrefData[pref].lat, PrefData[pref].lng),PrefData[pref].zoom);
}

function listSelected(id) {
	if (map != null) pointById(id);
}

