// JavaScript Document

var map;
var route;
var marks;
var center;
var mapsize;
var directions;
var GLatLngArg1;
var GLatLngArg2;

function initialize() {
	if (GBrowserIsCompatible()) {

		//ポイントの数
		map = new GMap( document.getElementById( "map" ) );

		//マップの中心
		center = new GLatLng(GLatLngArg1,GLatLngArg2);

		//地図の設置
		map.addControl(new GLargeMapControl());
//		map.addControl(new GMapTypeControl());
//		map.addControl(new GOverviewMapControl());
		map.setMapType(G_NORMAL_MAP);
		//自動でやるのでいらない
//		map.setCenter(center, mapsize);

		/**********************************************/
		//ルートの設置
		/**********************************************/
		//ポイントアドレスの設置
		var routes = [];
		for(i=0; i<route.length; ++i) {
//			alert(marks[i].lat);
			routes[i] = new GLatLng(route[i].lat,route[i].lng);
		}

		//経路の表示
		directions = new GDirections(map);
		directions.loadFromWaypoints(routes,{travelMode:G_TRAVEL_MODE_DRIVING});

		GEvent.addListener(directions, "addoverlay", onGDirectionsAddOverlay);

		/**********************************************/
		//マーカーの設置
		/**********************************************/
		//ポイントアドレスの設置
		var points = [];
		for(i=0; i<marks.length; ++i) {
//			alert(marks[i].lat);
			points[i] = new GLatLng(marks[i].lat,marks[i].lng);
		}


		for(i=0; i<points.length; ++i) {
			addMarker ( points[i],marks[i]);
		}

		//マウスホイールのイベントを追加
		if( navigator.userAgent.match( "MSIE"   ) ){
		document.getElementById( "map" ).attachEvent( "onmousewheel" , mouseWheelZooming );
	}
		if( navigator.userAgent.match( "Gecko"  ) ){
		document.getElementById( "map" ).addEventListener( "DOMMouseScroll" , mouseWheelZooming , false );
	}
		if( navigator.userAgent.match( "Safari" ) ){
		document.getElementById( "map" ).onmousewheel = mouseWheelZooming;
	}
	}
}

//以下関数
function addMarker(point,mark){
	var marker = new GMarker(point);
	map.addOverlay(marker);
	GEvent.addListener( marker, 'click', function() {
		marker.openInfoWindowHtml( mark.text );
	});
}

function onGDirectionsAddOverlay(){ 
	var num = directions.getNumGeocodes();
	for (var i = 0 ; i < num ; i++){
		var marker = directions.getMarker(i);
		map.removeOverlay(marker);
	}
}

//□マウスホールによるズーム処理
function mouseWheelZooming( event ){
	//マウスホイールの上／下の取得と、スクロールのキャンセル
	if( navigator.userAgent.match( "MSIE"   ) ){ var delta = event.wheelDelta;  event.returnValue = false; }	//IE
	if( navigator.userAgent.match( "Gecko"  ) ){ var delta = event.detail * -1; event.preventDefault();    }	//Gecko
	if( navigator.userAgent.match( "Safari" ) ){ var delta = event.wheelDelta;  event.returnValue = false; }	//Safari

	//ズーム処理
	map.zoomTo( map.getZoomLevel() + ( delta < 0 ? 1 : -1 ) );
}
