
// include google-maps
var s = document.getElementsByTagName("script");
var gmapApiKey = "ABQIAAAAlgXdXXhWGMecq1oTgGbbKxTcxbLH9psGvTKI8R3yHeAnPkPI0xSIbZ1yY0OIYreK5fthIbXZ9P40JA";
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 = '/images/hotweb/' + options.icon_data.filename;
		icon.iconSize = new GSize(options.icon_data.width - 0,
			options.icon_data.height - 0);
		icon.shadow = '/images/hotweb/' + 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-140b8b7eb3ae852de9a709636695d38f', {"width":300,"height":300,"longitude":"139.73987102508545","latitude":"35.67174834762265","zoom":"16","maptype":"0","mapcontrol":"2","typecontrol":"true","dragging":"true","zoombutton":"true"});
	_GoogleMaps.addMap('hw-e283fa60d7b85a2ffa19cde319176d5c', {"width":300,"height":300,"longitude":"139.72324132919312","latitude":"35.67295111855037","zoom":"16","maptype":"0","mapcontrol":"2","typecontrol":"true","dragging":"true","zoombutton":"true"});
	_GoogleMaps.addPin('hw-140b8b7eb3ae852de9a709636695d38f', {"pin_id":"1","pin_type":"4","latlng":["35.6862","139.740448"],"title":"map","address":"addresss","url":"http:\/\/example.com","telephone":"0332210311","description":"desc","draggable":false,"icon_data":{"group":"1","previewFilename":"window\/pin_40_nomal_gold.png","previewWidth":"40","previewHeight":"40","filename":"window\/pin_34_nomal_gold.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"}});
	_GoogleMaps.addPin('hw-140b8b7eb3ae852de9a709636695d38f', {"pin_id":"2","pin_type":"4","latlng":["35.669734973117","139.74063277245"],"title":"\u682a\u5f0f\u4f1a\u793e\u30af\u30a4\u30c3\u30af","address":"\u6771\u4eac\u90fd\u6e2f\u533a\u8d64\u5742\uff12-\uff11\uff11\uff0d\uff17","url":"","telephone":"--","description":"","draggable":false,"icon_data":{"group":"1","previewFilename":"window\/pin_40_nomal_gold.png","previewWidth":"40","previewHeight":"40","filename":"window\/pin_34_nomal_gold.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"}});
	_GoogleMaps.addPin('hw-e283fa60d7b85a2ffa19cde319176d5c', {"pin_id":"1","pin_type":"1","latlng":["35.67295111855","139.72324132919"],"title":"\u30b3\u30a6\u30ba\u30ad\u30ad\u30e3\u30d4\u30bf\u30eb","address":"\u6771\u4eac\u90fd\u6e2f\u533a\u5317\u9752\u5c711-2-7","url":"","telephone":"--","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);
}



