// JavaScript Document
    //<![CDATA[
    var map;
    var geocoder;
    var betterIcon, snaiIcon, ladbrokesIcon;
    var markerOptions;
    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(42.0333, 12.0333), 5);
        
        defaultIcon=new GIcon(G_DEFAULT_ICON);
        defaultIcon.image="../img/marker.png";
        defaultIcon.anchor=new GSize(15,27);
        defaultIcon.shadowSize=new GSize(49,35);
        defaultIcon.shadow="../img/shadow.png"
        defaultIcon.iconSize=new GSize(35,35);
        
        betterIcon=new GIcon(G_DEFAULT_ICON);
        betterIcon.image="../img/markerBetter.png";
        betterIcon.anchor=new GSize(15,27);
        betterIcon.shadowSize=new GSize(49,35);
        betterIcon.shadow="../img/shadow.png"
        betterIcon.iconSize=new GSize(35,35);
        
        snaiIcon=new GIcon(G_DEFAULT_ICON);
        snaiIcon.image="../img/markerSnai.png";
        snaiIcon.shadow="../img/shadow.png"
        snaiIcon.iconSize=new GSize(35,35);
        
        intralotIcon=new GIcon(G_DEFAULT_ICON);
        intralotIcon.image="../img/markerIntralot.png";
        intralotIcon.anchor=new GSize(15,27);
        intralotIcon.shadowSize=new GSize(49,35);
        intralotIcon.shadow="../img/shadow.png"
        intralotIcon.iconSize=new GSize(35,35);
        
        matchIcon=new GIcon(G_DEFAULT_ICON);
        matchIcon.image="../img/markerMatch.png";
        matchIcon.anchor=new GSize(15,27);
        matchIcon.shadowSize=new GSize(49,35);
        matchIcon.shadow="../img/shadow.png"
        matchIcon.iconSize=new GSize(35,35);
        
        ladIcon=new GIcon(G_DEFAULT_ICON);
        ladIcon.image="../img/markerLadbrokes.png";
        ladIcon.anchor=new GSize(15,27);
        ladIcon.shadowSize=new GSize(49,35);
        ladIcon.shadow="../img/shadow.png"
        ladIcon.iconSize=new GSize(35,35);
        
      }
    }

   function searchLocations() {
     var address = document.getElementById('edtCm').value;
      for(var i=0; i<document.forms[0].defaultSearchOptions.length; i++) {
        if(document.forms[0].defaultSearchOptions[i].checked==true)
          var cnc=document.forms[0].defaultSearchOptions[i].id;
      }
     
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng,cnc);
       }
     });
   }

   function searchLocationsNear(center,cnc) {
     //var radius = document.getElementById('radiusSelect').value;
     var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=25&cnc='+cnc;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var sidebar = document.getElementById('rs');
       //sidebar.className="";
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<H3>Risultati</h3><p>Nessun risultato per la ricerca</p>';
         map.setCenter(new GLatLng(42.0333, 12.0333), 5);    
         return;
       }
      sidebar.innerHTML = '<H3>Risultati</h3>';
       var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var name = markers[i].getAttribute('name');
         var address = markers[i].getAttribute('address');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
         
         var marker = createMarker(point, name, address);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
     });
   }

    function createMarker(point, name, address) {
      markerOptions={icon:defaultIcon};
      if (name=='Snai') markerOptions = {icon:snaiIcon};
      if (name=='Better') markerOptions={icon:betterIcon};
      if (name=='Intralot') markerOptions={icon:intralotIcon};
      if (name=='Ladbrokes') markerOptions={icon:ladIcon};
      if (name=='Matchpoint') markerOptions={icon:matchIcon}
      var marker = new GMarker(point,markerOptions);
      var html = '<b>' + name + '</b> <br/>' + address;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createSidebarEntry(marker, name, address, distance) {
      var div = document.createElement('div');
      var html = '<b>' + name + '</b> <br/>' + address+'<br /><span>dista ' + distance.toFixed(1) + ' Km ';
      div.className=name;
      div.innerHTML = html;
      div.style.cursor = 'pointer';
      div.style.marginBottom = '5px'; 
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#eee';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#fff';
      });
      return div;
    }
    //]]>
  