﻿function ClickOnSim(x, y)
{
    //window.alert(x);
}

function gvMapClickHandler(gvMap, gmarker, point)
{
    if (point != undefined)
    {
        gvCoord = new XYPoint;
		gvCoord._SetFromGLatLng(point);
		
		if (gmarker == null)
		{
				// Generic click on map
				if (gvMap.options && gvMap.options.singleClickHandler)
				{
						gvCoord = new XYPoint;
						gvCoord._SetFromGLatLng(point); 
						gvMap.options.singleClickHandler(gvCoord.x, gvCoord.y);
				}
		}
		else
		{
			// Handle clicking on a marker
			var gvMarker = gmarker.gvMarker;

		    if (gvMarker)
		    {        
			    if (gvMarker.options.centerOnClick)
			        gvMap.panOrRecenterToGVCoord(gvMarker.gvCoord);
				
			    if (gvMarker.options.clickHandler)
			        gvMarker.options.clickHandler(gvMarker);
		    }
		}
	}
}

var InfoQ = 0;
function gvMapDoubleClickHandler(gvMap, gmarker, point)
{
        gvCoord = new XYPoint;
		gvCoord._SetFromGLatLng(point);
		if (gmarker == null)
		{ 
		    //window.alert(theMap.getCurrentZoomLevel());
		    if (theMap.getCurrentZoomLevel() > 1)
		        return;
		    
		    MapsData.GetDoubleClickData(gvCoord.x, gvCoord.y, session_key, OnDoubleClickComplete, onMapDataTimeOut, onMapDataError);
		}
		else 
		{
				// Handle clicking on a marker
				var gvMarker = gmarker.gvMarker;
				
				if (gvMarker.options.clickHandler)
				{
						gvMarker.options.clickHandler(gvMarker);
				}
		}
}

function simLoaded()
{
    eval("SimInfo" + new String(InfoQ) + "()");
}


function gvMapZoomEndHandler(gvMap, oldLevel, newLevel)
{
        if ((gvConvertGMapZoomToGVZoom(oldLevel) < gvDataMarkerMaxZoom) && (gvConvertGMapZoomToGVZoom(newLevel) >= gvDataMarkerMaxZoom))
        {
            gvMap.removeAllMarkers();       
        }
}
