      // arrays to hold copies of the markers and html used by the side_bar
      // because the function closure trick doesnt work there
      var gmarkers = [];
      var htmls = [];
      var points = [];
      var names = [];

      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
          var str = htmls[i] + "<br>" +
	      "<a href=http://www.bing.com/maps/default.aspx?v=2&style=a&lvl=16&cp=" +
	      points[i].lat() + "~" + points[i].lng() + "&sp=an." +
	      points[i].lat() + "_" + points[i].lng() + "_" + encodeURI ( names[i] ) +
	      "_" + "base>bing.com zoom view</a>" + "<br>" +
	      "<a href=http://maps.google.com/maps?sensor=false&z=14&t=k&q=" +
	      encodeURI ( names[i] ) + "@" +
	      points[i].lat() + "," + points[i].lng() + ">Google zoom view</a>";
          gmarkers[i].openInfoWindowHtml(str);
      }


    function load() {
      if (GBrowserIsCompatible()) {
// from econyn
      // this variable will collect the html which will eventually be placed in the side_bar
      var side_bar_html = "";
      var geocoder = new GClientGeocoder();
    
      var i = 0;


      // A function to create the marker and set up the event window
      function createMarker(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        // save the info we need to use later for the side_bar
        gmarkers[i] = marker;
        htmls[i] = html;
	points[i] = point;
	names[i] = name;
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
        i++;
        return marker;
      }


// end from econym


        var map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
        map.setCenter(new GLatLng(52.4, -1.135), 7);

// from econym
      // === Define the function thats going to process the text file ===
      process_it = function(doc) {
        // === split the document into lines ===
        lines = doc.split("\n");
	for (var i=0; i<lines.length; i++) {
          if (lines[i].length > 1) {
            // === split each line into parts separated by "|" and use the contents ===
            parts = lines[i].split("|");
            var lat = parseFloat(parts[0]);
            var lng = parseFloat(parts[1]);
            var html = parts[3];
            var label = parts[2];
            var point = new GLatLng(lat,lng);
            // create the marker
            var marker = createMarker(point,label,html);
            map.addOverlay(marker);

          }
        }
        // put the assembled side_bar_html contents into the side_bar div
        document.getElementById("side_bar").innerHTML = side_bar_html;
      }          
          
      GDownloadUrl("england-wales-hire-locns.txt", process_it);

// end from econym

      }
    }

