function Markers(color){
map.closeInfoWindow();
   if (document.getElementById(color).checked==false) { // hide the marker
	
      for (var i=0;i<gmarkers.length;i++) {
        //alert(color + gmarkers[i].type);
         if (gmarkers[i].type==color)  {
            map.removeOverlay(gmarkers[i]);
         }
      }
   } else { // show the marker again
      for (var i=0;i<gmarkers.length;i++) {
         if (gmarkers[i].type==color)  {
            map.addOverlay(gmarkers[i]);
         }
      }
   }
}

//<![CDATA[
var gmarkers=[];
var map;
var request;
var bounds = new GBounds(Number.MAX_VALUE, Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); 
// Create our "tiny" marker icon 
var baseIcon = new GIcon(G_DEFAULT_ICON);
//baseIcon.image = "maps/icon3.png";
baseIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
baseIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
baseIcon.iconSize = new GSize(12, 20);
baseIcon.shadowSize = new GSize(22, 20);
baseIcon.iconAnchor = new GPoint(6, 20);
baseIcon.infoWindowAnchor = new GPoint(5, 1);

baseIcon.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0]; 
var icons=[];
var geocoder = new GClientGeocoder();
var previousLocation;

function addressSearch()
{
    var address = document.getElementById("txtAddress").value;
    if(address != "")
    {
        showAddress(address);
    }
}

function showAddress(address) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) 
      {
        alert(address + " not found");
      } 
      else {
        if(previousLocation != null)
        {
            map.removeOverlay(previousLocation);
        }
              
        map.setCenter(point, 12);
        var myIcon = new GIcon(G_DEFAULT_ICON);
        myIcon.iconSize = new GSize(22,34);
        myIcon.image = 'Images/address_arrow.png';
        myIcon.iconAnchor =  new GPoint(11, 34);
        myIcon.infoWindowAnchor = new GPoint(11, 11);
          
        var marker = new GMarker(point,{icon:myIcon,draggable:false});
        map.addOverlay(marker);
        previousLocation = marker;
      }
    }
  );
}

function addMarker(lng, lat, desc) {
   var point = new GPoint(lng, lat);
   bounds.extend(point);
   var mopts = new Object();
  var icon = new GIcon(baseIcon);
   mopts.clickable = true;
   mopts.icon = icon;
   var marker = new GMarker(point,mopts);
   gmarkers.push(marker);

   GEvent.addListener(marker, "click", function () {
   var text = '<div style="font-size:10pt; width:300px">' + desc + '</div>'
   marker.openInfoWindowHtml(text);
    });
   map.addOverlay(marker);
     
}

function processXML() { 
   if (request.readyState == 4) {
      if (request.status != 200) {
         alert("file not found:"+request.status);
         return;
      }
      var xmlDoc = request.responseXML;
      if (!xmlDoc) {
         alert("invalid xml file");
         return;
      }
	 
      markers = xmlDoc.documentElement.getElementsByTagName("row");
      for (var i=0; i < markers.length; i++) {
         var color=undefined;
         addMarker(parseFloat(markers[i].getAttribute("lng")),
                   parseFloat(markers[i].getAttribute("lat")),
                   markers[i].getAttribute("desc")
                   );
      }
	 
	  
   }
}
				  
function makeMap() {
   map = new GMap2(document.getElementById("MapDiv"));
   map.setCenter(new GLatLng(52.709675,-2.010498), 6);	
   map.setUIToDefault(); // set controls to mirror googlemaps.com
   //map.disableScrollWheelZoom();
   request = GXmlHttp.create(); 
   request.open("GET", "map/LittleKickersMap.xml", true); 
   request.onreadystatechange = processXML;
   request.send(null);
}


function fnTrapKD(event){
var btn = document.getElementById("bSearch");

 if (document.all){
  if (event.keyCode == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.click();
  }
 }

 else if (document.getElementById){
  if (event.which == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.click();
  }
 }

 else if(document.layers){
  if(event.which == 13){
   event.returnValue=false;
   event.cancel = true;
   btn.click();
  }
 }
}