var CHECKMODE_LOADMAP = 1;
var CHECKMODE_GETINFO = 0;
var MAX_ZOOMLEVEL = 0;
var MAX_MAPZOOMLEVEL = 3; //for 200m

var aLuftbildInfo = new Array();

var nMaxZoomValue = A_TILESIZE_METER[MAX_ZOOMLEVEL];
var nMaxZoomLevel = MAX_ZOOMLEVEL;
var nCurrentLevel = nMaxZoomLevel;
var bOutOfAir = false;

function iwResolutionToLevel(nResolution)
{
	var nZoomLevel = 0;
	//noch nicht fertig
	switch (nResolution)
	{
	  case 10: nZoomLevel = 6; bOutOfAir = false;
	            break;
	  case 0.5: nZoomLevel = 2; bOutOfAir = false;
	            break;
	  case 0.2: nZoomLevel = 0; bOutOfAir = false;
	            break;
	  case 0.25: nZoomLevel = 1; bOutOfAir = false;
	            break;	            
	  case -1 : nZoomLevel = MAX_MAPZOOMLEVEL;  bOutOfAir = true;
	            break;
	  default: nZoomLevel = 0; bOutOfAir = false;
	}	
		
	return nZoomLevel;
}

function iwChangeResolution(nResolution, CheckMode)
{
	nMaxZoomLevel = iwResolutionToLevel(nResolution);
	iwChangeZoomLevel(nMaxZoomLevel, CheckMode);
}

function iwSetCurrentLevel(nResolution)
{
	nCurrentLevel = iwResolutionToLevel(nResolution);
}

function iwChangeZoomLevel(MaxZoomLevel, CheckMode)
{
	nMaxZoomLevel = MaxZoomLevel;
	nMaxZoomValue = A_TILESIZE_METER[nMaxZoomLevel];	
	
	iwChangeSlider(CheckMode);
}

function iwChangeSlider(CheckMode)
{
	if (CheckMode == CHECKMODE_GETINFO)
	{
		//muss LoadWholeMap aufrufen
		/*if (oTileset.nTilesizeMeter < nMaxZoomValue)
		{
			oTileset.nTilesizeMeter = nMaxZoomValue;
			oTileset.Hide();
			oTileset.PlaceTiles();
		}
		oTileset.LoadWholeMap();
		return true;*/
		//nCheckMode = 1;
		
		return true;
	}
	
	if (CheckMode == CHECKMODE_LOADMAP)
	{
		if (mapSlider)
		{
			mapSlider.leftValue = 0;
			mapSlider.rightValue = A_TILESIZE_METER.length - 1 - nMaxZoomLevel;
		}
			
		if ( bOutOfAir && oTileset.nMapMode != oTileset.MAPMODE_MAP)
		{
			oTileset.nMapMode = oTileset.MAPMODE_MAP;
			oTileset.Hide();
			oTileset.PlaceTiles();
			oTileset.LoadWholeMap();
			return true;
		}
		else
		{
		// LoadWholeMap aufrufen muss
		if (oTileset.nTilesizeMeter < nMaxZoomValue)
		{
			oTileset.nTilesizeMeter = nMaxZoomValue;
			oTileset.Hide();
			oTileset.PlaceTiles();
			oTileset.LoadWholeMap();
			return true;
		}
		else
		{
			//ohne LoadWholeMap aufrufen muss
			SetCurrentSliderPos();
			return false;
		}
		}		
	}
	
}

function iwGetZoomLevelString(nLevel)
{
	var sLevel = A_TILESIZE_METER[nMaxZoomLevel + nLevel];

	if (sLevel < 1000)
	{
	  sLevel = Math.round(sLevel) + ' m';
	}
	else
	{
		sLevel = Math.round(sLevel / 1000) + ' km';
	}
	
	return sLevel;
}

function iwChangeCopyRightWithLevel(FirmaName, Resolution, Zustand)
{
	sFirmaName = FirmaName;
	sResolution = Resolution;
	sZustand = Zustand;

	//var divCopyRightT = top.window.document.getElementById("TestCopyRight");
	
	//only for Luftbild
	var sCopyrightInfoware = '&copy; 2006 Map and Route, infoware, TeleAtlas, ';

	var sFirmaTmp = sFirmaName;
	if (sFirmaTmp == "PTW")
		 sFirmaTmp = "PTW GmbH";
	
	sResTmp = sResolution;	 
	if (sResolution == "0.5")
		sResTmp = "50cm";
	
	if (sResolution == "0.2")
		sResTmp = "20cm";
	
	if (sFirmaName != "")
	{
		SetCopyrightTexts(sCopyrightMap, sCopyrightInfoware + sFirmaTmp +" "+ sResTmp +" "+ sZustand);
		ChangeCopyright(false);
	}
	
}

function iwGetMapInfo(nMapWidthMeter, nMapHeightMeter, CheckMode)
{
	if (CheckMode == CHECKMODE_LOADMAP)
	{
		var frmLoadMap = document.getElementById("frmLoadMap");
		if (frmLoadMap)
		{
			var sURL =		/*oTileset.sMapServerURL*/
								/*+*/ "GetLuftbildInfo.jsp"
								+ "?cmd=GetIdentifyInfo" 
								+ "&mapcx="  + oTileset.nCenterMeterX
								+ "&mapcy="  + oTileset.nCenterMeterY
								+ "&mapdx="  + nMapWidthMeter
								+ "&mapdy="  + nMapHeightMeter
								+ "&width="  + oTileset.nVisibleWidth
								+ "&height=" + oTileset.nVisibleHeight
								+ "&projc=lcc_europe"
								+ szExtraUrlParm
								+ "&layerMAPINFO=katalog&idflayer1=luftbild"
								+ "&checkmode=" + CheckMode;
								
			frmLoadMap.src = configurator.getMapServerUrl(sURL);
		}
	}
	
	if (CheckMode == CHECKMODE_GETINFO)
	{
		var frmGetInfo = document.getElementById("frmGetInfo");
		if (frmGetInfo)
		{
			var sURL =		/*oTileset.sMapServerURL*/
								/*+*/ "GetLuftbildInfo.jsp"
								+ "?cmd=GetIdentifyInfo" 
								+ "&mapcx="  + oTileset.nCenterMeterX
								+ "&mapcy="  + oTileset.nCenterMeterY
								+ "&mapdx="  + nMapWidthMeter
								+ "&mapdy="  + nMapHeightMeter
								+ "&width="  + oTileset.nVisibleWidth
								+ "&height=" + oTileset.nVisibleHeight
								+ "&projc=lcc_europe"
								+ szExtraUrlParm
								+ "&layerMAPINFO=katalog&idflayer1=luftbild"
								+ "&checkmode=" + CheckMode;
								
			frmGetInfo.src = configurator.getMapServerUrl(sURL);
		}			
	}
}
