var map;
var objLang;
var objFY;
var objMK;

function initproc() {
	objLang = document.getElementById('lang');
	objFY = document.getElementById('FY');
	document.getElementById('markerid').value = 0;

	showGMap();

	feedLocationLists();
	FeedLists(0);
	showHelp();
	setCopyright();

}
window.onload = initproc;

function showGMap () {
	objMK = document.getElementById('markerid');
	objLang = document.getElementById('lang');
	objFY = document.getElementById('FY');

	GoogleMaploadMain('','', 'googlemap', 'feed_schedules.php?lang=' + objLang.value + '&fy=' + objFY.value+ '&mk=' + objMK.value,  objLang.value);
}

function refreshMapData () {
	initproc();
}

function feedLocationLists () {
	objLang = document.getElementById('lang');
	objFY = document.getElementById('FY');
	
	DBFeed('lang=' + objLang.value + '&fy=' + objFY.value , 'locationmapinfo','list_locationinfo.php');
}

function FeedLists(id) {

	switch(id) {
	case 0:
		map.setCenter(new GLatLng(25.68553499999998, -50.31115), 2, G_PHYSICAL_MAP);
		break;
	case 1:
		map.setCenter(new GLatLng(39.75509199999999, -104.988123), 3, G_PHYSICAL_MAP);
		break;
	case 2:
		map.setCenter(new GLatLng(-25.300494, -57.636231), 3, G_PHYSICAL_MAP);
		break;
	case 3:
		map.setCenter(new GLatLng(50.08781139999998, 14.42045980000002), 4, G_PHYSICAL_MAP);
		break;
	case 4:
		map.setCenter(new GLatLng(4.361697999999992, 18.55597499999999), 3, G_PHYSICAL_MAP);
		break;
	case 5:
		map.setCenter(new GLatLng(28.19763899999999, 112.968498), 3, G_PHYSICAL_MAP);
		break;
	case 6:
		map.setCenter(new GLatLng(-30.50263097339193, 144.3623108353494), 3, G_PHYSICAL_MAP);
		break;
	}
}

function feedScheduleLists (id) {
	objMK = document.getElementById('markerid');
	objLang = document.getElementById('lang');
	objFY = document.getElementById('FY');
	
	DBFeed('id=' + id + '&lang=' + objLang.value + '&fy=' + objFY.value + '&mk=' + objMK.value, 'schedulelists','list_schedules.php');
}

function setMarkerID (makerid) {
	var objMK = document.getElementById('markerid');
	objMK.value = makerid;
}

function showScheduleList() {
	document.getElementById('schedulelists').style.display = 'block';
}
function hideScheduleList() {
	document.getElementById('schedulelists').style.display = 'none';
}

function showHelp() {
	//document.getElementById('schedulelists').innerHTML = '<?php echo $help ?>';
	//alert(document.getElementById('schedulelists').innerHTML);
}

function GoogleMaploadMain(strlat, strlon, ObjName, feedFile, Lang) {

	if (GBrowserIsCompatible()) {
		if (!map) {
		    map = new GMap2(document.getElementById(ObjName));
		    
		    map.enableScrollWheelZoom();
			map.addControl(new GSmallMapControl());

		   	GEvent.addListener(map, 'zoomend',function() {
				var bairitsu = map.getZoom();
				if(bairitsu < 2) {map.setZoom(2);}
				if(bairitsu > 5) {map.setZoom(5);}
		    });
		    
		}

		GDownloadUrl(feedFile, function(data) {
			map.clearOverlays();
			
			var xml = GXml.parse(data);

			var markers = xml.documentElement.getElementsByTagName("marker");

			for (var i = 0; i < markers.length; i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lng")),
							parseFloat(markers[i].getAttribute("lat")));
				var SID = markers[i].getAttribute("SID");
				var Title = markers[i].getAttribute("Title");
				var Note = markers[i].getAttribute("Note");
				var Mimg = markers[i].getAttribute("Mimg");

				map.addOverlay(createMarker(point, SID, Title, Note, Mimg));
			}
		});

		function createMarker(point, SID, Title, Note, Mimg)
		{
			var icon = new GIcon();
			icon.image = Mimg;
			icon.iconSize = new GSize(16, 16);
			icon.iconAnchor = new GPoint(8, 16);
			icon.infoWindowAnchor = new GPoint(5, 1);

			var markeropts = new Object();
			markeropts.icon = icon;
			var marker = new GMarker(point, markeropts);

			GEvent.addListener(marker, "mouseover", function()
			{
				var strInfoHTML = "<span class='map-title'>" + "<a href='./show_schedule.php?id=" + SID + "&lang=" + Lang + "' target='_blank'>" + Title + "</a></span><br/><br/><span class='map-note'>" + Note.substring(0, 250) + "</span>";
				var opt = {maxWidth:200};
				marker.openInfoWindowHtml( strInfoHTML, opt);
			});
		
			return marker;
		}
	}
}
