﻿PageOnloadEvents.push("Legend.load");

function Legend()
{
    this.LegendRequest = null;
}

Legend.load = function()
{
    MAP.AddEventListener(MapAction.zoom, "Legend.GetData");
    MAP.AddEventListener(MapAction.mapChanged, "Legend.GetData");
}


Legend.Test = function()
{
    alert(22345);
}

Legend.GetData = function()
{
    try
    {
        if (this.LegendRequest != null)
            this.LegendRequest.abort();
                
        reqBody = "sid=" + sid + "&project=" + project + "&site=" + site + "&map=" + map + "&zoomscale=" + MAP.arrZoomRanges[MAP.currentZoomRangeIndex];
        this.LegendRequest = zXmlHttp.createRequest();

        this.LegendRequest.open("POST", "RPWeb_Services.asmx/GetLegend", true);
        this.LegendRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

        this.LegendRequest.onreadystatechange = function ()
        {
            if (Legend.LegendRequest.readyState == 4)
            {
                if(Legend.LegendRequest.status == 200)
                    Legend.Show(Legend.LegendRequest.responseXML);
                else
                {                       
                    //alert("Fehler beim Laden der Legende (2)!\n" + Legend.LegendRequest.statusText);
                }
            }
        }
        this.LegendRequest.send(reqBody);
    }
    catch (e)
    {
        alert("Fehler beim Laden der Legende (1)!\n" + Err.GetErrorMessage(e));
        this.LegendRequest = null;
    }        
}

Legend.Show = function(result)
{
    imageList = result.documentElement.getElementsByTagName("string");
    sb = new StringBuilder();
    for (i = 0; i < imageList.length; i++)
        sb.append("<img src=\"" + imageList[i].firstChild.data + "\" border=\"0\" /><br />");
    $("LegendImages").innerHTML = sb.toString();
}