var map = null;
var gmarkers = [];
var markers = [];

var icon1 = new GIcon();icon1.image = "images/map/icon1.png";icon1.iconSize = new GSize(12, 20);icon1.iconAnchor = new GPoint(6, 20);icon1.infoWindowAnchor = new GPoint(5, 1);
var icon2 = new GIcon();icon2.image = "images/map/icon2.png";icon2.iconSize = new GSize(12, 20);icon2.iconAnchor = new GPoint(6, 20);icon2.infoWindowAnchor = new GPoint(5, 1);
var icon3 = new GIcon();icon3.image = "images/map/icon3.png";icon3.iconSize = new GSize(12, 20);icon3.iconAnchor = new GPoint(6, 20);icon3.infoWindowAnchor = new GPoint(5, 1);
var icon4 = new GIcon();icon4.image = "images/map/icon4.png";icon4.iconSize = new GSize(12, 20);icon4.iconAnchor = new GPoint(6, 20);icon4.infoWindowAnchor = new GPoint(5, 1);
var icon5 = new GIcon();icon5.image = "images/map/icon5.png";icon5.iconSize = new GSize(12, 20);icon5.iconAnchor = new GPoint(6, 20);icon5.infoWindowAnchor = new GPoint(5, 1);
var icon6 = new GIcon();icon6.image = "images/map/icon6.png";icon6.iconSize = new GSize(12, 20);icon6.iconAnchor = new GPoint(6, 20);icon6.infoWindowAnchor = new GPoint(5, 1);
var icon7 = new GIcon();icon7.image = "images/map/icon7.png";icon7.iconSize = new GSize(12, 20);icon7.iconAnchor = new GPoint(6, 20);icon7.infoWindowAnchor = new GPoint(5, 1);
var icon8 = new GIcon();icon8.image = "images/map/icon8.png";icon8.iconSize = new GSize(12, 20);icon8.iconAnchor = new GPoint(6, 20);icon8.infoWindowAnchor = new GPoint(5, 1);
var icon9 = new GIcon();icon9.image = "images/map/icon9.png";icon9.iconSize = new GSize(12, 20);icon9.iconAnchor = new GPoint(6, 20);icon9.infoWindowAnchor = new GPoint(5, 1);
var icon10 = new GIcon();icon10.image = "images/map/icon10.png";icon10.iconSize = new GSize(12, 20);icon10.iconAnchor = new GPoint(6, 20);icon10.infoWindowAnchor = new GPoint(5, 1);
var icon11 = new GIcon();icon11.image = "images/map/icon11.png";icon11.iconSize = new GSize(12, 20);icon11.iconAnchor = new GPoint(6, 20);icon11.infoWindowAnchor = new GPoint(5, 1);
var icon12 = new GIcon();icon12.image = "images/map/icon12.png";icon12.iconSize = new GSize(12, 20);icon12.iconAnchor = new GPoint(6, 20);icon12.infoWindowAnchor = new GPoint(5, 1);
var icon13 = new GIcon();icon13.image = "images/map/icon13.png";icon13.iconSize = new GSize(12, 20);icon13.iconAnchor = new GPoint(6, 20);icon13.infoWindowAnchor = new GPoint(5, 1);
var icon14 = new GIcon();icon14.image = "images/map/icon14.png";icon14.iconSize = new GSize(12, 20);icon14.iconAnchor = new GPoint(6, 20);icon14.infoWindowAnchor = new GPoint(5, 1);
var icon15 = new GIcon();icon15.image = "images/map/icon15.png";icon15.iconSize = new GSize(12, 20);icon15.iconAnchor = new GPoint(6, 20);icon15.infoWindowAnchor = new GPoint(5, 1);
var icon16 = new GIcon();icon16.image = "images/map/icon16.png";icon16.iconSize = new GSize(12, 20);icon16.iconAnchor = new GPoint(6, 20);icon16.infoWindowAnchor = new GPoint(5, 1);
var icon17 = new GIcon();icon17.image = "images/map/icon17.png";icon17.iconSize = new GSize(12, 20);icon17.iconAnchor = new GPoint(6, 20);icon17.infoWindowAnchor = new GPoint(5, 1);
var icon18 = new GIcon();icon18.image = "images/map/icon18.png";icon18.iconSize = new GSize(12, 20);icon18.iconAnchor = new GPoint(6, 20);icon18.infoWindowAnchor = new GPoint(5, 1);
var bus = new GIcon();bus.image = "images/map/bus.png";bus.iconSize = new GSize(12, 20);bus.iconAnchor = new GPoint(6, 20);bus.infoWindowAnchor = new GPoint(5, 1);


function createMarker(point,name,html,markertype) {
//html=html.replace(/%01%/g,"<");
//html=html.replace(/%02%/g,">");
//html=html.replace(/%03%/g,"&");
//html=html.replace(/%04%/g,"'");
var marker = new GMarker(point);
if(markertype=='0') { marker = new GMarker(point,bus); }
if(markertype=='1') { marker = new GMarker(point,icon1); }
if(markertype=='2') { marker = new GMarker(point,icon2); }
if(markertype=='3') { marker = new GMarker(point,icon3); }
if(markertype=='4') { marker = new GMarker(point,icon4); }
if(markertype=='5') { marker = new GMarker(point,icon5); }
if(markertype=='6') { marker = new GMarker(point,icon6); }
if(markertype=='7') { marker = new GMarker(point,icon7); }
if(markertype=='8') { marker = new GMarker(point,icon8); }
if(markertype=='9') { marker = new GMarker(point,icon9); }
if(markertype=='10') { marker = new GMarker(point,icon10); }
if(markertype=='11') { marker = new GMarker(point,icon11); }
if(markertype=='12') { marker = new GMarker(point,icon12); }
if(markertype=='13') { marker = new GMarker(point,icon13); }
if(markertype=='14') { marker = new GMarker(point,icon14); }
if(markertype=='15') { marker = new GMarker(point,icon15); }
if(markertype=='16') { marker = new GMarker(point,icon16); }
if(markertype=='17') { marker = new GMarker(point,icon17); }
if(markertype=='18') { marker = new GMarker(point,icon18); }

        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml("<b>" + name + "</b><br>" + html);
        });
        gmarkers.push(marker);
        return marker;
      }


function updatemap() {
var c_value = "";
for (var i=0; i < document.mapform.display.length; i++)
   {
   if (document.mapform.display[i].checked)
      {
      c_value = c_value + '(' + document.mapform.display[i].value + ')';
      }
   }


map.clearOverlays();
          
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
	  var markertype = markers[i].getAttribute("type");
          // create the marker
//alert(c_value.indexOf(markertype + ','));
	  if(c_value.indexOf('(' + markertype + ')')!=-1) {
          var marker = createMarker(point,label,html,markertype);
	   map.addOverlay(marker);
	  }
        }
var point = new GLatLng(52.384457,-1.567491);
var marker = createMarker(point,'Kirby Corner Rd','Text nwmdwpmp to 84268 for departures by SMS (25p)<br><a target="_blank" href="http://www.netwm.mobi/departureboard;jsessionid=efy%2BkAkZ%2B8hqFPVg.general-p2?atcoCode=43000065101">View next departures</a><br><a target="_blank" href="http://www.networkwestmidlands.com/bus/BusTimetable.aspx">Timetable</a><b>','0');
	   map.addOverlay(marker);
var point = new GLatLng(52.387939,-1.579447);
var marker = createMarker(point,'Longwood Close','Text nwmdwptm to 84268 for departures by SMS (25p)<br><a target="_blank" href="http://www.netwm.mobi/departureboard;jsessionid=efy%2BkAkZ%2B8hqFPVg.general-p2?atcoCode=43000065501">View next departures</a><br><a target="_blank" href="http://www.networkwestmidlands.com/bus/BusTimetable.aspx">Timetable</a><b>','0');
	   map.addOverlay(marker);
//alert(c_value.indexOf('1,'));
}

    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("gmap"));
map.addControl(new GSmallMapControl());
map.addControl(new GScaleControl()); 
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(52.38857,-1.57631), 13);
		var point = new GLatLng(52.38857,-1.57631);

 GDownloadUrl("roadworksxml.aspx", function(doc) {
        var xmlDoc = GXml.parse(doc);
        markers = xmlDoc.documentElement.getElementsByTagName("marker");
	updatemap();
    });

      }
    }
    