var gMap;
var markers = [];
var resultData = {
	asobu: false,
	taberu: false,
	tomaru: false,
	shopping: false,
	life: false
};
function mapload () {
	if (GBrowserIsCompatible()) {
		gMap = new GMap2(document.getElementById("map"));
		gMap.addControl(new GLargeMapControl());
		gMap.addControl(new GMapTypeControl());
		
		gMap.enableContinuousZoom();
		gMap.enableDoubleClickZoom();
		
		var lat = 37.062574;
		var lng = 139.993715;
		var centerPoint = new GLatLng(lat, lng);
		gMap.setCenter(centerPoint, 12);
	}
}
function maploadS () {
	if (GBrowserIsCompatible()) {
		gMap = new GMap2(document.getElementById("map"));
		gMap.addControl(new GSmallZoomControl());
		gMap.enableContinuousZoom();
		gMap.enableDoubleClickZoom();
		
		var lat = 37.062574;
		var lng = 139.993715;
		var centerPoint = new GLatLng(lat, lng);
		gMap.setCenter(centerPoint, 12);
	}
}

function createMarker(point, name, icon, id) {
	var customMarkerIcon = new GIcon(); 
	customMarkerIcon.image = icon; 
	customMarkerIcon.iconSize = new GSize(15, 20); 
	customMarkerIcon.iconAnchor = new GPoint(8, 20);

	customMarkerIcon.shadow = rootPath()+'imgs/point-shadow.png';
	customMarkerIcon.shadowSize = new GSize(28, 20);

	customMarkerIcon.infoWindowAnchor = new GPoint(15, 1);
	
	var marker = new GMarker(point,customMarkerIcon);
	marker.status = 'close';
	marker.id = id;
	GEvent.addListener(marker, "click", function() {
		if(marker.status == 'close'){
			marker.openInfoWindowHtml(name);
			marker.status = 'open';
		}else{
			gMap.closeInfoWindow();
			marker.status = 'close';
		}
	});
	return marker;
}
function JOSN2Marker (obj) {
	markers = [];
	for (var i in obj) {
		var name	= obj[i].name;
		var lat		= obj[i].lat;
		var lng		= obj[i].lng;
		var icon	= obj[i].icon;
		var thumb	= obj[i].thumb;
		var address = obj[i].address;
		var body	= obj[i].body;
		var point	= new GLatLng(lat,lng);
			var str		= "<div style='width: 300px;'>";
				str		+="<div style='float: left; margin-right: 10px; height: 100px'><img src='"+thumb+"' width='100'height='100'/></div>";
				str		+="<div style='width: 180px; margin-left: 110px'>";
				str		+="<p style='margin-bottom:10px;'><strong style='font-size: 14px;'>"+name+"</strong></p>";
				str		+="<div class='caption'>"+body+"</div>";
				str		+="</div>";
				str		+="</div>";
		markers[i] = createMarker(point,str,icon,i);
	}
	gMap.clearOverlays();
	for (var i in markers) {
		gMap.addOverlay(markers[i]);
	}
}
function openMarker(markerId){
	for(var i in markers){
		markers[i].closeInfoWindow();
		markers[i].status = "close";
	}
	GEvent.trigger(markers[markerId],'click');
}
function selectPointer(type, target, trigger){
	switch (type) {
		case 'osusume':
			var str = "";
			var dataObj = {};

			for (var i in pointData) {
				if(pointData[i].osusume) {
					str += "<a href='javascript:openMarker(\""+i+"\")'>"+pointData[i].name+"</a><br />\n";
					dataObj[i] = pointData[i];
				}
			}
			$('#shopList').html(str);
			$('#maplist input[type=checkbox]').each(function(){this.checked = false});
			$('#chk-osusume')[0].checked = true;
			
			JOSN2Marker(dataObj);
			break;
		case 'cat':
			var str = "";
			var dataObj = {};

			resultData[target] = (trigger.checked ? true : false);

			for (var i in pointData) {
				if(resultData[pointData[i].cat]){
					str += "<a href='javascript:openMarker(\""+i+"\")'>"+pointData[i].name+"</a><br />\n";
					dataObj[i] = pointData[i];
				}
			}

			$('#shopList').html(str);
			$('#chk-osusume')[0].checked = false;

			JOSN2Marker(dataObj);
			break;
		case 'search':
			var str = "";
			var dataObj = {};

			for (var i in pointData) {
				if(pointData[i].name.indexOf(target) != -1){
					str += "<a href='javascript:openMarker(\""+i+"\")'>"+pointData[i].name+"</a><br />\n";
					dataObj[i] = pointData[i];
				}
			}
			$('#shopList').html(str);
			JOSN2Marker(dataObj);
			break;
		case 'id':
			var str = "";
			var dataObj = {};
			str += "<a href='javascript:openMarker(\""+target+"\")'>"+pointData[target].name+"</a><br />\n";
			dataObj[target] = pointData[target];
			$('#shopList').html(str);
			JOSN2Marker(dataObj);
			var centerPoint = new GLatLng(pointData[target].lat, pointData[target].lng);
			gMap.setCenter(centerPoint, 15);
			//openMarker(target);
			break;
		default:
			break;
	}
	return false;
}
function closeUp (markId) {
	setCenter(markers[markId].point,17);
}

function fixMap() {$('#map').css("width",$('body').width() - 200 + 'px');}