<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>__#SELECTWITHINTITLE#__</title>
<link rel="stylesheet" href="./viewer.css" type="text/css">
<style type="text/css">
    td.Title
    {
        font-family: __#@font#__;
        font-weight: bold;
        font-size: 13pt;
    }
    td.InfoText
    {
        background-color: #FFFFCC;
        color: #666666;
        font-family: __#@font#__;
        font-size: __#@fontsize#__;
    }
    .RegText
    {
        font-family: __#@font#__;
        font-size: __#@fontsize#__;
    }
    .Ctrl
    {
        font-family: __#@font#__;
        font-size: __#@fontsize#__;
    }
</style>

<script language=javascript>

var agent = navigator.userAgent.toLowerCase();
var msie = agent.indexOf("msie") != -1;

var popup = %s;
var cmd = "";
var layerSet = "";
var webAgent = '%s';
var mapName = '%s';
var sessionId = '%s';
var zoomTo = false;

function InitDocument()
{
    if(!popup) {
        document.onmousedown = OnMouseDown;
    }
    var w = msie? document.body.clientWidth: window.innerWidth - 20;
    document.getElementById("layers").style.width = (w > 200? 200: w) + "px";
    FillLayerList();
}

function OnMouseDown(e)
{
  //not sure what this did in the MG version
    //GetParent().ForwardMouseDown(document, e);
}

function ExecuteCommand()
{
    //build the destination layer set
    var layerSet = "";
    var list = document.getElementById("layers");
    var layerNames = document.getElementById("layerNames");
    var count = list.options.length;
    var selIndex = 0;
    for(var i = 0; i < count; i++)
    {
        var opt = list.options[i];
        if(opt.selected)
        {
            if(selIndex > 0) {
                layerSet += ",";
            }
            layerSet += layerNames.options[i].text;
            selIndex ++;
        }
    }
    if(layerSet == "") {
        return;
    }

    var mapWidget = GetParent().Fusion.getMapByName(mapName);
    var params = {
      "mapname": mapName,
      "session": sessionId,
      "layers": layerSet
    };
    var options = {
      onSuccess: selectedSuccess,
      onFailure: selectedError,
      parameters:params
    };
    GetParent().Fusion.ajaxRequest(webAgent, options);
}

function selectedSuccess(r) {
    var mapWidget = GetParent().Fusion.getMapByName(mapName);
    var callback = GetParent().OpenLayers.Function.bind(mapWidget.processFeatureInfo, mapWidget);
    GetParent().Fusion.xml2json(callback, r);
}

function selectedError(r) {
    alert(r.responseText);
}

function Clear()
{
    var map = GetParent().Fusion.getMapByName(mapName);
    map.clearSelection();
    list = document.getElementById("layers");
    for(var i = 0; i < list.options.length; i++)
    {
        opt = list.options[i];
        if(opt.selected)
            opt.selected = false;
    }
}

function FillLayerList()
{
    var list = document.getElementById("layers");
    var listNames = document.getElementById("layerNames");
    list.options.length = 0;
    var map = GetParent().Fusion.getMapByName(mapName);
    var layers = map.getSelectableLayers();
    if(layers.length > 0) {
      for(var i = 0; i < layers.length; i++) {
        var layer = layers[i];
        list.options[i] = new Option(layer.legendLabel != ""? layer.legendLabel: layer.layerName);
        if (i == 0) list.options[0].selected = true;
        listNames.options[i] = new Option(layer.layerName);
      }
    } else {
      list.options[0] = new Option("__#BUFFERNOLAYER#__");
    }
    document.getElementById("Done").disabled = layers.length == 0;
}

function RefreshLayers()
{
    FillLayerList();
}

function GetParent()
{
	if(popup)
		return opener;
	else
	{
		var node = parent;
		while (!node.Fusion && node.parent)
			node = node.parent;
		return node;
	}
}

</script>

</head>
<body onload="InitDocument()" marginwidth=5 marginheight=5 leftmargin=5 topmargin=5 bottommargin=5 rightmargin=5>
  <table border="0" cellspacing="0" cellpadding="3" width="100%%">
    <tr><td class="Title">__#SELECTWITHINTITLE#__<hr></td></tr>
    <tr><td class="InfoText">__#SELECTWITHINAREAS#__</td></tr>
    <tr><td height="6"></td></tr>
  </table>
  <table border="0" cellpadding="3" cellspacing="0">
    <tr class="RegText"><td>__#SELECTWITHINRESTRICTION#__</td></tr>
    <tr class="RegText">
      <td valign="top">
        <select class="RegText" size="9" id="layers" multiple>
        </select>
      </td>
    </tr>
    <tr>
      <td>
        <input type="button" value="__#BUTTONREFRESH#__" class="Ctrl" style="width: 70px" onclick="RefreshLayers()">
      </td>
    </tr>
  </table>
  <table border="0" cellspacing="0" cellpadding="3" width="100%%">
    <tr><td height="6"></td></tr>
    <tr>
      <td class="InfoText">
        <div style="position: relative; left: -25px;">
        <ul>
          __#SELECTWITHINTEXT#__
        </ul>
        </div>
      </td>
    </tr>
  </table>
  <p>
  <input class="Ctrl" type="button" id="Done" value="__#BUTTONDONE#__" style="width: 70px" onclick="ExecuteCommand()"> <input class="Ctrl" type="button" id="clear" value="__#BUTTONCLEAR#__" style=" width: 70px" onclick="Clear()">
  </p>
  <select id="layerNames" style="visibility: hidden">
  </select>
</body>
</html>