//<![CDATA[

	var customIcons = {
		restaurant: {
			icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png',
			shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
		},
		bar: {
			icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png',
			shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
		}
	};
	
	function load() {
		var map = new google.maps.Map(document.getElementById("gmap"), {
			center: new google.maps.LatLng(50.734850, -3.536562),
			zoom: 7,
			mapTypeId: 'roadmap'
		});
		
		var infoWindow = new google.maps.InfoWindow;
		var bounds = new google.maps.LatLngBounds();
		
		// Change this depending on the name of your PHP file
		downloadUrl("results.xml", function(data) {
			var xml = data.responseXML;
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var name = markers[i].getAttribute("name");
				var address = markers[i].getAttribute("address");
				var type = markers[i].getAttribute("type");
				var point = new google.maps.LatLng(
					parseFloat(markers[i].getAttribute("lat")),
					parseFloat(markers[i].getAttribute("lng")));
				var html = "<b>" + name + "</b> <br/>" + address;
				var icon = customIcons[type] || {};
				var marker = new google.maps.Marker({
					map: map,
					position: point,
					icon: icon.icon,
					shadow: icon.shadow
				});
				bindInfoWindow(marker, map, infoWindow, html);
				bounds.extend(point);
			}
			
			map.fitBounds(bounds);
		});
	}
	
	function loadMap() {
		var map = new google.maps.Map(document.getElementById("map"), {
			zoom: 13,
			streetViewControl: true,
			mapTypeId: 'roadmap'
		});
		
		var infoWindow = new google.maps.InfoWindow;
		
		// Change this depending on the name of your PHP file
		downloadUrl("/results.xml", function(data) {
			var pathArray = window.location.pathname.split( '/' );
			var the_id = pathArray[2];
			var xml = data.responseXML;
			var markers = xml.documentElement.getElementsByTagName("marker");
			
			/*var name = markers[1].getAttribute("name");
						var address = markers[1].getAttribute("address");
						var type = markers[1].getAttribute("type");
						var point = new google.maps.LatLng(
							parseFloat(markers[1].getAttribute("lat")),
							parseFloat(markers[1].getAttribute("lng")));
						var html = "<b>" + name + "</b> <br/>" + address;
						var icon = customIcons[type] || {};
						var marker = new google.maps.Marker({
							map: map,
							position: point,
							icon: icon.icon,
							shadow: icon.shadow
						});
						map.setCenter(point);
						bindInfoWindow(marker, map, infoWindow, html);*/
			for (var i = 0; i < markers.length; i++) {
				if (markers[i].hasAttribute('id')) {
					//if there is, test its value
					if (markers[i].getAttribute('id') == the_id) {
						var name = markers[i].getAttribute("name");
						var address = markers[i].getAttribute("address");
						var type = markers[i].getAttribute("type");
						var point = new google.maps.LatLng(
							parseFloat(markers[i].getAttribute("lat")),
							parseFloat(markers[i].getAttribute("lng")));
						var html = "<b>" + name + "</b> <br/>" + address;
						var icon = customIcons[type] || {};
						var marker = new google.maps.Marker({
							map: map,
							position: point,
							icon: icon.icon,
							shadow: icon.shadow
						});
						map.setCenter(point);
						bindInfoWindow(marker, map, infoWindow, html);
					}
				}
			}	
		});
	}

	
	function bindInfoWindow(marker, map, infoWindow, html) {
		google.maps.event.addListener(marker, 'click', function() {
			infoWindow.setContent(html);
			infoWindow.open(map, marker);
		});
	}
	
	function downloadUrl(url, callback) {
		var request = window.ActiveXObject ?
		new ActiveXObject('Microsoft.XMLHTTP') :
		new XMLHttpRequest;
		
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				request.onreadystatechange = doNothing;
				callback(request, request.status);
			}
		};
	
		request.open('GET', url, true);
		request.send(null);
	}
	
	function doNothing() {}
	
	function gup( name ){
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( window.location.href );
		if( results == null )
			return "";
		else
			return results[1];
	}

//]]>
