var activeLayer = ""
var activeService = ""
var queryWindow,metaWindow,printWindow
var modeName='nul';
var title
var orientation
var format
var legends
var currenttool = "pan"
var maxScale=200;

function preload(name)
{
  var i = new Image()
  i.src="images/neg_" + name + ".gif"

}
preload('zoom_pan')
preload('zoom_in')
preload('zoom_uit')
preload('zoom_kaart')
preload('zoom_meten')
preload('selectie_punt')
preload('selectie_lijn')
preload('selectie_box')
preload('selectie_vorm')
preload('infotool')
preload('volgendekaart')
preload('vorigekaart')


function rollIn(name)
{
   if(name != modeName) document.images[name].src = "images/" + "neg_" + name + ".gif";
}
function rollOut(name)
{
  if(name != modeName) document.images[name].src = "images/" + name + ".gif";
}

function checkScaleHint(mapplet)
{
  if(mapplet)
    if(mapplet.getScaleHint)
      if (mapplet.getScaleHint() <= maxScale)
        return true;
  return false;
}

function warning(sWarning){
  alert(sWarning)
}
function drawFeature(featurekey,featuretype,coordinates,buffer)
{
  // featurekey = as defined in props
  // featuretype = 'linestring'/'polygon'
  // coordinates ='x,y x,y x,y
  // required string, ignored for polygons
  document.applets['mapplet'].jsSetCoordinates(featurekey,featuretype,coordinates,buffer);
}
function setMode(activename)
{

    // de mode is drievoudig gedefinieerd
    // het is een mode
    // het is een actie (resetMode=true)
    // het is een actie die werkt op de actieve laag (resetMode=true)

/*    if ("download|zoom_selectie|querybuilder|zoom_actieve_kaartlaag|foto|info|metadata".indexOf(activename) >= 0 )
    {
      if(activeLayer == "")
      {
        alert("Geen laag actief\nKlik in de legenda (rechts) om een laag actief te maken")
        return
      }
    }
*/
    window.status=''
    var oldModeName = modeName
    var resetMode=false
    if(modeName != 'nul')
      document.images[modeName].src = "images/" + modeName + ".gif";
  if(activename != 'nul')
  {
    modeName=activename;
        document.images[modeName].src = "images/" + "neg_" + activename + ".gif";
    currenttool=activename
    if('selectie_box|selectie_lijn|selectie_vorm|selectie_punt'.indexOf(activename)>-1)
    {
     // if (!checkScaleHint())
      if (mapplet.getScaleHint() > maxScale)
      {
        alert("Deze functie is pas beschikbaar als u voldoende bent ingezoomed.")
        return;
      }
      window.status='muis: links=tekenen / dubbel=stoppen / rechts=menu';
      if('selectie_box|selectie_punt'.indexOf(activename)>-1)
        window.status='muis: links=tekenen / rechts=menu';

    }
    switch(activename)
    {
      case 'zoom_pan':
        document.mapplet.setTool('pantool');
        break;
      case 'zoom_kaart':
        resetMode = true
        document.mapplet.zoomToMax()
        break;
      case 'zoom_in':
        document.mapplet.setTool('boxzoomtool');
        break;
      case 'zoom_uit':
        document.mapplet.setTool('pointzoomtool')
        break;
      case 'zoom_meten':
        window.status='Esc=stop/lijn verwijderen';
        document.mapplet.setTool('rulertool')
        break;
      case 'selectie_box':
        document.mapplet.setTool('rectangletool');
        break;
      case 'selectie_lijn':
        document.mapplet.setTool('linestringtool');
        setWidth()
        break;
      case 'selectie_vorm':
        document.mapplet.setTool('polygontool');
        break;
      case 'selectie_punt':
        document.mapplet.setTool('pointtool');
        break;
      case 'klantgegevens':
        window.location.href='loket_klantgegevens.asp'
        break;
      case 'infotool':
        document.mapplet.setTool('infoouttool');
        break;
      default:
        resetMode=true
        alert('niet beschikbaar')
    }

    if(resetMode)
    {
      setTimeout("reset('"+oldModeName+"')",1500)
    }

  }
}
function reset(oldModeName)
{
  rollOut(modeName)
  if ( oldModeName != 'nul')
    setMode(oldModeName)
  else
    modeName='nul'
}

function zoomToRD(X,Y)
{
  var iScale=3;

  west=X-1000;
  east=parseFloat(X)+1000;
  south=Y-1000;
  north=parseFloat(Y)+1000;
  extent=west+','+south+','+east+','+north;
  mapplet.setExtent(extent,"true");
  mapplet.zoomToScale(iScale);
}

function panToRD(X,Y)
{
  var currentScaleHint;

  west=X-1000;
  east=parseFloat(X)+1000;
  south=Y-1000;
  north=parseFloat(Y)+1000;
  extent=west+','+south+','+east+','+north;
  currentScaleHint=applet.getScaleHint();
  mapplet.setExtent(extent,"true");
  mapplet.zoomToScaleHint(currentScaleHint);
}

var meldingenproject_per_polygon=false
function cbPoly(area_circumference_coordinates_string) {    // universal callback-function for polygon drawingtool
  var params = area_circumference_coordinates_string.split(",") // its a commaseperated string with spaces in the coordinatearray like x,y x,y
  var OPPERVLAKTE=parseFloat(params[0])
  var OMTREK=parseFloat(params[1])
  var COORDS=getSubString(area_circumference_coordinates_string,"<coordinates>","</coordinates>").replace (/ /g, ",")
  if(meldingenproject_per_polygon)
  {
    if(params[2])
      groepeerMutatiesTotProject(COORDS)
    else
      alert('geen coordinaten')
  }
   //else alert(area_circumference_coordinates_string)
}

