var map_survey = null;
var geocoder = null;
var lastclick = "" ;				// Last Clicked Point

/* Survey page validation */
function ClientValidate(source, arguments)
{
    if (arguments.Value == "")
        arguments.IsValid = false;
    else
        arguments.IsValid = true;
}
       
function checkclick ( point )
{
    if ( lastclick != point )    
    {
        lastclick = point;			
        var zoomlvl = map_survey.getZoom();
        focusAndZoom(point, zoomlvl);
    }
}

function focusAndZoom(point, zoomlvl)
 {
	var html = "";
	map_survey.setCenter( point, zoomlvl) ;
	html += map_survey.getCenter(point);
	map_survey.clearOverlays();
	var marker = new createMarker(point, html);
    map_survey.addOverlay(marker);
    var gpoint3 = marker.getPoint();
    if (document.getElementById('Survey1_ctl01_txtMarkerLat') != null)
    {
        document.getElementById('Survey1_ctl01_txtMarkerLat').value = gpoint3.lat();
        document.getElementById('Survey1_ctl01_txtMarkerLon').value = gpoint3.lng();
    }
    else
    {
        if (document.getElementById('FacilityEdit1_ctl02_txtMarkerLat') != null)
        {
            document.getElementById('FacilityEdit1_ctl02_txtMarkerLat').value = gpoint3.lat();
            document.getElementById('FacilityEdit1_ctl02_txtMarkerLon').value = gpoint3.lng();
        }
        else
        {
            document.getElementById('NewSurvey1_ctl02_txtMarkerLat').value = gpoint3.lat();
            document.getElementById('NewSurvey1_ctl02_txtMarkerLon').value = gpoint3.lng();
        }
    }
 }

 function setMarker(lat, lng)
 {
	var point = new GLatLng(lat, lng);
	var marker = new GMarker(point,{draggable: true});
	GEvent.addListener(marker, "click", function()
	{
		if (marker)
		{
			map_survey.removeOverlay(marker);
		} 
		else
		{
			map_survey.addOverlay(new GMarker(point,{draggable: true}));
		}

	});
	
	GEvent.addListener(marker, "dragend", function() 
	{
		var gpoint1 = marker.getPoint();
		if (document.getElementById('Survey1_ctl01_txtMarkerLat') != null)
	    {
	        document.getElementById('Survey1_ctl01_txtMarkerLat').value = gpoint1.lat();
	        document.getElementById('Survey1_ctl01_txtMarkerLon').value = gpoint1.lng();
	    }
	    else
	    {
	        if (document.getElementById('FacilityEdit1_ctl02_txtMarkerLat') != null)
	        {
	            document.getElementById('FacilityEdit1_ctl02_txtMarkerLat').value = gpoint1.lat();
                document.getElementById('FacilityEdit1_ctl02_txtMarkerLon').value = gpoint1.lng();
            }
            else
            {
                document.getElementById('NewSurvey1_ctl02_txtMarkerLat').value = gpoint1.lat();
                document.getElementById('NewSurvey1_ctl02_txtMarkerLon').value = gpoint1.lng();
            }
	    }
	    map_survey.setCenter(gpoint1, map_survey.getZoom());
	});
	            
	var html = "";
	map_survey.setCenter(point, 16) ;
	html += map_survey.getCenter(point);
	map_survey.clearOverlays();
	var marker = new createMarker(point, html);
	map_survey.addOverlay(marker);
	var gpoint3 = marker.getPoint();
}

function createMarker(point, html) 
{
    var marker = new GMarker(point,{draggable: true});
    GEvent.addListener(marker, "click", function()
    {
        if (marker) 
        {
            map_survey.removeOverlay(marker);
        } 
        else 
        {
            map_survey.addOverlay(new GMarker(point,{draggable: true}));
        }
    });

    GEvent.addListener(marker, "dragend", function() 
    {
        var gpoint1 = marker.getPoint();         
        if (document.getElementById('Survey1_ctl01_txtMarkerLat') != null)
        {
            document.getElementById('Survey1_ctl01_txtMarkerLat').value = gpoint1.lat();
            document.getElementById('Survey1_ctl01_txtMarkerLon').value = gpoint1.lng();
        }
        else
        {
            if (document.getElementById('FacilityEdit1_ctl02_txtMarkerLat') != null)
            {
                document.getElementById('FacilityEdit1_ctl02_txtMarkerLat').value = gpoint1.lat();
                document.getElementById('FacilityEdit1_ctl02_txtMarkerLon').value = gpoint1.lng();
            }
            else
            {
                document.getElementById('NewSurvey1_ctl02_txtMarkerLat').value = gpoint1.lat();
                document.getElementById('NewSurvey1_ctl02_txtMarkerLon').value = gpoint1.lng();
            }
        }
        map_survey.setCenter(gpoint1, map_survey.getZoom());
    });
            
    return marker;
}
  
function load() 
{  
    if (GBrowserIsCompatible()) 
    {
        map_survey = new GMap2(document.getElementById("map_survey"));
        geocoder = new GClientGeocoder();
        map_survey.addControl(new GSmallMapControl());
        map_survey.addControl(new GMapTypeControl());
        map_survey.setCenter(new GLatLng(33.502468829034314, -112.060546875), 9);
        GEvent.addListener(map_survey, 'click', function(overlay, point)
        {
            if (overlay)
            {
             
            } 
            else if (point) 
            {
                checkclick( point ) ;
            }
        });    
    } 
} 

function showAddress(address) 
{
    if (geocoder) 
    {
        geocoder.getLatLng(address,function(point) 
        {
            if (!point) 
            {
            } 
            else 
            {
                map_survey.setCenter(point, 13);
                map_survey.clearOverlays();
                var html = "";
                var marker = new createMarker(point, html);
                map_survey.addOverlay(marker);
                var gpoint4 = marker.getPoint();
                if (document.getElementById('Survey1_ctl01_txtMarkerLat') != null)
                {
                    document.getElementById('Survey1_ctl01_txtMarkerLat').value = gpoint3.lat();
                    document.getElementById('Survey1_ctl01_txtMarkerLon').value = gpoint3.lng();
                }
                else
                {
                    if (document.getElementById('FacilityEdit1_ctl02_txtMarkerLat') != null)
                    {
                        document.getElementById('FacilityEdit1_ctl02_txtMarkerLat').value = gpoint3.lat();
                        document.getElementById('FacilityEdit1_ctl02_txtMarkerLon').value = gpoint3.lng();
                    }
                    else
                    {
                        document.getElementById('NewSurvey1_ctl02_txtMarkerLat').value = gpoint3.lat();
                        document.getElementById('NewSurvey1_ctl02_txtMarkerLon').value = gpoint3.lng();
                    }
                }
            }
        });
    }
}     
