// Initializes the map from an xml config file.
// Sets the center of the map and zoom level
function initMap(map, config_file_path) {
	
	var request = createRequestObject();
	request.open('GET', config_file_path, false);
	request.send(null);
	var xmlDoc = request.responseXML;
	var markers = xmlDoc.documentElement.getElementsByTagName("marker");
	var lat_center = parseFloat(markers[0].getAttribute("lat_center"));
	var lng_center = parseFloat(markers[0].getAttribute("lng_center"));
	var zoom = parseInt(markers[0].getAttribute("zoom"));	
        map.setCenter(new GLatLng(lat_center, lng_center), zoom, G_SATELLITE_MAP);
	map.addControl(new GLargeMapControl());
}

function MapGView(prototype, getPixelPerMeter)  {
  // diagonal distance in meters:
  var bnds = this.gMap.getBounds();
  var distDiagMeters = bnds.getSouthWest().distanceFrom(bnds.getNorthEast());
  // diagonal distance in pixel:
  var size = this.gMap.getSize();
  var distDiagPx = Math.sqrt(Math.pow(size.width, 2) + Math.pow(size.height, 2));
  return distDiagPx / distDiagMeters;
}


//
function createIcon(color) {
	var icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_"+color+".png";
	icon.iconSize = new GSize(12, 20);
	icon.iconAnchor = new GPoint(6, 20);
	icon.infoWindowAnchor = new GPoint(3, 0);
	return icon;
}

//
function threedIcon() {
	var baseIcon = new GIcon();
	baseIcon.iconSize=new GSize(20, 34);
	baseIcon.shadowSize=new GSize(37, 34);
	baseIcon.iconAnchor=new GPoint(9, 34);
	baseIcon.infoWindowAnchor=new GPoint(9, 2);
	baseIcon.infoShadowAnchor = new GPoint(18, 25);
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png"; // Default shadow
	var threedIcon = new GIcon(baseIcon, "/icons/colour001.png");
	return threedIcon;
}

//
function stationMarker(station_name, point, icon, link) {
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml("Station Name: "+station_name+"<br>Location: Lat "+point.lat()+" Lng "+point.lng()+"<br>Link: <a href=\"http://"+link+"\" target=\"_blank\" onClick=\"var w=window.open(this.href,this.target,'width=1000,heigth=400,left=200,top=200,location=yes,scrollbars=yes'); return (w)?false:true;\">www</a>");
	}); 
	return marker;
}

//
function standardMarker(station_name, point) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml("Station Name: "+station_name+"<br>Location: Lat "+point.lat()+" Lng "+point.lng());
	});
	return marker;
}

//
function smallMarker(station_name, point, icon) {
	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml("Station Name: "+station_name+"<br>Location: Lat "+point.lat()+" Lng "+point.lng());
	});
	return marker;
}

//
function smallmarkerELabel(point, label) {
	var elabel = new ELabel(point, '<div><nobr>'+label+'<\/nobr><\/div>', "style_elabel", new GSize(5, -15), 90);
	return elabel;
}

//
function standardELabel(point, label) {
	var elabel = new ELabel(point, '<div><nobr>'+label+'<\/nobr><\/div>', "style_elabel", new GSize(6, -30), 90);
	return elabel;
}


//
function points(map) {
	var points = [];
	points.push(new GLatLng(64.846667, -147.719722));  // Fairbanks
	points.push(new GLatLng(67.333333, -150.133333)); // Marion Creek
	points.push(new GLatLng(68.133333, -149.500000)); //Atigun Pass
	points.push(new GLatLng(70.250000, -148.500000)); // Deadhorse
	//points.sort(function(p1, p2) {
	//	return p1.lng() - p2.lng();
	//});
	map.addOverlay(new GPolyline(points));
	map.addOverlay(new GMarker(fb));
	map.addOverlay(new GMarker(mcreek));
	map.addOverlay(new GMarker(apass));
	map.addOverlay(new GMarker(dh));
}



/*
function getStationData(data_file) {
	var data = new Array();
	GDownloadUrl("allStations.xml", function(data, responseCode) {
	var xml = GXml.parse(data);
	var markers = xml.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < markers.length; i++) {
			var xml_data = {"descriptive_name":markers[i].getAttribute("descriptive_name"), 
											"station_name":markers[i].getAttribute("station_name"), 
										"lat":markers[i].getAttribute("lat"), 
										"lng":markers[i].getAttribute("lng"), 
										"link":markers[i].getAttribute("link"), 
										"temp":markers[i].getAttribute("temp")}; 
			data[markers[i].getAttribute("station_name")] = xml_data;
		}
	});
	document.write("got here");
	var temps = new Array();
	temps = get_temps('get_station_temperature.php');
	
	for (var t in temps) {
		document.write(temps[t]);
	}
	
	return data;
}
*/

