
// include google-maps
var s = document.getElementsByTagName("script");
var gmapApiKey = "";
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-66d845875131947d9c2fe40db106b5f4', {"width":700,"height":400,"longitude":"135.22951126098633","latitude":"33.85416553108539","zoom":"13","maptype":"0","mapcontrol":"2","typecontrol":"true","dragging":"true","zoombutton":"true"});
	_GoogleMaps.addPin('hw-66d845875131947d9c2fe40db106b5f4', {"pin_id":"1","pin_type":"2","latlng":["33.8479842","135.2294684"],"title":"\u697d\u3089\u304f\u7d00\u5dde","address":"\u548c\u6b4c\u5c71\u770c\u65e5\u9ad8\u90e1\u5370\u5357\u753a\u5370\u5357\u539f\uff16\uff16\uff15\uff0d\uff11","url":"http:\/\/shop.wakayamaken.jp\/rakuraku-kishu\/","telephone":"0738-44-0181","description":"\r\n\u548c\u6b4c\u5c71\u306e\u7f8e\u5473\u3057\u3044\u98df\u6750\u30fb\u304a\u5c4a\u3051\u3057\u307e\u3059\uff01","draggable":false,"icon_data":{"group":"1","previewFilename":"window\/pin_40_nomal_tomato.png","previewWidth":"40","previewHeight":"40","filename":"window\/pin_34_nomal_tomato.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);
}




