extensions.push('navigate');

function navigateBegin() {
	
	commands['zoomin']='zoomIn';
	commands['zoomToScale']='zoomToScale';
	commands['zoomout']='zoomOut';
	commands['zoomBoxToggle']='zoomBoxTogglePrimary';
	commands['zoomOnPoint']='zoomOnPoint';
	commands['zoomPointToggle']='zoomPointTogglePrimary';
	commands['qunione']='initialZoom';
	commands['pan']='pan';
	commands['panToggle']='panTogglePrimary';

	//commands['downloadToggle']='downloadToggle';

	/*initialMapGui.push('upArrow');
	initialMapGui.push('downArrow');
	initialMapGui.push('leftArrow');
	initialMapGui.push('rightArrow');*/
	
	//initialMapGui.push('mapDiv');
	//initialMapGui.push('buttonDiv');
	//initialMapGui.push('functionsDiv');
	//initialMapGui.push('functionsTreeDiv');

	/*otherMapGui.push('panDiv');
	otherMapGui.push('zoomDiv');
	otherMapGui.push('zoomPointDiv');*/
	//otherMapGui.push('downloadDiv');

	eventHandlers.push('pan');
	eventHandlers.push('zoomBox');
	eventHandlers.push('zoomPoint');

	eventHandlersStatus['pan']=false;
	eventHandlersStatus['zoomBox']=false;
	eventHandlersStatus['zoomPoint']=false;

	eventListeners.attachToEvent('zoomBoxToggle','zoomBoxTogglePrimary');
	eventListeners.attachToEvent('panToggle','panTogglePrimary');

	//eventListeners.attachToEvent('mapLoaded','initZoomSteps');
	//eventListeners.attachToEvent('scaleChange','zoomStepsChange');

}

function panToggle(secondary) {
	
	var pandiv=document.getElementById('panDiv');
	
	var panrect=document.getElementById('panrect');
	pandiv.style.pixelLeft=mapOffsetX-3;
	pandiv.style.pixelTop=mapOffsetY-3;
	/*panrect.style.pixelLeft=mapOffsetX-1;
	panrect.style.pixelTop=mapOffsetY-1;*/
	pandiv.style.width=mapWidth+8;
	pandiv.style.height=mapHeight+7;
	panrect.style.width=mapWidth+8;
	panrect.style.height=mapHeight+7;
	if(pandiv.style.visibility=='hidden') {
		/*document.getElementById('puls_pan').onmouseover=null;
		document.getElementById('puls_pan').onmouseout=null;
		document.getElementById('puls_pan').src='images/new_pulsantiera_r1_c7_f2.gif';*/
		eventListeners.fireEvent('enableEvent','pan');
		pandiv.style.visibility = 'visible';
		enableEvent('pan');
	}
	else {
		/*document.getElementById('puls_pan').onmouseover=new Function("MM_swapImage('puls_pan','','images/new_pulsantiera_r1_c7_f2.gif',1);");
		document.getElementById('puls_pan').onmouseout=new Function("MM_swapImgRestore()");
		document.getElementById('puls_pan').src='images/new_pulsantiera_r1_c7.gif';*/
		eventListeners.fireEvent('disableEvent','pan');
		disableEvent('pan');
		pandiv.style.visibility = 'hidden';
		pandiv.onclick=beginDraw;
		pandiv.onmousemove=null;
	}
	if(!secondary)
		actionEnd();
}

function panTogglePrimary() {
	waitingOn();
	panToggle(false);
	endToggle();
}

function zoomOnPoint() {
	var x1=event.clientX-mapOffsetX-consolePosX;
	var y1=event.clientY-mapOffsetY-consolePosY;
	var x=(mapWidth-x1)/mapWidth;
	var y=(mapHeight-y1)/mapHeight;
	var scale;
	
	var currentZoom=mapInfo.getProperty('currentZoom');
	currentZoom++;

	if(currentZoom<zoomScale.length)
		scale=zoomScale[currentZoom];
	else
		scale=zoomScale[zoomScale.length-1]+zoomInterval;

	var newRange=map.realRange.copy();
	newRange.zoomAbsolute(scale,map.originalRealRange);

	var zoomedDown=zoomDown(newRange,scale);

	if(!zoomedDown) {
		if(currentZoom<zoomScale.length) {
			
			map.pan(x,y);
			map.zoomAbsolute(scale);
			mapInfo.setProperty('currentZoom',currentZoom);
			//updateNavigator();
			//adjustScale();
			eventListeners.fireEvent('scaleChange');
			checkPalette();
			map.update();
		} else
			actionEnd();
	}
	

}

/**
 * Effettua uno zoom +
 */
function zoomIn() {
	
	var scale;
	
	var currentZoom=mapInfo.getProperty('currentZoom');
	currentZoom++;

	if(currentZoom<zoomScale.length)
		scale=zoomScale[currentZoom];
	else
		scale=zoomScale[zoomScale.length-1]+zoomInterval;
	
	var newRange=map.realRange.copy();
	newRange.zoomAbsolute(scale,map.originalRealRange);

	var zoomedDown=zoomDown(newRange,scale);

	if(!zoomedDown) {
		if(currentZoom<zoomScale.length) {
			map.zoomAbsolute(scale);
			mapInfo.setProperty('currentZoom',currentZoom);
			//updateNavigator();
			//adjustScale();
			eventListeners.fireEvent('scaleChange');
			checkPalette();
			map.update();
		} else
			actionEnd();
	}
	

}

function zoomToScale(value) {
	
	var zoomSteps=mapInfo.getProperty('zoomSteps');
	var newZoom='NONE';
	var currentZoom=mapInfo.getProperty('currentZoom');
	
	if(value=='less') {
		if(currentZoom!=0) {
			for(var step=0;step<zoomSteps.length && newZoom=='NONE';step++) {
				if(zoomSteps[step]>=currentZoom)
					newZoom=zoomSteps[step-1];
			}
			if(newZoom=='NONE')
				newZoom=0;
		}
	} else if(value=='more') {
		if(currentZoom<zoomSteps[zoomSteps.length-1]) {
			for(var step=0;step<zoomSteps.length && newZoom=='NONE';step++) {
				if(zoomSteps[step]>currentZoom)
					newZoom=zoomSteps[step];
			}
			if(newZoom=='NONE')
				newZoom=zoomSteps[zoomSteps.length-1];
		}
	} else {
		newZoom=zoomSteps[parseInt(value)-1];
	}
	if(newZoom!='NONE') {
		currentZoom=newZoom;
		if(currentZoom<zoomScale.length)
			scale=zoomScale[currentZoom];
		else
			scale=zoomScale[zoomScale.length-1]+zoomInterval;
		map.zoomAbsolute(scale);
		mapInfo.setProperty('currentZoom',currentZoom);
				
		eventListeners.fireEvent('scaleChange');
		
		checkPalette();
		map.update();
	} else
		actionEnd();
}

function zoomDown(range,scale) {
	var ecw=document.getElementById('ECWViewSfondo');
	
	for(m in map.zoomDownMaps) {
		
		if (scale>map.zoomDownMaps[m].scale) {
			
//				alert('go down');
			var xc = (range.maxX+range.minX)/2;
			var yc = (range.maxY+range.minY)/2;
			
			if (map.zoomDownMaps[m].coordsType=='pixel') {
				if (yc>=map.zoomDownMaps[m].ymin && yc<=map.zoomDownMaps[m].ymax && xc>=map.zoomDownMaps[m].xmin && xc<=map.zoomDownMaps[m].xmax) {
					mapInfo.setProperty('coordsType','pixel');
					var newMapName=map.zoomDownMaps[m].mapname;
					var newMap=mapArray[newMapName];
					var newMaxRange=newMap.maxRealRange;
					xc=(xc-map.zoomDownMaps[m].xmin)/(map.zoomDownMaps[m].xmax-map.zoomDownMaps[m].xmin);
					yc=(yc-map.zoomDownMaps[m].ymin)/(map.zoomDownMaps[m].ymax-map.zoomDownMaps[m].ymin);
					var scaleX=newMaxRange.getDeltaX()/(map.zoomDownMaps[m].xmax-map.zoomDownMaps[m].xmin);
					var scaleY=newMaxRange.getDeltaX()/(map.zoomDownMaps[m].ymax-map.zoomDownMaps[m].ymin);
					
					automa=new Automa('MapOpen',12,'automa','actionEnd()');
					
					automa.setProperty('mapFromUser',true);
					automa.setProperty('mapName',newMapName);
					automa.setProperty('mapConfiguration',mapInfo.getProperty('preferredConfiguration'));
					automa.setProperty('mantainPreferredConfiguration',true);
					automa.setProperty('mantainGUI',true);
					automa.setProperty('range',new Array(xc,yc,range.getDeltaX()*scaleX,range.getDeltaY()*scaleY));

					
					automa.start();

					return true;
					
				}
			} else {
				
				var lat=ecw.getCoordLatitude(xc,yc);
				var lon=ecw.getCoordLongitude(xc,yc);
				
				if (lat>=map.zoomDownMaps[m].ymin && lat<=map.zoomDownMaps[m].ymax && lon>=map.zoomDownMaps[m].xmin && lon<=map.zoomDownMaps[m].xmax)
				{
					
					mapInfo.setProperty('coordsType','geographic');
					var newMapName=map.zoomDownMaps[m].mapname;
					
					automa=new Automa('MapOpen',12,'automa','actionEnd()');
					
					automa.setProperty('mapFromUser',true);
					automa.setProperty('mapName',newMapName);
					automa.setProperty('mapConfiguration',mapInfo.getProperty('preferredConfiguration'));
					automa.setProperty('mantainPreferredConfiguration',true);
					automa.setProperty('mantainGUI',true);
					automa.setProperty('range',new Array(lon,lat,range.getDeltaX(),range.getDeltaY()));

					automa.start();

					return true;
					
				}
			}
		}
	}

	return false;
}


/**
 * Effettua uno zoom -
 */
function zoomOut() {

	var currentZoom=mapInfo.getProperty('currentZoom');
	currentZoom--;
	
	var scale;
	if(currentZoom>=0)
		scale=zoomScale[currentZoom];
	else
		scale=zoomScale[0]-zoomInterval;
	
	var newRange=map.realRange.copy();

	newRange.zoomAbsolute(scale,map.originalRealRange);
	
	if(!zoomUp(newRange,scale)) {
		if(currentZoom>=0) {	
			map.zoomAbsolute(scale);
			mapInfo.setProperty('currentZoom',currentZoom);
			//updateNavigator();
			//adjustScale();
			eventListeners.fireEvent('scaleChange');
			checkPalette();
			map.update();
		} else
			actionEnd();
		
	}

}

function zoomUp(range,scale) {
	var ecw=document.getElementById('ECWViewSfondo');
	
	if(map.zoomUpMap)
	{
		if (scale<map.zoomUpMap.scale)
		{
			var xc = (range.maxX+range.minX)/2;
			var yc = -map.maxRealRange.minY+(range.maxY+range.minY)/2;
			
			if (map.zoomUpMap.coordsType=='pixel')
			{
				mapInfo.setProperty('coordsType','pixel');
				var newMapName=map.zoomUpMap.mapname;

				var newMap=mapArray[newMapName];
				var newMaxRange=newMap.maxRealRange;

				var scaleX=(map.zoomUpMap.xmax-map.zoomUpMap.xmin)/map.maxRealRange.getDeltaX();
				var scaleY=(map.zoomUpMap.ymax-map.zoomUpMap.ymin)/map.maxRealRange.getDeltaY();

				xc=(xc*scaleX+map.zoomUpMap.xmin)/newMaxRange.getDeltaX();
				yc=(yc*scaleY+(-newMaxRange.minY+map.zoomUpMap.ymin))/Math.abs(newMaxRange.getDeltaY());
		
				automa=new Automa('MapOpen',12,'automa','actionEnd()');
				
				automa.setProperty('mapFromUser',true);
				automa.setProperty('mapName',newMapName);
				automa.setProperty('mapConfiguration',mapInfo.getProperty('preferredConfiguration'));
				automa.setProperty('mantainPreferredConfiguration',true);
				automa.setProperty('mantainGUI',true);
				automa.setProperty('range',new Array(xc,yc,range.getDeltaX()*scaleX,range.getDeltaY()*scaleY));

				automa.start();

				
				return true;
			}
			else
			{
				mapInfo.setProperty('coordsType','geographic');

				var lat=ecw.getCoordLatitude((range.maxX+range.minX)/2,(range.maxY+range.minY)/2);
				var lon=ecw.getCoordLongitude((range.maxX+range.minX)/2,(range.maxY+range.minY)/2);
				var newMapName=map.zoomUpMap.mapname;
				
				automa=new Automa('MapOpen',12,'automa','actionEnd()');
				
				automa.setProperty('mapFromUser',true);
				automa.setProperty('mapName',newMapName);
				automa.setProperty('mapConfiguration',mapInfo.getProperty('preferredConfiguration'));
				automa.setProperty('mantainPreferredConfiguration',true);
				automa.setProperty('mantainGUI',true);
				automa.setProperty('range',new Array(lon,lat,range.getDeltaX(),range.getDeltaY()));

				automa.start();

				return true;
			}
		}
	}

	return false;

}

/**
 * Ritorna al quadro iniziale.
 */
function initialZoom() {
	if(mapInfo.setProperty('currentZoom')!=0) {
		var currentZoom=0;
		map.zoomAbsolute(zoomScale[currentZoom]);
		mapInfo.setProperty('currentZoom',currentZoom);
		//updateNavigator();
		//adjustScale();
		eventListeners.fireEvent('scaleChange');
		checkPalette();
		map.update();
	} else
		actionEnd();
}

/**
 * Esegue un pan nella direzione data.
 */
function pan(direction) {
	if(direction=='south')
		map.pan(0.5,0);
	if(direction=='west')
		map.pan(1,0.5);
	if(direction=='east')
		map.pan(0,0.5);
	if(direction=='north')
		map.pan(0.5,1);
	if(direction=='north-west')
		map.pan(1,1);
	if(direction=='north-east')
		map.pan(0,1);
	if(direction=='south-west')
		map.pan(1,0);
	if(direction=='south-east')
		map.pan(0,0);
	//updateNavigator();
	checkPalette();
	eventListeners.fireEvent('positionChange');
	map.update();
	//document.getElementById('topoimgDiv').style.visibility = "hidden";
}


var x1d=0;
var y1d=0;
var x2d=0;
var y2d=0;
var originalShape = '';

function beginDraw() {
	//yy_ml=(event.clientX + document.body.scrollLeft);
	//yy_mt=(event.clientY + document.body.scrollTop);
	if(mapInfo.getProperty('doingPan'))
		endDraw();
	else {
		mapInfo.setProperty('doingPan',true);
		x1d=event.offsetX;
		y1d=event.offsetY;
		
		var shape=document.getElementById('panDiv');
		shape.onmousedown=null;
		originalShape=shape.innerHTML;
		
		shape.innerHTML += '<v:line id="panLine" from="'+x1d+','+y1d+'" to="'+x1d+','+y1d+'" strokecolor="black" filled="false"><v:stroke endarrow="open"/></v:line>';
		shape.onmousemove=mouseMove;
		
		shape.onmouseup=endDraw;
	}
}

function mouseMove() {
	x2d=event.offsetX;
	y2d=event.offsetY;
	var line=document.getElementById('panLine');
	line.to=x2d+','+y2d;
}

function endDraw() {
	mapInfo.setProperty('doingPan',false);
	ready=false;
	var xCenter=0.5;
	var yCenter=0.5;

	var shape=document.getElementById('panDiv');

	shape.innerHTML=originalShape;

	
	xCenter = 0.5 + (x2d-x1d)/mapWidth;
	yCenter = 0.5 + (y2d-y1d)/mapHeight;

	map.pan(xCenter,yCenter);
	
	shape.onmousemove=null;
	shape.onmousedown=beginDraw;
	
	//updateNavigator();
	eventListeners.fireEvent('positionChange');
	checkPalette();
	
	eventListeners.fireEvent('wait','on');
	//document.getElementById('loadmessage').style.visibility='visible';
	map.update();
	panToggle();
	endToggle();
}

function zoomBoxToggle(secondary) {
	var zoomdiv=document.getElementById('zoomDiv');
	var zoomrect=document.getElementById('zoomrect');
	zoomdiv.style.pixelLeft=mapOffsetX-3;
	zoomdiv.style.pixelTop=mapOffsetY-3;
	/*panrect.style.pixelLeft=mapOffsetX-1;
	panrect.style.pixelTop=mapOffsetY-1;*/
	zoomdiv.style.width=mapWidth+8;
	zoomdiv.style.height=mapHeight+7;
	zoomrect.style.width=mapWidth+8;
	zoomrect.style.height=mapHeight+7;
	if(zoomdiv.style.visibility=='hidden') {
		eventListeners.fireEvent('enableEvent','zoomBox');
		/*document.getElementById('puls_zoomfin').onmouseover=null;
		document.getElementById('puls_zoomfin').onmouseout=null;
		document.getElementById('puls_zoomfin').src='images/new_pulsantiera_r1_c5_f2.gif';*/
		
		zoomdiv.style.visibility = 'visible';
		enableEvent('zoomBox');
	}
	else {
		disableEvent('zoomBox');
		eventListeners.fireEvent('disableEvent','zoomBox');
		/*document.getElementById('puls_zoomfin').onmouseover=new Function("MM_swapImage('puls_zoomfin','','images/new_pulsantiera_r1_c5_f2.gif',1);");
		document.getElementById('puls_zoomfin').onmouseout=new Function("MM_swapImgRestore()");
		document.getElementById('puls_zoomfin').src='images/new_pulsantiera_r1_c5.gif';*/
		zoomdiv.style.visibility = 'hidden';
		zoomdiv.onmousedown=beginDrawZoomBox;
		zoomdiv.onmousemove=null;
	}
	if(!secondary)
		actionEnd();
}

function zoomBoxTogglePrimary() {
	waitingOn();
	zoomBoxToggle(false);
	endToggle();
}

function zoomPointTogglePrimary() {
	zoomPointToggle(false);
	endToggle();
}

function zoomPointToggle(secondary) {
	var zoomdiv=document.getElementById('zoomPointDiv');
	var zoomrect=document.getElementById('zoompointrect');
	zoomdiv.style.pixelLeft=mapOffsetX-3;
	zoomdiv.style.pixelTop=mapOffsetY-3;
	/*panrect.style.pixelLeft=mapOffsetX-1;
	panrect.style.pixelTop=mapOffsetY-1;*/
	zoomdiv.style.width=mapWidth+8;
	zoomdiv.style.height=mapHeight+7;
	zoomrect.style.width=mapWidth+8;
	zoomrect.style.height=mapHeight+7;
	if(zoomdiv.style.visibility=='hidden') {
		
		document.getElementById('puls_zoompunto').onmouseover=null;
		document.getElementById('puls_zoompunto').onmouseout=null;
		document.getElementById('puls_zoompunto').src='images/b_zoompunto_down.gif';
		
		zoomdiv.style.visibility = 'visible';
		enableEvent('zoomPoint');
	}
	else {
		disableEvent('zoomPoint');
		document.getElementById('puls_zoompunto').onmouseover=new Function("MM_nbGroup('over','puls_zoompunto','images/b_zoompunto_roll.gif','images/puls_zoompunto_roll.gif',1);");
		document.getElementById('puls_zoompunto').onmouseout=new Function("MM_nbGroup('out');");
		document.getElementById('puls_zoompunto').src='images/b_zoompunto.gif';
		zoomdiv.style.visibility = 'hidden';
		zoomdiv.onclick=zoomOnPoint;
	}
	if(!secondary)
		actionEnd();
}


function beginDrawZoomBox() {
	//yy_ml=(event.clientX + document.body.scrollLeft);
	//yy_mt=(event.clientY + document.body.scrollTop);
	if(mapInfo.getProperty('doingZoomBox'))
		endDrawZoomBox();
	else {
		/*var offsetX=event.clientX-event.offsetX;
		var offsetY=event.clientX-event.offsetY;*/
		/*x1d=event.clientX-mapOffsetX-consolePosX;
		y1d=event.clientY-mapOffsetY-consolePosY;*/
		x1d=event.offsetX;
		y1d=event.offsetY;
		var shape=document.getElementById('zoomDiv');

		originalShape=shape.innerHTML;
		mapInfo.setProperty('doingZoomBox',true);
		shape.innerHTML += '<v:rect id="zoomBox" style="position:absolute;left:'+x1d+'px;top:'+y1d+'px;width:0px;height:0px" strokecolor="black" filled="false"></v:rect>';
		shape.onmousemove=mouseMoveZoomBox;
		
		shape.onmouseup=endDrawZoomBox;
	}
}

function mouseMoveZoomBox() {
	/*x2d=event.clientX-mapOffsetX-consolePosX;
	y2d=event.clientY-mapOffsetY-consolePosY;*/
	x2d=event.offsetX;
	y2d=event.offsetY;
	var box=document.getElementById('zoomBox');
	var w=(x2d-x1d);
	if (w<0)
	{
		w*=-1;
//		box.style.top=y2d+'px';
		box.style.left=x2d+'px';
	}
	else
	{
//		box.style.top=y1d+'px';
		
		box.style.left=x1d+'px';
	}
	var h=(y2d-y1d);
	if (h<0)
	{
		h*=-1;
		box.style.top=y2d+'px';
//		box.style.left=x2d+'px';
	}
	else
	{
		box.style.top=y1d+'px';
//		box.style.left=x1d+'px';
	}
	box.style.width=w+'px';
	box.style.height=h+'px';
}

function endDrawZoomBox() {
	mapInfo.setProperty('doingZoomBox',false);
	var shape=document.getElementById('zoomDiv');

	shape.innerHTML=originalShape;

	shape.onmousedown=beginDrawZoomBox;
	shape.onmousemove=null;


	if (x1d>x2d)
	{
		var x;
		x=x1d;
		x1d=x2d;
		x2d=x;
	}
	if(y1d>y2d)
	{
		x=y1d;
		y1d=y2d;
		y2d=x;
	}

	var x1 = map.realRange.minX + map.realRange.getDeltaX()*x1d/mapWidth;
	var y1 = map.realRange.minY + map.realRange.getDeltaY()*(mapHeight-y1d)/mapHeight;
	var x2 = map.realRange.minX + map.realRange.getDeltaX()*x2d/mapWidth;
	var y2 = map.realRange.minY + map.realRange.getDeltaY()*(mapHeight-y2d)/mapHeight;
	//var y2=(x2-x1)*mapHeight/mapWidth;
//	alert(x1+','+y1+','+x2+','+y2);
	var range=new Range(x1,x2,y1,y2);
	var scale=map.maxRealRange.getDeltaX()/range.getDeltaX();
//	alert(scale);
	i=-1;
	
	var currentZoom=0;
	
	if(scale<=1)
		currentZoom=0;
	else if(scale>=zoomScale[zoomScale.length-1])
		currentZoom=zoomScale.length-1;
	else {
		for(var count=zoomScale.length-1;count>=0;count--) {
			if (scale<=zoomScale[count]) {
				currentZoom=count;
			}
		}
	}
	
	if(currentZoom>0) {
		
		var d1=Math.abs(scale-zoomScale[currentZoom]);
		
		var d2=Math.abs(scale-zoomScale[currentZoom-1]);
		
		if(d2<d1)
			currentZoom=currentZoom-1;
	}
	
	map.zoomBox(range);
	map.zoomAbsolute(zoomScale[currentZoom]);	
	mapInfo.setProperty('currentZoom',currentZoom);
	
	shape.onmousemove=null;
	shape.onmousedown=beginDrawZoomBox;
	
	//updateNavigator();
	//checkPalette();
	eventListeners.fireEvent('scaleChange');
	
	
	//document.getElementById('loadmessage').style.visibility='visible';
	map.update();
	zoomBoxToggle();
	endToggle();
	eventListeners.fireEvent('wait','on');
	//zoomBoxToggle();
//	document.getElementById('zoomDiv').style.visibility='hidden';
}

function checkPalette() {
/*	if (checkZoomIn())
		document.flashMovie.setVariable('_level0.zoomInEnabled',1);
	else
		document.flashMovie.setVariable('_level0.zoomInEnabled',0);

	if (checkZoomOut())
		document.flashMovie.setVariable('_level0.zoomOutEnabled',1);
	else
		document.flashMovie.setVariable('_level0.zoomOutEnabled',0);
	if (checkInitialZoom())
		document.flashMovie.setVariable('_level0.zoomInitialEnabled',1);
	else
		document.flashMovie.setVariable('_level0.zoomInitialEnabled',0);
*/	
	//alert(Math.round(map.realRange.maxX)+','+Math.round(map.maxRealRange.maxX));
/*	if(Math.abs(Math.round(map.realRange.maxX)-Math.round(map.maxRealRange.maxX))<=100)
		document.getElementById('rightArrow').style.visibility='hidden';
	else
		document.getElementById('rightArrow').style.visibility='visible';
	if(Math.abs(Math.round(map.realRange.minX)-Math.round(map.maxRealRange.minX))<=100)
		document.getElementById('leftArrow').style.visibility='hidden';
	else
		document.getElementById('leftArrow').style.visibility='visible';
	if(Math.abs(Math.round(map.realRange.minY)-Math.round(map.maxRealRange.minY))<=100)
		document.getElementById('downArrow').style.visibility='hidden';
	else
		document.getElementById('downArrow').style.visibility='visible';
	if(Math.abs(Math.round(map.realRange.maxY)-Math.round(map.maxRealRange.maxY))<=100)
		document.getElementById('upArrow').style.visibility='hidden';
	else
		document.getElementById('upArrow').style.visibility='visible';*/
}

function checkInitialZoom() {
	var cz = mapInfo.getProperty('currentZoom');
	return (cz!=0);
		
}

function checkZoomIn() {
	var cz = mapInfo.getProperty('currentZoom');

	cz++;
	
	var scale;

	if(cz<zoomScale.length)
		scale=zoomScale[cz];
	else
		scale=zoomScale[zoomScale.length-1]+zoomInterval;

	var newRange=map.realRange.copy();
	newRange.zoomAbsolute(scale,map.originalRealRange);

	var z=checkZoomDown(newRange,scale);
	if(!z && cz<zoomScale.length) {		
	} else  {
		if (!z)
			return false
	}
	return true;
}

function checkZoomDown(range,scale) {
	var ecw=document.getElementById('ECWViewSfondo');
		
	for(m in map.zoomDownMaps) {
		if (scale>map.zoomDownMaps[m].scale) {
			var downMap=mapArray[map.zoomDownMaps[m].mapname];
			if(downMap.hasConfiguration(mapInfo.getProperty('currentConfiguration')) || map.hasZoomDownConfiguration(map.zoomDownMaps[m].mapname,mapInfo.getProperty('currentConfiguration'))) {

				var xc = (range.maxX+range.minX)/2;
				var yc = (range.maxY+range.minY)/2;
				
				if (map.zoomDownMaps[m].coordsType=='pixel') {
					if (yc>=map.zoomDownMaps[m].ymin && yc<=map.zoomDownMaps[m].ymax && xc>=map.zoomDownMaps[m].xmin && xc<=map.zoomDownMaps[m].xmax) {
						return true;
						
					}
				} else {
					var lat=ecw.getCoordLatitude(xc,yc);
					var lon=ecw.getCoordLongitude(xc,yc);
					if (lat>=map.zoomDownMaps[m].ymin && lat<=map.zoomDownMaps[m].ymax && lon>=map.zoomDownMaps[m].xmin && lon<=map.zoomDownMaps[m].xmax)
					{
						return true;
						
					}
				}
			}
		}
	}

	return false;
}

function checkZoomOut() {
	var cz = mapInfo.getProperty('currentZoom');
	
	cz--;

	if(!checkZoomUp()) {
		if(cz>=0) {	
		} else {
			return false;
		}
	}
	return true;	
}

function checkZoomUp() {
	if(map.zoomUpMap && map.zoomUpMap.mapname) {
		var upMap=mapArray[map.zoomUpMap.mapname];
		if(upMap.hasConfiguration(mapInfo.getProperty('currentConfiguration')))
			return true;
	}
	return false;
}

