
// include google-maps
var s = document.getElementsByTagName("script");
var gmapApiKey = "ABQIAAAAgj6Dcisa0FrEBga2FKH5uhTePi473ybADWK97oEQsZpBUz7oFxS_YCE9D0SWMJ2gSuRXvMiwH9EDfA";
for (var i = 0; i < s.length; i++) {
	if (s[i].src && s[i].src.match(/hw_main[0-9a-zA-Z\-_]*\.js(\?.*)?$/)) {
		var match = s[i].src.match(/\?.*gmapkey=([a-zA-Z0-9\-_]*)/);
		if (match) {
			gmapApiKey = match[1];
		}
	}
}
s = null;
document.write('<script language="javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;hl=ja&amp;key=' +gmapApiKey + '" type="text/javascript" charset="utf-8"></script>');


// GoogleMapsピンJavaScript
var _GoogleMaps = {

	// マップを格納する
	maps: {},

	// ピンを格納する
	pins: {},

	// マップを追加する関数
	addMap: function(elementId, options)
	{
		var map = this.maps[elementId] = new GMap2(document.getElementById(elementId));
		options.width = parseInt(options.width);
		options.height = parseInt(options.height);
		options.longitude = parseFloat(options.longitude);
		options.latitude = parseFloat(options.latitude);
		options.zoom = parseInt(options.zoom);
		options.maptype = parseInt(options.maptype);
		options.mapcontrol = parseInt(options.mapcontrol);

		if (options.typecontrol == "true") options.typecontrol = true;
		else if (options.typecontrol == "false") options.typecontrol = false;
		if (options.dragging == "true") options.dragging = true;
		else if (options.dragging == "false") options.dragging= false;
		if (options.zoombutton == "true") options.zoombutton = true;
		else if (options.zoombutton == "false") options.zoombutton = false;

		// 位置を設定
		map.setCenter(new GLatLng(options.latitude, options.longitude), options.zoom);

		/// マップタイプの設定
		try {
			switch (options.maptype) {
				case 0 :
					map.setMapType(G_NORMAL_MAP);
					break;
				case 1 :
					map.setMapType(G_SATELLITE_MAP);
					break;
				case 2 :
					map.setMapType(G_HYBRID_MAP);
					break;
			}
		} catch(e) {
 			alert(e.toString());
		}

		/// マップコントロールの設定
 		try {
	 		switch (Number(options.mapcontrol)) {
				case 1 :
					map.addControl(new GSmallZoomControl());
					break;
				case 2 :
					map.addControl(new GSmallMapControl());
					break;
				case 3 :
					map.addControl(new GLargeMapControl());
					break;
			}
 		} catch(e) {
 			alert(e.toString());
 		}

		/// タイプコントロールの設定
		try {
			if (options.typecontrol) {
				map.addControl(new GMapTypeControl());
			}
		} catch(e) {
 			alert(e.toString());
		}

		/// ドラッグの設定
		if (options.dragging) {
			map.enableDragging();
		}
	},

	// ピンを追加する関数
	addPin: function(mapId, options)
	{
		if (typeof(this.maps[mapId]) == 'undefined') {
			return;
		}
	
		// GoogleMapインスタンス取り出し
		var map = this.maps[mapId];

		var pin = this.pins[mapId + ':' + options.pin_id] = {};

		/// Markerの作成
		var point = new GLatLng(options.latlng[0],options.latlng[1]);

		/// MarkerICONを作成する
		var icon = new GIcon();
		icon.image = 'http://image.hotweb.bz/file/common/img/' + options.icon_data.filename;
		icon.iconSize = new GSize(options.icon_data.width - 0,
			options.icon_data.height - 0);
		icon.shadow = 'http://image.hotweb.bz/file/common/img/' + options.icon_data.shadowFilename,
		icon.shadowSize = new GSize(options.icon_data.shadowWidth - 0,
			options.icon_data.shadowHeight - 0);
		icon.iconAnchor = new GPoint(options.icon_data.iconAnchorX - 0,
			options.icon_data.iconAnchorY - 0);
		icon.infoWindowAnchor = new GPoint(options.icon_data.infoWindowAnchorX - 0,
			options.icon_data.infoWindowAnchorY - 0);
		icon.infoShadowAnchor = new GPoint(options.icon_data.infoShadowAnchorX - 0,
			options.icon_data.infoShadowAnchorY - 0);
		
		pin.marker = new GMarker(point, { icon:icon });
		/// Markerにイベントを登録する
		/// クリック
		GEvent.bind(pin.marker, 'click', pin, function() {
			/// 情報ウインドウの表示
			/// マーカーの場所を取得する
			var latlng = this.marker.getPoint();
			/// マーカーを中央に配置する
			map.setCenter(latlng);
			/// 情報ウインドウを表示する
			if (this.html) this.marker.openInfoWindowHtml(this.html);
		});

		/// Markerの表示
		map.addOverlay(pin.marker);

		/// 情報ウインドウのHTMLを設定する
		options.description = options.description.replace(new RegExp("(\r\n|\n|\r)", "gi"), "<br />");   /// 説明
		pin.html = '<div class="infoHtml"><div class="gmap_title" >';
		if (options.url != '') {
			pin.html += '<a href="' + options.url + '" target="_blank"><strong>'
				+ _escapeHTML(options.title) + '</strong></a>';
		} else {
			pin.html += '<strong>' + _escapeHTML(options.title) + '</strong>';
		}
		pin.html += '</div><div class="gmap_address" >' + _escapeHTML(options.address)
			+ '</div><div class="gmap_url" ><a href="' + _escapeHTML(options.url)
			+ '" target="_brank" />' + options.url
			+ '</a></div><div class="gmap_phone" >' + _escapeHTML(options.telephone)
			+ '</div><div class="gmap_comment" >' + _escapeHTML(options.description)
			+ '</div></div>';
	}

};


function _page_onload() {
	_GoogleMaps.addMap('hw-sye3SazOOUTT6', {"width":600,"height":337,"longitude":"139.6878289","latitude":"35.5715692","zoom":"13","maptype":"0","mapcontrol":"3","typecontrol":"true","dragging":"true","zoombutton":"true"});
	_GoogleMaps.addPin('hw-sye3SazOOUTT6', {"pin_id":"1","pin_type":"1","latlng":["35.5715692","139.6878289"],"title":"\u65e5\u672c\u30e2\u30f3\u30c6\u30c3\u30bd\u30fc\u30ea\u6559\u80b2\u7d9c\u5408\u7814\u7a76\u6240","address":"\u3012146-0083 \u6771\u4eac\u90fd\u5927\u7530\u533a\u5343\u9ce53-25-5 \u5343\u9ce5\u753a\u30d3\u30eb","url":"http:\/\/sainou.or.jp\/","telephone":"03-5471-2270","description":"","draggable":false,"icon_data":{"group":"1","previewFilename":"window\/pin_40_nomal_salmon.png","previewWidth":"40","previewHeight":"40","filename":"window\/pin_34_nomal_salmon.png","width":"20","height":"34","shadowFilename":"window\/mm_34_shadow.png","shadowWidth":"37","shadowHeight":"34","iconAnchorX":"10","iconAnchorY":"34","infoWindowAnchorX":"10","infoWindowAnchorY":"0","infoShadowAnchorX":"0","infoShadowAnchorY":"0"}});

}

function _escapeHTML(str)
{
	return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

// attach onload-event
if (window.addEventListener) {
	window.addEventListener("load", _page_onload, false);
} else if(window.attachEvent) {
	window.attachEvent("onload", _page_onload);
}




