// http://gisweb.azdeq.gov/arcgis/veiareas/
// ADEQ: Arizona Department of Environmental Quality

function GetVisibleLayers()
{
    // get initial mxd layer visibility
    var layers = _mapLayer.layerInfos;
    if (layers.length == 0)
    {
        // map layer not yet loaded, pause and try again
        setTimeout("GetVisibleLayers();", 1000);
        return;
    }

    for (var i = 0; i < layers.length; i++)
    {
        if (layers[i].defaultVisibility)
        {
            _visibleLayers.push(layers[i].id);
        }
    }
}

function LayerVisible(id)
{
    for (var i = 0; i < _visibleLayers.length; i++)
    {
        if (_visibleLayers[i] == id) return true;
    }
    return false;
}

function ShowLayer(layer)  // name or id
{
    var id = -1;
    if (isNaN(layer))
    {
        id = LayerID(layer);
        if (id < 0) return;
    }
    else
    {
        id = layer;
    }
    
    if (LayerVisible(id)) return;

    // add to visible layer list
    _visibleLayers.push(id);
    
    // update map
    _mapLayer.setVisibleLayers(_visibleLayers);
}

function HideLayer(layer)  // name or id
{
    var id = -1;
    if (isNaN(layer))
    {
        id = LayerID(layer);
        if (id < 0) return;
    }
    else
    {
        id = layer;
    }
    
    if (!LayerVisible(id)) return;

    // remove from visible layer list
    var visibleLayers = [];
    for (var i = 0; i < _visibleLayers.length; i++)
    {
        if (_visibleLayers[i] != id)
        {
            visibleLayers.push(_visibleLayers[i]);
        }
    }
    _visibleLayers = visibleLayers;
    
    // update map
    _mapLayer.setVisibleLayers(_visibleLayers);
}

function LayerID(name)
{
    for (var i = 0; i < _mapLayer.layerInfos.length; i++)
    {
        if (_mapLayer.layerInfos[i].name == name)
        {
            return _mapLayer.layerInfos[i].id;
        }
    }
    return -1;
}

function LayerName(layerID)
{
    for (var i = 0; i < _mapLayer.layerInfos.length; i++)
    {
        if (_mapLayer.layerInfos[i].id == layerID)
        {
            return _mapLayer.layerInfos[i].name;
        }
    }
    return "";
}

