var map = null;
var geocoder = null;
var area_points = new Array();

area_points["広域エリア:lat"]             = "35.8480662";
area_points["広域エリア:lng"]             = "139.7656857";
area_points["中央北部神根エリア:lat"]     = "35.85615269816242";
area_points["中央北部神根エリア:lng"]     = "139.7296142578125";
area_points["北西部芝エリア:lat"]         = "35.84022072946494";
area_points["北西部芝エリア:lng"]         = "139.70704078674316";
area_points["中央部赤山エリア:lat"]       = "35.85016988872315";
area_points["中央部赤山エリア:lng"]       = "139.74291801452637";
area_points["東部安行エリア:lat"]         = "35.85312656609014";
area_points["東部安行エリア:lng"]         = "139.75725173950195";
area_points["北東部戸塚エリア:lat"]       = "35.870829538850394";
area_points["北東部戸塚エリア:lng"]       = "139.74819660186768";
area_points["南東部安行原エリア:lat"]     = "35.83604588536706";
area_points["南東部安行原エリア:lng"]     = "139.7700834274292";
area_points["中央南部安行領家エリア:lat"] = "35.83381921201546";
area_points["中央南部安行領家エリア:lng"] = "139.76008415222168";
area_points["南西部本町エリア:lat"]       = "35.807790334456776";
area_points["南西部本町エリア:lng"]       = "139.73244667053223";

function initialize()
{
	//マーカーアイコンの定義
	var icon = new GIcon();
	icon.image = "./img/marker1.png";
	icon.iconSize = new GSize(45, 45);
	icon.iconAnchor = new GPoint(45, 45);
	icon.infoWindowAnchor = new GPoint(20, 0);
	
	map = new GMap2(document.getElementById("gmap"));
	lat = "35.8480662";
	lng = "139.7656857";
	var center = new GLatLng(lat, lng);
	map.setCenter(center, 17);
	//map.addControl(new GSmallMapControl());
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	
	var cm = new GMarker(center,icon);
	
	map.addOverlay(cm);
	cm.openInfoWindowHtml("<img src='../css/title.gif'><img src='../css/header_img.gif'>");
}

function createMarker(data,wide_mode)
{
	//マーカーアイコンの定義
	var icon = new GIcon();
	
	if(wide_mode) {
		icon_size_base = 24;
	}else {
		icon_size_base = 32;
	}
	
	icon.shadow = "./img/marker.shadow.png";
	icon.shadowSize = new GSize(icon_size_base*2, icon_size_base);
	icon.iconSize = new GSize(icon_size_base, icon_size_base);
	icon.iconAnchor = new GPoint(icon_size_base/2, icon_size_base);
	icon.infoWindowAnchor = new GPoint(icon_size_base/2, 0);
	
	if(data.url == '') {
		icon.image = "./img/marker1.png";
		
	}else {
		icon.image = "./img/marker2.png";
	}
	
	var latlng = new GLatLng(data.lat, data.lng);
	var marker = new GMarker(latlng, icon);
	
	GEvent.addListener(marker, "click", function()
	{
		//var html = "<div class='mapdata' style='line-height:100%;height:100%'><h3 id='mapdataheader'>選択中の業者</h3>";
		var html = "<div style='background-color:#ffffff;margin:5px'><h3 id='mapdataheader'>選択中の業者</h3>";
		html += "<dl style='line-height:100%;'><dt>業種</dt><dd>" + data.category + "</dd>";
		html += "<dt>屋号・社名</dt><dd>" + data.shop_name + "</dd>";
		html += "<dt>代表者</dt><dd>" + data.ceo_name + "</dd>";
		html += "<dt>住所</dt><dd>" + data.address + "</dd>";
		html += "<dt>電話番号</dt><dd>" + data.tel + "</dd>";
		if(data.url != "") { 
			html += "<dt>URL</dt><dd><a href='"+ data.url + "' target='_blank'>" + data.url + "</a></dd>";
			if(data.id == 105) {
				html += "<dt></dt><dd><a href='http://www.angyozoen.com/' target='_blank'>http://www.angyozoen.com/</a></dd>";
			}
		}
		html += "</dl></div>";
		marker.openInfoWindowHtml(html);
	});
	
	return marker;
}

$(document).ready(function()
{
	$("#hide_contents").css("display","none");
	$("#gmap").css("width","690px").css("height","400px").css("margin-left","10px");
	
	initialize();
	$("#selector").css("display","none");
	$("#list").css("display","none");
	
		$("#gmap").mouseover(function(){
			var center = map.getCenter();
			$('#lat').html(center.lat());
			$('#lng').html(center.lng());
		});
	
	$("a.area").click(function()
	{
		$("#selector").css("display","block");
		
		map.clearOverlays();
		var area = $(this).text();
		$("#selected_area").text(area);
		
		var get_marker_script;
		var wide_mode;
		
		if(area == '広域エリア') {
			map.setZoom(11);
			get_marker_script = './get_markers_all.php';
			get_list_script = './get_list_all.php';
			wide_mode = true;
		}else {
			map.setZoom(14);
			get_marker_script = './get_markers.php';
			get_list_script = './get_list.php';
			wide_mode = false;
		}
		
		map.panTo(new GLatLng(area_points[area+":lat"], area_points[area+":lng"]));
		$.getJSON(get_marker_script, {area : area}, function(data)
		{
			for(var i = 0; i < data.length; i++) {
				map.addOverlay(createMarker(data[i],wide_mode));
			}
		});
		
		$.get(get_list_script, {area : area},function(data)
		{
			$("#list").html(data);
		});
	});
	
	$("#select_list").click(function()
	{
		var area = $("#selected_area").text();
		var get_marker_script;
		var wide_mode;
		
		if(area == '広域エリア') {
			get_list_script = './get_list_all.php';
		}else {
			get_list_script = './get_list.php';
		}
		
		$.get(get_list_script, {area : area},function(data)
		{
			$("#list").html(data);
			$("#list").fadeIn();
			$("#gmap").css("display","none");
		});
	});
	
	$("#select_map").click(function()
	{
		$("#gmap").fadeIn();
		$("#list").css("display","none");
	});
});