
    //<![CDATA[


   var iconBlue = new GIcon(); 
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconBlue.iconSize = new GSize(12, 20);
    iconBlue.shadowSize = new GSize(22, 20);
    iconBlue.iconAnchor = new GPoint(6, 20);
    iconBlue.infoWindowAnchor = new GPoint(5, 1);

    var iconRed = new GIcon(); 
    iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_black.png';
    iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconRed.iconSize = new GSize(12, 20);
    iconRed.shadowSize = new GSize(22, 20);
    iconRed.iconAnchor = new GPoint(6, 20);
    iconRed.infoWindowAnchor = new GPoint(5, 1);

    var customIcons = [];
    customIcons["LOW"] = iconBlue;
    customIcons["Hom"] = iconRed;






 var map;

var ass;
var panorama;
   
    var geocoder;

    function load() {
   







if (GBrowserIsCompatible()) {
  var mapOptions = {
    googleBarOptions : {
      style : "new",
     

      
     showOnLoad : true,
suppressInitialResultSelection : true
//   resultList: document.getElementById("results")

    }
  }
    geocoder = new GClientGeocoder();
  
  map = new GMap2(document.getElementById("map"), mapOptions);
  map.setCenter(new GLatLng(40,-100),4);
  map.setUIToDefault();
  map.enableGoogleBar();
map.disableScrollWheelZoom() ;
 client = new GStreetviewClient();
}
    }

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng);
       }
     });
   }

   function searchLocationsNear(center) {
     var radius = document.getElementById('radiusSelect').value;
     var searchUrl = 'phpsqlstore_xml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius  ;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var sidbar = document.getElementById('sidbar');
       sidbar.innerHTML = '';
       if (markers.length == 0) {
         sidbar.innerHTML = 'No results found.';
         map.setCenter(new GLatLng(40, -100), 4);
         return;
       }

       var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var name = markers[i].getAttribute('name');
 var type = markers[i].getAttribute('type');
 var phone = markers[i].getAttribute('phone');
         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, phone, type);
         map.addOverlay(marker);
         var sidbarEntry = createSidbarEntry(marker, name, address, distance, phone);
         sidbar.appendChild(sidbarEntry);
         bounds.extend(point);
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
     });
   }
       function processMarkers(m) {
      markers = m;
      for (var i = 0; i < markers.length; i++) {
        addListener(markers[i].marker);
      }
      showPanoramaForMarker(markers[0].marker);
    }


    function createMarker(point, name, address, phone, type) {
      var marker = new GMarker(point, customIcons[type] );
      var html =  '<onLoad="processMarkers(m)"  /> '+'<b>' + name + '</b> <br/>' + address  +'<br />' + phone ;
      GEvent.addListener(marker, 'click', function() {
    showPanoramaForMarker(marker);
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }


//
    function showPanoramaForMarker(marker) {
      if (!panorama) {
        panorama = new GStreetviewPanorama(document.getElementById("pano"));
      }
      client.getNearestPanorama(marker.getLatLng(), onResponse);
    }

    function onResponse(response) {
      if (response.code != 200) {
 
alert("There is no photo available for this location");
      } else if (response.code == 200) {
        var latlng = new GLatLng(response.Location.lat, response.Location.lng);
        panorama.setLocationAndPOV(latlng);
      }
    }
    function createSidbarEntry(marker, name, address, distance, phone) {
      var div = document.createElement('div');
      var html = '<b>' + name + '</b> (' + distance.toFixed(1) + ') '+ address  + " "+ phone;
      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;
    }
    //]]>

  
