function loadGoogleMap(address, IsDraggable, latitude, longitude)
{
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById("map"));
        var Zoom = 2;

        if (longitude == 0 || latitude == 0)
        {
            var geocoder = new GClientGeocoder();
            geocoder.getLatLng(address,
              function(point) 
              {
                if (!point) 
                {
//                  alert(address + " not found");
                } 
                else 
                {
                  map.setCenter(point, Zoom);
                  CreateMap(map, point, IsDraggable)
                }
              }
            );
        }
        else
        {
        	map.setCenter(new GLatLng(latitude, longitude), Zoom);
        	var point = new GLatLng(latitude, longitude);
            CreateMap(map, point, IsDraggable)
        }
    } 
}


function CreateMap(map, point, IsDraggable)
{
              if (!IsDraggable)
              {
                 var marker = new GMarker(point);
              }
              else
              {
                 var marker = new GMarker(point, {icon:G_DEFAULT_ICON, draggable: true});
                 GEvent.addListener(marker, "drag", function(){document.getElementById("ctl00_ContentPlaceHolder1_longitudeTextBox").value=marker.getPoint().lng();});
                 GEvent.addListener(marker, "drag", function(){document.getElementById("ctl00_ContentPlaceHolder1_latitudeTextBox").value=marker.getPoint().lat();});
              }
              map.addOverlay(marker);                       //red mark

              map.enableContinuousZoom();
              map.enableDoubleClickZoom();                  //zooming using mouse
              map.addControl(new GSmallMapControl ());      //+, -, Navigation Small 
                                         
//              marker.openInfoWindowHtml(address);           //info window
//              map.addControl(new GLargeMapControl ());      //+, -, Navigation Big
//              map.addControl(new GSmallZoomControl ());     //+, - 
//              map.addControl(new GScaleControl ());         //1:1000
//              map.addControl(new GOverviewMapControl ());   //squre at right, down corner 
//              map.addControl(new GMapTypeControl());        //map, satellite, hybrid 
}
