// From George Coulouris July 2009; adapted by MLS; modified by GC 18-1-10
// Update to GoogleMaps v3 SJN 16 Nov 2010
// Provides some basic links to StreetView for the journey listings page in CycleStreets.

function ensureSVrow (tableId, row, colspan) {

	// Remove an existing street view row if there is one - see http://www.daniweb.com/forums/thread196811.html
	if (document.getElementById('streetviewRow')) {
		var el = document.getElementById('streetviewRow');
		el.parentNode.removeChild(el);
	}
	
	// Insert a new table row, spanning sufficient columns; see: http://www.java2s.com/Code/JavaScript/HTML/Table.htm
	var x=document.getElementById(tableId).insertRow(row);
	x.id='streetviewRow';	// Give this row a unique ID
	var y=x.insertCell(0);
	y.colSpan=colspan;

	// Make a DIV placeholder in this new row
	y.innerHTML='<div id="streetViewContainer" class="faded">Street View loading &hellip;</div>';
	
}
var svBearing = 0;

// Adds street view to an element with id="streetViewContainer"
function showStreetView (longitude, latitude, bearing, tableId, row, colspan) {

  ensureSVrow(tableId, row, colspan);

  var sv = new google.maps.StreetViewService();

  svBearing = bearing;

  sv.getPanoramaByLocation(new google.maps.LatLng(latitude,longitude), 50, processSVData);
}

function processSVData(data, status) {
	if (status == google.maps.StreetViewStatus.OK) {
		new google.maps.StreetViewPanorama(document.getElementById("streetViewContainer"),
		       {position: data.location.latLng, pov: {heading: svBearing, pitch: 0, zoom: 1}});
	} else {
		document.getElementById("streetViewContainer").innerHTML = '<span class=\"faded\">Google Street View data not found at this location.</span>'; 
	}
}

function rideTheRoute (itinerary, plan) {
    alert("Ride " + itinerary + "(" + plan + ")");
}

