// http://gisweb.azdeq.gov/arcgis/epanls/
// ADEQ: Arizona Department of Environmental Quality

function ShowMap()
{
    // show map
    dojo.byId("map").style.visibility = "visible";
}

function HideMap()
{
    // hide map
    dojo.byId("map").style.visibility = "hidden";
}

function ShowLayer(layer)
{
    var layerID = LayerID(layer);
    if (layerID < 0) return;

    var visibleLayers = [];
    for (var i = 0; i < _mapLayer.layerInfos.length; i++)
    {
        if (_mapLayer.layerInfos[i].defaultVisibility)
        {
            visibleLayers.push(_mapLayer.layerInfos[i].id);
        }
    }
    visibleLayers.push(layerID);
    _mapLayer.setVisibleLayers(visibleLayers);
}

function GetCenter(extent)
{
    // extent.getCenter() concatenates (string) values
    var x = (Number(extent.xmin) + Number(extent.xmax)) / 2;
    var y = (Number(extent.ymin) + Number(extent.ymax)) / 2;
    return new esri.geometry.Point(x, y, _NAD_1983_UTM_Zone_12N);
}

function LayerID(layerName)
{
    for (var i = 0; i < _mapLayer.layerInfos.length; i++)
    {
        if (_mapLayer.layerInfos[i].name == layerName)
        {
            return _mapLayer.layerInfos[i].id;
        }
    }
    return -1;
}

function EnvelopeFromPoint(point, perimeter)
{
    var xmin = parseInt(point.x) - perimeter;
    var ymin = parseInt(point.y) - perimeter;
    var xmax = parseInt(point.x) + perimeter;
    var ymax = parseInt(point.y) + perimeter;
    return new esri.geometry.Extent(xmin, ymin, xmax, ymax, _NAD_1983_UTM_Zone_12N);
}

function MarkLocation(location)
{
    // display red X at location
    var outline = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,0,0]), 2);
    var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_X, 10, outline, new dojo.Color([255,0,0]));
    var graphic = new esri.Graphic(location, symbol);
    _map.graphics.clear();
    _map.graphics.add(graphic);
    DrawScalebar();
}

function DrawScalebar()
{
    var MilesPerMeter = .00062137;//11922348

    // scalebar xy
    var scalebarX1 = Number(_map.extent.xmin) + Number(_map.extent.getWidth() * 0.30);
    var scalebarX2 = Number(_map.extent.xmin) + Number(_map.extent.getWidth() * 0.50);
    var scalebarY = Number(_map.extent.ymin) + Number(_map.extent.getHeight() * 0.02);
    
    // scalebar line
    var point1 = new esri.geometry.Point(scalebarX1, scalebarY , _NAD_1983_UTM_Zone_12N);
    var point2 = new esri.geometry.Point(scalebarX2, scalebarY, _NAD_1983_UTM_Zone_12N);
    var points = [ point1, point2];
    var polyline = new esri.geometry.Polyline(_NAD_1983_UTM_Zone_12N);
    polyline.addPath(points);

    // draw scalebar
    var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([128,0,0]), 5);
    var scalebarGraphic = new esri.Graphic(polyline, symbol);
    _map.graphics.add(scalebarGraphic);
    
    // scalebar value in miles
    var scalebarMeters = scalebarX2 - scalebarX1;
    var scalebarMiles = String(scalebarMeters * MilesPerMeter);

    // text value
    var textSymbol = new esri.symbol.TextSymbol(scalebarMiles.substr(0,5) + " miles");
    textSymbol.setAlign(esri.symbol.TextSymbol.ALIGN_START);
    textSymbol.setColor(new dojo.Color([128,0,0]));

    // draw value
    var textX = Number(scalebarX2) + Number(_map.extent.getWidth() * 0.01);
    var textY = Number(_map.extent.ymin) + Number(_map.extent.getHeight() * 0.012);
    var textPoint = new esri.geometry.Point(textX, textY , _NAD_1983_UTM_Zone_12N);
    var textGraphic = new esri.Graphic(textPoint, textSymbol);
    _map.graphics.add(textGraphic);
}

