function DoInitMap(action, data, minx, miny, maxx, maxy)
{
    var width = $("#map").width();
    var height = $("#map").height();
    
    var mapState = document.getElementById("map_state").value;
    
    AjaxMap.MapRequests.Resize(width, height, mapState, DoInitMap_CallBack);
}
function DoInitMap_CallBack(response)
{
	
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}			

	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}
			
	updateMapControls(response);	
}

function updateMapControls(response)
{

  try
  {
	if(response.value[0])
	{		
		imgMap = new Image();
		imgMap.src = response.value[0].toLocaleString();
	    //OLD OLD OLDimgMap.onload = function() { document.getElementById(gMC.mMapImageName).src = imgMap.src; updateMapState(response.value[8]); ; LayerMove(gMC.mMapImageName, gMC.mParentHorizontalOffset, gMC.mParentVerticalOffset); $("#" + gMC.mMapImageName).height(gMC.mMapHeight); LayerShow(gMC.mMapContentName); ChangeToMain(); DoDrawFeatures(); DoDrawGraphics(); };		
        
        imgMap.onload = function() { document.getElementById(gMC.mMapImageName).src = imgMap.src; fixMapSize(); updateMapState(response.value[8]); LayerShow(gMC.mMapContentName); LayerMove(gMC.mMapContentName, gMC.mParentHorizontalOffset, gMC.mParentVerticalOffset); LayerClip(gMC.mMapContentName, "auto", "auto", "auto", "auto"); ChangeToMain(); DoDrawFeatures(); DoDrawGraphics(); };
		
		imgScale = new Image();
		imgScale.src = response.value[1].toLocaleString();
		imgScale.onload = function() { if (document.getElementById("imgScalebar") != null) document.getElementById("imgScalebar").src = imgScale.src; };			

		imgLegend = new Image();
		imgLegend.src = response.value[2].toLocaleString();
		gMC.legendImageUrl = response.value[2].toLocaleString();	
		imgLegend.onload = function() {	if (document.getElementById("img_legend")!= null) document.getElementById("img_legend").src = imgLegend.src; };

		imgReference = new Image();
		imgReference.src = response.value[3].toLocaleString();
		imgReference.onload = function() { if (document.getElementById("mapReferenceImage")!= null) document.getElementById("mapReferenceImage").src = imgReference.src; };
		
		document.getElementById(MAPCONTROL + "_txtHiddenRange").value = response.value[4] + "|" + response.value[5] + "|" + response.value[6] + "|" + response.value[7];
		document.getElementById(MAPCONTROL + "_txtHiddenScale").value = response.value[8];
		
		document.getElementById(MAPCONTROL + "_map_state").value = response.value[9];
		
		if (document.getElementById(MAPCONTROL + "_txtHiddenRangeLatLon") != null)
		{
		    document.getElementById(MAPCONTROL + "_txtHiddenRangeLatLon").value="";
		    
		    if (response.value.length > 10)
		    {
		        document.getElementById(MAPCONTROL + "_txtHiddenRangeLatLon").value = response.value[10] + "|" + response.value[11] + "|" + response.value[12] + "|" + response.value[13];		    
		    }	
		}

	} else {
		ChangeToMain();
	}
  }
  catch(er)
  {
	ChangeToMain();
  }		
}

function fixMapSize()
{
    LayerMove(gMC.mMapImageName, gMC.mParentHorizontalOffset, gMC.mParentVerticalOffset);

    $("#" + gMC.mMapImageName).width(gMC.mMapWidth);
    $("#" + gMC.mMapImageName).height(gMC.mMapHeight);
}


//Desenhar as Features
function DoDrawFeatures()
{
    MapRange=DoGetMapRange();
	
	gMC.doDrawFeaturesCollection(MapRange[0], MapRange[1], MapRange[2], MapRange[3]);
}
//Desenhar os Graphics
function DoDrawGraphics()
{
    MapRange=DoGetMapRange();
	
	gMC.doDrawGraphics(MapRange[0], MapRange[1], MapRange[2], MapRange[3]);
}

function updateMapState(scale)
{

	MapRange=DoGetMapRange(); 

	DoShowMapScale(scale);
	
	gMC.mMapScale = scale;
		
	MapRange=DoGetMapRange();
	gMC.SetMapRange(MapRange);	
}

function zoomExtent(left, top, right, bottom)
{	   	
	ChangeToLoading();
	
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
					
	AjaxMap.MapRequests.zoomExtent(Math.min(left,right), Math.min(top,bottom), Math.max(left,right), Math.max(top,bottom), mapState, zoomExtent_CallBack);	
}

function zoomExtent_CallBack(response)
{	
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
	
	updateMapControls(response);		
}

function zoomScale(scale)
{		
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
			
	AjaxMap.MapRequests.zoomScale(scale, mapState, zoomScale_CallBack);
}
function zoomScale_CallBack(response)
{	
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}
	
	updateMapControls(response);
}

function zoomReference(imgX, imgY)
{		
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
			
	AjaxMap.MapRequests.zoomReference(imgX, imgY, mapState, zoomReference_CallBack);
}
function zoomReference_CallBack(response)
{	
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
			
	updateMapControls(response);	
}

function queryLayersByPoint(x, y)
{
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
	
	var layersCodeList = "";
				
	for (i=0; i < themeButtons.length; i++)
	{
		var button = themeButtons[i];
						
		if (button.mySelected && button.myQuery)
		{
		    layersCodeList += button.myLayerCode + " ";
		}
	}
	
	if (layersCodeList=="")
	{
		alert('Active um ou mais temas da lista!');
		
		ChangeToMain();
	} else {
	    var zscale = (document.getElementById(MAPCONTROL + "_txtHiddenScale").value /200);
	    
	    DoSearchPOIByPoint(x, y, zscale, layersCodeList," ", 1,"pnl_Lista");				
		//DoSearchPOIByPoint(x, y, SEARCH_BUFFER, layersCodeList," ", 1,"pnl_Lista");
	}
}

function queryLayersByPolygon(polyCoords)
{
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
	
	var layersCodeList = "";
				
	for (i=0; i < themeButtons.length; i++)
	{
		var button = themeButtons[i];
						
		if (button.mySelected && button.myQuery)
		{
			layersCodeList += button.myLayerCode + " ";
		}
	}
		
	if (layersCodeList=="")
	{
		alert('Active um ou mais temas da lista!');
		
		ChangeToMain();
	} else {			
	    DoSearchPOIByPolygon(polyCoords, layersCodeList, " ", 1, true, "pnl_Lista");
	}
}

function DoSelectById(layerName, fieldName, expression, variableName, featureId, zoomFeatures, buffer)
{
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;

    AjaxMap.MapRequests.DoSelectById(layerName, fieldName, expression, variableName, featureId, zoomFeatures, buffer, mapState, zoomExtent_CallBack);

}

function selectByAttribute(layerName, fieldName, expression, zoomFeatures, buffer)
{
	ChangeToLoading();
	
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
			
	AjaxMap.MapRequests.selectByAttribute(layerName, fieldName, expression, zoomFeatures, buffer, mapState, zoomExtent_CallBack);
}

function SetLayerVisibility(layerName, visible)
{
	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.SetLayerVisibility(layerName, visible, mapState,  SetLayerVisibility_CallBack);
}
function SetLayerVisibility_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
	
	updateMapControls(response);			
}

function SetLayersListVisibility(layersList, visible)
{
	ChangeToLoading();
		
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.SetLayersListVisibility(layersList, visible, mapState,  SetLayersListVisibility_CallBack);
}
function SetLayersListVisibility_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
	
	updateMapControls(response);			
}

function SetLayersListVisible(layersList)
{
	ChangeToLoading();
		
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.SetLayersListVisible(layersList, mapState,  SetLayersListVisible_CallBack);
}
function SetLayersListVisible_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
	
	updateMapControls(response);			
}

function SwitchLayersListVisibility(layersListOn, layersListOff)
{
	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.SwitchLayersListVisibility(layersListOn, layersListOff, mapState,  SwitchLayersListVisibility_CallBack);
}
function SwitchLayersListVisibility_CallBack(response)
{			
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}	
			
	updateMapControls(response);
}

function clearFeatures()
{
	ChangeToLoading();
		
	var mapState = "";		
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.clearFeatures(mapState, clearFeatures_CallBack);
}
function clearFeatures_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
			
	updateMapControls(response);
}

function addFeature(feature, clear, extent)
{
	ChangeToLoading();
		
	var mapState = "";
		
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
	
	AjaxMap.MapRequests.addFeature("SELECTION_POINT", feature, clear, extent, mapState, addFeature_CallBack);
}
function addFeature_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
			
	updateMapControls(response);
}


function DoZoomLoc(x, y, draw, buffer)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
	
	var MapCenteredRange = new Array();
	
	MapCenteredRange[0] = x - buffer;
	MapCenteredRange[1] = y - buffer;
	MapCenteredRange[2] = x + buffer;
	MapCenteredRange[3] = y + buffer;
	
	var extent = MapCenteredRange[0] + ";" + MapCenteredRange[1] + ";" + MapCenteredRange[2] + ";" + MapCenteredRange[3];
	
	var geom = x + ";" + y;	
	var feature = geom + "|";
	
    if (draw)
	{
	    AjaxMap.MapRequests.addFeature("SELECTION_POINT", feature, true, extent, mapState, DoZoomLoc_CallBack);
	} else {
	    AjaxMap.MapRequests.zoomExtent(MapCenteredRange[0], MapCenteredRange[1], MapCenteredRange[2], MapCenteredRange[3], mapState, DoZoomLoc_CallBack);
	}
	
	return true;	
}
function DoZoomLoc_CallBack(response)
{
    if (response == null){		
	    ChangeToMain();	
	
	    return;
    }

    if (response.error != null){
	    alert(response.error);
	
	    ChangeToMain();	
	
	    return;
    }	

    if (response.value == null){		
	    ChangeToMain();	
	
	    return;
    }	

    updateMapControls(response);
}	


function DoZoomStreet(id)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.DoSelectStreetLine(id,true,ZOOM_BUFFER_STREET, mapState, DoZoomStreet_CallBack);		
}
function DoZoomStreet_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
	
	updateMapControls(response);
}

function DoZoomStreetLines(listID)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.DoSelectStreetLines(listID,true,ZOOM_BUFFER_STREET, mapState, DoZoomStreetLines_CallBack);		
}
function DoZoomStreetLines_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
	
	updateMapControls(response);
}

function DoZoomItinerary(id, minx, miny, maxx, maxy)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.DoHilightFeature(id, "itineraryid", true, minx, miny, maxx, maxy, ZOOM_BUFFER_STREET, mapState, DoZoomStreet_CallBack);		
}
function DoZoomItinerary_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
	
	updateMapControls(response);
}

function DoZoomAlgarviana(id, minx, miny, maxx, maxy)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.DoHilightFeature(id, "algarvianaid", true, minx, miny, maxx, maxy, ZOOM_BUFFER_STREET, mapState, DoZoomAlgarviana_CallBack);		
}
function DoZoomAlgarviana_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
	
	updateMapControls(response);
}




function map_queryLayerByPoint(idList)
{
	Geo.forms.searchPanel.DoSearchPOIByIdList(idList, "pnl_Lista", DoSearchPOI_CallBack)
}

function DoTransformCoordinates(worldX, worldY)
{
    var coordSys = "27492";

	var lang = "";
	
	if (document.getElementById("language") != null && document.getElementById("language").value!= "")
	{	
	    lang = document.getElementById("language").value
	}
		
	if (document.getElementById("ddl_CoordSys") != null && document.getElementById("ddl_CoordSys").value!= "")
	{	
	    //coordSys = document.getElementById("ddl_CoordSys").value
	}

    AjaxMap.MapRequests.DoBDTransformCoordinates(worldX, worldY, coordSys, lang, DoTransformCoordinates_CallBack);       
    

	//Desenhar POI Seleccionados	  
    var features = new Array();    
    
    features.length = 1;                         
	
	var feature = new Feature(worldX, worldY, null, drawFeature, 0, "");
        
    features[0] = feature;                       
    
    //Desenhar as Features    
    var feaCol = gMC.doGetFeaturesCollectionById("POI");    
    feaCol.Features = features;
    
    var MapRange = DoGetMapRange();
    
    var tlp = tooltip;
    
    tlp.showPage = "";
    tlp.showFunction = null;
    
    //Desenhar as Features
    feaCol.Draw(MapRange[0], MapRange[1], MapRange[2], MapRange[3]);    
}


function DoGetPOIList()
{
    AjaxMap.MapRequests.DoGetPOIList(1,DoGetPOIList_CallBack); 
}
function DoGetPOIList_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}
	
	var pois = response.value
	
	var vpois = pois.split("#");
    
    gMC.Features = new Array();
    
    var num = vpois.length
    
    gMC.Features.length = num;                         
	
	for (i=0; i < num; i++)
	{
	    sData =  vpois[i].split("|");	
	    
	    var feature = new Feature(sData[1], sData[2], null, drawPOIFeature, sData[0], sData);
        
        gMC.POIFeatures[i] = feature;                       
    }
    
    var MapRange = DoGetMapRange();

    //Desenhar as Features
    gMC.doDrawPOIFeatures(MapRange[0], MapRange[1], MapRange[2], MapRange[3]);    	       
}

function DoShowPOIFeatureInfo(poiID)
{
    //var x = event.x;
    //var y = event.y;
    
    var obj = document.getElementById(poiID);
    
    var x = obj.parentNode.offsetLeft;
    var y = obj.parentNode.offsetTop;
        
    var delegate = function() { showPOIFeatureInfo(poiID, x, y); };
    tooltipTimeoutId = setTimeout(delegate,300);                 
}
function showPOIFeatureInfo(poiID, x, y)
{
    MapaInteractivo.forms.searchPanel.DoShowTooltipPOI(poiID, "pt", "tooltip_poi", showPOIFeatureInfo_CallBack);
}
function showPOIFeatureInfo_CallBack(response)
{
       it = document.getElementById(response.value[0]);             
       it.innerHTML = response.value[1];
}
function DoHidePOIFeatureInfo()
{   
    //hidePOIFeatureInfo();
}

function txtScale_onKeyPress(control, e)
{                
    var characterCode;
                
    if(e && e.which)
    { //if which property of event object is supported (NN4)
        e = e;
        characterCode = e.which;
    }
    else
    {
        e = event;
        characterCode = e.keyCode; //character code is contained in IE's keyCode property
    }

    //(if enter key)
    if(characterCode == 13)
    { 
        DoFitToScale();        
        
        return false;
    }
    
    return true;        
}

function mapReference_onclick(e){
		var referenceImg = document.getElementById("mapReferenceImage");
		if (referenceImg == null) return;
		
		var ParentHorizontalOffset;
		var ParentVerticalOffset;
		var HorizontalOffset;
		var VerticalOffset;

		if( is5up )
		{
			var element = referenceImg;

			ParentHorizontalOffset = element.offsetLeft;
			ParentVerticalOffset = element.offsetTop;
		
			HorizontalOffset = findPosX(element);
			VerticalOffset = findPosY(element);		
		}
		else
		{
			HorizontalOffset = referenceImg.x;
			VerticalOffset = referenceImg.y;
		}				

		HorizontalOffset = HorizontalOffset+2;	
		VerticalOffset = VerticalOffset+2;
		
		var imgX;
		var imgY;
		
		if (!e) var e=window.event;		
		
		imgX = e.clientX + document.body.scrollLeft;
		imgY = e.clientY + document.body.scrollTop;		
		
		imgX = imgX-HorizontalOffset;
		imgY = imgY-VerticalOffset;
		
		zoomReference(imgX, imgY);		
}


function DoHilightFeature(field, id, minx, miny, maxx, maxy, buffer)
{
	if (gMC.IsBusy)
	{
		return false;
	}

	ChangeToLoading();
		
	var mapState = "";
	
	if( document.getElementById(MAPCONTROL + "_map_state") != null)
		mapState = document.getElementById(MAPCONTROL + "_map_state").value;
		
	AjaxMap.MapRequests.DoHilightFeature(id, field, true, minx, miny, maxx, maxy, buffer, mapState, DoHilightFeature_CallBack);		
}
function DoHilightFeature_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{
		alert(response.error);
		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}		
	
	updateMapControls(response);
}

function ddl_CoordSys_onchange(obj)
{
    var coordSys = obj.value;
    
    $(".txtCoords").css("display","none");
    
    if (coordSys == "4326")
    {
        $("#coordsLatLon").css("display","block");
    } else {
        $("#coordsXY").css("display","block");
    }            
}
function btn_trans_coord_onclick()
{
    $("#pnl_Coordenadas").html("");

    var coordSys = $("#ddl_CoordSys").attr("value");
    
    var x = "0";
    var y = "0";
    
    var gg = "";
    var mm = "";
    var ss = "";
    
	var lang = "";
	
	if (document.getElementById("language") != null && document.getElementById("language").value!= "")
	{	
	    lang = document.getElementById("language").value
	}    
    
    if (coordSys != "4326")        
    {   
        x=($("#coordM").attr("value") != null) ? $("#coordM").attr("value") : "";
        y=($("#coordP").attr("value") != null) ? $("#coordP").attr("value") : "";
        
        if (!isNumber(x) || !isNumber(y))
        {            
            return false;
        }
    } else {
        gg = ($("#lonGG").attr("value") != null) ? $("#lonGG").attr("value") : ""; 
        mm = ($("#lonMM").attr("value") != null) ? $("#lonMM").attr("value") : "";
        ss = ($("#lonSS").attr("value") != null) ? $("#lonSS").attr("value") : "";
        
        if (!isNumber(gg) || !isNumber(mm)  || !isNumber(ss))        
        {           
            return false;
        }        
        
        x = Math.abs(parseInt(gg));        
        x = (x + (parseInt(mm)/60) + (parseFloat(ss) / 60 / 60)) *-1;
        
        gg = ($("#latGG").attr("value") != null) ? $("#latGG").attr("value") : ""; 
        mm = ($("#latMM").attr("value") != null) ? $("#latMM").attr("value") : "";
        ss = ($("#latSS").attr("value") != null) ? $("#latSS").attr("value") : "";
        
        if (!isNumber(gg) || !isNumber(mm)  || !isNumber(ss))        
        {
            return false;
        }        
                
        y = Math.abs(parseInt(gg));
        y = y + (parseInt(mm)/60) + (parseFloat(ss) / 60 / 60);        
    }
    
    AjaxMap.MapRequests.DoBDTransformCoordinates(x, y, coordSys, lang, DoTransformCoordinates_CallBack);
    
    
}
function btn_zoom_coord_onclick()
{
    if(gMC.IsBusy) return;

    var coordSys = $("#ddl_CoordSys").attr("value");
    
    var x = "0";
    var y = "0";
    
	var lang = "";
	
	if (document.getElementById("language") != null && document.getElementById("language").value!= "")
	{	
	    lang = document.getElementById("language").value
	}    
    
    if (coordSys != "4326")        
    {
        x = $("#coordM").attr("value");
        y = $("#coordP").attr("value");
    } else {
        var gg = $("#lonGG").attr("value");
        var mm = $("#lonMM").attr("value");
        var ss = $("#lonSS").attr("value");
        
        x = Math.abs(parseInt(gg));        
        x = (x + (parseInt(mm)/60) + (parseFloat(ss) / 60 / 60)) *-1;
        
        gg = $("#latGG").attr("value");
        mm = $("#latMM").attr("value");
        ss = $("#latSS").attr("value");
                
        y = Math.abs(parseInt(gg));
        y = y + (parseInt(mm)/60) + (parseFloat(ss) / 60 / 60);        
    }
    
    if (coordSys != "27492")
    {
        AjaxMap.MapRequests.DoTransformCoordinate(x, y, coordSys, "27492", DoTransformCoordinate_CallBack);          
    } else {
       var data = { error: null, value: [ x, y ] };
    
        DoTransformCoordinate_CallBack(data);
    }
}

function DoTransformCoordinate_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}    
	
	var x = response.value[0];
	var y = response.value[1];
    	  
    var features = new Array();    
    
    features.length = 1;                         
	
	var feature = new Feature(x, y, null, drawFeature, 0, "");
        
    features[0] = feature;
    
    //Desenhar as Features    
    var feaCol = gMC.doGetFeaturesCollectionById("POI");    
    feaCol.Features = features;                           
    
    tooltip.showPage = "";
    tooltip.showFunction = null;
    
    var MapRange = DoGetMapRange();
    
    if (x >= MapRange[0] && x <= MapRange[2] && y >= MapRange[1] && y <= MapRange[3])
    {
        feaCol.Draw(MapRange[0], MapRange[1], MapRange[2], MapRange[3]);
    } else {
        var func = "DoZoomLoc(" + response.value[0] + "," + response.value[1] + ", false, 250);";
    
        window.setTimeout(func, 100);           
    }
}

function DoTransformCoordinates_CallBack(response)
{
	if (response == null)
	{
		ChangeToMain();	
		
		return;		
	}
	
	if (response.error != null)
	{		
		ChangeToMain();	
		
		return;
	}	
	
	if (response.value == null)
	{	
		ChangeToMain();	
		
		return;
	}
	
    var shtml = response.value[0];
        
    document.getElementById("pnl_Coordenadas").innerHTML = shtml;   
}

function DoZoomLinkLocation(x, y, draw, buffer)
{

    DoZoomLoc(x, y, draw, buffer);
    
    return true;

}
