
function Config()
{
	this.MapWidth  = 636;
	this.MapHeight = 416;

	this.TokyoAzabuDiv    = "map_canvas_tokyo_azabu";
	this.TokyoAzabuLat    = 35.6568344;
	this.TokyoAzabuLon    = 139.7365923;
	this.TokyoAzabuZoom   = 17;
	this.TokyoAzabuZoomUp = 17;

	this.OsakaUmedaDiv    = "map_canvas_osaka_umeda";
	this.OsakaUmedaLat    = 34.6987757;
	this.OsakaUmedaLon    = 135.49941393;
	this.OsakaUmedaZoom   = 16;
	this.OsakaUmedaZoomUp = 16;

	this.TokyoTachikawaDiv    = "map_canvas_tokyo_tachikawa";
	this.TokyoTachikawaLat    = 35.700513;
	this.TokyoTachikawaLon    = 139.415318;
	this.TokyoTachikawaZoom   = 18;
	this.TokyoTachikawaZoomUp = 18;
	
	this.TokyoRoppongiDiv    = "map_canvas_tokyo_roppongi";
	this.TokyoRoppongiLat    = 35.6639228;
	this.TokyoRoppongiLon    = 139.7329831;
	this.TokyoRoppongiZoom   = 17;
	this.TokyoRoppongiZoomUp = 17;
}

function GmapTokyoAzabu()
{
	//ScriptConfig
	var ConfObj = new Config();

	//MapObject
	var mapObj = new GMap2(document.getElementById(ConfObj.TokyoAzabuDiv), { size: new GSize(ConfObj.MapWidth, ConfObj.MapHeight) } );

	//Center
	mapObj.setCenter(new GLatLng(ConfObj.TokyoAzabuLat, ConfObj.TokyoAzabuLon), ConfObj.TokyoAzabuZoom);

	//MapsController
	mapObj.addControl(new GLargeMapControl());
	mapObj.addControl(new GScaleControl());
	mapObj.addControl(new GMapTypeControl());

	//Add Markers
	//Tokyo Azabu
	var point_tokyo_azabu = new GLatLng(ConfObj.TokyoAzabuLat, ConfObj.TokyoAzabuLon);
	var mkObj = new GMarker(point_tokyo_azabu);
	mapObj.addOverlay(mkObj);
	GEvent.addListener(mkObj, "click", function() {
		mapObj.setZoom(ConfObj.TokyoAzabuZoomUp);
		mapObj.panTo(point_tokyo_azabu);
	});
}

function GmapOsakaUmeda()
{
	//ScriptConfig
	var ConfObj = new Config();

	//MapObject
	var mapObj = new GMap2(document.getElementById(ConfObj.OsakaUmedaDiv), { size: new GSize(ConfObj.MapWidth, ConfObj.MapHeight) } );

	//Center
	mapObj.setCenter(new GLatLng(ConfObj.OsakaUmedaLat, ConfObj.OsakaUmedaLon), ConfObj.OsakaUmedaZoom);

	//MapsController
	mapObj.addControl(new GLargeMapControl());
	mapObj.addControl(new GScaleControl());
	mapObj.addControl(new GMapTypeControl());

	//Add Markers
	//Osaka Umeda
	var point_osaka_umeda = new GLatLng(ConfObj.OsakaUmedaLat, ConfObj.OsakaUmedaLon);
	var mkObj = new GMarker(point_osaka_umeda);
	mapObj.addOverlay(mkObj);
	GEvent.addListener(mkObj, "click", function() {
		mapObj.setZoom(ConfObj.OsakaUmedaZoomUp);
		mapObj.panTo(point_osaka_umeda);
	});
}

function GmapTokyoTachikawa()
{
	//ScriptConfig
	var ConfObj = new Config();

	//MapObject
	var mapObj = new GMap2(document.getElementById(ConfObj.TokyoTachikawaDiv), { size: new GSize(ConfObj.MapWidth, ConfObj.MapHeight) } );

	//Center
	mapObj.setCenter(new GLatLng(ConfObj.TokyoTachikawaLat, ConfObj.TokyoTachikawaLon), ConfObj.TokyoTachikawaZoom);

	//MapsController
	mapObj.addControl(new GLargeMapControl());
	mapObj.addControl(new GScaleControl());
	mapObj.addControl(new GMapTypeControl());

	//Add Markers
	//Tokyo Tachikawa
	var point_tokyo_tachikawa = new GLatLng(ConfObj.TokyoTachikawaLat, ConfObj.TokyoTachikawaLon);
	var mkObj = new GMarker(point_tokyo_tachikawa);
	mapObj.addOverlay(mkObj);
	GEvent.addListener(mkObj, "click", function() {
		mapObj.setZoom(ConfObj.TokyoTachikawaZoomUp);
		mapObj.panTo(point_tokyo_tachikawa);
	});
}

function GmapTokyoRoppongi()
{
	//ScriptConfig
	var ConfObj = new Config();

	//MapObject
	var mapObj = new GMap2(document.getElementById(ConfObj.TokyoRoppongiDiv), { size: new GSize(ConfObj.MapWidth, ConfObj.MapHeight) } );

	//Center
	mapObj.setCenter(new GLatLng(ConfObj.TokyoRoppongiLat, ConfObj.TokyoRoppongiLon), ConfObj.TokyoRoppongiZoom);

	//MapsController
	mapObj.addControl(new GLargeMapControl());
	mapObj.addControl(new GScaleControl());
	mapObj.addControl(new GMapTypeControl());

	//Add Markers	
	//Tokyo Roppongi
	var point_tokyo_roppongi = new GLatLng(ConfObj.TokyoRoppongiLat, ConfObj.TokyoRoppongiLon);
	var mkObj = new GMarker(point_tokyo_roppongi);
	mapObj.addOverlay(mkObj);
	GEvent.addListener(mkObj, "click", function() {
		mapObj.setZoom(ConfObj.TokyoRoppongiZoomUp);
		mapObj.panTo(point_tokyo_roppongi);
	});
}

function initialize()
{
	//GoogleMapsAPI check
	if (!GBrowserIsCompatible()) {
		return false;
	}
	GmapTokyoAzabu();
	GmapTokyoRoppongi();
	GmapOsakaUmeda();
	GmapTokyoTachikawa();
}


