﻿// JavaScript generated by Wadachi Version 3.43

var track = new Array();
var route = new Array();
var waypoints = new Array();
var markerIcon = new Array();
var markers = new Array();
var maxSpeed = new Array();
var timeLine = new Array();
var map;
var currPoint = 0;
var currTrack = 0;
var playTimer;
var playing = false;
var centerPointer;
var infoPanel;
var speedMeter = null;
var showMeterPanel = false;
var realTimePlay = false;

function displayMap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addMapType(G_PHYSICAL_MAP);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.setCenter(new GLatLng(35.672840, 139.944504), map.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(35.634678, 139.757874), new GLatLng(35.711002, 140.131134))));
		map.setMapType(G_NORMAL_MAP);
		/*<OverviewMap>*/
		map.disableDoubleClickZoom();
		map.enableScrollWheelZoom();
		new GKeyboardHandler(map);

		var pointerIcon = new GIcon();
		pointerIcon.image = '100123map_files/center_pointer.png';
		pointerIcon.iconSize = new GSize(32, 32);
		pointerIcon.iconAnchor = new GPoint(15, 15);
		centerPointer = new GMarker(new GLatLng(35, 135), {icon: pointerIcon, clickable: false, zIndexProcess: function() {return 9999;}});

		setIcon();
		setWaypoints();
		setRoutes();
		drawWaypoints(true, true, true, true);
		setTracks();
		/*<InitTimeLine>*/
	}
	else {
		document.getElementById('map').innerHTML = 'お使いのブラウザではこの地図は表示できません。';
	}
}

function setWaypoints() {
	waypoints.push(new MarkerInfo(35.646816, 140.127365, 13, "2010/01/24", "13:38:40", 0, "こんな象はちょっとやだ", "100123map_files/100124001.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.643787, 140.125580, 15, "2010/01/24", "13:59:15", 0, "すごい顔", "100123map_files/100124002.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.643669, 140.126572, 17, "2010/01/24", "14:04:52", 0, "フクロテナガザル", "100123map_files/100124003.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.644436, 140.125839, 23, "2010/01/24", "14:10:06", 0, "パカ", "100123map_files/100124004.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.644508, 140.125183, 14, "2010/01/24", "14:18:54", 0, "ナマケモノの赤ちゃん", "100123map_files/100124005.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.645149, 140.125397, 6, "2010/01/24", "14:30:48", 0, "牛", "100123map_files/100124006.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.645195, 140.126419, 7, "2010/01/24", "14:36:47", 0, "レッサーパンダ", "100123map_files/100124007.jpg", "", "風太じゃないよ", ""));
	waypoints.push(new MarkerInfo(35.646358, 140.125214, 7, "2010/01/24", "14:50:24", 0, "西門入口", "100123map_files/100124008.jpg", "", "", ""));
	waypoints.push(new MarkerInfo(35.644722, 140.123718, 9, "2010/01/24", "14:54:31", 0, "DS11", "100123map_files/100124009.jpg", "", "バイク用駐車場にて", ""));
}

function setRoutes() {
/*<RouteList>*/
}

function setTracks() {

	track[0] = new Array();
	track[0].push(new TrackPoint(35.696087, 139.757874, 0.000, 56, 0, 0, "Sun Jan 24 2010 12:29:23"));
	track[0].push(new TrackPoint(35.695980, 139.760788, 0.264, 35, 0, 0, "Sun Jan 24 2010 12:29:45"));
	track[0].push(new TrackPoint(35.695690, 139.761230, 0.315, 34, 0, 0, "Sun Jan 24 2010 12:29:49"));
	track[0].push(new TrackPoint(35.694408, 139.762772, 0.515, 23, 0, 0, "Sun Jan 24 2010 12:30:02"));
	track[0].push(new TrackPoint(35.694271, 139.763748, 0.604, 14, 0, 0, "Sun Jan 24 2010 12:30:08"));
	track[0].push(new TrackPoint(35.694324, 139.764282, 0.653, 12, 0, 0, "Sun Jan 24 2010 12:30:11"));
	track[0].push(new TrackPoint(35.694603, 139.765564, 0.773, 7, 0, 0, "Sun Jan 24 2010 12:30:18"));
	track[0].push(new TrackPoint(35.695316, 139.767349, 0.953, 3, 0, 0, "Sun Jan 24 2010 12:30:32"));
	track[0].push(new TrackPoint(35.695316, 139.767487, 0.953, 8, 0, 0, "Sun Jan 24 2010 12:31:32"));
	track[0].push(new TrackPoint(35.695858, 139.768661, 1.075, 10, 0, 0, "Sun Jan 24 2010 12:31:43"));
	track[0].push(new TrackPoint(35.695450, 139.774139, 1.573, 10, 0, 0, "Sun Jan 24 2010 12:32:10"));
	track[0].push(new TrackPoint(35.695312, 139.777374, 1.866, 10, 0, 0, "Sun Jan 24 2010 12:32:28"));
	track[0].push(new TrackPoint(35.695309, 139.778976, 2.011, 13, 0, 0, "Sun Jan 24 2010 12:32:40"));
	track[0].push(new TrackPoint(35.695129, 139.782013, 2.287, 13, 0, 0, "Sun Jan 24 2010 12:33:00"));
	track[0].push(new TrackPoint(35.695160, 139.782440, 2.326, 20, 0, 0, "Sun Jan 24 2010 12:33:11"));
	track[0].push(new TrackPoint(35.695007, 139.782547, 2.345, 20, 0, 0, "Sun Jan 24 2010 12:34:01"));
	track[0].push(new TrackPoint(35.694794, 139.785477, 2.611, 19, 0, 0, "Sun Jan 24 2010 12:34:19"));
	track[0].push(new TrackPoint(35.694145, 139.789917, 3.020, 5, 0, 0, "Sun Jan 24 2010 12:34:53"));
	track[0].push(new TrackPoint(35.694206, 139.790314, 3.056, 9, 0, 0, "Sun Jan 24 2010 12:35:42"));
	track[0].push(new TrackPoint(35.694195, 139.791931, 3.203, 6, 0, 0, "Sun Jan 24 2010 12:35:57"));
	track[0].push(new TrackPoint(35.694279, 139.794067, 3.396, 2, 0, 0, "Sun Jan 24 2010 12:36:12"));
	track[0].push(new TrackPoint(35.694561, 139.797485, 3.707, 21, 0, 0, "Sun Jan 24 2010 12:36:45"));
	track[0].push(new TrackPoint(35.694908, 139.805298, 4.415, 8, 0, 0, "Sun Jan 24 2010 12:37:54"));
	track[0].push(new TrackPoint(35.694988, 139.806931, 4.563, 5, 0, 0, "Sun Jan 24 2010 12:38:04"));
	track[0].push(new TrackPoint(35.695400, 139.812744, 5.091, 16, 0, 0, "Sun Jan 24 2010 12:38:47"));
	track[0].push(new TrackPoint(35.695438, 139.812698, 5.091, 15, 0, 0, "Sun Jan 24 2010 12:39:27"));
	track[0].push(new TrackPoint(35.695400, 139.813492, 5.163, 21, 0, 0, "Sun Jan 24 2010 12:39:41"));
	track[0].push(new TrackPoint(35.695568, 139.814850, 5.288, 27, 0, 0, "Sun Jan 24 2010 12:39:56"));
	track[0].push(new TrackPoint(35.695599, 139.814926, 5.295, 27, 0, 0, "Sun Jan 24 2010 12:39:59"));
	track[0].push(new TrackPoint(35.695633, 139.814896, 5.300, 19, 0, 0, "Sun Jan 24 2010 12:40:12"));
	track[0].push(new TrackPoint(35.695614, 139.814819, 5.307, 11, 0, 0, "Sun Jan 24 2010 12:40:35"));
	track[0].push(new TrackPoint(35.695564, 139.815125, 5.335, 11, 0, 0, "Sun Jan 24 2010 12:40:45"));
	track[0].push(new TrackPoint(35.695362, 139.815216, 5.359, 9, 0, 0, "Sun Jan 24 2010 12:40:49"));
	track[0].push(new TrackPoint(35.694683, 139.815216, 5.435, 10, 0, 0, "Sun Jan 24 2010 12:41:03"));
	track[0].push(new TrackPoint(35.693459, 139.815338, 5.571, 9, 0, 0, "Sun Jan 24 2010 12:41:15"));
	track[0].push(new TrackPoint(35.693249, 139.815414, 5.595, 11, 0, 0, "Sun Jan 24 2010 12:41:18"));
	track[0].push(new TrackPoint(35.693054, 139.816040, 5.656, 6, 0, 0, "Sun Jan 24 2010 12:41:25"));
	track[0].push(new TrackPoint(35.693047, 139.816772, 5.722, 4, 0, 0, "Sun Jan 24 2010 12:41:30"));
	track[0].push(new TrackPoint(35.693283, 139.818069, 5.842, 7, 0, 0, "Sun Jan 24 2010 12:41:42"));
	track[0].push(new TrackPoint(35.693302, 139.820053, 6.022, 9, 0, 0, "Sun Jan 24 2010 12:41:53"));
	track[0].push(new TrackPoint(35.694313, 139.839096, 7.749, 7, 0, 0, "Sun Jan 24 2010 12:43:07"));
	track[0].push(new TrackPoint(35.694523, 139.845428, 8.323, 14, 0, 0, "Sun Jan 24 2010 12:43:30"));
	track[0].push(new TrackPoint(35.694603, 139.846329, 8.405, 15, 0, 0, "Sun Jan 24 2010 12:43:34"));
	track[0].push(new TrackPoint(35.694752, 139.846954, 8.464, 14, 0, 0, "Sun Jan 24 2010 12:43:37"));
	track[0].push(new TrackPoint(35.695038, 139.847519, 8.524, 13, 0, 0, "Sun Jan 24 2010 12:43:40"));
	track[0].push(new TrackPoint(35.697582, 139.851135, 8.956, 15, 0, 0, "Sun Jan 24 2010 12:43:58"));
	track[0].push(new TrackPoint(35.698101, 139.852188, 9.068, 12, 0, 0, "Sun Jan 24 2010 12:44:03"));
	track[0].push(new TrackPoint(35.698269, 139.852875, 9.132, 9, 0, 0, "Sun Jan 24 2010 12:44:06"));
	track[0].push(new TrackPoint(35.698395, 139.853821, 9.219, 9, 0, 0, "Sun Jan 24 2010 12:44:10"));
	track[0].push(new TrackPoint(35.699284, 139.863556, 10.106, 14, 0, 0, "Sun Jan 24 2010 12:44:51"));
	track[0].push(new TrackPoint(35.699261, 139.866104, 10.336, 12, 0, 0, "Sun Jan 24 2010 12:45:01"));
	track[0].push(new TrackPoint(35.698917, 139.871567, 10.832, 8, 0, 0, "Sun Jan 24 2010 12:45:22"));
	track[0].push(new TrackPoint(35.698719, 139.872818, 10.948, 10, 0, 0, "Sun Jan 24 2010 12:45:27"));
	track[0].push(new TrackPoint(35.697712, 139.877029, 11.345, 8, 0, 0, "Sun Jan 24 2010 12:45:44"));
	track[0].push(new TrackPoint(35.697556, 139.877991, 11.434, 8, 0, 0, "Sun Jan 24 2010 12:45:48"));
	track[0].push(new TrackPoint(35.697468, 139.886215, 12.178, 12, 0, 0, "Sun Jan 24 2010 12:46:20"));
	track[0].push(new TrackPoint(35.697479, 139.887466, 12.291, 10, 0, 0, "Sun Jan 24 2010 12:46:25"));
	track[0].push(new TrackPoint(35.697491, 139.892227, 12.722, 9, 0, 0, "Sun Jan 24 2010 12:46:44"));
	track[0].push(new TrackPoint(35.697662, 139.893204, 12.813, 6, 0, 0, "Sun Jan 24 2010 12:46:48"));
	track[0].push(new TrackPoint(35.697945, 139.893860, 12.880, 4, 0, 0, "Sun Jan 24 2010 12:46:51"));
	track[0].push(new TrackPoint(35.698196, 139.894257, 12.925, 3, 0, 0, "Sun Jan 24 2010 12:46:53"));
	track[0].push(new TrackPoint(35.698982, 139.895065, 13.039, 1, 0, 0, "Sun Jan 24 2010 12:46:58"));
	track[0].push(new TrackPoint(35.700531, 139.896317, 13.245, 3, 0, 0, "Sun Jan 24 2010 12:47:07"));
	track[0].push(new TrackPoint(35.700974, 139.896805, 13.311, 4, 0, 0, "Sun Jan 24 2010 12:47:10"));
	track[0].push(new TrackPoint(35.701221, 139.897186, 13.355, 3, 0, 0, "Sun Jan 24 2010 12:47:12"));
	track[0].push(new TrackPoint(35.701675, 139.898300, 13.468, 4, 0, 0, "Sun Jan 24 2010 12:47:17"));
	track[0].push(new TrackPoint(35.705341, 139.908951, 14.514, 3, 0, 0, "Sun Jan 24 2010 12:48:00"));
	track[0].push(new TrackPoint(35.706131, 139.910522, 14.681, 2, 0, 0, "Sun Jan 24 2010 12:48:07"));
	track[0].push(new TrackPoint(35.708538, 139.914520, 15.131, 2, 0, 0, "Sun Jan 24 2010 12:48:26"));
	track[0].push(new TrackPoint(35.710468, 139.917908, 15.505, -1, 0, 0, "Sun Jan 24 2010 12:48:43"));
	track[0].push(new TrackPoint(35.710884, 139.919037, 15.617, 0, 0, 0, "Sun Jan 24 2010 12:48:48"));
	track[0].push(new TrackPoint(35.711002, 139.920227, 15.725, 2, 0, 0, "Sun Jan 24 2010 12:48:53"));
	track[0].push(new TrackPoint(35.709412, 139.928055, 16.455, -2, 0, 0, "Sun Jan 24 2010 12:49:26"));
	track[0].push(new TrackPoint(35.707767, 139.936691, 17.258, -2, 0, 0, "Sun Jan 24 2010 12:50:00"));
	track[0].push(new TrackPoint(35.706924, 139.940628, 17.626, 0, 0, 0, "Sun Jan 24 2010 12:50:16"));
	track[0].push(new TrackPoint(35.706345, 139.942780, 17.831, -2, 0, 0, "Sun Jan 24 2010 12:50:25"));
	track[0].push(new TrackPoint(35.704880, 139.947495, 18.288, 5, 0, 0, "Sun Jan 24 2010 12:50:44"));
	track[0].push(new TrackPoint(35.703648, 139.952011, 18.719, 5, 0, 0, "Sun Jan 24 2010 12:51:02"));
	track[0].push(new TrackPoint(35.701660, 139.958511, 19.347, -0, 0, 0, "Sun Jan 24 2010 12:51:29"));
	track[0].push(new TrackPoint(35.700047, 139.964111, 19.885, -3, 0, 0, "Sun Jan 24 2010 12:51:52"));
	track[0].push(new TrackPoint(35.699570, 139.966110, 20.073, -2, 0, 0, "Sun Jan 24 2010 12:52:00"));
	track[0].push(new TrackPoint(35.699123, 139.968613, 20.305, -4, 0, 0, "Sun Jan 24 2010 12:52:10"));
	track[0].push(new TrackPoint(35.698807, 139.969833, 20.421, -1, 0, 0, "Sun Jan 24 2010 12:52:15"));
	track[0].push(new TrackPoint(35.698486, 139.970764, 20.512, 4, 0, 0, "Sun Jan 24 2010 12:52:19"));
	track[0].push(new TrackPoint(35.698097, 139.971603, 20.600, 10, 0, 0, "Sun Jan 24 2010 12:52:23"));
	track[0].push(new TrackPoint(35.694767, 139.976120, 21.151, 11, 0, 0, "Sun Jan 24 2010 12:52:59"));
	track[0].push(new TrackPoint(35.694317, 139.976868, 21.235, 12, 0, 0, "Sun Jan 24 2010 12:53:03"));
	track[0].push(new TrackPoint(35.693783, 139.977997, 21.353, 10, 0, 0, "Sun Jan 24 2010 12:53:09"));
	track[0].push(new TrackPoint(35.693256, 139.979767, 21.523, 8, 0, 0, "Sun Jan 24 2010 12:53:18"));
	track[0].push(new TrackPoint(35.692684, 139.982239, 21.756, 4, 0, 0, "Sun Jan 24 2010 12:53:30"));
	track[0].push(new TrackPoint(35.692478, 139.983307, 21.855, 3, 0, 0, "Sun Jan 24 2010 12:53:35"));
	track[0].push(new TrackPoint(35.692291, 139.984848, 21.996, 1, 0, 0, "Sun Jan 24 2010 12:53:42"));
	track[0].push(new TrackPoint(35.692020, 139.986115, 22.115, 1, 0, 0, "Sun Jan 24 2010 12:53:48"));
	track[0].push(new TrackPoint(35.689671, 139.993820, 22.859, 10, 0, 0, "Sun Jan 24 2010 12:54:24"));
	track[0].push(new TrackPoint(35.688766, 139.996338, 23.108, 7, 0, 0, "Sun Jan 24 2010 12:54:34"));
	track[0].push(new TrackPoint(35.688049, 139.997772, 23.261, 5, 0, 0, "Sun Jan 24 2010 12:54:40"));
	track[0].push(new TrackPoint(35.686592, 140.000183, 23.532, 4, 0, 0, "Sun Jan 24 2010 12:54:50"));
	track[0].push(new TrackPoint(35.685555, 140.002060, 23.738, 6, 0, 0, "Sun Jan 24 2010 12:54:58"));
	track[0].push(new TrackPoint(35.684990, 140.003296, 23.866, 5, 0, 0, "Sun Jan 24 2010 12:55:03"));
	track[0].push(new TrackPoint(35.683159, 140.007797, 24.321, 13, 0, 0, "Sun Jan 24 2010 12:55:22"));
	track[0].push(new TrackPoint(35.682419, 140.009186, 24.471, 19, 0, 0, "Sun Jan 24 2010 12:55:29"));
	track[0].push(new TrackPoint(35.681778, 140.010025, 24.575, 16, 0, 0, "Sun Jan 24 2010 12:55:34"));
	track[0].push(new TrackPoint(35.680447, 140.011261, 24.761, 13, 0, 0, "Sun Jan 24 2010 12:55:42"));
	track[0].push(new TrackPoint(35.679642, 140.011749, 24.860, 16, 0, 0, "Sun Jan 24 2010 12:55:46"));
	track[0].push(new TrackPoint(35.679016, 140.012039, 24.934, 17, 0, 0, "Sun Jan 24 2010 12:55:49"));
	track[0].push(new TrackPoint(35.677979, 140.012482, 25.056, 14, 0, 0, "Sun Jan 24 2010 12:55:54"));
	track[0].push(new TrackPoint(35.676971, 140.013062, 25.180, 10, 0, 0, "Sun Jan 24 2010 12:55:59"));
	track[0].push(new TrackPoint(35.676037, 140.013824, 25.304, 8, 0, 0, "Sun Jan 24 2010 12:56:04"));
	track[0].push(new TrackPoint(35.675217, 140.014755, 25.428, 6, 0, 0, "Sun Jan 24 2010 12:56:09"));
	track[0].push(new TrackPoint(35.674519, 140.015823, 25.552, 4, 0, 0, "Sun Jan 24 2010 12:56:14"));
	track[0].push(new TrackPoint(35.670540, 140.022888, 26.329, 6, 0, 0, "Sun Jan 24 2010 12:56:43"));
	track[0].push(new TrackPoint(35.670059, 140.023895, 26.435, 6, 0, 0, "Sun Jan 24 2010 12:56:47"));
	track[0].push(new TrackPoint(35.669605, 140.025253, 26.568, 6, 0, 0, "Sun Jan 24 2010 12:56:52"));
	track[0].push(new TrackPoint(35.669357, 140.026642, 26.697, 6, 0, 0, "Sun Jan 24 2010 12:56:57"));
	track[0].push(new TrackPoint(35.669289, 140.028320, 26.849, 5, 0, 0, "Sun Jan 24 2010 12:57:03"));
	track[0].push(new TrackPoint(35.670620, 140.055252, 29.292, 4, 0, 0, "Sun Jan 24 2010 12:58:49"));
	track[0].push(new TrackPoint(35.670570, 140.058426, 29.579, 5, 0, 0, "Sun Jan 24 2010 12:59:03"));
	track[0].push(new TrackPoint(35.670303, 140.061569, 29.865, 8, 0, 0, "Sun Jan 24 2010 12:59:17"));
	track[0].push(new TrackPoint(35.669708, 140.065216, 30.202, 18, 0, 0, "Sun Jan 24 2010 12:59:31"));
	track[0].push(new TrackPoint(35.669304, 140.066940, 30.364, 12, 0, 0, "Sun Jan 24 2010 12:59:37"));
	track[0].push(new TrackPoint(35.668392, 140.070221, 30.678, 8, 0, 0, "Sun Jan 24 2010 12:59:49"));
	track[0].push(new TrackPoint(35.666378, 140.075546, 31.209, 7, 0, 0, "Sun Jan 24 2010 13:00:09"));
	track[0].push(new TrackPoint(35.663971, 140.081573, 31.817, 19, 0, 0, "Sun Jan 24 2010 13:00:33"));
	track[0].push(new TrackPoint(35.663200, 140.083969, 32.050, 25, 0, 0, "Sun Jan 24 2010 13:00:43"));
	track[0].push(new TrackPoint(35.662266, 140.088135, 32.441, 21, 0, 0, "Sun Jan 24 2010 13:00:59"));
	track[0].push(new TrackPoint(35.661495, 140.094589, 33.032, 16, 0, 0, "Sun Jan 24 2010 13:01:25"));
	track[0].push(new TrackPoint(35.661057, 140.097549, 33.304, 16, 0, 0, "Sun Jan 24 2010 13:01:45"));
	track[0].push(new TrackPoint(35.660892, 140.097961, 33.346, 19, 0, 0, "Sun Jan 24 2010 13:01:47"));
	track[0].push(new TrackPoint(35.660645, 140.099518, 33.490, 15, 0, 0, "Sun Jan 24 2010 13:01:53"));
	track[0].push(new TrackPoint(35.660252, 140.100708, 33.606, 10, 0, 0, "Sun Jan 24 2010 13:01:58"));
	track[0].push(new TrackPoint(35.659462, 140.102356, 33.779, 11, 0, 0, "Sun Jan 24 2010 13:02:05"));
	track[0].push(new TrackPoint(35.658634, 140.103546, 33.920, 7, 0, 0, "Sun Jan 24 2010 13:02:11"));
	track[0].push(new TrackPoint(35.657619, 140.104675, 34.073, 9, 0, 0, "Sun Jan 24 2010 13:02:17"));
	track[0].push(new TrackPoint(35.657036, 140.105179, 34.152, 10, 0, 0, "Sun Jan 24 2010 13:02:20"));
	track[0].push(new TrackPoint(35.656227, 140.105743, 34.255, 11, 0, 0, "Sun Jan 24 2010 13:02:24"));
	track[0].push(new TrackPoint(35.654984, 140.106354, 34.404, 20, 0, 0, "Sun Jan 24 2010 13:02:30"));
	track[0].push(new TrackPoint(35.649502, 140.108536, 35.043, 38, 0, 0, "Sun Jan 24 2010 13:02:55"));
	track[0].push(new TrackPoint(35.647751, 140.109314, 35.250, 26, 0, 0, "Sun Jan 24 2010 13:03:03"));
	track[0].push(new TrackPoint(35.646297, 140.110107, 35.426, 24, 0, 0, "Sun Jan 24 2010 13:03:10"));
	track[0].push(new TrackPoint(35.644592, 140.111267, 35.643, 28, 0, 0, "Sun Jan 24 2010 13:03:19"));
	track[0].push(new TrackPoint(35.644169, 140.111664, 35.702, 27, 0, 0, "Sun Jan 24 2010 13:03:22"));
	track[0].push(new TrackPoint(35.643375, 140.112686, 35.830, 15, 0, 0, "Sun Jan 24 2010 13:03:33"));
	track[0].push(new TrackPoint(35.642601, 140.113358, 35.935, 15, 0, 0, "Sun Jan 24 2010 13:03:43"));
	track[0].push(new TrackPoint(35.641857, 140.114182, 36.046, 13, 0, 0, "Sun Jan 24 2010 13:03:50"));
	track[0].push(new TrackPoint(35.641636, 140.114517, 36.085, 11, 0, 0, "Sun Jan 24 2010 13:03:53"));
	track[0].push(new TrackPoint(35.641544, 140.114883, 36.120, 9, 0, 0, "Sun Jan 24 2010 13:03:56"));
	track[0].push(new TrackPoint(35.641407, 140.115112, 36.146, 8, 0, 0, "Sun Jan 24 2010 13:03:58"));
	track[0].push(new TrackPoint(35.640465, 140.116013, 36.278, 3, 0, 0, "Sun Jan 24 2010 13:04:07"));
	track[0].push(new TrackPoint(35.639538, 140.117035, 36.417, 4, 0, 0, "Sun Jan 24 2010 13:04:15"));
	track[0].push(new TrackPoint(35.638981, 140.117737, 36.505, 5, 0, 0, "Sun Jan 24 2010 13:04:20"));
	track[0].push(new TrackPoint(35.638401, 140.118439, 36.596, 8, 0, 0, "Sun Jan 24 2010 13:04:25"));
	track[0].push(new TrackPoint(35.636826, 140.120743, 36.868, 10, 0, 0, "Sun Jan 24 2010 13:04:40"));
	track[0].push(new TrackPoint(35.634857, 140.123077, 37.172, 3, 0, 0, "Sun Jan 24 2010 13:05:02"));
	track[0].push(new TrackPoint(35.634678, 140.123383, 37.206, 9, 0, 0, "Sun Jan 24 2010 13:05:39"));
	track[0].push(new TrackPoint(35.636280, 140.124435, 37.408, 4, 0, 0, "Sun Jan 24 2010 13:05:58"));
	track[0].push(new TrackPoint(35.636829, 140.124527, 37.469, 6, 0, 0, "Sun Jan 24 2010 13:06:03"));
	track[0].push(new TrackPoint(35.637756, 140.124435, 37.572, 5, 0, 0, "Sun Jan 24 2010 13:06:12"));
	track[0].push(new TrackPoint(35.638168, 140.124527, 37.619, 3, 0, 0, "Sun Jan 24 2010 13:06:16"));
	track[0].push(new TrackPoint(35.638466, 140.124741, 37.657, 2, 0, 0, "Sun Jan 24 2010 13:06:19"));
	track[0].push(new TrackPoint(35.638683, 140.125092, 37.697, 3, 0, 0, "Sun Jan 24 2010 13:06:22"));
	track[0].push(new TrackPoint(35.639286, 140.127075, 37.889, 9, 0, 0, "Sun Jan 24 2010 13:06:35"));
	track[0].push(new TrackPoint(35.639835, 140.129715, 38.136, 15, 0, 0, "Sun Jan 24 2010 13:06:51"));
	track[0].push(new TrackPoint(35.640865, 140.130997, 38.298, 13, 0, 0, "Sun Jan 24 2010 13:07:11"));
	track[0].push(new TrackPoint(35.641113, 140.131134, 38.329, 18, 0, 0, "Sun Jan 24 2010 13:07:29"));
	track[0].push(new TrackPoint(35.641308, 140.130371, 38.401, 14, 0, 0, "Sun Jan 24 2010 13:07:38"));
	track[0].push(new TrackPoint(35.641605, 140.128067, 38.612, 4, 0, 0, "Sun Jan 24 2010 13:07:52"));
	track[0].push(new TrackPoint(35.642242, 140.126495, 38.771, 6, 0, 0, "Sun Jan 24 2010 13:08:03"));
	track[0].push(new TrackPoint(35.642586, 140.125473, 38.871, 10, 0, 0, "Sun Jan 24 2010 13:08:14"));
	track[0].push(new TrackPoint(35.642593, 140.125290, 38.888, 10, 0, 0, "Sun Jan 24 2010 13:08:16"));
	track[0].push(new TrackPoint(35.642986, 140.124741, 38.954, 12, 0, 0, "Sun Jan 24 2010 13:08:24"));
	track[0].push(new TrackPoint(35.643772, 140.124268, 39.051, 9, 0, 0, "Sun Jan 24 2010 13:08:35"));
	track[0].push(new TrackPoint(35.644360, 140.124023, 39.120, 9, 0, 0, "Sun Jan 24 2010 13:08:44"));
	track[0].push(new TrackPoint(35.644432, 140.123856, 39.137, 7, 0, 0, "Sun Jan 24 2010 13:08:52"));
	track[0].push(new TrackPoint(35.644402, 140.123962, 39.148, 10, 0, 0, "Sun Jan 24 2010 13:09:30"));
	track[0].push(new TrackPoint(35.644585, 140.123779, 39.174, 5, 0, 0, "Sun Jan 24 2010 13:09:47"));
	track[0].push(new TrackPoint(35.645016, 140.123764, 39.222, 8, 0, 0, "Sun Jan 24 2010 13:10:03"));
	track[0].push(new TrackPoint(35.645130, 140.123703, 39.235, 8, 0, 0, "Sun Jan 24 2010 13:10:07"));
	track[0].push(new TrackPoint(35.645245, 140.123764, 39.249, 1, 0, 0, "Sun Jan 24 2010 13:10:14"));
	track[0].push(new TrackPoint(35.644791, 140.123688, 39.300, 3, 0, 0, "Sun Jan 24 2010 13:12:41"));
	track[0].push(new TrackPoint(35.644672, 140.123734, 39.314, 3, 0, 0, "Sun Jan 24 2010 13:12:51"));
	track[0].push(new TrackPoint(35.644520, 140.123795, 39.332, 4, 0, 0, "Sun Jan 24 2010 13:13:00"));
	track[0].push(new TrackPoint(35.644489, 140.124084, 39.358, 0, 0, 0, "Sun Jan 24 2010 13:13:23"));
	track[0].push(new TrackPoint(35.644535, 140.124191, 39.369, -1, 0, 0, "Sun Jan 24 2010 13:13:36"));
	track[0].push(new TrackPoint(35.645641, 140.124252, 39.492, 2, 0, 0, "Sun Jan 24 2010 13:14:59"));
	track[0].push(new TrackPoint(35.645828, 140.124435, 39.519, 2, 0, 0, "Sun Jan 24 2010 13:15:16"));
	track[0].push(new TrackPoint(35.645977, 140.124817, 39.557, 0, 0, 0, "Sun Jan 24 2010 13:15:46"));
	track[0].push(new TrackPoint(35.646107, 140.124924, 39.574, 0, 0, 0, "Sun Jan 24 2010 13:15:58"));
	track[0].push(new TrackPoint(35.646122, 140.125183, 39.598, -0, 0, 0, "Sun Jan 24 2010 13:16:38"));
	track[0].push(new TrackPoint(35.646214, 140.125305, 39.613, -0, 0, 0, "Sun Jan 24 2010 13:16:58"));
	track[0].push(new TrackPoint(35.646141, 140.125244, 39.622, -0, 0, 0, "Sun Jan 24 2010 13:17:10"));
	track[0].push(new TrackPoint(35.646202, 140.125153, 39.633, -0, 0, 0, "Sun Jan 24 2010 13:17:20"));
	track[0].push(new TrackPoint(35.646095, 140.125107, 39.646, -0, 0, 0, "Sun Jan 24 2010 13:17:27"));
	track[0].push(new TrackPoint(35.646111, 140.125031, 39.653, -0, 0, 0, "Sun Jan 24 2010 13:17:33"));
	track[0].push(new TrackPoint(35.646057, 140.125046, 39.659, -0, 0, 0, "Sun Jan 24 2010 13:17:43"));
	track[0].push(new TrackPoint(35.646084, 140.125168, 39.670, -0, 0, 0, "Sun Jan 24 2010 13:17:55"));
	track[0].push(new TrackPoint(35.646076, 140.124893, 39.695, 2, 0, 0, "Sun Jan 24 2010 13:18:30"));
	track[0].push(new TrackPoint(35.645954, 140.124954, 39.710, 2, 0, 0, "Sun Jan 24 2010 13:18:45"));
	track[0].push(new TrackPoint(35.645916, 140.125061, 39.720, 1, 0, 0, "Sun Jan 24 2010 13:19:19"));
	track[0].push(new TrackPoint(35.645985, 140.125244, 39.739, 11, 0, 0, "Sun Jan 24 2010 13:19:49"));
	track[0].push(new TrackPoint(35.645775, 140.125137, 39.764, 9, 0, 0, "Sun Jan 24 2010 13:20:57"));
	track[0].push(new TrackPoint(35.645813, 140.125122, 39.764, 11, 0, 0, "Sun Jan 24 2010 13:21:22"));
	track[0].push(new TrackPoint(35.645943, 140.124985, 39.787, 12, 0, 0, "Sun Jan 24 2010 13:21:47"));
	track[0].push(new TrackPoint(35.645794, 140.125153, 39.810, 20, 0, 0, "Sun Jan 24 2010 13:22:34"));
	track[0].push(new TrackPoint(35.645924, 140.125183, 39.824, 23, 0, 0, "Sun Jan 24 2010 13:23:03"));
	track[0].push(new TrackPoint(35.645851, 140.125229, 39.834, 20, 0, 0, "Sun Jan 24 2010 13:23:09"));
	track[0].push(new TrackPoint(35.645760, 140.125168, 39.845, 10, 0, 0, "Sun Jan 24 2010 13:23:37"));
	track[0].push(new TrackPoint(35.645859, 140.125153, 39.845, 8, 0, 0, "Sun Jan 24 2010 13:25:14"));
	track[0].push(new TrackPoint(35.645973, 140.124939, 39.845, 19, 0, 0, "Sun Jan 24 2010 13:27:25"));
	track[0].push(new TrackPoint(35.645676, 140.125885, 39.937, 15, 0, 0, "Sun Jan 24 2010 13:29:08"));
	track[0].push(new TrackPoint(35.645638, 140.126160, 39.962, 15, 0, 0, "Sun Jan 24 2010 13:29:29"));
	track[0].push(new TrackPoint(35.645691, 140.126404, 39.985, 14, 0, 0, "Sun Jan 24 2010 13:29:49"));
	track[0].push(new TrackPoint(35.646023, 140.126328, 40.022, 18, 0, 0, "Sun Jan 24 2010 13:30:24"));
	track[0].push(new TrackPoint(35.646034, 140.126328, 40.024, 18, 0, 0, "Sun Jan 24 2010 13:30:27"));
	track[0].push(new TrackPoint(35.646149, 140.126190, 40.042, 20, 0, 0, "Sun Jan 24 2010 13:30:41"));
	track[0].push(new TrackPoint(35.646137, 140.126114, 40.049, 20, 0, 0, "Sun Jan 24 2010 13:30:58"));
	track[0].push(new TrackPoint(35.646271, 140.126068, 40.064, 21, 0, 0, "Sun Jan 24 2010 13:31:17"));
	track[0].push(new TrackPoint(35.646400, 140.125839, 40.089, 17, 0, 0, "Sun Jan 24 2010 13:31:40"));
	track[0].push(new TrackPoint(35.646778, 140.125824, 40.131, 18, 0, 0, "Sun Jan 24 2010 13:33:15"));
	track[0].push(new TrackPoint(35.646782, 140.126190, 40.164, 12, 0, 0, "Sun Jan 24 2010 13:34:35"));
	track[0].push(new TrackPoint(35.646866, 140.126236, 40.174, 11, 0, 0, "Sun Jan 24 2010 13:35:04"));
	track[0].push(new TrackPoint(35.646698, 140.126495, 40.204, 9, 0, 0, "Sun Jan 24 2010 13:35:39"));
	track[0].push(new TrackPoint(35.646748, 140.126617, 40.217, 10, 0, 0, "Sun Jan 24 2010 13:35:59"));
	track[0].push(new TrackPoint(35.646633, 140.126923, 40.247, 9, 0, 0, "Sun Jan 24 2010 13:36:33"));
	track[0].push(new TrackPoint(35.646530, 140.127029, 40.262, 11, 0, 0, "Sun Jan 24 2010 13:37:07"));
	track[0].push(new TrackPoint(35.646538, 140.127106, 40.269, 11, 0, 0, "Sun Jan 24 2010 13:37:15"));
	track[0].push(new TrackPoint(35.646626, 140.127136, 40.279, 11, 0, 0, "Sun Jan 24 2010 13:37:21"));
	track[0].push(new TrackPoint(35.646507, 140.127350, 40.303, 10, 0, 0, "Sun Jan 24 2010 13:37:40"));
	track[0].push(new TrackPoint(35.646431, 140.127380, 40.312, 14, 0, 0, "Sun Jan 24 2010 13:37:52"));
	track[0].push(new TrackPoint(35.646530, 140.127243, 40.328, 16, 0, 0, "Sun Jan 24 2010 13:38:20"));
	track[0].push(new TrackPoint(35.646816, 140.127365, 40.362, 13, 0, 0, "Sun Jan 24 2010 13:38:40"));
	track[0].push(new TrackPoint(35.646893, 140.127502, 40.377, 12, 0, 0, "Sun Jan 24 2010 13:38:53"));
	track[0].push(new TrackPoint(35.646896, 140.127518, 40.378, 12, 0, 0, "Sun Jan 24 2010 13:38:55"));
	track[0].push(new TrackPoint(35.646965, 140.128098, 40.431, 6, 0, 0, "Sun Jan 24 2010 13:40:28"));
	track[0].push(new TrackPoint(35.646942, 140.128342, 40.454, 4, 0, 0, "Sun Jan 24 2010 13:40:57"));
	track[0].push(new TrackPoint(35.646839, 140.128433, 40.468, 6, 0, 0, "Sun Jan 24 2010 13:41:26"));
	track[0].push(new TrackPoint(35.646832, 140.128571, 40.480, 6, 0, 0, "Sun Jan 24 2010 13:41:51"));
	track[0].push(new TrackPoint(35.646549, 140.128586, 40.512, 7, 0, 0, "Sun Jan 24 2010 13:42:38"));
	track[0].push(new TrackPoint(35.646538, 140.128647, 40.517, 7, 0, 0, "Sun Jan 24 2010 13:42:50"));
	track[0].push(new TrackPoint(35.646362, 140.128723, 40.538, 7, 0, 0, "Sun Jan 24 2010 13:43:14"));
	track[0].push(new TrackPoint(35.646236, 140.128952, 40.563, 7, 0, 0, "Sun Jan 24 2010 13:43:46"));
	track[0].push(new TrackPoint(35.646118, 140.128967, 40.576, 7, 0, 0, "Sun Jan 24 2010 13:44:00"));
	track[0].push(new TrackPoint(35.646126, 140.129044, 40.583, 8, 0, 0, "Sun Jan 24 2010 13:44:07"));
	track[0].push(new TrackPoint(35.646011, 140.128983, 40.597, 8, 0, 0, "Sun Jan 24 2010 13:44:34"));
	track[0].push(new TrackPoint(35.646042, 140.129028, 40.602, 8, 0, 0, "Sun Jan 24 2010 13:44:42"));
	track[0].push(new TrackPoint(35.646061, 140.128967, 40.608, 7, 0, 0, "Sun Jan 24 2010 13:45:03"));
	track[0].push(new TrackPoint(35.645882, 140.128815, 40.632, 9, 0, 0, "Sun Jan 24 2010 13:45:25"));
	track[0].push(new TrackPoint(35.645718, 140.128845, 40.651, 11, 0, 0, "Sun Jan 24 2010 13:45:49"));
	track[0].push(new TrackPoint(35.645836, 140.128754, 40.666, 13, 0, 0, "Sun Jan 24 2010 13:46:15"));
	track[0].push(new TrackPoint(35.645817, 140.128815, 40.672, 15, 0, 0, "Sun Jan 24 2010 13:46:37"));
	track[0].push(new TrackPoint(35.645618, 140.128891, 40.695, 18, 0, 0, "Sun Jan 24 2010 13:46:56"));
	track[0].push(new TrackPoint(35.645573, 140.129059, 40.711, 17, 0, 0, "Sun Jan 24 2010 13:47:24"));
	track[0].push(new TrackPoint(35.645554, 140.129059, 40.713, 18, 0, 0, "Sun Jan 24 2010 13:47:26"));
	track[0].push(new TrackPoint(35.645496, 140.129105, 40.721, 18, 0, 0, "Sun Jan 24 2010 13:47:33"));
	track[0].push(new TrackPoint(35.645329, 140.129059, 40.740, 19, 0, 0, "Sun Jan 24 2010 13:47:50"));
	track[0].push(new TrackPoint(35.645226, 140.128677, 40.776, 19, 0, 0, "Sun Jan 24 2010 13:48:25"));
	track[0].push(new TrackPoint(35.645107, 140.128662, 40.790, 20, 0, 0, "Sun Jan 24 2010 13:48:36"));
	track[0].push(new TrackPoint(35.645443, 140.128693, 40.827, 19, 0, 0, "Sun Jan 24 2010 13:49:31"));
	track[0].push(new TrackPoint(35.645229, 140.128143, 40.882, 19, 0, 0, "Sun Jan 24 2010 13:49:34"));
	track[0].push(new TrackPoint(35.645397, 140.127884, 40.912, 19, 0, 0, "Sun Jan 24 2010 13:49:44"));
	track[0].push(new TrackPoint(35.645554, 140.127899, 40.929, 18, 0, 0, "Sun Jan 24 2010 13:49:59"));
	track[0].push(new TrackPoint(35.645752, 140.127731, 40.956, 19, 0, 0, "Sun Jan 24 2010 13:50:32"));
	track[0].push(new TrackPoint(35.645512, 140.127533, 40.988, 18, 0, 0, "Sun Jan 24 2010 13:51:06"));
	track[0].push(new TrackPoint(35.645473, 140.127289, 41.011, 19, 0, 0, "Sun Jan 24 2010 13:51:31"));
	track[0].push(new TrackPoint(35.645084, 140.127090, 41.058, 16, 0, 0, "Sun Jan 24 2010 13:52:13"));
	track[0].push(new TrackPoint(35.644905, 140.126907, 41.084, 14, 0, 0, "Sun Jan 24 2010 13:52:38"));
	track[0].push(new TrackPoint(35.644890, 140.126953, 41.088, 14, 0, 0, "Sun Jan 24 2010 13:52:42"));
	track[0].push(new TrackPoint(35.645000, 140.126938, 41.100, 12, 0, 0, "Sun Jan 24 2010 13:53:14"));
	track[0].push(new TrackPoint(35.645023, 140.126862, 41.108, 13, 0, 0, "Sun Jan 24 2010 13:53:21"));
	track[0].push(new TrackPoint(35.645027, 140.126953, 41.116, 13, 0, 0, "Sun Jan 24 2010 13:53:32"));
	track[0].push(new TrackPoint(35.644993, 140.126816, 41.129, 10, 0, 0, "Sun Jan 24 2010 13:53:59"));
	track[0].push(new TrackPoint(35.645103, 140.126770, 41.142, 9, 0, 0, "Sun Jan 24 2010 13:54:14"));
	track[0].push(new TrackPoint(35.644707, 140.126740, 41.186, 15, 0, 0, "Sun Jan 24 2010 13:55:14"));
	track[0].push(new TrackPoint(35.644356, 140.126251, 41.245, 18, 0, 0, "Sun Jan 24 2010 13:56:10"));
	track[0].push(new TrackPoint(35.644302, 140.126007, 41.268, 17, 0, 0, "Sun Jan 24 2010 13:56:32"));
	track[0].push(new TrackPoint(35.644176, 140.125885, 41.286, 18, 0, 0, "Sun Jan 24 2010 13:56:48"));
	track[0].push(new TrackPoint(35.644150, 140.125885, 41.289, 19, 0, 0, "Sun Jan 24 2010 13:56:51"));
	track[0].push(new TrackPoint(35.644089, 140.125885, 41.295, 20, 0, 0, "Sun Jan 24 2010 13:56:56"));
	track[0].push(new TrackPoint(35.644073, 140.125946, 41.301, 22, 0, 0, "Sun Jan 24 2010 13:57:05"));
	track[0].push(new TrackPoint(35.643993, 140.125732, 41.323, 26, 0, 0, "Sun Jan 24 2010 13:57:55"));
	track[0].push(new TrackPoint(35.644073, 140.125793, 41.333, 24, 0, 0, "Sun Jan 24 2010 13:58:16"));
	track[0].push(new TrackPoint(35.644062, 140.125702, 41.341, 23, 0, 0, "Sun Jan 24 2010 13:58:25"));
	track[0].push(new TrackPoint(35.643932, 140.125549, 41.361, 21, 0, 0, "Sun Jan 24 2010 13:58:46"));
	track[0].push(new TrackPoint(35.643787, 140.125580, 41.378, 15, 0, 0, "Sun Jan 24 2010 13:59:15"));
	track[0].push(new TrackPoint(35.643822, 140.125656, 41.378, 15, 0, 0, "Sun Jan 24 2010 14:00:10"));
	track[0].push(new TrackPoint(35.643795, 140.125549, 41.378, 15, 0, 0, "Sun Jan 24 2010 14:00:54"));
	track[0].push(new TrackPoint(35.643898, 140.125565, 41.389, 15, 0, 0, "Sun Jan 24 2010 14:01:03"));
	track[0].push(new TrackPoint(35.643692, 140.125671, 41.414, 15, 0, 0, "Sun Jan 24 2010 14:01:17"));
	track[0].push(new TrackPoint(35.643646, 140.125839, 41.430, 17, 0, 0, "Sun Jan 24 2010 14:01:39"));
	track[0].push(new TrackPoint(35.643688, 140.125992, 41.445, 17, 0, 0, "Sun Jan 24 2010 14:02:04"));
	track[0].push(new TrackPoint(35.643520, 140.126144, 41.468, 15, 0, 0, "Sun Jan 24 2010 14:02:54"));
	track[0].push(new TrackPoint(35.643524, 140.126266, 41.468, 14, 0, 0, "Sun Jan 24 2010 14:03:38"));
	track[0].push(new TrackPoint(35.643448, 140.126358, 41.480, 15, 0, 0, "Sun Jan 24 2010 14:04:00"));
	track[0].push(new TrackPoint(35.643562, 140.126587, 41.504, 16, 0, 0, "Sun Jan 24 2010 14:04:36"));
	track[0].push(new TrackPoint(35.643669, 140.126572, 41.516, 17, 0, 0, "Sun Jan 24 2010 14:04:52"));
	track[0].push(new TrackPoint(35.643715, 140.126480, 41.526, 21, 0, 0, "Sun Jan 24 2010 14:05:16"));
	track[0].push(new TrackPoint(35.643723, 140.126480, 41.526, 21, 0, 0, "Sun Jan 24 2010 14:05:22"));
	track[0].push(new TrackPoint(35.643799, 140.126480, 41.535, 21, 0, 0, "Sun Jan 24 2010 14:05:39"));
	track[0].push(new TrackPoint(35.643784, 140.126389, 41.543, 23, 0, 0, "Sun Jan 24 2010 14:06:07"));
	track[0].push(new TrackPoint(35.643890, 140.126404, 41.555, 22, 0, 0, "Sun Jan 24 2010 14:06:22"));
	track[0].push(new TrackPoint(35.644005, 140.126297, 41.571, 21, 0, 0, "Sun Jan 24 2010 14:06:32"));
	track[0].push(new TrackPoint(35.644070, 140.126465, 41.571, 20, 0, 0, "Sun Jan 24 2010 14:08:33"));
	track[0].push(new TrackPoint(35.644173, 140.126526, 41.584, 18, 0, 0, "Sun Jan 24 2010 14:09:01"));
	track[0].push(new TrackPoint(35.644241, 140.126328, 41.603, 16, 0, 0, "Sun Jan 24 2010 14:09:21"));
	track[0].push(new TrackPoint(35.644382, 140.126190, 41.623, 19, 0, 0, "Sun Jan 24 2010 14:09:40"));
	track[0].push(new TrackPoint(35.644348, 140.126038, 41.638, 22, 0, 0, "Sun Jan 24 2010 14:09:53"));
	track[0].push(new TrackPoint(35.644436, 140.125839, 41.658, 23, 0, 0, "Sun Jan 24 2010 14:10:06"));
	track[0].push(new TrackPoint(35.644508, 140.125183, 41.658, 14, 0, 0, "Sun Jan 24 2010 14:18:54"));
	track[0].push(new TrackPoint(35.644451, 140.125259, 41.668, 32, 0, 0, "Sun Jan 24 2010 14:19:18"));
	track[0].push(new TrackPoint(35.644352, 140.125229, 41.679, 34, 0, 0, "Sun Jan 24 2010 14:19:41"));
	track[0].push(new TrackPoint(35.644337, 140.125275, 41.679, 36, 0, 0, "Sun Jan 24 2010 14:20:01"));
	track[0].push(new TrackPoint(35.644211, 140.125198, 41.699, 38, 0, 0, "Sun Jan 24 2010 14:20:17"));
	track[0].push(new TrackPoint(35.644581, 140.125824, 41.699, 7, 0, 0, "Sun Jan 24 2010 14:28:15"));
	track[0].push(new TrackPoint(35.644588, 140.125900, 41.706, 18, 0, 0, "Sun Jan 24 2010 14:28:16"));
	track[0].push(new TrackPoint(35.644505, 140.125870, 41.716, 16, 0, 0, "Sun Jan 24 2010 14:28:17"));
	track[0].push(new TrackPoint(35.644547, 140.125977, 41.726, 18, 0, 0, "Sun Jan 24 2010 14:28:25"));
	track[0].push(new TrackPoint(35.644878, 140.125977, 41.763, 17, 0, 0, "Sun Jan 24 2010 14:29:18"));
	track[0].push(new TrackPoint(35.644993, 140.125656, 41.795, 10, 0, 0, "Sun Jan 24 2010 14:29:53"));
	track[0].push(new TrackPoint(35.645004, 140.125595, 41.801, 9, 0, 0, "Sun Jan 24 2010 14:29:59"));
	track[0].push(new TrackPoint(35.645168, 140.125504, 41.821, 7, 0, 0, "Sun Jan 24 2010 14:30:31"));
	track[0].push(new TrackPoint(35.645149, 140.125397, 41.831, 6, 0, 0, "Sun Jan 24 2010 14:30:48"));
	track[0].push(new TrackPoint(35.645081, 140.125427, 41.831, 11, 0, 0, "Sun Jan 24 2010 14:31:25"));
	track[0].push(new TrackPoint(35.645069, 140.125259, 41.846, 12, 0, 0, "Sun Jan 24 2010 14:31:41"));
	track[0].push(new TrackPoint(35.645123, 140.125275, 41.852, 12, 0, 0, "Sun Jan 24 2010 14:32:01"));
	track[0].push(new TrackPoint(35.645199, 140.125580, 41.881, 14, 0, 0, "Sun Jan 24 2010 14:32:53"));
	track[0].push(new TrackPoint(35.645317, 140.125580, 41.894, 15, 0, 0, "Sun Jan 24 2010 14:33:19"));
	track[0].push(new TrackPoint(35.645302, 140.125824, 41.916, 16, 0, 0, "Sun Jan 24 2010 14:33:51"));
	track[0].push(new TrackPoint(35.645187, 140.125946, 41.933, 16, 0, 0, "Sun Jan 24 2010 14:34:07"));
	track[0].push(new TrackPoint(35.645000, 140.125946, 41.954, 15, 0, 0, "Sun Jan 24 2010 14:34:29"));
	track[0].push(new TrackPoint(35.644989, 140.126160, 41.973, 14, 0, 0, "Sun Jan 24 2010 14:34:45"));
	track[0].push(new TrackPoint(35.645187, 140.126343, 42.001, 13, 0, 0, "Sun Jan 24 2010 14:35:13"));
	track[0].push(new TrackPoint(35.645138, 140.126343, 42.001, 11, 0, 0, "Sun Jan 24 2010 14:35:41"));
	track[0].push(new TrackPoint(35.645119, 140.126251, 42.015, 11, 0, 0, "Sun Jan 24 2010 14:35:48"));
	track[0].push(new TrackPoint(35.645203, 140.126205, 42.025, 10, 0, 0, "Sun Jan 24 2010 14:36:08"));
	track[0].push(new TrackPoint(35.645245, 140.126373, 42.041, 10, 0, 0, "Sun Jan 24 2010 14:36:26"));
	track[0].push(new TrackPoint(35.645195, 140.126419, 42.048, 7, 0, 0, "Sun Jan 24 2010 14:36:47"));
	track[0].push(new TrackPoint(35.645210, 140.126358, 42.053, 6, 0, 0, "Sun Jan 24 2010 14:36:48"));
	track[0].push(new TrackPoint(35.645344, 140.126343, 42.068, 6, 0, 0, "Sun Jan 24 2010 14:37:13"));
	track[0].push(new TrackPoint(35.645515, 140.126480, 42.091, 9, 0, 0, "Sun Jan 24 2010 14:37:49"));
	track[0].push(new TrackPoint(35.645596, 140.126282, 42.111, 9, 0, 0, "Sun Jan 24 2010 14:38:16"));
	track[0].push(new TrackPoint(35.645573, 140.126190, 42.120, 9, 0, 0, "Sun Jan 24 2010 14:38:24"));
	track[0].push(new TrackPoint(35.645557, 140.125992, 42.138, 7, 0, 0, "Sun Jan 24 2010 14:38:40"));
	track[0].push(new TrackPoint(35.645466, 140.125870, 42.153, 6, 0, 0, "Sun Jan 24 2010 14:38:51"));
	track[0].push(new TrackPoint(35.645554, 140.125809, 42.164, 6, 0, 0, "Sun Jan 24 2010 14:38:56"));
	track[0].push(new TrackPoint(35.645519, 140.125732, 42.172, 6, 0, 0, "Sun Jan 24 2010 14:39:03"));
	track[0].push(new TrackPoint(35.645622, 140.125458, 42.199, 6, 0, 0, "Sun Jan 24 2010 14:39:27"));
	track[0].push(new TrackPoint(35.645561, 140.125183, 42.225, 7, 0, 0, "Sun Jan 24 2010 14:39:49"));
	track[0].push(new TrackPoint(35.645611, 140.125076, 42.236, 5, 0, 0, "Sun Jan 24 2010 14:40:26"));
	track[0].push(new TrackPoint(35.645660, 140.125107, 42.236, 4, 0, 0, "Sun Jan 24 2010 14:40:53"));
	track[0].push(new TrackPoint(35.645828, 140.124969, 42.265, 3, 0, 0, "Sun Jan 24 2010 14:41:08"));
	track[0].push(new TrackPoint(35.645950, 140.124969, 42.278, 4, 0, 0, "Sun Jan 24 2010 14:41:11"));
	track[0].push(new TrackPoint(35.645947, 140.125031, 42.278, 5, 0, 0, "Sun Jan 24 2010 14:46:55"));
	track[0].push(new TrackPoint(35.645939, 140.125046, 42.278, 6, 0, 0, "Sun Jan 24 2010 14:48:27"));
	track[0].push(new TrackPoint(35.646198, 140.125076, 42.307, 7, 0, 0, "Sun Jan 24 2010 14:49:49"));
	track[0].push(new TrackPoint(35.646248, 140.125259, 42.325, 7, 0, 0, "Sun Jan 24 2010 14:50:09"));
	track[0].push(new TrackPoint(35.646358, 140.125214, 42.338, 7, 0, 0, "Sun Jan 24 2010 14:50:24"));
	track[0].push(new TrackPoint(35.646187, 140.125168, 42.357, 7, 0, 0, "Sun Jan 24 2010 14:50:30"));
	track[0].push(new TrackPoint(35.646076, 140.125000, 42.377, 7, 0, 0, "Sun Jan 24 2010 14:50:52"));
	track[0].push(new TrackPoint(35.646030, 140.125015, 42.382, 7, 0, 0, "Sun Jan 24 2010 14:51:05"));
	track[0].push(new TrackPoint(35.645950, 140.124695, 42.412, 8, 0, 0, "Sun Jan 24 2010 14:51:30"));
	track[0].push(new TrackPoint(35.645691, 140.124405, 42.451, 8, 0, 0, "Sun Jan 24 2010 14:52:01"));
	track[0].push(new TrackPoint(35.645538, 140.124329, 42.470, 7, 0, 0, "Sun Jan 24 2010 14:52:17"));
	track[0].push(new TrackPoint(35.645561, 140.124237, 42.478, 6, 0, 0, "Sun Jan 24 2010 14:52:24"));
	track[0].push(new TrackPoint(35.645660, 140.124191, 42.490, 4, 0, 0, "Sun Jan 24 2010 14:52:37"));
	track[0].push(new TrackPoint(35.645634, 140.124115, 42.497, 4, 0, 0, "Sun Jan 24 2010 14:52:45"));
	track[0].push(new TrackPoint(35.644962, 140.123932, 42.574, 4, 0, 0, "Sun Jan 24 2010 14:53:30"));
	track[0].push(new TrackPoint(35.644531, 140.123932, 42.622, 7, 0, 0, "Sun Jan 24 2010 14:54:13"));
	track[0].push(new TrackPoint(35.644627, 140.123749, 42.641, 7, 0, 0, "Sun Jan 24 2010 14:54:26"));
	track[0].push(new TrackPoint(35.644722, 140.123718, 42.652, 9, 0, 0, "Sun Jan 24 2010 14:54:31"));
	track[0].push(new TrackPoint(35.645302, 140.123734, 42.717, 3, 0, 0, "Sun Jan 24 2010 14:55:17"));
	track[0].push(new TrackPoint(35.645306, 140.123795, 42.722, 3, 0, 0, "Sun Jan 24 2010 14:55:22"));
	track[0].push(new TrackPoint(35.645287, 140.123795, 42.724, 2, 0, 0, "Sun Jan 24 2010 14:55:26"));
	track[0].push(new TrackPoint(35.645245, 140.123795, 42.729, 1, 0, 0, "Sun Jan 24 2010 14:55:34"));
	track[0].push(new TrackPoint(35.645252, 140.123718, 42.729, 2, 0, 0, "Sun Jan 24 2010 14:56:13"));
	drawTrack(0, '#FF0000', 3, 0.70);

	maxSpeed[0] = 97.8;
}

function TrackPoint(lat, lon, dist, height, hr, cad, time) {
	this.latlng = new GLatLng(lat, lon);
	this.dist = parseFloat(dist);
	this.height = parseInt(height);
	this.hr = parseInt(hr);
	this.cad = parseInt(cad);
	this.time = new Date(time);
}

function drawTrack(n, color, width, opacity) {
	var tp = new Array();
	var i;
	for (i=0; i<track[n].length; i++) {
		tp.push(track[n][i].latlng);
	}
	map.addOverlay(new GPolyline(tp, color, width, opacity));
}

function drawRoute(color, width, opacity) {
	map.addOverlay(new GPolyline(route, color, width, opacity));
}

function drawWaypoints(showDate, showTime, showLocation, showHeight) {
	var i;
	for (i=0; i<waypoints.length; i++) {
		markers[i] = createMarker(waypoints[i], showDate, showTime, showLocation, showHeight);
		map.addOverlay(markers[i]);
	}
}

function initTimeLine() {
	var i;
	for (i=0; i<track.length; i++) {
		timeLine[i] = new TimeLine("timeLine" + i);
		var chartType = document.getElementById("chartType" + i);
		if (chartType) {
			drawTimeLine(i, chartType.value);
		}
	}
}

function setIcon() {
	var imgPath = "./images/";
	var i;
	for (i=0; i<9; i++) {
		markerIcon[i] = new GIcon();
		markerIcon[i].shadow = imgPath + "mm_20_shadow.png";
		markerIcon[i].iconSize = new GSize(12, 20);
		markerIcon[i].shadowSize = new GSize(22, 20);
		markerIcon[i].iconAnchor = new GPoint(6, 20);
		markerIcon[i].infoWindowAnchor = new GPoint(6, 1);
	}
	markerIcon[0].image = imgPath + "mm_20_red.png";
	markerIcon[1].image = imgPath + "mm_20_orange.png";
	markerIcon[2].image = imgPath + "mm_20_yellow.png";
	markerIcon[3].image = imgPath + "mm_20_green.png";
	markerIcon[4].image = imgPath + "mm_20_blue.png";
	markerIcon[5].image = imgPath + "mm_20_purple.png";
	markerIcon[6].image = imgPath + "mm_20_white.png";
	markerIcon[7].image = imgPath + "mm_20_gray.png";
	markerIcon[8].image = imgPath + "mm_20_black.png";
}

function MarkerInfo(lat, lon, height, date, time, icon, name, image, url, desc, largeImage) {
	this.point = new GLatLng(parseFloat(lat), parseFloat(lon));
	this.height = parseInt(height);
	this.date = date;
	this.time = time;
	this.icon = icon;
	this.name = name;
	this.image = image;
	this.url = url;
	this.desc = desc;
	this.largeImage = largeImage;
}
MarkerInfo.prototype.getHtml = MarkerInfo_getHtml;

function MarkerInfo_getHtml(showDate, showTime, showLocation, showHeight, imageLoaded) {
	var html;

	html = '<div class="marker">';
	html += '<div class="marker_subject">' + this.name + '</div>';
	if (showDate || showTime) {
		html += '<div class="marker_time">';
		if (showDate) {
			html += this.date;
		}
		if (showTime) {
			if (showDate) {
				html += '&nbsp;';
			}
			html += this.time;
		}
		html += '</div>';
	}
	if (showLocation || showHeight) {
		html += '<div class="marker_location">';
		if (showLocation) {
			var prefix_lat = (this.point.lat() >= 0) ? 'N' : 'S';
			var prefix_lon = (this.point.lng() >= 0) ? 'E' : 'W';
			html += '(' + prefix_lat + Math.abs(this.point.lat()).toFixed(6) + ', ' + prefix_lon + Math.abs(this.point.lng()).toFixed(6) + ')';
		}
		if (showHeight) {
			if (showLocation) {
				html += '&nbsp;';
			}
			html += '高度' + this.height + 'm';
		}
		html += '</div>';
	}
	if (this.image != '') {
		var ext = getFileExt(this.image);
		if (ext == 'jpg' || ext == 'gif' || ext == 'png') {
			if (imageLoaded) {
				if (this.largeImage != '') {
					html += '<div class="marker_image"><a href="' + this.largeImage + '" target="largeImage"><img src="' + this.image + '" /></a></div>';
				}
				else {
					html += '<div class="marker_image"><img src="' + this.image + '" /></div>';
				}
			}
		}
		else {
			html += '<div class="marker_url"><a href="' + this.image + '" target="refer">関連ファイル</a></div>';
		}
	}
	if (this.url != '') {
		html += '<div class="marker_url"><a href="' + this.url + '" target="refer">関連リンク</a></div>';
	}
	if (this.desc != '') {
		html += '<div class="marker_desc">' + this.desc + '</div>';
	}
	html += '</div>';

	return html;
}

function createMarker(markerInfo, showDate, showTime, showLocation, showHeight) {
	var marker = new GMarker(markerInfo.point, {icon: markerIcon[markerInfo.icon], title: markerInfo.name});

	GEvent.addListener(marker, 'click', function() {
		if (markerInfo.image != '') {
			var ext = getFileExt(markerInfo.image);
			if (ext == 'jpg' || ext == 'gif' || ext == 'png') {
				var image = new Image();
				image.src = markerInfo.image;
				if (image.complete) {
					marker.openInfoWindowHtml(markerInfo.getHtml(showDate, showTime, showLocation, showHeight, true));
				}
				else {
					image.onload = function() {
						marker.openInfoWindowHtml(markerInfo.getHtml(showDate, showTime, showLocation, showHeight, true));
					}
					image.onerror = function() {
						marker.openInfoWindowHtml(markerInfo.getHtml(showDate, showTime, showLocation, showHeight, false));
					}
				}
				return;
			}
		}
		marker.openInfoWindowHtml(markerInfo.getHtml(showDate, showTime, showLocation, showHeight, false));
	});

	return marker;
}

function popupMarker(num) {
	GEvent.trigger(markers[num], 'click');
}

function getFileExt(filepath) {
	var strArray = filepath.split('.');
	return strArray[strArray.length - 1].toLowerCase();
}

function getBrowser() {
	var agent = navigator.userAgent;

	if (agent.indexOf('Safari') >= 0) {
		return 'Safari';
	}
	else if (agent.indexOf('Opera') >= 0) {
		return 'Opera';
	}
	else if (agent.indexOf('Gecko') >= 0) {
		return 'Mozilla';
	}
	else if (agent.indexOf('MSIE') >= 0) {
		return 'MSIE';
	}
	else {
		return 'other';
	}
}

function playRoute() {
	var count = 0;
	for (i=0; i<track.length; i++) {
		count += track[i].length;
	}

	if (count > 1 && !playing) {
		map.addOverlay(centerPointer);
		if (showMeterPanel) {
			infoPanel = new InfoPanel();
			map.addControl(infoPanel);
			speedMeter = new SpeedMeter();
			map.addControl(speedMeter);
			speedMeter.setMaxSpeed(maxSpeed[currTrack]);
		}
		playing = true;
		goForward();
	}
}

function goForward() {
	var waittime;
	var pos = track[currTrack][currPoint].latlng;
	map.panTo(pos);
	centerPointer.setLatLng(pos);
	if (showMeterPanel) {
		displayInfoPanel(currTrack, currPoint);
	}
	if (currPoint < track[currTrack].length - 1) {
		if (realTimePlay) {
			waittime = track[currTrack][currPoint+1].time.getTime() - track[currTrack][currPoint].time.getTime();
			waittime /= parseFloat(document.getElementById("playSpeed").value);
		}
		else {
			waittime = 1000 / parseFloat(document.getElementById("playSpeed").value);
		}
		currPoint++;
	}
	else {
		if (currTrack < track.length - 1) {
			waittime = 1000;
			currTrack++;
			currPoint = 0;
			if (showMeterPanel) {
				speedMeter.setMaxSpeed(maxSpeed[currTrack]);
			}
		}
		else {
			window.clearTimeout(playTimer);
			playing = false;
			map.removeOverlay(centerPointer);
			if (showMeterPanel) {
				map.removeControl(infoPanel);
				map.removeControl(speedMeter);
			}
			return;
		}
	}
	playTimer = window.setTimeout("goForward()", waittime);
}

function stopRoute() {
	if (playing) {
		window.clearTimeout(playTimer);
		playing = false;
		map.removeOverlay(centerPointer);
		if (showMeterPanel) {
			map.removeControl(infoPanel);
			map.removeControl(speedMeter);
		}
	}
}

function rewindRoute() {
	currTrack = 0;
	currPoint = 0;
	map.setCenter(track[currTrack][currPoint].latlng);
	if (showMeterPanel && speedMeter) {
		speedMeter.setMaxSpeed(maxSpeed[currTrack]);
	}
}

function prevTrack() {
	if (currTrack > 0) {
		currTrack--;
		currPoint = 0;
		map.setCenter(track[currTrack][currPoint].latlng);
		if (showMeterPanel && speedMeter) {
			speedMeter.setMaxSpeed(maxSpeed[currTrack]);
		}
	}
}

function nextTrack() {
	if (currTrack < track.length - 1) {
		currTrack++;
		currPoint = 0;
		map.setCenter(track[currTrack][currPoint].latlng);
		if (showMeterPanel && speedMeter) {
			speedMeter.setMaxSpeed(maxSpeed[currTrack]);
		}
	}
}

function displayInfoPanel(ntrack, npoint) {
	infoPanel.writeTime(track[ntrack][npoint].time);
	
	var distance = 0;
	var speed = 0;
	var timespan;
	var gradient = 0;
	var elevation;
	if (npoint > 0) {
		distance = track[ntrack][npoint].dist - track[ntrack][npoint - 1].dist;
		timespan = track[ntrack][npoint].time.getTime() - track[ntrack][npoint - 1].time.getTime();
		elevation = track[ntrack][npoint].height - track[ntrack][npoint - 1].height;
		if (timespan > 0) {
			speed = 3600000 * distance / timespan;
		}
		if (distance > 0) {
			gradient = elevation / distance / 10;
		}
	}
	speed = Math.round(speed * 10) / 10;

	infoPanel.writeSpeed(track[ntrack][npoint].dist,speed);
	infoPanel.writeHeight(track[ntrack][npoint].height,gradient);
	speedMeter.update(speed);
}

function InfoPanel() {
	this.writeTime = function(date) {
		var hour = date.getHours();
		var min = date.getMinutes();
		var sec = date.getSeconds();
		if (hour < 10) hour = "0" + hour;
		if (min < 10) min = "0" + min;
		if (sec < 10) sec = "0" + sec;
		var timePanel = document.getElementById("time");
		timePanel.innerHTML = '時刻：' + hour + ':' + min + ':' + sec;
	}

	this.writeSpeed = function(distance, speed) {
		var speedPanel = document.getElementById("speed");
		var distStr = distance.toFixed(3);
		var speedStr = speed.toFixed(1);
		if (distStr < 10) distStr = "&nbsp;&nbsp;&nbsp;" + distStr;
		else if (distStr < 100) distStr = "&nbsp;&nbsp;" + distStr;
		else if (distStr < 1000) distStr = "&nbsp;" + distStr;
		if (speedStr < 10) speedStr = "&nbsp;&nbsp;" + speedStr;
		else if (speedStr < 100) speedStr = "&nbsp;" + speedStr;
		speedPanel.innerHTML = '距離：' + distStr + 'km&nbsp;&nbsp;速度：' + speedStr + 'km/h';
	}

	this.writeHeight = function(height, gradient) {
		var heightStr = height.toString();
		if (height > -100) {
			if (height <= -10) heightStr = "&nbsp;" + heightStr;
			else if (height < 0) heightStr = "&nbsp;&nbsp;" + heightStr;
			else if (height < 10) heightStr = "&nbsp;&nbsp;&nbsp;" + heightStr;
			else if (height < 100) heightStr = "&nbsp;&nbsp;" + heightStr;
			else if (height < 1000) heightStr = "&nbsp;" + heightStr;
		}
		var gradStr = Math.abs(gradient).toFixed(1);
		if (gradStr < 10) gradStr = "&nbsp;" + gradStr;
		if (gradient >= 0) {
			gradStr = '↑' + gradStr;
		}
		else {
			gradStr = '↓' + gradStr;
		}
		var heightPanel = document.getElementById("height");
		heightPanel.innerHTML = '高度：' + heightStr + 'm&nbsp;&nbsp;勾配：' + gradStr + '%';
	}
}
InfoPanel.prototype = new GControl();

InfoPanel.prototype.initialize = function(map) {
	var outerFrame = document.createElement("div");
	outerFrame.style.width = "240px";
	outerFrame.style.height = "70px";
	if (getBrowser() == 'MSIE') {
		outerFrame.style.backgroundColor = "#FFFFFF";
	}
	else {
		outerFrame.style.backgroundColor = "rgba(255, 255, 255, 0.7)";
	}
	outerFrame.style.border = "1px solid black";
	outerFrame.innerHTML = '<div id="time"></div><div id="speed"></div><div id="height"></div>';
	map.getContainer().appendChild(outerFrame);
	return outerFrame;
}

InfoPanel.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10, 30));
}

function SpeedMeter() {
	this.data = new google.visualization.DataTable();
	this.data.addColumn('string', 'Label');
	this.data.addColumn('number', 'Value');
	this.data.addRows(1);
	this.data.setValue(0, 0, 'Speed');

	this.setMaxSpeed = function(max) {
		var majorTicks = new Array();
		if (max <= 8) {
			max = 8;
			majorTicks = ["0","1","2","3","4","5","6","7","8"];
			minorTicks = 5;
		}
		else if (max <= 25) {
			max = 25;
			majorTicks = ["0","5","10","15","20","25"];
			minorTicks = 5;
		}
		else if (max <= 40) {
			max = 40;
			majorTicks = ["0","5","10","15","20","25","30","35","40"];
			minorTicks = 5;
		}
		else if (max <= 60) {
			max = 60;
			majorTicks = ["0","10","20","30","40","50","60"];
			minorTicks = 5;
		}
		else if (max <= 80) {
			max = 80;
			majorTicks = ["0","10","20","30","40","50","60","70","80"];
			minorTicks = 5;
		}
		else if (max <= 140) {
			max = 140;
			majorTicks = ["0","20","40","60","80","100","120","140"];
			minorTicks = 4;
		}
		else if (max <= 350) {
			max = 350;
			majorTicks = ["0","50","100","150","200","250","300","350"];
			minorTicks = 5;
		}
		else if (max <= 1200) {
			max = 1200;
			majorTicks = ["0","200","400","600","800","1000","1200"];
			minorTicks = 4;
		}
		else {
			majorTicks = ["0","","","","",max.toString()];
			minorTicks = 5;
		}

		this.options = {width: 100, height: 100, max: max, majorTicks: majorTicks, minorTicks: minorTicks};
	}

	this.update = function(speed) {
	    this.data.setValue(0, 1, speed);
    	this.meter.draw(this.data, this.options);
	}
}
SpeedMeter.prototype = new GControl();

SpeedMeter.prototype.initialize = function(map) {
	var outerFrame = document.createElement("div");
	outerFrame.style.width = "100px";
	outerFrame.style.height = "100px";
	map.getContainer().appendChild(outerFrame);

	this.meter = new google.visualization.Gauge(outerFrame);

	return outerFrame;
}

SpeedMeter.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10, 110));
}

function TimeLine(container) {
	this.chart = new google.visualization.AnnotatedTimeLine(document.getElementById(container));

	this.draw = function(data, unit, scaleType) {
		this.chart.draw(data, {dateFormat: "yyyy/MM/dd HH:mm:ss", allValuesSuffix: unit, scaleType: scaleType});
	}

	this.draw2columns = function(data, scaleType) {
		this.chart.draw(data, {dateFormat: "yyyy/MM/dd HH:mm:ss", scaleType: scaleType, scaleColumns: [0,1]});
	}
}

function drawTimeLine(ntrack, type) {
	var data = new google.visualization.DataTable();
	data.addColumn("datetime", "Time");

	if (type == "height") {
		data.addColumn("number", "高度");
		var i;
		for (i=0; i<track[ntrack].length; i++) {
			data.addRow([track[ntrack][i].time, track[ntrack][i].height]);
		}
		timeLine[ntrack].draw(data, "m", "maximized");
	}
	else if (type == "speed") {
		data.addColumn("number", "速度");
		var i;
		for (i=0; i<track[ntrack].length; i++) {
			data.addRow([track[ntrack][i].time, calcSpeed(ntrack, i)]);
		}
		timeLine[ntrack].draw(data, "km/h", "fixed");
	}
	else if (type == "distance") {
		data.addColumn("number", "距離");
		var i;
		for (i=0; i<track[ntrack].length; i++) {
			data.addRow([track[ntrack][i].time, track[ntrack][i].dist]);
		}
		timeLine[ntrack].draw(data, "km", "fixed");
	}
	else if (type == "height_speed") {
		data.addColumn("number", "高度");
		data.addColumn("number", "速度");
		var i;
		for (i=0; i<track[ntrack].length; i++) {
			data.addRow([track[ntrack][i].time, track[ntrack][i].height, calcSpeed(ntrack, i)]);
		}
		timeLine[ntrack].draw2columns(data, "allmaximized");
	}
}

function calcSpeed(ntrack, npoint) {
	var speed = 0;
	if (npoint > 0) {
		var distance = track[ntrack][npoint].dist - track[ntrack][npoint-1].dist;
		var timespan = track[ntrack][npoint].time.getTime() - track[ntrack][npoint-1].time.getTime();
		if (timespan > 0) {
			speed = 3600000 * distance / timespan;
		}
	}

	return speed;
}

