//var map;
var processClick = true;
var geoRSSLayers = new Array();

var initialLat = -37;
var initialLon = 146;
var initialZoom = 7;


var map = null;

//load map    
function Page_Load() {  
    var mapArgs = new VEPlus.MapArgs("veplusmap", new VELatLong(initialLat, initialLon),initialZoom, VEMapStyle.Road, false, VEMapMode.Mode2D, VEDistanceUnit.Kilometers);
    map = new VEPlus.Map(GeomaticTechnologies.Web.VEPlus.Cluster.MapService, mapArgs);
    
    //map.GetMap().AttachEvent('onclick', MapClick);
}  

//Clean up all objects
function Page_Unload() {
    if (map!=null) {
        map.Dispose();
        map = null;
    }
}

/*
function loadMap()
{
//Not used at the minute
    map = new VEMap('veplusmap');         
    map.SetDashboardSize(VEDashboardSize.Normal);
    map.LoadMap(new VELatLong(-37, 146), 7, 's', false, VEMapMode.Mode2D, false, 1);
    map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
    map.ShowSwitch=0;
    map.AttachEvent('onclick', MapClick);
    
}
*/

function loadMapStatic(zoomLevel)
{
if (map!=null) {
    map.GetMap().SetCenterAndZoom(new VELatLong(-37, 146), zoomLevel);
}

    //map.LoadMap(new VELatLong(-37, 146), zoomLevel, 's', true, VEMapMode.Mode2D, false, 1);
}

function loadGeoRSSLayer(layerURL,layerID,clustered,iconUrl,clusteredIconUrl)
{
    if(clustered == 'N' || map == null)
    {
        if(geoRSSLayers[layerID])
        {
            geoRSSLayers[layerID].Show();
            }
        else
        {
            var layer = new VEShapeLayer();
            geoRSSLayers[layerID] = layer; //Keep track of layer so we can turn it on and off
            var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, layerURL, layer);
            map.GetMap().ImportShapeLayerData(veLayerSpec, onFeedLoad, true);
        }
    }
    else
    {
    if (map!=null) {
        map.loadClusteredLayer(layerURL,layerID,iconUrl,clusteredIconUrl);
        }
    }
}

function onFeedLoad(feed)         
{            
    var numShapes = feed.GetShapeCount();

    for(var i=0; i < numShapes; ++i)
    {
        var s = feed.GetShapeByIndex(i);      
        s.SetCustomIcon("<img src='" + s.IconId + "'/>");
    }
}

function hideGeoRssLayer(layerID,clustered)
{
   if(clustered == 'N' || map == null)
    {
        if(geoRSSLayers[layerID])
            geoRSSLayers[layerID].Hide();
     }
     else
     {
        if (map!=null) {
            map.hideClusteredLayer(layerID);
            }
     }
}

function MapClick(e)
{
    if(processClick)
    {
        try
        {
             
        /*
            map.DeleteAllPushpins();
            var x = e.mapX;
            var y = e.mapY;
            var ll = map.PixelToLatLong(new VEPixel(x, y));
            loadGeoRSSLayer('VEPlusGeoRSS.ashx?FeedId=3&lat=-37.952860&lon=145.063476');
            */
            var a = 0;
            if (!isNaN(parseInt(document.getElementById("veplusmap").style.top)))
                a = parseInt(document.getElementById("veplusmap").style.top);
            
            var b = 0;
            if (!isNaN(parseInt(document.getElementById("veplusmap").style.height)))
                b = parseInt(document.getElementById("veplusmap").style.height);
            
            var c = 0;
            if (!isNaN(parseInt(document.getElementById("veplusmap").style.left)))
                c = parseInt(document.getElementById("veplusmap").style.left);
                
            document.getElementById("pnlLogo").style.left = c + 110 + "px";
            document.getElementById("pnlLogo").style.top = a + (b-46) + "px";
            
        }
        catch(err)
        {
            alert(err.message);
        }
    }
    
}

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 stopSubmit() { return false; }

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();