var ie  = document.all;
var nn6 = document.getElementById&&!document.all;

var option = "";
var offsetX,offsetY;

function setMapEvent(op)
{
	option = op;

	if (option == "ZOOMIN" || option == "ZOOMOUT" ) { objZoomBox = new ZoomBox("MAP","zoomBox",offsetX,offsetY); }
			
	else if (option == "PAN") { objPan = new Pan("MAP",offsetX,offsetY); }
}

function mouseMove(e)
{
	var evt = e || event;
 
	mx = evt.clientX + document.body.scrollLeft;
	my = evt.clientY + document.body.scrollTop;

	//DC-20070304 - mostrar coords do mapa
	var oCoordsPt;
	if (mMapa.isEventOverMap(mx,my)) {
		oCoordsPt = mMapa.getPTGeog(mx,my);
		oCoordsLL = mMapa.getPTWGS84(mx,my);
		$('CoordX').innerHTML = oCoordsPt.x + " ";
		$('CoordY').innerHTML = oCoordsPt.y + " ";
		$('CoordLon').innerHTML = getArred(oCoordsLL.x,3) + " ";
		$('CoordLat').innerHTML = getArred(oCoordsLL.y,3);
	}

	switch(option) 
	{
		case "ZOOMIN": case "ZOOMOUT":
		{
			if (objZoomBox) if (objZoomBox.mouseMove(mx,my)) mouseUp();
			break;
		}
		
		case "PAN":
		{
			if (objPan) if (objPan.mouseMove(mx,my)) mouseUp();
			break;
		}
	}
	
	return false;
}

function mouseDown(e) 
{
	var evt = e || event;

	x = evt.clientX + document.body.scrollLeft;
	y = evt.clientY + document.body.scrollTop;

	$("divTIPS").style.display = 'none';
	
	switch(option)
	{
		case "ZOOMIN": case "ZOOMOUT":
		{
			if (objZoomBox) objZoomBox.mouseDown(x,y);
			break;
		}
	
		case "PAN":
		{
			if (objPan) objPan.mouseDown(x,y);
			break;
		}
		
		case "IDENTIFY":
		{
			if (!e) var e = window.event;
			
			if (e.pageX || e.pageY)
			{
				IDT_MOUSE = { "pageX":e.pageX, "pageY":e.pageY };
			}
			else
			{
				IDT_MOUSE = { "clientX": x, "clientY": y };
			}
							
			pedeDados('IDENTIFICAR',{"x":(x - offsetX),"y":(y - offsetY)});				
			break;
		}
	}
		
	return false;
}

function mouseUp()
{
	switch(option) 
	{
		case "ZOOMIN":
		{
			if (objZoomBox) if (objZoomBox.getIsComplete()) 
			{ 
				objZoomBox.mouseUp(); objZoomBox.setIsComplete();
				
				pedeMapa('ZOOMIN',{"x1":objZoomBox.getXMin(),"x2":objZoomBox.getXMax(),"y1":objZoomBox.getYMin(),"y2":objZoomBox.getYMax()});
			}
			break;
		}		
		case "ZOOMOUT":
		{
			if (objZoomBox) if (objZoomBox.getIsComplete()) 
			{ 
				objZoomBox.mouseUp(); objZoomBox.setIsComplete();
					
				pedeMapa('ZOOMOUT',{"x1":objZoomBox.getXMin(),"x2":objZoomBox.getXMax(),"y1":objZoomBox.getYMin(),"y2":objZoomBox.getYMax()});
			}
			break;
		}		
		case "PAN":
		{
			if (objPan) if (objPan.getIsComplete()) 
			{ 			
				objPan.mouseUp(); objPan.setIsComplete(); 
				pedeMapa('PAN',{"x":objPan.getMoveX(),"y":objPan.getMoveY()});
			}
			break;
		}	
	}

	if ($("divTIPS")) $("divTIPS").style.display = 'block';
	
	return false;
}

function mouseOver()
{
	switch(option) 
	{
		case "ZOOMIN": case "ZOOMOUT":
		{	
			if (objZoomBox) objZoomBox.mouseOver();
			break;
		}
		case "PAN":
		{
			if (objPan) objPan.mouseOver();
			break;
		}		
		case "IDENTIFY":
		{
			$("MAP").style.cursor = 'pointer';
				
			break;
		}
	}
	return false;
}

function mouseCoords(e)
{	
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	
	if (e.pageX || e.pageY)
	{
		posx = e.pageX; posy = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	
	return { x:posx , y:posy, pageX:e.pageX, pageY:e.pageY };
}
