﻿/***************************************
GoogleMapAPI Sample
**********************************C@NI*/

var GMWS = {
	key:"ABQIAAAAWGaqwDaJriaZeuFG_Kdn1RR81mjQC-hTtA9kuBhaT2UlIt0CjxQMau7-j9oKo9wwZUGif-LZguO8Wg",
	maps:null,
	geocoder:null,
	elements:{},
	defVal:"\u6771\u4EAC\u30BF\u30EF\u30FC",
	getElement: function(_id){
		return typeof(_id)=='string'?document.getElementById(_id):_id;
	},
	createMap: function(_element){
		if (GBrowserIsCompatible()) {
			this.maps = new GMap2(_element);
			this.maps.addControl(new GLargeMapControl());
			this.maps.addControl(new GOverviewMapControl());
			this.maps.addControl(new GMapTypeControl());
			this.maps.setCenter(new GLatLng(39.31, 137.31), 5);
			this.geocoder = new GClientGeocoder();
		}
	},
	setPoint: function(_address,_label){
		if (this.geocoder) {
			this.geocoder.getLatLng(
				_address,
				function(point) {
					if (!point) {
						GMWS.move(GMWS.defVal,
							'"'+_address+'" \u304C\u898B\u3064\u304B\u3093\u306A\u3044\u304B\u3089\u3001<br /> \
							<span style="color:green;font-weight:bold;">'+GMWS.defVal+'</span> \
							\u3092\u8868\u793A\u3057\u3066\u307F\u308B\u3002');
					} else {
						GMWS.maps.clearOverlays();
						GMWS.maps.setCenter(point, 13);
						GMWS.elements.x.value = point.x;
						GMWS.elements.y.value = point.y;
						var marker = new GMarker(point);
						GMWS.maps.addOverlay(marker);
						marker.openInfoWindowHtml((_label?_label:_address));
					}
				}
			);
		}
	},
	move: function(_add,_label){
		var add = _add?_add:this.elements.add.value;
		this.setPoint(add,_label);
	},
	createGoogleMap: function(){
		if(typeof GMap2 != 'function'){
			setTimeout('GMWS.createGoogleMap()',100);
		}else{
			GMWS.elements.form = GMWS.getElement('googlemap_form');
			GMWS.elements.add = GMWS.getElement('googlemap_add');
			GMWS.elements.button = GMWS.getElement('googlemap_button');
			GMWS.elements.x = GMWS.getElement('googlemap_x');
			GMWS.elements.y = GMWS.getElement('googlemap_y');
			GMWS.elements.box = GMWS.getElement('googlemap_box');
			GMWS.createMap(GMWS.elements.box);
			GMWS.elements.form.onsubmit = function(){GMWS.move();return false;};
			GMWS.move();
		}
	},
	init: function(){
		/*
		var s = document.createElement("script");
		s.charset = "UTF-8";
		s.type = "text/javascript";
		s.src = "http://maps.google.com/maps?file=api&amp;v=2&amp;key="+GMWS.key;
		document.body.appendChild(s);
		*/
		GMWS.createGoogleMap();
	}
}
new function(){
	var e = window;
	var n = "load";
	if (e.addEventListener) {
		e.addEventListener(n, GMWS.init, false);
	} else if (e.attachEvent) {
		e.attachEvent('on'+n, GMWS.init);
	}
	//document.write('<script type="text/javascript" defer="true" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key='+GMWS.key+'"></script>');
	document.write('<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;key='+GMWS.key+'"></script>');
}
