//<![CDATA[
// var markeropts;
var gMarker = null;
var gMap;

var g_point_x = 5;
var g_point_y = 40;
var g_size_x = 38;
var g_size_y = 39;
var g_point_google_x = 10;
var g_point_google_y = 30;
var g_size_google_x = 20;
var g_size_google_y = 34;

var marker_draggable;
var a_marker;

var shop = new Array();

function AddShop(x, y, info)
{
	shop[shop.length] = {"x":x, "y":y, "info":info};
}

function load(x, y, this_shop_info) {
	
	a_marker = new Array();
	
	if (GBrowserIsCompatible()) {
	    gMap = new GMap2(document.getElementById("map"));
	    
	    var point = new GLatLng(y, x);
	    
	    gMap.addControl(new GLargeMapControl());
	    gMap.setCenter(point, 15);
		
		// マウスホイールによるズーム
	    gMap.enableScrollWheelZoom();
	    GEvent.addDomListener(document.getElementById("map"), "DOMMouseScroll", CancelEvent); // Firefox
		GEvent.addDomListener(document.getElementById("map"), "mousewheel", CancelEvent); // IE
	    
	    var info_text = "";
	    for(i=0; i<shop.length; i++)
	    {
	    	info_text = '<a href="' + shop[i].info.url + '">' + shop[i].info.shop_name + "</a>";
		    a_marker[i+1] = AddMarker(new GLatLng(shop[i].y, shop[i].x), i, info_text);
	    }
	    
    	info_text = '<a href="' + this_shop_info.url + '">' + this_shop_info.shop_name + "</a>";
		a_marker[0] = AddMarker(point, "map_icon.gif", info_text);
	}
}

// マウスホイールによるウィンドウスクロールをキャンセルする
function CancelEvent(event)
{
  e = event;
  if (typeof e.preventDefault  == 'function')  e.preventDefault();
  if (typeof e.stopPropagation == 'function') e.stopPropagation();
  if (window.event) {
     window.event.cancelBubble = true; // for IE
     window.event.returnValue = false; // for IE
  }
}

function setMarker(point)
{
	if(gMarker != null)
	{
		gMap.removeOverlay(gMarker);
		gMarker.setPoint(point);
	}
	else
	{
		//マーカーを作成
		var icon = new GIcon();
		icon.image = "bookoff_icon.png";
		icon.iconSize = new GSize(g_size_x, g_size_y);
		icon.iconAnchor = new GPoint(g_point_x, g_point_y);
		
	    markeropts = new Object();
	    markeropts.icon = icon;
	    markeropts.draggable = false;
	    
		gMarker = new GMarker(point, markeropts);
	}
	gMap.addOverlay(gMarker);
	
	SetLocation(point);
	
	return gMarker;
}

function AddMarker(point, icon_src, text, add_x, add_y)
{
	var marker;
	//var markeropts;
	var tmp = icon_src + "";
	if(icon_src!= null && tmp.length)
	{
		var icon = new GIcon();
		if(tmp.match(/^\d+$/))
		{
			var letter = String.fromCharCode("A".charCodeAt(0) + icon_src);
			icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
			icon.iconSize = new GSize(g_size_google_x, g_size_google_y);
			icon.iconAnchor = new GPoint(g_point_google_x, g_point_google_y);
		}
		else
		{
			icon.image = icon_src;
			icon.iconSize = new GSize(g_size_x, g_size_y);
			icon.iconAnchor = new GPoint(g_point_x, g_point_y);
		}
		
		/*
	    markeropts = new Object();
	    markeropts.icon = icon;
	    markeropts.draggable = false;
	    */
	    marker = new GMarker(point, icon);
	}
	else
	{
		marker = new GMarker(point);
	}
	GEvent.addListener( marker, "click", function() {
		// marker.openInfoWindowHtml("<div>" + text + "</div>");
		gMap.openInfoWindowHtml(point, "<div>" + text + "</div>");
	});
	gMap.addOverlay(marker);
	
	return marker;
}



//]]>
