var map;
var polys = [];
var markers = [];
var points = [];
var text = [];
var lat;
var lng;
var zoom;
var building;
var airport;
var rapid;
var scenic;
var start;
var stop;
var info;
var campground;
var drinks;
var fishing;
var food;
var hike;
var heli;
var swim;
var prev_pin;

function GLoad(map_type){
	if (GBrowserIsCompatible()) {	
		map = new GMap2(document.getElementById("map"));
		
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.iconSize = new GSize(21, 31);
		baseIcon.shadow = "/images/google/shadow.png";
		baseIcon.shadowSize = new GSize(52, 29);
		baseIcon.iconAnchor = new GPoint(7, 31);
		
		building = new GIcon(baseIcon);
		building.image = "/images/google/building.png";
		
		airport = new GIcon(baseIcon);
		airport.image = "/images/google/airport.png";
		
		rapid = new GIcon(baseIcon);
		rapid.image = "/images/google/rapid.png";
		
		scenic = new GIcon(baseIcon);
		scenic.image = "/images/google/scenic.png";
		
		start = new GIcon(baseIcon);
		start.image = "/images/google/start.png";
		
		stop = new GIcon(baseIcon);
		stop.image = "/images/google/stop.png";
		
		info = new GIcon(baseIcon);
		info.image = "/images/google/info.png";
		
		campground = new GIcon(baseIcon);
		campground.image = "/images/google/campground.png";
		
		drinks = new GIcon(baseIcon);
		drinks.image = "/images/google/drinks.png";
		
		fishing = new GIcon(baseIcon);
		fishing.image = "/images/google/fishing.png";
		
		food = new GIcon(baseIcon);
		food.image = "/images/google/food.png";
		
		heli = new GIcon(baseIcon);
		heli.image = "/images/google/heli.png";
		
		hike = new GIcon(baseIcon);
		hike.image = "/images/google/hike.png";
		
		swim = new GIcon(baseIcon);
		swim.image = "/images/google/swim.png";
		
		switch (map_type){
			case 'map_shotover_trip':
				map.setMapType(G_SATELLITE_MAP);
				zoom=12;
				break;
				
			case 'map_kawarau_trip':
				map.setMapType(G_PHYSICAL_MAP);
				zoom=13;
				break;
				
			case 'map_landsborough_trip':
				map.setMapType(G_PHYSICAL_MAP);
				zoom=12;
				break;
				
			case 'location':
				zoom=17;
				break;
				
			case 'cavellscafebar_map':
				//map.setMapType(G_SATELLITE_MAP);
				zoom=17;
				break;
		}		
		
		map.addMapType(G_PHYSICAL_MAP);
		map.addMapType(G_SATELLITE_3D_MAP);
		//map.removeMapType(G_SATELLITE_MAP);
		map.removeMapType(G_HYBRID_MAP);
		var mapControl = new GHierarchicalMapTypeControl();
		map.addControl(mapControl);
		map.addControl(new GLargeMapControl());
		
		geocoder = new GClientGeocoder();
		
		mapSpecific();
		
		/*GEvent.addListener(map, 'click', function(overlay, pointclick) { 
			if (prev_pin) { 
				map.removeOverlay(prev_pin); 
				prev_pin = null; 
			}
			if (pointclick) { 
				pin = new GMarker(pointclick); 
				map.addOverlay(pin); 
				prev_pin = pin; 
	
				latlngDiv = document.getElementById('latlng');
				latlngDiv.innerHTML = pointclick.y+', '+pointclick.x;
			} 
		});*/
	}
}

function showAddress() {
	var address = document.getElementById("addressTEXT").value;
		geocoder.getLatLng(
		address,
		function(latlng) {
			if (!latlng) {
				alert(address + " not found");
			} else {
				map.setCenter(latlng, 13);
				
				document.getElementById("addressTEXT").value=latlng;
				createMarkerAt(latlng);
			}
		}
  	);
}

function createMarkerAt(latlng) {
	var marker = new GMarker(latlng, {draggable:true});
	GEvent.addListener(marker, 'dragend', function() {
		//updateImage();
	});
	map.addOverlay(marker);
	markers.push(marker);
}