var map;
var processClick = false;

function loadMap()
{
    map = new VEMap('veplusmap');         
    map.SetDashboardSize(VEDashboardSize.Small);
    map.LoadMap(new VELatLong(-37, 145), 7, 's', false, VEMapMode.Mode2D, false, 1);
    map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
    map.ShowSwitch=0;
    map.AttachEvent('onclick', MapClick);
    //map.ClearInfoBoxStyles();
    
    map.ShowMessage = function(message)
    {
        if (message == 'Unable to load source file.') 
        {
            alert("No items found for this criteria.");
        } 
        else
        {
            alert(message);
        }                             
    }
}

function loadMapStatic()
{
    map = new VEMap('veplusmap');         
    map.SetDashboardSize(VEDashboardSize.Small);
    map.LoadMap(new VELatLong(-37, 145), 7, 's', true, VEMapMode.Mode2D, false, 1);
    map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
    map.ShowSwitch=0;
}

function zoomVicCentre(zoomLevel)
{
    map.SetCenterAndZoom(new VELatLong(-37, 145), zoomLevel);
}

function loadGeoRSSLayer(layerURL)
{
    var layer = new VEShapeLayer();
    var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, layerURL, layer);
    map.ImportShapeLayerData(veLayerSpec, onFeedLoad, false);
}

function loadGeoRSSLayerZoom(layerURL)
{
    var layer = new VEShapeLayer();
    var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, layerURL, layer);
    map.ImportShapeLayerData(veLayerSpec, onFeedLoad, true);
}

function onFeedLoad(feed)         
{            
    var numShapes = feed.GetShapeCount();
    var shape;
    
    for(var i=0; i < numShapes; ++i)
    {
        var shape = feed.GetShapeByIndex(i);      
        shape.SetCustomIcon("<img src='" + shape.IconId + "'/>");
    }
    
    if (numShapes == 1) map.ShowInfoBox(shape);
}

function MapClick(e)
{
    try
    {
        if (!e.leftMouseButton ) return;
        var elementID = e.elementID;
        
        if (elementID != null)
        {
            map.ShowInfoBox(map.GetShapeByID(elementID));
        }
    }
    catch(err) { }
}

function ToggleOptionSelected(toggled) 
{
    if (toggled)
    {
        processClick = true;
//        document.getElementById("t1").style.display="none";
        document.getElementById("veplusmap").childNodes[0].style.cursor = "crosshair";
    }
    else
    {
        processClick = false;
//        document.getElementById("t2").style.display="none";
        document.getElementById("veplusmap").childNodes[0].style.cursor = "";
    }
}

function hideAllLayers()
{
    map.HideAllTileLayers();
    map.HideAllShapeLayers();
}

function stopSubmit() { return false; }