

var pic_directory = 'trailpics/';

var map;
var customIcons = [];

function loadIcons() {
	var icon_directory = 'images/icons/';
	url = "scripts/php/gen_icons.php";
	
	GDownloadUrl(url, function(data) {
	 	var xml = GXml.parse(data);
		var icons_xml = xml.documentElement.getElementsByTagName("icon");
		for (i = 0; i<icons_xml.length; i++) {
			var gicon = new GIcon(); 
			gicon.image = icon_directory + icons_xml[i].getAttribute("image");
			gicon.shadow = icon_directory + icons_xml[i].getAttribute("shadow");
			gicon.iconSize = new GSize(parseInt(icons_xml[i].getAttribute("iconSize_x")), parseInt(icons_xml[i].getAttribute("iconSize_y")));
			gicon.shadowSize = new GSize(parseInt(icons_xml[i].getAttribute("shadowSize_x")), parseInt(icons_xml[i].getAttribute("shadowSize_y")));
			gicon.iconAnchor = new GPoint(parseInt(icons_xml[i].getAttribute("iconAnchor_x")), parseInt(icons_xml[i].getAttribute("iconAnchor_y")));
			gicon.infoWindowAnchor = new GPoint(parseInt(icons_xml[i].getAttribute("infoWindowAnchor_x")), parseInt(icons_xml[i].getAttribute("infoWindowAnchor_y")));
			customIcons[icons_xml[i].getAttribute("id")] = gicon;
		}
	});
}

function setupMap() {

    if (GBrowserIsCompatible()) { 
	
		loadIcons();
		map = new GMap2(document.getElementById("index_map"));
		map.disableDragging();
		map.disableDoubleClickZoom();
		map.setCenter(new GLatLng(40.0,-76.0), 4, G_PHYSICAL_MAP)
		
		var url = "scripts/php/gen_xml.php?" + "zoom=15&jour=1&photo=1&trail=0&spec=last";
		
		GDownloadUrl(url, function(data) {
 				var xml = GXml.parse(data);
				var entries_xml = xml.documentElement.getElementsByTagName("entry");
				var last_entry = new Entry(entries_xml[0]);
				var marker = new GMarker(last_entry.point,customIcons[last_entry.marker_icon_id]);
				map.addOverlay(marker);
		});
		
		var polylineEncoder = new PolylineEncoder();
		var bounds = map.getBounds();
		var swcorner = bounds.getSouthWest();
		var necorner = bounds.getNorthEast();
		var zoomlevel = map.getZoom();
		
		var url = "scripts/php/gen_xml.php?" + "slat=" + swcorner.lat() + "&nlat=" + necorner.lat() + "&wlng=" + swcorner.lng() + "&elng=" + necorner.lng() + "&zoom=" + zoomlevel + "&jour=0&photo=0&trail=1";
		
		GDownloadUrl(url, function(data) {
		var trail_array = new Array();
			var xml = GXml.parse(data);
			var trail_xml = xml.documentElement.getElementsByTagName("trail");
						if(trail_xml.length != 0) {
							for(var a = 0; a < trail_xml.length; a++) {
								var color = trail_xml[a].getAttribute("color");
								var weight = trail_xml[a].getAttribute("weight");
								var opacity = trail_xml[a].getAttribute("opacity");
								var trail_points_xml = trail_xml[a].getElementsByTagName("trail_point");
						
						//var trail_points_xml = xmlDoc.documentElement.getElementsByTagName("trail_point");
						if(trail_points_xml.length > 1) {
							var trail_points = new Array(0);
							for (var i = 0; i<trail_points_xml.length; i++) {
								trail_points[i] = new GLatLng(parseFloat(trail_points_xml[i].getAttribute("lat")),parseFloat(trail_points_xml[i].getAttribute("lng")));
							}
							var polyline;
							polyline = polylineEncoder.dpEncodeToGPolyline(trail_points, color, weight, opacity);
							trail_array.push(polyline);
						}
					}
					for(var i = 0; i < trail_array.length; i++) {
							map.addOverlay(trail_array[i]);
							}
				}
		});
    }
}






