﻿var mostrarPanelCarga=1;
function Anthem_PreCallBack() {
    if (mostrarPanelCarga == 1) {
        var ldng = document.createElement("div");
        ldng.id = "cargando";
        ldng.style.color = "black";
        ldng.style.backgroundColor = "#e8e4cb";
        ldng.style.position = "absolute";
        ldng.style.width = "150px";
        ldng.style.left = findPosX(document.getElementById("wrap")) + 390 + "px";
        ldng.style.top = findPosY(document.getElementById("wrap")) + 300 + "px";
        ldng.style.zIndex = "9999";
        ldng.style.padding = "10px";
        ldng.style.border = "solid 1px #000000";
        ldng.innerHTML = "<span style=\"font-family:Verdana;font-size:11px;\">Cargando datos,<br>Espere un momento,<br>por favor...</span>";
        document.body.appendChild(ldng);
    }
}

function Anthem_PostCallBack() {
    if (mostrarPanelCarga == 1) {
        var ldng = document.getElementById("cargando");
        document.body.removeChild(ldng);
    }
	mostrarPanelCarga = 1;
}

function Anthem_Error(result) {
    alert('Anthem_Error was invoked with the following error message: ' + result.error);
}

function cargarmapa(encodedPoints,encodedLevels,centro){
	 if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        //map.addControl(new GMapTypeControl());
		var centrolat=centro.replace("(","");
		centrolat=centrolat.replace(")","")	;
		centrolat=centrolat.split(",")
        map.setCenter(new GLatLng(centrolat[0],centrolat[1]), 13);
        //map.setMapType(G_SATELLITE_MAP);

        // Add an encoded polyline.
      
        var encodedPolyline = new GPolyline.fromEncoded({
		color: "#3333cc",
		weight: 5,
		points: encodedPoints,
		levels: encodedLevels,
		zoomFactor: 30,
		numLevels: 4
	});
	map.addOverlay(encodedPolyline);
      }
	}


function iniciarmapa(pagina)
{
    Anthem_InvokePageMethod('cargaInicial',
    [],
    function(result) {
    });
} 

function obrasNoAgrupadas(pagina)
{
    Anthem_InvokePageMethod('cargarObrasNoAgrupadas',
    [],
    function(result) {
    });
} 

function obrasAgrupadas(pagina)
{
    Anthem_InvokePageMethod('cargarObrasAgrupadas',
    [],
    function(result) {
    });
} 
                     
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	var printstring = '';
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	window.status = printstring;
	return curtop;
}
	
function alerta(mensaje) 
{
    alert(mensaje);
}


var puntoseleccionado=null;
function gettexto(codigo,igualubicacion,zoomM) 
{
    mostrarPanelCarga = 0;
    cerrarinfo();
    
    var caparuta = document.createElement("div");
    caparuta.id = "caparuta";
    caparuta.style.color = "#424F36";
    caparuta.style.fontFamily = "Verdana";
    caparuta.style.fontSize = "11px";
    caparuta.style.backgroundColor = "#ffffff";
    caparuta.style.border = "1px solid #000000";
    caparuta.style.position = "absolute";
    caparuta.style.width="200px";
    caparuta.style.left = findPosX(document.getElementById("map")) + 130 + "px";
    caparuta.style.top = findPosY(document.getElementById("map")) + 50 + "px";
    caparuta.style.zIndex = "9999";
    caparuta.style.padding="10px";
    caparuta.innerHTML = '<div align="center" style="height:120px">' +
                         '<span style=\"font-family:Verdana;font-size:11px;\">Cargando datos, por favor espere...</span>' + 
                         '</div>';
    document.body.appendChild(caparuta);
    Anthem_InvokePageMethod('gettextoruta',
    [codigo,igualubicacion,zoomM],
    function(result) {
        dspruta(result.value);
    });
} 

function gettextocentral() 
{
    mostrarPanelCarga = 0;
    cerrarinfo();
    
    var caparuta = document.createElement("div");
    caparuta.id = "caparuta";
    caparuta.style.color = "#424F36";
    caparuta.style.fontFamily = "Verdana";
    caparuta.style.fontSize = "11px";
    caparuta.style.backgroundColor = "#ffffff";
    caparuta.style.border = "1px solid #000000";
    caparuta.style.position = "absolute";
    caparuta.style.width="200px";
    caparuta.style.left = findPosX(document.getElementById("map")) + 130 + "px";
    caparuta.style.top = findPosY(document.getElementById("map")) + 50 + "px";
    caparuta.style.zIndex = "9999";
    caparuta.style.padding="10px";
    caparuta.innerHTML = '<div align="center" style="height:120px">' +
                         '<span style=\"font-family:Verdana;font-size:11px;\">Cargando datos, por favor espere...</span>' + 
                         '</div>';
    document.body.appendChild(caparuta);
    Anthem_InvokePageMethod('gettextorutacentral',
    [],
    function(result) {
        dspruta(result.value);
    });
} 

function dspruta(texto) {
    mostrarPanelCarga = 0;
		var loading = document.getElementById("caparuta");
			document.body.removeChild(loading);
	var caparuta = document.createElement("div");
			caparuta.id = "caparuta";
		    caparuta.style.color = "#424F36";
		    caparuta.style.fontFamily = "Verdana";
		    caparuta.style.fontSize = "11px";
			caparuta.style.backgroundColor = "#ffffff";
			caparuta.style.border = "1px solid #000000";
			caparuta.style.position = "absolute";
            caparuta.style.width="200px";
            caparuta.style.left = findPosX(document.getElementById("map")) + 130 + "px";
            caparuta.style.top = findPosY(document.getElementById("map")) + 50 + "px";
			caparuta.style.zIndex = "9999";
            caparuta.style.padding="10px";
            caparuta.innerHTML = '<div align="center" style="height:120px;overflow:auto;"><div style="height:11px;overflow:auto;text-align:right;float:right;"><a href="javascript:cerrarinfo()"><img alt=" " src="images/cerrarInfo.png" width="10" height="10" style="border:0;"></a></div>' + texto + '</div>';
            document.body.appendChild(caparuta);

            //conocerCalle(document.getElementById("#lng#").innerHTML, document.getElementById("#lt#").innerHTML);
	}

	function inforuta(ruta) {
	    mostrarPanelCarga = 0;
	var caparuta = document.createElement("div");
			caparuta.id = "caparuta";
		    caparuta.style.color = "#424F36";
		    caparuta.style.fontFamily = "Verdana";
		    caparuta.style.fontSize = "11px";
			caparuta.style.backgroundColor = "#ffffff";
			caparuta.style.border = "1px solid #000000";
			caparuta.style.position = "absolute";
            caparuta.style.width="200px";
            caparuta.style.left = findPosX(document.getElementById("map")) + 130 + "px";
            caparuta.style.top = findPosY(document.getElementById("map")) + 50 + "px";
			caparuta.style.zIndex = "9999";
            caparuta.style.padding="10px";
            caparuta.innerHTML = '<div align="center" style="height:120px">' +
'<span style=\"font-family:Verdana;font-size:11px;\">Cargando datos, por favor espere...</span>' + 
'</div>';
document.body.appendChild(caparuta);
	Anthem_InvokePageMethod(
            'getrutainfo',
            [ruta],
            function(result) {
                dsprutainfo(result.value);
            }
        );
}


// Constructor
TRestricter = function (map) {
  this.map = map;
}

// Función que activa la limitación del desplazamiento entre la esquina inferior izquierda
// y la esquina superior derecha
TRestricter.prototype.restrict = function (sw, ne) {
  this.map._allowedBounds = new GLatLngBounds(sw, ne);
  GEvent.addListener(this.map, 'move', this.checkBounds);
}

// Función que desactiva la limitación del desplazamiento
TRestricter.prototype.unrestrict = function () {
  this.map._allowedBounds = null;
}

// Listener encargado de comprobar el desplazamiento
TRestricter.prototype.checkBounds = function() {
  if (!this._allowedBounds || this._allowedBounds.contains(this.getCenter())) return;
  var x = Math.min(Math.max(this.getCenter().lng(), this._allowedBounds.getSouthWest().lng()), this._allowedBounds.getNorthEast().lng());
  var y = Math.min(Math.max(this.getCenter().lat(), this._allowedBounds.getSouthWest().lat()), this._allowedBounds.getNorthEast().lat());
  this.setCenter(new GLatLng(y,x));
}

// Establece los límites de zoom del mapa
TRestricter.prototype.zoomLevels = function (min, max) {
  var array = this.map.getMapTypes() || [];
  for (var i=0; i<array.length; i++) {
    array[i].getMinimumResolution = function () { return min };
    array[i].getMaximumResolution = function () { return max };
  }
}
