 
 var map = null;
    var geocoder = null;

 function load() {

 
      if (GBrowserIsCompatible()) {
      
       var marker;

        function showNewMarker(latlng) {
            marker = new GMarker(latlng);
            map.addOverlay(marker);
            showMarker = updateExistingMarker;
        }

        function updateExistingMarker(latlng) {
            marker.setLatLng(latlng);
        }

        var showMarker = showNewMarker;

      
      
     var map = new GMap2(document.getElementById("map"));
  var center = new GLatLng(37.97749,23.71897);
      map.addControl(new GSmallMapControl());
       map.addControl(new GMapTypeControl());
        map.setCenter(center, 15);
         //alert(map);
      showMarker(center);
        
  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
        document.getElementById("lng").innerHTML = center.lng().toFixed(5);
         /*************************Additional***************************/
	    document.getElementById("Latitude").value = center.lat().toFixed(5);
	    document.getElementById("Longitude").value = center.lng().toFixed(5);

//map.setCenter(center, 15);
geocoder = new GClientGeocoder();
GEvent.addListener(map,"click", function(overlay, latlng) {     
  if (latlng) { 
  
     geocoder.getLocations(latlng, function(addresses) {
          if(addresses.Status.code != 200) {
            alert("reverse geocoder failed to find an address for " + latlng.toUrlValue());
          }
          else {
            address = addresses.Placemark[0];
           var myHtmltag = address.address;
       var myHtml = "" + latlng ;
                split=myHtml.indexOf(",");       
                x=Math.round(myHtml.slice(1,split)*1000000)/1000000;
                y=Math.round(myHtml.slice(split+1,myHtml.length-1)*1000000)/1000000;
                document.getElementById("lat").innerHTML = x;
        document.getElementById("lng").innerHTML = y;
         /*************************Additional***************************/
	    document.getElementById("Latitude").value = x;
	    document.getElementById("Longitude").value =y;
              
            //alert(myHtml);
           document.getElementById("tagvv").value=myHtmltag;
            map.openInfoWindow(latlng,myHtmltag);
           

          // map.clearOverlay();
             showMarker(latlng);


             
          }
        });
  }
});
map.openInfoWindow(map.getCenter(), "Click the map!");
// map.addControl(new GSmallMapControl());
//map.addControl(new GMapTypeControl());
      //  map.addControl(new GSmallMapControl());
      //  map.addControl(new GMapTypeControl());
      //  var center = new GLatLng(37.97749,23.71897);
      //  map.setCenter(center, 15);
      //  geocoder = new GClientGeocoder();
      //  var marker = new GMarker(center, {draggable: true});  
        
     

        
        
        map.addOverlay(marker);
        document.getElementById("lat").innerHTML = center.lat().toFixed(5);
        document.getElementById("lng").innerHTML = center.lng().toFixed(5);
         /*************************Additional***************************/
	    document.getElementById("Latitude").value = center.lat().toFixed(5);
	    document.getElementById("Longitude").value = center.lng().toFixed(5);
      /**********************************************************************/
      
           GEvent.addListener(map, "click", clicked);
      //  map.openInfoWindow(map.getCenter(), "Click the map!");
      
        
	  GEvent.addListener(marker, "dragend", function() {
       var point = marker.getPoint();
	      map.panTo(point);
       document.getElementById("lat").innerHTML = point.lat().toFixed(5);
       document.getElementById("lng").innerHTML = point.lng().toFixed(5);
       /*************************Additional***************************/
	    document.getElementById("Latitude").value = point.lat().toFixed(5);
	    document.getElementById("Longitude").value = point.lng().toFixed(5);
      /**********************************************************************/
       
 
        });
 
 
	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = center.lng().toFixed(5);
	   /*************************Additional***************************/
	    document.getElementById("Latitude").value = center.lat().toFixed(5);
	    document.getElementById("Longitude").value = center.lng().toFixed(5);
      /**********************************************************************/
 
 
	 GEvent.addListener(marker, "dragend", function() {
      var point =marker.getPoint();
	     map.panTo(point);
      document.getElementById("lat").innerHTML = point.lat().toFixed(5);
	     document.getElementById("lng").innerHTML = point.lng().toFixed(5);
	     /*************************Additional***************************/
	    document.getElementById("Latitude").value = point.lat().toFixed(5);
	    document.getElementById("Longitude").value = point.lng().toFixed(5);
      /**********************************************************************/
 
        });
 
        });
 
      }
    }
 
	   function showAddress(address) {
	   var map = new GMap2(document.getElementById("map"));
       map.addControl(new GSmallMapControl());
       map.addControl(new GMapTypeControl());
       if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
		  document.getElementById("lat").innerHTML = point.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = point.lng().toFixed(5);
	   /*************************Additional***************************/
	    document.getElementById("Latitude").value = point.lat().toFixed(5);
	    document.getElementById("Longitude").value = point.lng().toFixed(5);
      /**********************************************************************/
		 map.clearOverlays()
			map.setCenter(point, 14);
   var marker = new GMarker(point, {draggable: true});  
		 map.addOverlay(marker);
 
		GEvent.addListener(marker, "dragend", function() {
      var pt = marker.getPoint();
	     map.panTo(pt);
      document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
	     document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
	     /*************************Additional***************************/
	    document.getElementById("Latitude").value = pt.lat().toFixed(5);
	    document.getElementById("Longitude").value = pt.lng().toFixed(5);
      /**********************************************************************/
        });
 
 
	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
	    document.getElementById("lng").innerHTML = center.lng().toFixed(5);
	    
	    /*************************Additional***************************/
	    document.getElementById("Latitude").value = center.lat().toFixed(5);
	    document.getElementById("Longitude").value = center.lng().toFixed(5);
      /**********************************************************************/
      
	 GEvent.addListener(marker, "dragend", function() {
     var pt = marker.getPoint();
	    map.panTo(pt);
    document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
	  document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
	  /*************************Additional***************************/
	    document.getElementById("Latitude").value = pt.lat().toFixed(5);
	    document.getElementById("Longitude").value = pt.lng().toFixed(5);
      /**********************************************************************/
        });
 
        });
 
            }
          }
        );
      }
    }
    
    
  
function getLatLng (point) {
     var matchll = /\(([-.\d]*), ([-.\d]*)/.exec( point );
      if ( matchll ) {
       var lat = parseFloat( matchll[1] );
       var lon = parseFloat( matchll[2] );
       lat = lat.toFixed(6);
       lon = lon.toFixed(6);
 
      } else {
       var message = "<b>Error extracting info from</b>:" + point + "";
       var messagRoboGEO = message;
      }
 
     return new GLatLng(lat, lon);
 }
 
function searchPlace(place) {
	if (geocoder) {
 
		geocoder.getLatLng(place, function(point) {
 
			if (!point) {
				alert(place + " not found");
			} else {
 
				var latlng = getLatLng (point);
		
			 geocoder.getLocations(latlng, function(addresses) {
          if(addresses.Status.code != 200) {
            alert("reverse geocoder failed to find an address for " + latlng.toUrlValue());
          }
          else {
            address = addresses.Placemark[0];
           var myHtmltag = address.address;
          // alert(myHtmltag);
       var myHtml = "" + latlng ;
                split=myHtml.indexOf(",");       
                x=Math.round(myHtml.slice(1,split)*1000000)/1000000;
                y=Math.round(myHtml.slice(split+1,myHtml.length-1)*1000000)/1000000;
             
             
        var map1 = new GMap2(document.getElementById("map"));
          map1.addControl(new GSmallMapControl());
       map1.addControl(new GMapTypeControl());
      	 map1.clearOverlays()
			map1.setCenter(latlng, 15);
   var marker1 = new GMarker(point, {draggable: true});  
		 map1.addOverlay(marker1);
		 marker1.openInfoWindowHtml(myHtmltag);
 

          // GEvent.addListener(map, "click", clicked);
           
               document.getElementById("lat").innerHTML = x;
        document.getElementById("lng").innerHTML = y;
         /*************************Additional***************************/
	    document.getElementById("Latitude").value = x;
	    document.getElementById("Longitude").value =y;
           
        // map1.addControl(new GMapTypeControl());
        // alert(map1);
       //map1.openInfoWindowHtml(latlng,myHtmltag);
//var point = new GLatLng(latlng);
//var marker = createMarker(point)
//map.addOverlay(marker);
          // map.clearOverlay();
               // showMarker(latlng);


             
          }
        });
			}
		});
	}
}

  
    
    
     /* function clicked(overlay, latlng) {
      
      
      if (latlng) {
      
        geocoder.getLocations(latlng, function(addresses) {
          if(addresses.Status.code != 200) {
            alert("reverse geocoder failed to find an address for " + latlng.toUrlValue());
          }
          else {
            address = addresses.Placemark[0];
            var myHtml = address.address;
             // var myHtml = "The GPoint value is: " + map.fromLatLngToDivPixel(latlng) + " at zoom level " + map.getZoom();

            //alert(myHtml);
             document.getElementById("tagvv").value=myHtml;
            map.openInfoWindow(latlng, myHtml);
             
          }
        });
      }
    }
*/
   

