﻿/*@cc_on _d=document;eval('var document=_d')@*/



var map;

function loadMap() {
	initMap();

	map.setCenter(new GLatLng(initParam.lat, initParam.lon), initParam.zoom, initParam.map);
	setIcon();
	subMarker();




/* コース３段階 */
 
var corceLine1 = new GPolyline.fromEncoded({
color: "#99CC00",
weight: 5,
points: corceLine1Points,
levels: corceLine1Levels,
zoomFactor: 32,
numLevels: 4,   
opacity:    0.7 
});


var corceLine2 = new GPolyline.fromEncoded({
color: "#00BBF9",
weight: 5,
points: corceLine2Points,
levels: corceLine2Levels,
zoomFactor: 32,
numLevels: 4,
opacity:    0.6 
});


var corceLine3 = new GPolyline.fromEncoded({
color: "#FF6600",
weight: 5,
points: corceLine3Points,
levels: corceLine3Levels,
zoomFactor: 32,
numLevels: 4,
opacity:    0.6
});


map.addOverlay(corceLine1);
map.addOverlay(corceLine2);	
map.addOverlay(corceLine3);	
	

}




function initMap() {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());

 	map.addMapType(G_PHYSICAL_MAP);


/* マウスのホイールによる縮尺変更が可能 */
	if (navigator.userAgent.match("Safari")) document.getElementById("map").onmousewheel = mouseWheelZoom;
	else if (navigator.userAgent.match("Gecko")) document.getElementById("map").addEventListener("DOMMouseScroll", mouseWheelZoom, false);
	else document.getElementById("map").attachEvent("onmousewheel", mouseWheelZoom);

}

function mouseWheelZoom(event) {
	var delta;
	if (navigator.userAgent.match("Safari") || navigator.userAgent.match("MSIE")) {
		delta = event.wheelDelta;
		event.returnValue = false;
	} else {
		delta = event.detail * -1;
		event.preventDefault();
	}
	map.setZoom(map.getZoom() + (delta > 0 ? 1 : -1));
}





/* 各コースを拡大 */
function courseList(){
for ( courseID = 0; courseID < courseSet.length; i++) {course(courseID)}
}

function course(courseID) {
map.setZoom(courseSet[courseID].zoom)
map.panTo(new GLatLng(courseSet[courseID].lat, courseSet[courseID].lon));
map.closeInfoWindow();


}





function initList() {
	var str = "";
	var i;
	var listcss;
	var ratio

for ( i = 0; i < pointData.length; i++) {
ratio = i%2
if(ratio == 0) {listcss = "<li class='listLine1'>"} 
else{listcss = "<li class='listLine2'>"}	
	
str += "<li class='left'>"+  [i+1]+".</li>"+ listcss + "<a href='javascript:listSelected(" + i + ")'>" +  pointData[i].info + "</a></li>";
}
document.getElementById("list").innerHTML = "<ul>"+str+"</ul>";
}

function listSelected(id) {
map.setZoom(ZOOM_MAX - 4)
map.panTo(new GLatLng(pointData[id].lat, pointData[id].lon));
pointData[id].marker.openInfoWindowHtml(makeInfo( pointData[id].info, pointData[id].note, pointData[id].img, pointData[id].url), {"maxWidth":350});
}



function setIcon() {
var i;

for ( i = 1; i < pointData.length+1; i++ ) {
addMarker(i);
}
}

var	icoMk = [];
function addMarker(i) {
		// アイコンの設定


var icon = new GIcon();
	icon.image      = "../images/walking_cycling/markers/marker"+[i]+".png";
	icon.printImage  = "../images/walking_cycling/markers/marker"+[i]+".png";
	icon.iconSize   = new GSize(20,34);
	icon.Shadow     = "http:www.google.com/mapfiles/shadow50.png";
	icon.ShadowSize = new GSize(37,34);
	icon.iconAnchor = new GPoint(9, 34);
	icon.infoWindowAnchor = new GPoint(9, 2); 
		// アイコンの表示
	
	var latlng = new GLatLng(pointData[i-1].lat,pointData[i-1].lon);
	pointData[i-1].marker = new GMarker(latlng,icon);
	
	
	icoMk.push(pointData[i-1].marker);
	//marker.type = iconStr; 
	map.addOverlay(pointData[i-1].marker);

		// イベント設定
	var html = makeInfo(pointData[i-1].info, pointData[i-1].note, pointData[i-1].img, pointData[i-1].url);

	GEvent.addListener(pointData[i-1].marker, "click", function() {
		this.openInfoWindowHtml(html, {"maxWidth":350});





	});

}








// その他アイコンの設定
function subMarker() {


var i;
for ( i = 0; i < hash.length; i++) {
		addMarker(i);
}


function addMarker(i) {

var makertable = [];

var icon = new GIcon();
	icon.image      = "../images/walking_cycling/markers/" + hash[i].name + ".png";
	icon.printImage  =  "../images/walking_cycling/markers/" + hash[i].name + ".png";
	icon.iconSize   = new GSize(25,25);
	icon.iconAnchor = new GPoint(25,25);
	icon.infoWindowAnchor = new GPoint(10,34);
	markerOptions = { icon:icon };


var latlng = new GLatLng(hash[i].lat,hash[i].lng);
makertable[i] = createMarker(latlng, i);

var defaltLevel = map.getZoom();
//document.getElementById("res").value=map.getZoom();

GEvent.addListener(map, "zoomend", function(){
var zoomLevel = map.getZoom();
//document.getElementById("res").value=zoomLevel

if(zoomLevel >= 15){map.addOverlay(makertable[i]);}
else if(zoomLevel <= 14){map.removeOverlay(makertable[i]);}
});

}

  
function createMarker(latlng, number) {
var marker = new GMarker(latlng, markerOptions)
marker.value = number;

GEvent.addListener(marker,"click", function() {
var myHtml =  hash[number ].pointInfo;
map.openInfoWindowHtml(latlng, myHtml);
});

return marker;
}





}




function makeInfo(info, note, img, url) {

	var html = "<div id='walkCyclewindowBlock'>";
	if (img != null) html += "<img src='../images/walking_cycling/" + IMG_DIR + img + "' ' Width='180' Height='135' class='left'  />";
	html += "<dl class='right'><dt>" + info + "</dt>";
	if (note != null) html += "<dd>" + note + "</dd></dl> ";
	return html + "<br class='clear' /></div>";


}


function reSize() {
	map.closeInfoWindow();	//情報Windowを閉じる

	if (map.getZoom() == initParam.zoom)	return;

	map.setCenter(new GLatLng(initParam.lat, initParam.lon), initParam.zoom, initParam.map);
}

