﻿//<![CDATA[
var sidebar_html = "";
var gmarkers = [];
var htmls = [];
var i = 0;
var map;
var xml_filename = ["./xml/map_ss001.xml","./xml/map_ss002.xml","./xml/map_ss003.xml","./xml/map_ss004.xml","./xml/map_ss005.xml","./xml/map_ss006.xml","./xml/map_ss007.xml","./xml/map_ss008.xml","./xml/map_ss009.xml","./xml/map_ss010.xml","./xml/map_ss011.xml","./xml/map_ss012.xml","./xml/map_ss013.xml","./xml/map_ss014.xml","./xml/map_ss015.xml","./xml/map_ss016.xml","./xml/map_ss017.xml","./xml/map_ss018.xml"]
	
// =========アイコン==========
var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);

//name はサイトバー用のテキスト

function createMarker(point, name, midashi, html) {
	var marker;
	var icon = new GIcon(baseIcon);
	var letter = String.fromCharCode("A".charCodeAt(0) + i);
	icon.image = "http://www.google.com/mapfiles/marker.png";

	marker = new PdMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});

	gmarkers[i] = marker;
	htmls[i] = html;
	
	if ( midashi ) { //市町村別　見出しがつく場合
		sidebar_html += '<div style=\"margin-top: 0px;font-size:9px;\">' + midashi + '</div>';
	}
	sidebar_html += '　・<a href="javascript:myclick(' + i + ')">' + " " + name + '<\/a><br />';
	i++;
	return marker;
}

function myclick(i) {
		gmarkers[i].openInfoWindowHtml(htmls[i]);
}

function onLoad() {
	map = new GMap2(document.getElementById("map"));
	// 地図が表示されたときの位置（緯度,経度）
	map.setCenter(new GLatLng(35.94714350135056, 140.5552840232849), 13);
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GOverviewMapControl());
	map.setMapType(G_NORMAL_MAP);

	read_filename = xml_filename[0];
	
	//URLの引数でカテゴリーがが指定されている場合（ ?category=[category_id] )
	if( location.search.match( /[&\?]category=([a-zA-Z0-9_-]+)/ ) ){
		var default_category = RegExp.$1;
		default_category = parseInt( default_category ) -1; // "0"がパラメーターとして渡せないので"1"から始めるようにする
		read_filename = xml_filename[ default_category ];
		document.getElementById("mycategory").value = default_category;
	}
	
	var request = GXmlHttp.create();
	request.open("GET", read_filename, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			var xmlDoc = request.responseXML;
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			
			for (var i = 0; i < markers.length; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var html = markers[i].getAttribute("html");
				var sidebarname = markers[i].getAttribute("sidebarname");
				var addr = markers[i].getAttribute("addr");
				var telno = markers[i].getAttribute("telno");
				var faxno = markers[i].getAttribute("faxno");
				var addres = markers[i].getAttribute("addres");
				var midashi = markers[i].getAttribute("midashi");

				if(addr){
					html = '<a href=' + addr + '>' + html + '</a><br />';
				}else{
					html = html + '<br />';
				}
				if(addres){
					html += addres +'<br />';
				}
				if(telno){
					html += 'TEL:' + telno + ' ';
				}
				if(faxno){
					html += 'FAX:' + faxno;
				}

			
				var marker = createMarker(point,sidebarname,midashi,html);
				map.addOverlay(marker);
			}
			document.getElementById("sidebar").innerHTML = sidebar_html;

			//URLの引数でアイテムが指定されている場合（ ?item=[item_id] )
			if( location.search.match( /[&\?]item=([a-zA-Z0-9_-]+)/ ) ){
				var default_item = RegExp.$1;
				// document.getElementById("debagtext").innerHTML = default_item;
				myclick(parseInt(default_item -1));
			} else {
				// document.getElementById("debagtext").innerHTML = "0";
			}
		}
	}
	request.send(null);

}
function onReLoad( cate_num ) {
	delete gmarkers;
	sidebar_html = "";
	delete htmls;
	i = 0;
	delete map;

	map = new GMap2(document.getElementById("map"));
	// 地図が表示されたときの位置（緯度,経度）
	map.setCenter(new GLatLng(35.94714350135056, 140.5552840232849), 13);
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GOverviewMapControl());
	map.setMapType(G_NORMAL_MAP);
	
	var request = GXmlHttp.create();
	read_filename = xml_filename[ cate_num ];
	request.open("GET", read_filename, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
			var xmlDoc = request.responseXML;
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			
			for (var i = 0; i < markers.length; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var html = markers[i].getAttribute("html");
				var sidebarname = markers[i].getAttribute("sidebarname");
				var addr = markers[i].getAttribute("addr");
				var telno = markers[i].getAttribute("telno");
				var faxno = markers[i].getAttribute("faxno");
				var addres = markers[i].getAttribute("addres");
				var midashi = markers[i].getAttribute("midashi");
			
				if(addr){
					html = '<a href=' + addr + '>' + html + '</a><br />';
				}else{
					html = html + '<br />';
				}
				if(addres){
					html += addres +'<br />';
				}
				if(telno){
					html += 'TEL:' + telno + ' ';
				}
				if(faxno){
					html += 'FAX:' + faxno;
				}

				var marker = createMarker(point,sidebarname,midashi,html);
				map.addOverlay(marker);
			}
			document.getElementById("sidebar").innerHTML = sidebar_html;
			
			// 初期表示をそのxmlファイルの先頭の位置にする
			myclick(parseInt(0));
		}
	}
	request.send(null);
	
	// document.getElementById("debagtext").innerHTML = cate_num;
}
//]]>
	