var map;
var center = new GLatLng(0, 0);
var cupoint = center;
var baseIcon;
var mousePoint;
var List = {};
function List_length(){
	var len=0;
	for( var index in List ){
		len++;
	}
	return len;
}

var Letter;
Letter = {
	index : -1,
	get : function(){
		var i = ( Letter.index >= 0 ) ? Letter.index : 0;
		return String.fromCharCode("A".charCodeAt(0)+i);
	},
	getNext : function(){
		Letter.index++;
		return Letter.get();
	}
}

var Chizu = {};
Chizu = {
	load : function(){
		var self = Chizu;
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			map.addControl( new GLargeMapControl() );
			map.addControl( new GScaleControl() );
			map.addControl( new GMapTypeControl() );
			new GKeyboardHandler(map);
			map.setCenter(center, 25);

			baseIcon = new GIcon();
			baseIcon.shadow = "";
			baseIcon.iconSize = new GSize(16, 16);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(5, 16);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			baseIcon.infoShadowAnchor = new GPoint(18, 25);

			for(i=0; i<map_data.length; i++){
				var window_data = '<a href="' + map_data[i][3] + '">' + map_data[i][2] + '<\/a>';
				List[i] = self.createMarker( i, new GLatLng( map_data[i][1], map_data[i][0] ),window_data, map_data[i][4] );
			}
			self.initZoom();
		}
	},
	createMarker : function( num, point,html,cat_id ) {
		var letter = Letter.getNext();
		var ic = new GIcon(baseIcon);
		ic.image = "/common/" + cat_id + ".gif";
		var marker = new GMarker(point,ic);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
		map.addOverlay( marker );
		return marker;
	},
	initZoom : function(){
		var gb;
		var mapzoomlevel;
		var first = 1;
		for( var index in List ){
			var marker = List[index];
			if( first ){
				gb = new GLatLngBounds( marker.getPoint(), marker.getPoint() );
				first = 0;
			}else{
				var point = marker.getPoint();
				gb.extend( point );
			}
		}
		mapzoomlevel = map.getBoundsZoomLevel( gb )-1;
		if( mapzoomlevel > 5 ){
			mapzoomlevel = 5;
		}
		map.setCenter( gb.getCenter(), mapzoomlevel );
	}
};


function $(id) {
	return document.getElementById(id);
}

