// Archivo JScript
var ABSMapaCiudad = {   
  urlImgEye:"eye_ok.gif",       
  urlImgNEye:"eye_nok.gif", 
  urlImgEyes:"eyes_ok.gif",       
  urlImgNEyes:"eyes_nok.gif",       
  urlImgItem:"",
  urlImgFicha:"",
  urlImgZoom:"",    
  urlImgCartel:"",    
  urlImgCargar:"",    
  urlImgGoogle:"",
  herrSeleccion:null,  // nombre herramienta de selección;  
  pathAbsatlas: "/absatlas/",
  pathGestor: "absmapaciudad/ws/gestor_peticion.ashx",  // ubicacion gestor peticiones   
  idMapa :"",    // Mapa visionandose 
  idMapaOrto:"", // CLAVEMAPA_LANG_ORTO
  mapaVirtual:"",   // CLAVE
  boolOrto:"",     // ORTO: 0,1
  sufijoOrto:"",     //_ORTO
  idioma:"",        // LANG
  listaIdioma:"",  // Idiomas disponibles
  tema:"",          // Estilo  
  listaMapas:"",    //Lista Mapas disponibles
  strDescrMapas:"", //Lista Descripción Mapas
  intPixels :10, // diagonal icono mapa 16x16 ( I info)
  porcentageDesp: 80, // % desplazamiento segun ancho/alto ventana de los desplazadores
  contenidoXML : "",  // cadena de texto  
  ncarteles:"", // numero de carteles de inicio
  coloresCarteles: "", // color carteles de inicio
  coordsCarteles:"", // coordenadas carteles de inicio
  textoCarteles:"", // texto de carteles de inicio 
  reqHttp: null, // peticion AJAX
  docXml : null, // doc xml respuesta peticion AJAX  
  capas:"",
  pointText:"",
  zoomPoligonal:150, // offset para centralizar elemento poligonales
  zoomPuntual:100,  // offset para centralizar elemento puntuales
  tiempoActualizar:180000, //milisegundos para actualizar sesión  
  visibilidadCapas:"", //Se espera ver capas visible de inicio
  toolActivada:"", //herramienta activada   
  categorias: [],
  idMapaExtern: "",
  mostraFitxaParc: false, //flag muestra ficha parcela urbanistica
  navegador:0, //o IE, 1 atros  
  elMovimiento:null, //elemento DIV flotante
  redimensionable: false,
  divMapa:null, //objeto divMapa  
  factorX:1, //factor de redimensionamiento mapa en X
  factorY:1, //factor de redimensionamiento mapa en Y
  accesorios_inicio: false,
  norte_esquina: null,  // esquina del mapa donde se ubica el icono Norte
  escudo_esquina: null, // esquina del mapa donde se ubica el Escudo
  despl_esquina: null, // esquina del mapa donde se ubican desplazadores 
  nav_esquina: null, // esquina del mapa donde se ubican navegadores 
  barra_nav:null, // barra zoom navegadores
  mostrar_cartel:true, //mostrar icono cartel en opciones panel de informacion
  mostrar_google:true, //mostrar icono google en opciones panel de informacion
  color_cartel:"#FFFFCC55", //color y opacidad cartel por defecto
  buscg_cargado:false, // indica si ya se ha cargado el buscador gráfico
  urlTramites:"http://www.absis.es",
  puntoX:null, //coordenadas punto interseccion mundo
  puntoY:null, //coordenadas punto interseccion mundo
  puntoXC:null, //coordenadas punto interseccion cliente
  puntoYC:null, //coordenadas punto interseccion cliente
  nIncidencia:1
};


// ******************************************************************************************** //
//   CONTROL DE SERVICIOS : CLASES                                                              //
// ******************************************************************************************** //

//
// Definimos clase Servicio 
//

var Servicio = function(nombre, visible){
    this.nombre = nombre;
    if(visible==0) visible=false;
    else if (visible==1) visible=true;
    
    this.visible = visible;    
}

//
// Constructor Categoria
//
var Categoria = function(nombre,visible){
    this.nombre = nombre;
    if(visible==0) visible=false;
    else if (visible==1) visible=true;
    
    this.visible = visible;    
    this.servicios= [];    
}

//
// Definimos clase/prototipo Categoria
//
Categoria.prototype = {      
    InsertarServicio: function(servicio){
        this.servicios.push(servicio);
    }
}

// ******************************************************************************************** //
//   CONTROL DE SERVICIOS: MÉTODOS                                                              //
// ******************************************************************************************** //

//
// Insertar categoria
//
ABSMapaCiudad.InsertarCategoria = function(categoria)
{
        this.categorias.push(categoria);   
}   


//
// Recursivamente leemos control capas 
// string control de capas de la forma: 
// NOMBRE_CAT1, VISIBLE, NUMERO_SERVS, SERV1, VIS1, ... SERVN, VISN 
//
ABSMapaCiudad.ParseaControlCapas = function(v) {
    // creamos categoria con dos primeros elems de la lista
    var cat = new Categoria(v[0], v[1]);
    var ifin = v[2] * 2 + 3;
    var i;


    // creamos y recorremos los servicios asociados
    // los insertamos en la nueva categoria
    for (i = 3; i < ifin; i = i + 2) {
        var serv = new Servicio(v[i], v[i + 1]);
        cat.InsertarServicio(serv);        
    }

    // insertamos categoria 
    ABSMapaCiudad.InsertarCategoria(cat);

    // obtenemos el resto de la lista
    var nv = new Array();
    for (i = ifin; i < v.length; i++)
        nv[i - ifin] = v[i];

    // si no esta vacio lo parseamos recursivamente
    if (nv.length > 0)
        ABSMapaCiudad.ParseaControlCapas(nv);

}

//
// Obtenemos índice categoría en lista categorías 
//  
ABSMapaCiudad.ObtenerPosicionCategoria = function (categoria)
{
   var i=0;
   
   while (
       this.categorias[i].nombre!=categoria && 
       i<this.categorias.length
       )
      i++;
      
   return i;
     
}

//
// Obtenemos servicio 
//
ABSMapaCiudad.ObtenerServicio = function(_nivel) {
    var ok = false;

    var i = 0;
    var j = 0;

    var serv;

    while (!ok && i < this.categorias.length) {
        j = 0;
        while (!ok && j < this.categorias[i].servicios.length) {

            ok = (this.categorias[i].servicios[j].nombre == _nivel);            
            if (ok)
                serv = this.categorias[i].servicios[j];
            j++;
        }
        i++;

    }

    return serv;
}

// ******************************************************************************************** //
//   GENERAL: MÉTODOS                                                                           //
// ******************************************************************************************** //

//
// Iniciar Valores: establece variables globales que se consultan en las peticiones
// posteriores. Se ejecuta con evento 'onload' del elemento 'body'
//
ABSMapaCiudad.IniciarValores = function(
    _barraAvanzada,
    _barraAvanzadaInicio,
    _visServiciosInicio,
    _mapaVirtual,
    _boolOrto,
    _sufOrto,
    _idioma,
    _listaIdiomas,
    _descrIdiomas,
    _tema,
    _elems,
    _coords,
    _nombres,
    _color,
    _controlCapas,
    _listaMapas,
    _strDescrMapas,
    _redimensionable,
    _accesorios,
    _norte_esquina,
    _escudo_esquina,
    _despl_esquina,
    _nav_esquina,
    _m_cartel,
    _m_google,
    _rgba,   
    _alto_arbol
    ) {


    // establecemos parámetros aplicación
    this.mapaVirtual = _mapaVirtual;
    this.idioma = _idioma;
    this.boolOrto = _boolOrto;
    this.sufijoOrto = _sufOrto;
    this.idMapa = this.mapaVirtual;
    this.idMapa = this.idMapa.toUpperCase();
    this.idMapaOrto = this.idMapa + this.sufijoOrto;
    this.listaIdioma = _listaIdiomas;
    this.strDescrIdiomas = _descrIdiomas;
    this.tema = _tema;
    this.listaMapas = _listaMapas;
    this.strDescrMapas = _strDescrMapas;
    var str = window.location.pathname.split('/'); // path absatlas
    this.pathAbsatlas = "/" + str[1] + "/";
    this.urlImgItem = this.pathAbsatlas + "temas/" + this.tema + "/img/a00.gif";
    this.urlImgFicha = this.pathAbsatlas + "temas/" + this.tema + "/img/a01.gif";
    this.urlImgZoom = this.pathAbsatlas + "temas/" + this.tema + "/img/a02.gif";
    this.urlImgCartel = this.pathAbsatlas + "temas/" + this.tema + "/img/a03.gif";
    this.urlImgGoogle = this.pathAbsatlas + "temas/" + this.tema + "/img/a04.gif";
    this.urlImgCargar = this.pathAbsatlas + "temas/" + this.tema + "/img/cargar.gif";

    // variables para redimensionar y reubicar componentes
    this.factorX = 1;
    this.factorY = 1;

    // esteblecemos objeto Mapa        
    this.divMapa = document.getElementById("divMapa");
    if (!this.divMapa)
        return;

    // esteblecemos posicion objeto Norte        
    this.norte_esquina = _norte_esquina;

    // esteblecemos posicion objeto Escudo        
    this.escudo_esquina = _escudo_esquina;

    // esteblecemos posicion objeto Desplazadores del Mapa        
    this.despl_esquina = _despl_esquina;

    // esteblecemos posicion objeto Navegadores del Mapa        
    this.nav_esquina = _nav_esquina;

    // establecer navegador    
    this.EstablecerNavegador();

    // establece visibilidad de Accesorios (columnas) de inicio
    if (_accesorios == 'True')
        this.accesorios_inicio = true;
    this.MostrarAccesoriosInicio(ABSMapaCiudad.accesorios_inicio);

    // establece variable mostrar_cartel, mostrar_google en los resultados de los buscadores
    if (_m_cartel == 'True')
        this.mostrar_cartel = true;
    else
        this.mostrar_cartel = false;

    if (_m_google == 'True')
        this.mostrar_google = true;
    else
        this.mostrar_google = false;


    // establece color carteles
    this.color_cartel = "#" + _rgba;

    // establece barra herramientas inicial  
    if (_barraAvanzadaInicio == 'True' && _barraAvanzada == 'True')
        this.MostrarBarraHerramientas('avanzada');
    else
        this.MostrarBarraHerramientas('simple');


    // comprobar si se deben mostrar carteles de inicio 
    if (_elems == '0' || _elems == '')
        this.ncarteles = '0';
    else {
        this.ncarteles = _elems;
        this.coordsCarteles = _coords.split(',');
        this.textoCarteles = _nombres.split(',');
        this.coloresCarteles = _color.split(',');
    }

    // establece path absatlas
    var str = window.location.pathname.split('/');
    this.pathAbsatlas = "/" + str[1] + "/";


    // establece método de ActualizarSesion cada tiempoActualizar segundos
    window.setInterval(ABSMapaCiudad.ActualizarSesion, ABSMapaCiudad.tiempoActualizar);

    // gestión de Categorías y Servicios

    // establece la visibilidad de los servicios (pois) de inicio 

    if (_visServiciosInicio == 'True')
        this.visibilidadCapas = true;
    else
        this.visibilidadCapas = false;

    // Modificamos estilo inline de arbol de servicios
    
    this.ModificarAlturaArbol(_alto_arbol);


    // cargamos arrays de categorias y servicios
    if (_controlCapas) {
        var v = _controlCapas.split(',');
        if (v.length > 0)
            this.ParseaControlCapas(v);
    }


    // establece si se debe redimensionar objeto Mapa a ventana navegador  
    if (_redimensionable == 'True') {
        this.redimensionable = true;
        // redimiensiona Mapa y elementos solidarios  (Escudo, Norte, Desplazadores, Navegadores)
        this.RedimensionarMapa();
    }
    else {
        // desplazamos Norte
        this.DesplazarNorte();
        // desplazamos Escudo
        this.DesplazarEscudo();
        // desplazamos Desplazadores
        this.DesplazarDesplazadores();
        // desplazamos Navegadores
        this.DesplazarNavegadoresZoom();

    }
    // mapa visble 
    this.MostrarMapa();

    return;
}


// 
// Modificar Altura Arbol:
// parche para conseguir altura arbol fija (issue de infragistics)
//
ABSMapaCiudad.ModificarAlturaArbol = function(altura) {

    var arbol = document.getElementById("T_WebPanelServiciosWT");
    if (!arbol)
        return;

    arbol.style.cssText = 'overflow-y:auto;height:' + altura + 'px;';
    //arbol.style.overflow = 'auto';
    //arbol.style.height = altura + 'px';
    return;

}
// 
// Gestor de mapa:
// invocado después que el mapa se recarga 
//
ABSMapaCiudad.GestorVistaMapa= function(absmapas)
{

       
   // se carga combo buscador gráfico si cabe
   this.CargaComboBuscadorGrafico();
      
   // mapa visble    
   this.MostrarMapa();
   
   // actualiza Thumb de barra zoom
   this.ActualizaBarraZoom(absmapas);
   
    // si encuentra objeto Etiqueta lo hace visible    
   this.MostrarEtiqueta();
    
   // si encuentra objeto Cabecera lo hace visible    
   this.MostrarCabecera();   
   
   // se generan carteles de inicio (parámetros GET de la petición)
   if(this.ncarteles!='0' && this.ncarteles!='')   
   {   
        this.MostrarCarteles(absmapas);                    
        this.ncarteles='0';      
   }
      
   return;
    
}

//
// Obtener información con herramienta SelectorPt
// Se lanza siempre que se DESPUES de seleccionar con la herramienta del CtrlAvanzadoMapa
//

ABSMapaCiudad.GestorSeleccion= function(params)
{
   
  // si se tiene activada (I) de información 
   if(this.herrSeleccion =="selectorInfo")
   {
      this.InfoElemSeleccionados(params);      
    }
   return; 
}

//
// Obtener información con herramienta SelectorPt
// Se lanza siempre ANTES de seleccionar con la herramienta del CtrlAvanzadoMapa
//
ABSMapaCiudad.GestorPreseleccion= function(params)
{   
   
   // establece punto de consulta mundo y pantalla
   if(params.formaM.EsPOINT())
   {   
       ABSMapaCiudad.puntoX =  params.formaM.x[0];
       ABSMapaCiudad.puntoY =  params.formaM.y[0];
       ABSMapaCiudad.puntoXC =  params.formaP.x[0];
       ABSMapaCiudad.puntoYC =  params.formaP.y[0];
       ABSMapaCiudad.pointText =  "x:" + params.formaM.x[0].toString().substr(0,9) + "&nbsp;y:" + params.formaM.y[0].toString().substr(0,10);
       }
   
   // Si las herramientas de seleccion estan activadas no hace nada
   if (this.herrSeleccion=="selector" || this.herrSeleccion=="selectorInfo")
      return;      

    
    // Cursor pensando
    this.CursorProcesando();
    
    // si se tiene activada herramienta Info externa (urbanet)
    if(this.herrSeleccion =="selectorInfoUrbanet")
    {
      this.MuestraInformeParc(params);
      
    }
   
    else if(this.herrSeleccion =="selectorIncidencia") //demo Lleida
   {
       var x=params.formaM.x[0];
       var y=params.formaM.y[0];
        
       this.MostrarCartel(x,y,"Incidència " + this.nIncidencia);
       var url = this.urlTramites + "?x="+x+"&y="+y;    
        
       window.open(url,"wTramits");
       this.nIncidencia = this.nIncidencia+1;
    }
    
  
  // Cursor normal
  this.CursorDefault();
 
 
return;
}  

//
// Información de elementos de mapa tras seleccion en PanelInfo
//
ABSMapaCiudad.InfoElemSeleccionados= function(params)
{
            // Mostramos
        ABSMapaCiudad.MostrarPanelInformacion();  
      
        // Referencia a ABS MAPAS
        var absmapas = ObtenerABSMapas();
        
        // Comprobar mapa cargado
        var mapa = absmapas.mapa;
        if ( !mapa )
            return;		    	       
    	                  
        // Crear petición
         var peticion = absmapas.CrearPeticion
        ( 		
	            "INFO_SELECT", // Comando
               this.pathAbsatlas + this.pathGestor
        );  
     
        
        //Obtener array de capas
        var capas = mapa.capas;
        if ( !capas )
            return;
    		
    		
        var escala = mapa.escala.valor;
        var lista_capas;
        lista_capas = ABSMapaCiudad.CapaVisibleEnRango(escala,0);
            
         
        // Obtenemos listado de capas cargadas consultables y visibles para pasar como params
        var capa;
        for ( var i1 = 1; i1 < capas.length; ++i1 )
        {
            capa=ABSMapaCiudad.CapaVisibleEnRango(escala,i1);	
            if(capa!='')
                lista_capas = lista_capas + "," + 	capa;
        }   
        
      var dist_m =  mapa.DistAMapa(this.intPixels);
      if(dist_m < 1.0) dist_m=1.0;
       
      var parametros = peticion.parametros;      
      parametros["X_MAPA"]=ABSMapaCiudad.puntoX; 
      parametros["Y_MAPA"]=ABSMapaCiudad.puntoY; 
      parametros["X_CLIENTE"]=ABSMapaCiudad.puntoXC; 
      parametros["Y_CLIENTE"]=ABSMapaCiudad.puntoYC; 
      parametros["H_CLIENTE"]=ABSMapaCiudad.divMapa.offsetHeight;
      parametros["W_CLIENTE"]=ABSMapaCiudad.divMapa.offsetWidth;
      parametros["CAPAS"]=lista_capas;
      parametros["RADIO"] = Math.ceil(dist_m);
      
            
      // Vaciamos
      this.contenidoXML="";
      ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
           
      
      //Globales
      this.capas=capas;          
      
      // Cursar peticion xml
      if(window.XMLHttpRequest)
      {
          this.reqHttp = new XMLHttpRequest();
          this.reqHttp.onreadystatechange = ABSMapaCiudad.ProcesoReq;
          this.reqHttp.open("GET",peticion.Url(),true);
          this.reqHttp.send(null);
      }
      else if( window.ActiveXObject) //IE
      {
         this.reqHttp= new ActiveXObject("Microsoft.XMLHTTP");
         if(this.reqHttp)
         {
          this.reqHttp.onreadystatechange = ABSMapaCiudad.ProcesoReq;
          this.reqHttp.open("GET",peticion.Url(),true);
          this.reqHttp.send(null);
         
         }
      
      }
      else
      {
            alert (ABSMapaCiudadLiteral.etqInfoNoLanzado);
      }

}


//
// Actualizamos sesión cada n segundos. 
// Lanzada con window.setInterval() 
//
ABSMapaCiudad.ActualizarSesion= function()
{
 // Referencia a ABS MAPAS
 var absmapas = ObtenerABSMapas();
 if ( !absmapas )
		return;	
		
 absmapas.ActualizarSesion();
 
 return;
}

//
// Se carga combo buscador gráfico
//
ABSMapaCiudad.CargaComboBuscadorGrafico = function ()
{

   
   //sólo si no se ha cargado ya
   if(this.buscg_cargado)
    return;
    
   // Se carga el combo del buscador gráfico según si capa consultable   
   var absmapas = ObtenerABSMapas();
   if ( !absmapas )
		return;	
		
   var cercadorGrafic = document.getElementById("WebPanelBusquedaGrafica_LBBusquedaGrafica1");   
   if(!cercadorGrafic)
    return;
    
     
    var selIndex = cercadorGrafic.selectedIndex
    // se vacía
    for (var i = 1;i < cercadorGrafic.length; i++){
         cercadorGrafic.options[i] = null;
    }
    // se carga  
    var capas    = absmapas.mapa.capas;        
    i = 1
    for ( var i1 = 0; i1 < capas.length; ++i1 )
    {      
		 
		 if(capas[i1].consultable){
		 
		   cercadorGrafic.options[i] = new Option(capas[i1].titulo,capas[i1].id);
		   
		    if (selIndex == i && selIndex != 0){
		        cercadorGrafic.options[i].selected = true
		    }
		   
		   i++;
		 }	 				 
    } 
    
    this.buscg_cargado = true; //para que no se repita
    
	return;    

}





///////////////////////////////////////////////////////////////////////////
///////                   CARTELES                                /////////
///////////////////////////////////////////////////////////////////////////

//
// Muestra carteles de inicio ("[Ver en el Mapa]")
// Parámetros usados:
//  2 colores (el primero para todos los elementos de la lista, el segundo para el último elemento)
//  n carteles con : lista n nombres, lista n coordenadas  
//
ABSMapaCiudad.MostrarCarteles= function(
    absmapas
    )
{
      
	  var xmin,ymin,xmax,ymax;
	  
	  // Calculo caja englobante carteles
	  xmin=10000000;
	  ymin=10000000;
	  xmax=-10000000;
	  ymax=-10000000;
	  
	  var i;
	  var j=0;
	  var col0= '#'+ this.coloresCarteles[0] ;
	  var col1;
	  
	  // comprobamos si hay 1 0 2 colores
	  if (this.coloresCarteles.length>1)	  
	    col1= '#'+ this.coloresCarteles[1] ;
	  else col1=col0;
	    
	  for (i=0;i<this.ncarteles;i++)
	  {
	    
	    // caja englobante carteles
	    if(xmin>parseFloat(this.coordsCarteles[j])) xmin=parseFloat(this.coordsCarteles[j]);
	    if(ymin>parseFloat(this.coordsCarteles[j+1])) ymin=parseFloat(this.coordsCarteles[j+1]);
	    if(xmax<parseFloat(this.coordsCarteles[j])) xmax=parseFloat(this.coordsCarteles[j]);
	    if(ymax<parseFloat(this.coordsCarteles[j+1])) ymax=parseFloat(this.coordsCarteles[j+1]);
	    
	    // Agrega un cartel
	    // controlar si solo hay 1	   
        if(i==this.ncarteles-1 && i>0)
        {
          var paramCartel = {

                pt : { x : this.coordsCarteles[j], y : this.coordsCarteles[j+1] }, 
                texto :  this.textoCarteles[i] ,
                anchura: 100,
                altura: 50,
                color: col1 
            };
        
        }
        else
        {
            var paramCartel = {

                pt : { x : this.coordsCarteles[j], y : this.coordsCarteles[j+1] }, 
                texto :  this.textoCarteles[i] ,
                anchura: 100,
                altura: 50,
                color: col0 
            };
        }

        var idCartel =  ABSAgregarCartel(paramCartel);        
	    
	    j=j+2; 
	  
	  }
	  
	  // nueva caja	  
	  absmapas.EstablecerCaja(xmin-150,ymin-150,xmax+150,ymax+150);
	  	  
	  
}

//
// Mostrar cartel 
// Parametros:
// Cartel: coords _x,_y
// _titulo y _texto cartel
ABSMapaCiudad.MostrarCartel = function (     
    _x, 
    _y, 
    _texto
    )
{
        
       
        // Agrega un cartel
        var paramCartel = {

        pt : { x : _x, y : _y }, 
        texto :    _texto,
        anchura: 100,
        altura: 50,
        color: ABSMapaCiudad.color_cartel //"#FFFFCC55"
        };

        var idCartel =  ABSAgregarCartel(paramCartel);

        return;
   
}





//
// Elimina todos los carteles existentes en el mapa
//
 ABSMapaCiudad.QuitarCarteles = function() {
   ABSQuitarCarteles();
 }

//
// Mostrar cartel con hipervinculo a Mostrar informe
// Parametros:
// caja englobante: minX,minY,maxX,maxY
// Hipervinculo MostarInforme: igm, _capa
// Cartel: coords _x,_y
// _titulo y _texto cartel
ABSMapaCiudad.MostrarCartelInforme = function ( 
    minX,
    minY,
    maxX,
    maxY,
    igm,
    _capa,
    _x, 
    _y, 
    _texto,
    _tituloCapa
    )
{
       
       
        var texto;
        if(_texto != null){
            if(_texto.length>25)
              texto = unescape(_texto).substring(0,22)+ "...";
            else texto=unescape(_texto);
        }
        else{
           texto = "";
        }    

        // Agrega un cartel
        var paramCartel = {

        pt : { x : _x, y : _y }, 
        texto :    
          unescape(_tituloCapa).bold() + 
          ":<br />" + 
          "<a href=\"javascript:parent.ABSMapaCiudad.MostrarInforme(" +
                             minX + "," + minY + "," + maxX + "," + maxY + 
                             ",'" +igm +"','"+ _capa + "')\" >"+texto + 
          "<a/>",
        anchura: 100,
        altura: 50,
        color: ABSMapaCiudad.color_cartel //"#FFFFCC55"
        };

        var idCartel =  ABSAgregarCartel(paramCartel);

        return;
   
}


///////////////////////////////////////////////////////////////////////////
///////                   GESTOR PETICION                         /////////
///////////////////////////////////////////////////////////////////////////

//
// Imprimir Mapa
//
ABSMapaCiudad.ImprimirMapa = function(formato) {

    // Referencia a ABS MAPAS
    var absmapas = ObtenerABSMapas();

    var comando = 'IMPRIMIR_MAPA';
    if (formato != null && formato.toUpperCase() == 'PDF')
        comando = 'IMPRIMIR_MAPA_PDF';



    // Componer peticion
    var peticion = absmapas.CrearPeticion
		(
			comando, // Comando
			this.pathAbsatlas + this.pathGestor
		);

    // Añadir parametros
    var parametros = peticion.parametros;
    //parametros["lang"] = this.idioma;                    
    parametros["mapaVirtual"] = this.mapaVirtual;
    parametros["boolOrto"] = this.boolOrto;
    parametros["sufijoOrto"] = this.sufijoOrto;
    parametros["minX"] = absmapas.mapa.caja.minX;
    parametros["minY"] = absmapas.mapa.caja.minY;
    parametros["maxX"] = absmapas.mapa.caja.maxX;
    parametros["maxY"] = absmapas.mapa.caja.maxY;
    parametros["escala"] = absmapas.mapa.escala.valor;

    // Abrir formulario
    absmapas.AbrirVentana
		(
			peticion.Url(),
			800, 600,
			"location=no,menubar=yes,resizable=yes,scrollbars=yes,toolbar=no,status=yes",
			"derecha"
		);
    return;
};


//
// Imprimir Informe
//
ABSMapaCiudad.ImprimirInforme = function( formato)
{
				
		// Referencia a ABS MAPAS
		var absmapas = ObtenerABSMapas();

		var comando = 'IMPRIMIR_INFORME';
		if (formato != null && formato.toUpperCase() == 'PDF')
		    comando = 'IMPRIMIR_INFORME_PDF';


		// Componer petición
		var peticion = absmapas.CrearPeticion
		( 
			comando, // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;
      
      parametros["IDIOMA"] = this.idioma; 
                 
      parametros["mapaVirtual"]=this.mapaVirtual;            
      parametros["boolOrto"]=this.boolOrto;      
      parametros["sufijoOrto"]=this.sufijoOrto;             
      parametros["minX"]=absmapas.mapa.caja.minX;   
      parametros["minY"]=absmapas.mapa.caja.minY;   
      parametros["maxX"]=absmapas.mapa.caja.maxX;   
      parametros["maxY"]=absmapas.mapa.caja.maxY;   
	  parametros["capaid"] = ABSMapaCiudad.ObtenerQueryVariable("capaid");
	  parametros["igm"] = ABSMapaCiudad.ObtenerQueryVariable("igm");
	  parametros["escala"] = absmapas.mapa.escala.valor;
      	
		// Abrir formulario
		absmapas.AbrirVentana
		(
			peticion.Url(),
			800,600,
			"location=yes,menubar=yes,resizable=yes,scrollbars=yes,toolbar=yes,status=yes",
			"derecha"
		);			
		return;
};


//
// Enviar PDF por correo (informe o mapa)
//
ABSMapaCiudad.EnviarPDFCorreo = function(objeto) {

    // Referencia a ABS MAPAS
    var absmapas = ObtenerABSMapas();

    var comando = 'ENVIAR_MAPA_PDF';
    if (objeto != null && objeto.toUpperCase() == 'FICHA')
        comando = 'ENVIAR_FICHA_PDF';
    else if (objeto != null && objeto.toUpperCase() == 'BUZON')
        comando = 'ENVIAR_BUZON_PDF';    



    // Componer peticion
    var peticion = absmapas.CrearPeticion
		(
			comando, // Comando
			this.pathAbsatlas + this.pathGestor
		);

    // Añadir parametros
    var parametros = peticion.parametros;
    //parametros["lang"] = this.idioma;                    
    parametros["mapaVirtual"] = this.mapaVirtual;
    parametros["boolOrto"] = this.boolOrto;
    parametros["sufijoOrto"] = this.sufijoOrto;
    parametros["minX"] = absmapas.mapa.caja.minX;
    parametros["minY"] = absmapas.mapa.caja.minY;
    parametros["maxX"] = absmapas.mapa.caja.maxX;
    parametros["maxY"] = absmapas.mapa.caja.maxY;
    parametros["capaid"] = ABSMapaCiudad.ObtenerQueryVariable("capaid");
    parametros["igm"] = ABSMapaCiudad.ObtenerQueryVariable("igm");
    parametros["escala"] = absmapas.mapa.escala.valor;
    
    // Abrir formulario
    absmapas.AbrirVentana
		(
			peticion.Url(),
			600, 400,
			"location=0,menubar=0,resizable=0,scrollbars=0,toolbar=0,status=1",
			"derecha"
		);
    return;
};

//
// Mostrar Detalle
//
ABSMapaCiudad.DetalleAyuda = function ( 
   strIdioma,
   strMapa,  
   strId)
{

 // path absatlas
  var str =window.location.pathname.split('/'); 
  this.pathAbsatlas = "/" + str[1] + "/"; 

   window.open(
      this.pathAbsatlas+ "cfg_mapas/" + strMapa + "/Ayuda/" + strIdioma + "/" + strId +".html"
      );
}


//
// Mostrar Ayuda
//
ABSMapaCiudad.MostrarAyuda = function()
{

   // Referencia a ABS MAPAS
		var absmapas = ObtenerABSMapas();
       
		// Componer peticion
		var peticion = absmapas.CrearPeticion
		( 
			"AYUDA", // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;  
            
     parametros["IDIOMA"] = this.idioma;              
      	
		// Abrir formulario
		absmapas.AbrirVentana
		(
			peticion.Url(),
			500,500,
			"location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no",
			"derecha"
		);			
		return;
		
};


//
// Mostrar Normativa 
//
ABSMapaCiudad.MostrarUrlExterna = function()
{

   // Referencia a ABS MAPAS
		var absmapas = ObtenerABSMapas();
       
		// Componer peticion
		var peticion = absmapas.CrearPeticion
		( 
			"URL_NORMATIVA", // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;  
            
     // parametros["lang"] = this.idioma;              
      	
		// Abrir formulario

		
		absmapas.AbrirVentana
		(
			peticion.Url(),
			800,500,
			"location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no",
			"derecha"
		);			
		return;
		
};


//
// Mostrar Lista Mapas a visualizar
//
ABSMapaCiudad.MostrarListaMapas= function (            
)
{

     var _url=document.URL;        
  
     
    // Vaciamos
    this.contenidoXML = "";    
        
    ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
    
    
    var lista_array = this.listaMapas.split(",");  
    var descr_array = this.strDescrMapas.split(",");
    
    
    // Cabecera
    this.contenidoXML = this.contenidoXML +
     "<h5>" + 
     ABSMapaCiudadLiteral.etqMapasTitulo + 
     ":</h5>";
    
    // Contenido
    var url2;
    for( var i1=0;i1<lista_array.length-1;i1++){      
         url2=_url;  

         if(lista_array[i1].indexOf('ORTO') < 0){       
             this.contenidoXML = this.contenidoXML + 
             "<a class=\"clsInfoLink\" href=\"#\" onclick=\"ABSMapaCiudad.CargarMapaExtern('"+lista_array[i1]+"')\" >" +
             descr_array[i1]+
             "</a><br>" ;   
         }             
         
    }    
  
  
   ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
	
   // Mostramos panel
   ABSMapaCiudad.MostrarPanelInformacion();

}



//
// Obtener parametro QueryString
//
ABSMapaCiudad.ObtenerQueryVariable = function (
  _variable
  ) 
{
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == _variable) {
      return pair[1];
    }
  }       
  return;
}

//
// Mostrar Idiomas
//
ABSMapaCiudad.MostrarIdiomas= function (            
)
{
   
     var _url=document.URL;        
     //var lang= ABSMapaCiudad.ObtenerQueryVariable("lang");    
     var lang= ABSMapaCiudad.ObtenerQueryVariable("idioma");    
     
    
     
    // Vaciamos
    this.contenidoXML = "";    
        
    ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
    
    
    var lista_array = this.listaIdioma.split(",");  
    var descr_array = this.strDescrIdiomas.split(",");  
    
    // Cabecera
    this.contenidoXML = this.contenidoXML +
     "<h5>" + 
     ABSMapaCiudadLiteral.etqIdiomasTitulo + 
     ":</h5>";
    
    // Contenido
    var url2;
    for( var i1=0;i1<lista_array.length;i1++){      
         url2=_url;  
         this.contenidoXML = this.contenidoXML + 
         "<a class=\"clsInfoLink\" href=" + url2.replace(lang,lista_array[i1])+">" +
         descr_array[i1]+
         "</a><br>" ;            
         
    }    
  
   ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
	
   // Mostramos panel
   ABSMapaCiudad.MostrarPanelInformacion();

}

//
// Cargar Ortofoto
//
ABSMapaCiudad.CargarOrtofoto = function(){
  
    // Referencia a ABS MAPAS
	var absmapas = ObtenerABSMapas();
	var mapaACargar = "";
    
	// Comprobar mapa cargado
	var mapa = absmapas.mapa;
	if ( !mapa )
		return;		  
	
	if( this.boolOrto=="0")
	{
	  mapaACargar =(this.idMapaExtern =="")?this.idMapaOrto:this.idMapaExtern +  this.sufijoOrto;
	    
	  ABSCargarMapa(
        {                
        claveMapa : mapaACargar,
        cajaMapa : mapa.caja,
        selector : null,
        resaltar : null,
        paramMapa : null
        }
      );
      this.boolOrto="1";
       
    }
    else {
    
        mapaACargar =(this.idMapaExtern =="")?this.idMapa:this.idMapaExtern
    
        ABSCargarMapa(
        {
            claveMapa : mapaACargar,
            cajaMapa : mapa.caja,
            selector : null,
            resaltar : null,
            paramMapa : null
            })            ;
           this.boolOrto="0"     
    }    
    
    // establecermos un delay para asegurarnos que actualiza los servicios 
    // visibles en el momento actual
    window.setTimeout(ABSMapaCiudad.RefrescarMapa,1000);
    
   
    return;
}

//
// Centrar Elemento
//
ABSMapaCiudad.CentrarElemento= function( 
     _minX, 
     _minY, 
     _maxX, 
     _maxY,
     _igm,
     _capaId)
{
   
    
 
    // Referencia a ABS MAPAS
	var absmapas = ObtenerABSMapas();
    
	// Comprobar mapa cargado
	var mapa = absmapas.mapa;
	if ( !mapa )
		return;					
   
   
   // establecer zoom puntual o poligonal según caso
   var zoom;   
   if( _capaId  != "LOCG_POI" &&   _capaId  != "LOCG_CRUCES" &&       _capaId  != "LOCG_NUMPOL")	   
	  zoom = this.zoomPoligonal
   else 
      zoom = this.zoomPuntual;
	            
   
   //Centrar y resaltar elementos
   absmapas.ResaltarIGMCaja( 
	        _capaId,
            [_igm],
            _minX-zoom,
            _minY-zoom,
            _maxX+zoom,
            _maxY+zoom        
            );
            
    
    
	return;
 
}

//
// Zoom al mapa utilizado en navegadores incrustados
//
ABSMapaCiudad.Zoom = function( zoom)
{
    if(zoom==1)
        ABSDiferirComando("VstAcercar");
    else
        ABSDiferirComando("VstAlejar");
    return;
}



//
// Centrar Elemento
//
ABSMapaCiudad.CentrarElementoCercadorGrafic= function( 
     _minX, 
     _minY, 
     _maxX, 
     _maxY,
     _igm,
     _capaId)
{
   

    // Referencia a ABS MAPAS
	var absmapas = ObtenerABSMapas();
    
	// Comprobar mapa cargado
	var mapa = absmapas.mapa;
	if ( !mapa )
		return;					
	
	 // establecer zoom puntual o poligonal según caso
   var zoom;   
   if( _capaId  != "LOCG_POI" &&   _capaId  != "LOCG_CRUCES" &&       _capaId  != "LOCG_NUMPOL")	   
	  zoom = this.zoomPoligonal
   else 
      zoom = this.zoomPuntual;
      

     absmapas.ResaltarIGMCaja( 
	        _capaId,
            [_igm],
           _minX-zoom,
           _minY-zoom,
           _maxX+zoom,
           _maxY+zoom        
            );
        
    
	return;
 
}


//
// Mostrar informe
//
ABSMapaCiudad.MostrarInformeCercadorGrafic= function(   
     _minX, 
     _minY, 
     _maxX, 
     _maxY,
     _igm,
     _capaId)
{
     
        // Referencia a ABS MAPAS
	  var absmapas = ObtenerABSMapas();		
	  var escala  = absmapas.mapa.escala.valor;	
	  var capas   = absmapas.mapa.capas;
      var potVeureInfoV1 = false;
      var potVeureInfoV2 = false;
      var tipus_peticio;
      
      if ( _capaId.toUpperCase() == "B_PARC") 
      {
          for ( var i1 = 1; i1 < capas.length; ++i1 )
           {
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("E_U") > -1){
		            potVeureInfoV2 = true;
		            break;
		       }	
		       
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("P_") > -1){
		            potVeureInfoV1 = true;
		            break;
		       }
		       	
	       }
	  } 
	  
	  
	  if(potVeureInfoV1)
	    tipus_peticio = "INFORME_V1";
	  else if (potVeureInfoV2)
	    tipus_peticio = "INFORME_V2";
	  else
	    tipus_peticio = "INFORME";
	      
		// Componer peticion
		var peticion = absmapas.CrearPeticion
		( 
			tipus_peticio, // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;  
            
      //parametros["lang"] = this.idioma;                    
      parametros["mapaVirtual"]=this.mapaVirtual;            
      parametros["boolOrto"]=this.boolOrto;
      parametros["sufijoOrto"]=this.sufijoOrto;                   
      parametros["capaid"] = _capaId;   
      parametros["igm"] = [_igm]; 
      
    

      
   //   parametros["SESION_ATLAS"] = ''; 
      
      // Si es puntual sólo centra
    if( _capaId  != "LOCG_POI" &&
        _capaId  != "LOCG_CRUCES" &&
        _capaId  != "LOCG_NUMPOL")
	   {
	      parametros["minX"]=_minX-this.zoomPoligonal;   
          parametros["minY"]=_minY-this.zoomPoligonal;   
          parametros["maxX"]=_maxX+this.zoomPoligonal;   
          parametros["maxY"]=_maxY+this.zoomPoligonal;

          
	  }     
      else{ // sino, selecciona y centra
      
          parametros["minX"]=_minX-this.zoomPuntual;   
          parametros["minY"]=_minY-this.zoomPuntual;   
          parametros["maxX"]=_maxX+this.zoomPuntual;   
          parametros["maxY"]=_maxY+this.zoomPuntual; 
                
       }
      
      	
		// Abrir formulario
		absmapas.AbrirVentana
		(
			peticion.Url(),
			600,400,
			"location=yes,menubar=yes,resizable=yes,scrollbars=yes,toolbar=no,status=yes",
			"derecha"
		);			
		return;
}


//
// Mostrar informe
//
ABSMapaCiudad.MostrarInforme= function(   
     _minX, 
     _minY, 
     _maxX, 
     _maxY,
     _igm,
     _capaId)
{

        // Referencia a ABS MAPAS
	  var absmapas = ObtenerABSMapas();		
	  var escala  = absmapas.mapa.escala.valor;	
	  var capas   = absmapas.mapa.capas;
      var potVeureInfoV1 = false;
      var potVeureInfoV2 = false;
      var tipus_peticio;
      
      if ( _capaId.toUpperCase() == "B_PARC") 
      {
          for ( var i1 = 1; i1 < capas.length; ++i1 )
           {
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("E_U") > -1){
		            potVeureInfoV2 = true;
		            break;
		       }	
		       
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("P_") > -1){
		            potVeureInfoV1 = true;
		            break;
		       }
		       	
	       }
	  } 
	  
	  
	  if(potVeureInfoV1)
	    tipus_peticio = "INFORME_V1";
	  else if (potVeureInfoV2)
	    tipus_peticio = "INFORME_V2";
	  else
	    tipus_peticio = "INFORME";
	      
		// Componer peticion
		var peticion = absmapas.CrearPeticion
		( 
			tipus_peticio, // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;  
            
      //parametros["lang"] = this.idioma;                    
      parametros["mapaVirtual"]=this.mapaVirtual;            
      parametros["boolOrto"]=this.boolOrto;
      parametros["sufijoOrto"]=this.sufijoOrto;                   
      parametros["capaid"] = _capaId;   
      parametros["igm"] = _igm; 
      

      
   //   parametros["SESION_ATLAS"] = ''; 
      
      // Si es puntual sólo centra
    if( _capaId  != "LOCG_POI" &&
        _capaId  != "LOCG_CRUCES" &&
        _capaId  != "LOCG_NUMPOL")
	   {
	      parametros["minX"]=_minX-this.zoomPoligonal;   
          parametros["minY"]=_minY-this.zoomPoligonal;   
          parametros["maxX"]=_maxX+this.zoomPoligonal;   
          parametros["maxY"]=_maxY+this.zoomPoligonal;
          
	    
      }else{ // sino, selecciona y centra
      
          parametros["minX"]=_minX-this.zoomPuntual;   
          parametros["minY"]=_minY-this.zoomPuntual;   
          parametros["maxX"]=_maxX+this.zoomPuntual;   
          parametros["maxY"]=_maxY+this.zoomPuntual; 
                
       }
      
      	
		// Abrir formulario
		
		
    // Inici - Modificació EDUARD 07-05-2010
    var urlDirectori = "";
    var urlExplorador = "";
    var intPosicioWEB = 0;
    var intPosicioINTRANET = 0;
    urlExplorador = document.location.href;
    intPosicioWEB = urlExplorador.indexOf("http://www.sitges.cat/");
    intPosicioINTRANET = urlExplorador.indexOf("http://mapapli/");
    if (!(_capaId.startsWith("LOCG_POI")) && !(_capaId.startsWith("VA_PLANEAMIENTO")) && !(_capaId.startsWith("E_UCLAS")) && !(_capaId.startsWith("E_UCALF")) && !(_capaId.startsWith("E_USECT")) && !(_capaId.startsWith("E_UCNED")) && !(_capaId.startsWith("E_UPRTS")) && !(_capaId.startsWith("E_UCTLG")) && !(_capaId.startsWith("E_UCOMP")) && !(_capaId.startsWith("A_DISTRICTE")) && !(_capaId.startsWith("A_SECCIO")) && !(_capaId.startsWith("A_ILLACAD")) && !(_capaId.startsWith("A_PARCAD")))
    {
		  if (intPosicioWEB >= 0) {
        urlDirectori = "http://www.sitges.cat/jsp/directori/detallMapaCiutatNoPOI.jsp";
        absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "derecha");
        return;
      }
      if (intPosicioINTRANET >= 0) {
        urlDirectori = "http://www.ajsitges.cat/WEB_Aplicacions/directori/detallMapaCiutatNoPOI.aspx";
        absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "centrar");        
        return;
      }
      urlDirectori = "http://www.ajsitges.cat/WEB_Aplicacions/directori/detallMapaCiutatNoPOI.aspx";
      absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "centrar");
      return;
    }
    if (_capaId.startsWith("LOCG_POI")) 
    {
      if (intPosicioWEB >= 0) {
        urlDirectori = "http://www.sitges.cat/jsp/directori/detallMapaCiutat.jsp?igm=" + _igm;
        // self.parent.location.href = urlDirectori;
        absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "derecha");
        return;
      }
      if (intPosicioINTRANET >= 0) {
        urlDirectori = "http://www.ajsitges.cat/WEB_Aplicacions/directori/detallMapaCiutat.aspx?igm=" + _igm;
        // self.parent.location.href = urlDirectori;
        absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "centrar");        
        return;
      }
      urlDirectori = "http://www.ajsitges.cat/WEB_Aplicacions/directori/detallMapaCiutat.aspx?igm=" + _igm;
      // self.parent.location.href = urlDirectori;
      absmapas.AbrirVentana(urlDirectori,	800, 400,	"location=yes, menubar=yes, resizable=yes, scrollbars=yes, toolbar=yes, status=yes", "centrar");
      return;
    }
    // Fi - Modificació EDUARD 07-05-2010

		
		absmapas.AbrirVentana
		(
			peticion.Url(),
			600,400,
			"location=yes,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=yes",
			"derecha"
		);			
		return;
}


//
// Mostrar cursor seleccion
//
ABSMapaCiudad.CursorSeleccion =function()
{
 document.body.style.cursor = "pointer";
 
 
}

//
// Mostrar cursor procesando
//
ABSMapaCiudad.CursorProcesando =function()
{
 document.body.style.cursor = "wait";
 
 
}

//
// Mostrar cursor normal
//
ABSMapaCiudad.CursorDefault =function()
{

 document.body.style.cursor = "auto";
 

}

//
// Cambio Estilo a un elemento
//
ABSMapaCiudad.CambioEstilo =function(
    idElem,
    idClass
    )
{
 var elem = document.getElementById(idElem); 
 if (elem==null)
    return;
  
  elem.className=idClass; 
  return;
 
}

//
// Cambio Estilo a un elemento, y desactivar el resto
//
ABSMapaCiudad.CambioEstiloActivado =function(
    idElem,
    idClass,
    idClassNosel
    )
{
 var elem = document.getElementById(idElem); 
 if (elem==null)
    return;
  
  elem.className=idClass; 
  
  // Desactivar herramienta activada
  elem=document.getElementById(ABSMapaCiudad.toolActivada);
  if(elem!=null)  
     elem.className=idClassNosel; 
     
  ABSMapaCiudad.toolActivada=idElem;
  
  return;
 
}

//
// Cambio Estilo a un elemento a no ser que esté activado otro
//
ABSMapaCiudad.CambioEstiloExceptoActivado =function(
    idElem,
    idClass,
    idClassSel
    )
{
 var elem = document.getElementById(idElem); 
 if (elem==null)
    return;
 
 if(elem.className!=idClassSel) 
    elem.className=idClass; 
  
  return;
 
}




//
// Establecer contenido panel Informacion
//
ABSMapaCiudad.SetPanelInformacion = function(contenido)
{
    var divInfoContent=document.getElementById("WebPanelInfo_divInfoContent");
    
    if(!divInfoContent)
        return;
    divInfoContent.innerHTML= contenido;          
    return;
}


//
// Procesos espera respuesta XML (AJAX)
//

ABSMapaCiudad.ProcesoReq = function ()
{
  
 if( ABSMapaCiudad.reqHttp.readyState==4)
 {
   ABSMapaCiudad.ParsePeticionInfoXML(
       ABSMapaCiudad.capas,
       ABSMapaCiudad.pointText,
       ABSMapaCiudad.reqHttp.responseXML,
       ABSMapaCiudad.reqHttp.responseText 
       );
    
 }
 else 
 {
  ABSMapaCiudad.SetPanelInformacion(
       "<br /><br /><div align='center'>" + 
       ABSMapaCiudadLiteral.etqCargando + 
       "<br /><br /><img alt='carga' src='" +
	   ABSMapaCiudad.urlImgCargar + 
	   "'/>" +
       "</div><br /><br />" +
	   "<div style=\"font-size:x-small\" ><hr style=\"margin-right:5px\">"+ 
	   ABSMapaCiudadLiteral.etqCoordenadas+	   
	   "<br>"+
	   "<span>" +
	   ABSMapaCiudad.pointText + 
	   "</span>"+
	   "</div>"
	    );    
	    
	
 }

 return;
}


//
// Peticion HttpGetXML de (I) de Info
//
ABSMapaCiudad.ParsePeticionInfoXML = function(
    capas,
    pointText,
    _xml,
    _text
) {

// Inici - Modificació EDUARD 25-07-2011 (1) 
var descripcioArray = new Array();
var intIndexDescripcio;
var strDescripcio;
var strExisteix;
intIndexDescripcio = 0;
// Fi - Modificació EDUARD 25-07-2011 (1) 

    var absmapas = ObtenerABSMapas();
    if (!absmapas)
        return ;
   
    // Obtener XML con peticion al Handler gestor_peticion 
    //this.docXml = absmapas.HttpGetXml( peticion.Url() );
    if (window.XMLHttpRequest) {
        ABSMapaCiudad.docXml = new DocXmlMoz(_xml, _text);
    }
    else if (window.ActiveXObject) {
        ABSMapaCiudad.docXml = new DocXmlMs(_xml, _text);
    }
    if (!ABSMapaCiudad.docXml) {
        alert(ABSMapaCiudadLiteral.etqErrorPeticionAJAX);
    }

    // Mostrar resultado 
    var elemSeleccion = ABSMapaCiudad.docXml.SeleccionarNodo(null, "INFORMACION");
    //ABSMapaCiudad.docXml.TextoNodo(ABSMapaCiudad.docXml.root, "INFORMACION"); 
    var elemError = ABSMapaCiudad.docXml.TextoNodo(ABSMapaCiudad.docXml.root, "ERROR");

    if (elemError != "")
        alert(ABSMapaCiudadLiteral.msgErrorHandler + elemError);

    if (elemSeleccion != null) {




        var nodoRoot = ABSMapaCiudad.docXml.SeleccionarNodo(null, "INFORMACION");

        for (var i0 = 0; i0 < capas.length; ++i0) {
            var path = capas[i0].id;

            var capa = absmapas.mapa.ObtenerCapa(path);



            var l01 = ABSMapaCiudad.docXml.SeleccionarNodos(nodoRoot, path);

            if (l01.length > 0) {

                var tituloListed = 0;   //booleano para saber si ya se ha puesyo titulo capa            

                for (var i1 = 0; i1 < l01.length; ++i1) {
                    var l02 = ABSMapaCiudad.docXml.SeleccionarNodos(l01[i1], "AA_IGM");
                    for (var i2 = 0; i2 < l02.length; ++i2) {

                        // Si la capa es POIS hay que mirar si está visible el servicio!!
                        if (path == 'LOCG_POI') {

                            //1. obtener ID tipo de poi (@TIPO_POI)
                            var clave_tipo_poi = ABSMapaCiudad.docXml.TextoNodo(l01[i1], "AA_DES").split("@")[1];
                            if (!clave_tipo_poi)
                                return;

                            //1.1 Obtener relacion parametros                           
                            var cfg = absmapas.mapa.config;
                            if (!cfg)
                                return;

                            var tipo_poi;
                            tipo_poi = cfg.ObtenerIdParamPorValor(clave_tipo_poi);
                            //var tipo_poi = ABSMapaCiudad.ObtenerIdParamPorValor(absmapas.mapa, clave_tipo_poi);

                            if (!tipo_poi)
                                return;

// Inici - Modificació EDUARD 25-07-2011 (2)
                            //if (tipo_poi.length < 1)
                            //    return;
                            if (tipo_poi.length < 1)
                                continue;
// Fi - Modificació EDUARD 25-07-2011 (2)                                
                                
                            //2. comprobar visibilidad servicio                              
                            if (!capa.nivelPorId)
                                return;

                            var nivel = capa.nivelPorId[tipo_poi[0]];
// Inici - Modificació EDUARD 25-07-2011 (3)
                            //if (!nivel)
                            //    return;
                            if (!nivel)
                                continue;
// Fi - Modificació EDUARD 25-07-2011 (3)
                            
                            //3. si es visible ComponerCadena
                            if (nivel.visible) {
                                // Título Capa
                                if (!tituloListed) {
                                    ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML +
                              "<table class=\"clsInfoTitulo\">" +
                              "<tr>" +
                              "<td>" +
                                capa.titulo +
                              "</td>" +
                              "</tr>" +
                              "</table>";
                                    tituloListed = 1;
                                }

// Inici - Modificació EDUARD 25-07-2011 (3) 
// ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML + ABSMapaCiudad.ComponerCadenaInfo(l01, i1, capa);
strExisteix = 0;
strDescripcio = ABSMapaCiudad.docXml.TextoNodo(l01[i1], "AA_DES").split("@")[0];
for (var i = 0; i < descripcioArray.length; i++) 
{
  //alert (descripcioArray[i] + "   ES IGUAL A   " + strDescripcio) ;
  if (descripcioArray[i] == strDescripcio)
  {
    strExisteix = "1";
    break;
  }
}
if (strExisteix == "0")
{
  descripcioArray[intIndexDescripcio] = strDescripcio;
  intIndexDescripcio = intIndexDescripcio + 1;
  ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML + ABSMapaCiudad.ComponerCadenaInfo(l01, i1, capa);
}
// Fi - Modificació EDUARD 25-07-2011 (3) 

                            }

                        }
                        else {//resto de capas
                            // Título Capa
                            if (!tituloListed) {
                                ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML +
                                  "<table class=\"clsInfoTitulo\">" +
                                  "<tr>" +
                                  "<td>" +
                                    capa.titulo +
                                  "</td>" +
                                  "</tr>" +
                                  "</table>";
                                tituloListed = 1;
                            }
                            // Elemento capa
                            ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML +
                                       ABSMapaCiudad.ComponerCadenaInfo(l01, i1, capa);
                        }

                    }
                }
            }
        }

        // Si no se ha encontrado nada                 
        if (ABSMapaCiudad.contenidoXML.length == 0)
            ABSMapaCiudad.contenidoXML =
	    "<br>" +
	    "<span style=\"color:red\">" +
	    ABSMapaCiudadLiteral.etqNoElementos +
	    "</span>";



        // Mostramos Coordenadas
        ABSMapaCiudad.contenidoXML = ABSMapaCiudad.contenidoXML +
	    "<div style=\"font-size:x-small\" ><hr style=\"margin-right:5px\">" +
	    ABSMapaCiudadLiteral.etqCoordenadas +
	    "<br>" +
	    "<span>" +
	    pointText +
	    "</span>" +
	    "</div>";


        ABSMapaCiudad.SetPanelInformacion(ABSMapaCiudad.contenidoXML);

    }
    return;
}




ABSMapaCiudad.ObtenerIdParamPorValor2 = function(_cfg, _valor) {

    var res = new Array();

    if (!_valor)
        return res;

    var docXml = _cfg.docXml;
    if (!docXml)
        return res;

    var l01 = docXml.SeleccionarNodos(null, "ConfigMapa/Parámetros/Parámetro");
    if (!l01)
        return res;

    if (l01.length < 1)
        return res;

    var t, id, n01;
    for (var i1 = 0; i1 < l01.length; ++i1) {
        n01 = l01[i1];
        t = docXml.TextoNodo(n01);
        if (t == _valor) {
            id = n01.getAttribute("id");
            if (id) res.push(id);
        }
    }
    return res;
}



//
// Compone una cadena HTML con descripción e iconos con métodos
//
ABSMapaCiudad.ComponerCadenaInfo = function(
    _l01,
    _i1,
    _capa) {

    // parametros
    var strComp = "";
    var minX = this.docXml.TextoNodo(_l01[_i1], "GM_X_MIN").replace(',', '.');
    var minY = this.docXml.TextoNodo(_l01[_i1], "GM_Y_MIN").replace(',', '.');
    var maxX = this.docXml.TextoNodo(_l01[_i1], "GM_X_MAX").replace(',', '.');
    var maxY = this.docXml.TextoNodo(_l01[_i1], "GM_Y_MAX").replace(',', '.');
    var igm = "'" + this.docXml.TextoNodo(_l01[_i1], "AA_IGM") + "'";
    var centroidX = this.docXml.TextoNodo(_l01[_i1], "CENTROID_X").replace(',', '.');
    var centroidY = this.docXml.TextoNodo(_l01[_i1], "CENTROID_Y").replace(',', '.');
    var capaId = _capa.id;
    var strDescr = this.docXml.TextoNodo(_l01[_i1], "AA_DES");

    // minusculas para ubigeo
    if (capaId == 'LOCG_CRUCES' || capaId == 'LOCG_VIA' || capaId == 'LOCG_NUMPOL')
        strDescr = strDescr.toLowerCase();
    else if (capaId == 'LOCG_POI') //eliminamos @TIPO_POI
        strDescr = strDescr.split("@", 1);

    // componer
    strComp =
   "<table class=\"clsInfoItem\" cellspacing='0' cellpadding='0'> " +
   "<tr>" +
   "<td valign='top'>" +
         "<img class=\"clsInfoIco\"  alt=\"icono_ficha\"  src=\"" + this.urlImgFicha +
                    "\" onclick=\"ABSMapaCiudad.MostrarInforme(" +
                     minX + "," + minY + "," + maxX + "," + maxY +
                     "," + igm + ",'" + _capa.id + "')\" onmouseover=\"ABSMapaCiudad.CursorSeleccion()\" " +
                     " onmouseout=\"ABSMapaCiudad.CursorDefault()\" alt=\"" + ABSMapaCiudadLiteral.etqFitxa +
                     "\" title=\"" + ABSMapaCiudadLiteral.etqFitxaLong + "\"/> " +
    "</td>" +
    "<td valign='top'>" +
             "<img class=\"clsInfoIco\"  alt=\"icono_centrar\"  src=\"" + this.urlImgZoom + "\" onclick=\"ABSMapaCiudad.CentrarElemento(" +
                     minX + "," + minY + "," + maxX + "," + maxY +
                      "," + igm + ",'" + _capa.id +
                     "')\" onmouseover=\"ABSMapaCiudad.CursorSeleccion()\" " +
                     " onmouseout=\"ABSMapaCiudad.CursorDefault()\" alt=\"" + ABSMapaCiudadLiteral.etqCentrar + "\" title=\"" + ABSMapaCiudadLiteral.etqCentrarCompleta + "\"/>" +
    "</td>";


    if (ABSMapaCiudad.mostrar_cartel) {
        strComp = strComp +
        "<td valign='top'>" +
                 "<img class=\"clsInfoIco\"  alt=\"icono_cartel\"  src=\"" + this.urlImgCartel + "\" onclick=\"ABSMapaCiudad.MostrarCartelInforme(" +
                          minX + "," + minY + "," + maxX + "," + maxY +
                            "," + igm + ",'" + _capa.id + "'," +
                          centroidX + "," + centroidY + ",'" + escape(strDescr) + "'" + ",'" + escape(_capa.titulo) + "')\" alt=\"" + ABSMapaCiudadLiteral.etqCartel + "\" title=\"" + ABSMapaCiudadLiteral.etqCartel + "\" onmouseover=\"ABSMapaCiudad.CursorSeleccion()\" " +
                         " onmouseout=\"ABSMapaCiudad.CursorDefault()\"/>" +
        "</td>";
    }
    if (ABSMapaCiudad.mostrar_google) {
        strComp = strComp +
        "<td valign='top'>" +
             "<img class=\"clsInfoIco\"  alt=\"icono_google\"  src=\"" + this.urlImgGoogle + "\" onclick=\"ABSMapaCiudad.ConectarGoogleEarth(" +
                     igm + ",'" + _capa.id + "')\" alt=\"" + ABSMapaCiudadLiteral.etqGoogle + "\" title=\"" + ABSMapaCiudadLiteral.etqGoogle + "\" onmouseover=\"ABSMapaCiudad.CursorSeleccion()\" " +
                     " onmouseout=\"ABSMapaCiudad.CursorDefault()\"/>" +
        "</td>";
    }

    strComp = strComp + "<td>&nbsp;</td>" +
    "<td>" +
          strDescr +
   "</td>" +
    "</tr>" +
    "</table>";



    return strComp;
}


//
// Gestión de la cabecera principal 		        
//
ABSMapaCiudad.EsconderCabecera= function(
    _presente
    )
{
 var elemCab = document.getElementById("divCabecera"); 
 if (elemCab==null)
    return;
 if(_presente=="si"){
    
    elemCab.style.visibility="visible";
    elemCab.style.display="block"    ;
 }else {
    
    elemCab.style.visibility="hidden";
    elemCab.style.display="none";
     
 } 
 
}

//
// Ocultae panel informativo
//
ABSMapaCiudad.EsconderPanelInformacion= function()
{
           
           var elemWebPanel = document.getElementById("divInfo");               
           if(!elemWebPanel)
                return;                              
          
          elemWebPanel.style.visibility="hidden"; 

            
            
            
             
            
}

//
// Mostra panel informativo
//

ABSMapaCiudad.MostrarPanelInformacion= function(){           
            
          var elemWebPanel = document.getElementById("divInfo");               
            if(!elemWebPanel)
                return;                              
                   
          
          elemWebPanel.style.visibility="visible"; 
            
            return;       
            
            
}
/*

//
// Ocultae panel informativo
//
ABSMapaCiudad.EsconderPanelInformacion= function(
)
{
 
 var elemWebPanel = document.getElementById("divInfo");
 elemWebPanel.style.display="none";
 elemWebPanel.style.visibility="hidden";
// Vaciar información
 document.getElementById("WebPanelInfo_divInfoContent").innerHTML= "";
}

//
// Mostra panel informativo
//
ABSMapaCiudad.MostrarPanelInformacion= function(){
 var elemWebPanel = document.getElementById("divInfo");
 elemWebPanel.style.display="block";
 elemWebPanel.style.visibility="visible";

}

*/

///////////////////////////////////////////////////////////////////////////
///////                   CONTROL DE CAPAS                        /////////
///////////////////////////////////////////////////////////////////////////

//
// Visualizar/Mostrar todas las categorías
//
ABSMapaCiudad.VisualizarTodasCategorias = function() {
    var i;
    var img;


    // por cada categoria    	
    for (i = 0; i < ABSMapaCiudad.categorias.length; i++) {
        // obtenemos imagen vista
        img = document.getElementById(ABSMapaCiudad.categorias[i].nombre + '_MC');

        // si accesorio control servicio activo 
        if (img) {
            // modificamos visibilidad   
            if (!ABSMapaCiudad.visibilidadCapas) {
                img.name = 'eyes_ok';
                img.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgEyes;         
            }
            else {
                img.name = 'eyes_nok';
                img.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgNEyes ;                
            }
        } 
        // modificamos visibilidad   
         if (!ABSMapaCiudad.visibilidadCapas)                 
               ABSMapaCiudad.categorias[i].visible = true;
         else 
               ABSMapaCiudad.categorias[i].visible = false;
            
        
        

        // por cada servicio asociado modificamos la visibilidad 
        var j;
        for (j = 0; j < ABSMapaCiudad.categorias[i].servicios.length; j++) {
            var img2;
            img2 = document.getElementById(ABSMapaCiudad.categorias[i].servicios[j].nombre + '_MS');
            
            // si accesorio control servicio activo 
            if (img2) {

                if (!ABSMapaCiudad.visibilidadCapas) {
                    img2.name = 'eye_ok';
                    img2.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgEye;                 
                }
                else {
                    img2.name = 'eye_nok';
                    img2.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgNEye;                    
                }
            }

            if (!ABSMapaCiudad.visibilidadCapas)                 
                ABSMapaCiudad.categorias[i].servicios[j].visible = true;            
            else 
                ABSMapaCiudad.categorias[i].servicios[j].visible = false;
           
        }


    }

    // cambiamos visibilidad global
    ABSMapaCiudad.visibilidadCapas = !ABSMapaCiudad.visibilidadCapas;

    // Refrescamos el mapa	
    ABSMapaCiudad.RefrescarMapa();

    return;
}


//
// Mostrar Categoria
//
ABSMapaCiudad.MostrarCategoria= function(   
    _categoria
)
{

    // obtenemos icono asociado
    var vis;
	var img=document.getElementById(_categoria+'_MC');	
   
    // obtenemos posición de la categoria
    var pos = ABSMapaCiudad.ObtenerPosicionCategoria(_categoria);		
        
	if(!img)
	  return;	  
	
	// modificamos visibilidad de la categoria e icono vista 	
	this.categorias[pos].visible=!this.categorias[pos].visible;
	
	if(this.categorias[pos].visible) //si passa a visible
	{
	     img.src=this.pathAbsatlas+"temas/" + this.tema +"/img/"+ this.urlImgEyes;
	     img.name=this.urlImgEyes;	     	     
	}else //si passa a no visible
	{
	    img.src=this.pathAbsatlas+"temas/" + this.tema +"/img/"+ this.urlImgNEyes;
	    img.name=this.urlImgNEyes;	    
	
	} 
	  
        
	// modificamos visibilidad de los servicios asociados
	for(i=0;i<this.categorias[pos].servicios.length;i++)
	{	 
	  ABSMapaCiudad.ActualizarServicio(
	     this.categorias[pos].servicios[i],
	     this.categorias[pos].visible);
            	
	}
	return;    
}
//
// Mostrar Capa de Servicios
//
ABSMapaCiudad.ActualizarServicio= function(                
    _serv,
    _vis
)
{

    _serv.visible=_vis;
    var nivel= _serv.nombre;
    
    var img=document.getElementById(nivel+'_MS');	
	if(!img)
	  return;	  
	
	if(_vis)
	{
	     img.src=this.pathAbsatlas+"temas/" + this.tema +"/img/"+ this.urlImgEye;
	     img.name=this.urlImgEye;
	}else
	{
	    img.src=this.pathAbsatlas+"temas/" + this.tema +"/img/"+ this.urlImgNEye;
	    img.name=this.urlImgNEye;
	
	} 
	return;     
    
}




//
// Activar nivel de Servicios
// 
ABSMapaCiudad.ActivarServicio = function (    
    capa,    
    serv 
    )
{
    	
	// obtenemos los niveles e activamos la visibilidad		
	var nivel = capa.nivelPorId[serv.nombre];
	if(!nivel)
	  return;
	   
	nivel.visible =serv.visible;	     
	return;
}


//
// Mostrar nivel de Servicios
//
ABSMapaCiudad.MostrarServicio = function(
    _nivel
    ) {


    // buscamos servicio
    var serv = ABSMapaCiudad.ObtenerServicio(_nivel);
    if (!serv)
        return;

    // obtenemos el mapa cargado	 
    var absmapas = ObtenerABSMapas();

    // obtenemos la capa especificada (POIs)	
    var capa = absmapas.mapa.ObtenerCapa("LOCG_POI");
    if (!capa)
        return;
    if (!capa.niveles)
        return;

    
    // obtenemos los niveles e activamos la visibilidad
    var nivel = capa.nivelPorId[serv.nombre];

    if (!nivel)
        return;

    // cambiamos visibilidad al control servicios y al nivel del mapa
    serv.visible = !serv.visible;
    nivel.visible = serv.visible;

    // cambiamos icono visibilidad
    var img = document.getElementById(serv.nombre + '_MS');
    if (!img)
        return;

    if (nivel.visible) //pasa a visible
    {
        img.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgEye;
        img.name = this.urlImgEye;
    } else //pasa a no visible
    {
        img.src = this.pathAbsatlas + "temas/" + this.tema + "/img/" + this.urlImgNEye;
        img.name = this.urlImgNEye;

    }
    return;
}



//
// Refrescar mapa
//
ABSMapaCiudad.RefrescarMapa = function()
{
     
     
     
	// obtenemos el mapa cargado	 
	 var absmapas = ObtenerABSMapas(); 
	
	 
	
	// obtenemos la capa especificada (POIs)	
	var capa = absmapas.mapa.ObtenerCapa("LOCG_POI");
	if(!capa)
	   return;	   
	if ( !capa.niveles )	
		return;
	  
	var i,j;  
	
	// recorremos las categorias
    for(i=0;i<ABSMapaCiudad.categorias.length;i++)
    {
         // recorremos los servicios
         for(j=0;j<ABSMapaCiudad.categorias[i].servicios.length;j++)
          {
                // activamos la visibilidad del nivel igual que tenemos especificado el servicio
                ABSMapaCiudad.ActivarServicio(                   
                    capa,
                    ABSMapaCiudad.categorias[i].servicios[j]
                );
          }
     }
        
     
	// actualizamos la configuración de la capa	 
	 absmapas.mapa.EstablecerCapa(capa);
		
    
     // actualizar mapa
     ABSDiferirComando("VstActualizar");
     return;
}




///////////////////////////////////////////////////////////////////////////
///////                   MAPA                                    /////////
///////////////////////////////////////////////////////////////////////////

  

//
// Desplazar mediante cursores en mapa
//
ABSMapaCiudad.Desplazar = function (direccion)
{
  var absmapas = ObtenerABSMapas();	 
  var mapa = absmapas.mapa;
  var caja = mapa.caja;  
  var despx=(caja.maxX-caja.minX)*(this.porcentageDesp /100);
  var despy=(caja.maxY-caja.minY)*(this.porcentageDesp /100);
  
  if(mapa){
      if(direccion=='este')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX+despx, 
             caja.minY,
             caja.maxX+despx,
             caja.maxY
             );               
      }else if(direccion=='oeste')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX-despx, 
             caja.minY,
             caja.maxX-despx,
             caja.maxY
             );               
      }else if(direccion=='norte')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX, 
             caja.minY+despy,
             caja.maxX,
             caja.maxY+despy
             );               
      }else if(direccion=='sur')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX, 
             caja.minY-despy,
             caja.maxX,
             caja.maxY-despy
             );               
      }else if(direccion=='suroeste')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX-despx, 
             caja.minY-despy,
             caja.maxX-despx,
             caja.maxY-despy
             );               
      }
      else if(direccion=='noroeste')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX-despx, 
             caja.minY+despy,
             caja.maxX-despx,
             caja.maxY+despy
             );               
      }
      else if(direccion=='noreste')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX+despx, 
             caja.minY+despy,
             caja.maxX+despx,
             caja.maxY+despy
             );               
      }
      else if(direccion=='sureste')
      {        
        
        absmapas.EstablecerCaja(
             caja.minX+despx, 
             caja.minY-despy,
             caja.maxX+despx,
             caja.maxY-despy
             );               
      }
      return;
  }

 return;
}


//
// Mostrar etiqueta
//
ABSMapaCiudad.MostrarEtiqueta = function ()
{
  var divEtiqueta = document.getElementById('divEtiqueta');
  if(!divEtiqueta)
        return;
 
  divEtiqueta.style.visibility="visible";
 
  return;
}



//
// Mostrar cabecera
//
ABSMapaCiudad.MostrarCabecera = function ()
{
  var divCabecera = document.getElementById('divCabecera');
  if(!divCabecera)
        return;
 
  divCabecera.style.visibility="visible";
 
  return;
}


//
// Mostrar mapa
//
ABSMapaCiudad.MostrarMapa = function ()
{
  ABSMapaCiudad.divMapa.style.visibility="visible"; 
  return;
}


//
// Mostrar barra herramientas simple/avanzada 
//
ABSMapaCiudad.MostrarBarraHerramientas= function (
   barra
   )
{

  if(barra=='simple')
  {
  
    var elemBarraS=document.getElementById('barraH');
    var elemBarraA=document.getElementById('barraHA');
    if(elemBarraS)
    {
        elemBarraS.style.visibility="visible";
        elemBarraS.style.display="block";    
    }
    if(elemBarraA)
    {
        elemBarraA.style.visibility="hidden";
        elemBarraA.style.display="none";
    }
  }
  else 
  {
   var elemBarraA=document.getElementById('barraHA');
   var elemBarraS=document.getElementById('barraH');
   
    if(elemBarraA)
    {
        elemBarraA.style.visibility="visible";
        elemBarraA.style.display="block";    
    }
    if(elemBarraS)
    {
        elemBarraS.style.visibility="hidden";
        elemBarraS.style.display="none";
    }
    
  }
  
  
  //Mantener herramienta activada
  var elem=document.getElementById(ABSMapaCiudad.toolActivada);  
  if(elem)
  {  
    var id= elem.id.substring(1,elem.id.length);    
    if(barra=='simple')
       id='s'+id;
    else   
       id='a'+id;
    var elem2=document.getElementById(id); 
    if(elem2!=null) { 
       elem2.className="clsIconSelected"; 
       elem.className="clsIconDefault";
       
       }
       
    ABSMapaCiudad.toolActivada=id;   
   }
     

  
  return;
}

//
// Establecer nueva escala predeterminada
//
ABSMapaCiudad.Escala = function ( 
        _escala
        )
{

  
  var absmapas = ObtenerABSMapas();	 
  //alert(absmapas);
  if(!absmapas)
    return;
  
  var mapa = absmapas.mapa;
  //alert(mapa);
  if(!mapa)
    return;
  var caja = mapa.caja;  
  //alert(caja);
  if(!caja)
    return;
  var centro = caja.Centro();
  var centroX = centro.x;
  var centroY = centro.y; 
    
  var escala=_escala ;  
  
  absmapas.UbicarMapa( centroX, centroY, escala );

 return;
}


//
// Establecer  escala mediante barra de zoom
//
ABSMapaCiudad.EscalaBarraZoom = function ( slider , args)
{
   
   
    // get new and old values
   var newVal = args.get_newValue();              
   
   ABSMapaCiudad.Escala(-1*newVal);

 return;
}

//
// Actualiza barra de zoom a partir de mapa
//
ABSMapaCiudad.ActualizaBarraZoom = function(absmapas)
{
  
 var slider = $find("divZoomSlider");
 if(!slider)
    return;  
 if(absmapas.mapa)
    slider.set_value( -1*parseInt(absmapas.mapa.escala.valor) );
 return;

}

//
// Establece formato valor barra a entero positivo
//
ABSMapaCiudad.BarraZoomLabelFormato= function (slider , args)
{
          
    var format = slider.get_valueLabelFormat(); 
    var val = args.get_value();
    format = format.replace('{0}', "1:" + (-1*val).toString());     
    args.set_label(format);
    return;
             
}

//
// Obtener visibilidad capa en escala actual
//
ABSMapaCiudad.CapaVisibleEnRango = function (
    escala,
    icapa
    )
{

  var absmapas = ObtenerABSMapas();	 
  if(!absmapas)
    return '';
      
  var mapa = absmapas.mapa;
  var capas = mapa.capas;
  
  if(!capas[icapa].consultable)
     return '';
  
  var desde=capas[icapa].rangoVisible.desde*100;
  var hasta=capas[icapa].rangoVisible.hasta*100;
  if(desde==0 && hasta ==0)  
     return capas[icapa].id
      
  if( 
      escala>desde && escala<hasta && 
      capas[icapa].visible 
         )
    return capas[icapa].id
  else  
    return '';
}


//
// Cargar Ortofoto
//
ABSMapaCiudad.CargarMapaExtern = function( idMapaExtern ){

   var mapaACargar;
   
   if(idMapaExtern == "PREDER"){    
        if( this.boolOrto=="0"){
	       mapaACargar = this.idMapa;
        }
        else {
           mapaACargar =  this.idMapaOrto;
        } 
         
        this.idMapaExtern = ""   
    }
    else{
         if( this.boolOrto=="0"){
            mapaACargar =  idMapaExtern;
         }
         else{
           
            mapaACargar =  idMapaExtern +  this.sufijoOrto; 
         }  
         
         this.idMapaExtern = idMapaExtern
    }
  
  
    // Referencia a ABS MAPAS
	var absmapas = ObtenerABSMapas();
    
	// Comprobar mapa cargado
	var mapa = absmapas.mapa;
	if ( !mapa )
		return;		  
	
	ABSCargarMapa(
        {                
        claveMapa : mapaACargar,
        cajaMapa : mapa.caja,
        selector : null,
        resaltar : null,
        paramMapa : null
        }
      );
   	
   
   // establecermos un delay para asegurarnos que actualiza los servicios 
   // visibles en el momento actual
   window.setTimeout(ABSMapaCiudad.RefrescarMapa,1000);
    
    
   
    return;
}
//
// Muestra informe urbanistico parcela (urbanet)
//
ABSMapaCiudad.MuestraInformeParc = function(params )
{
     var _capaId = "";
     
     var x =params.formaM.x[0];
     var y =params.formaM.y[0]; 

    // Cursor pensando
    this.CursorProcesando();
  
   	  var absmapas = ObtenerABSMapas();		
	  var escala  = absmapas.mapa.escala.valor;	
	  var capas   = absmapas.mapa.capas;
      var potVeureInfoV1 = false;
      var potVeureInfoV2 = false;
      var tipus_peticio;
      
      for ( var i = 0; i < capas.length; i++ )
      {
        if(capas[i].id == "B_PARC"){
          _capaId = "B_PARC";
        }
      }
      
      
      if ( _capaId.toUpperCase() == "B_PARC") 
      {
          for ( var i1 = 1; i1 < capas.length; ++i1 )
           {
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("E_U") > -1){
		            potVeureInfoV2 = true;
		            break;
		       }	
		       
		       if ( ABSMapaCiudad.CapaVisibleEnRango(escala,i1).toUpperCase().indexOf("P_") > -1){
		            potVeureInfoV1 = true;
		            break;
		       }
		       	
	       }
	
	  
	      if(potVeureInfoV1)
	        tipus_peticio = "INFORME_V1";
	      else if (potVeureInfoV2)
	        tipus_peticio = "INFORME_V2";
	      else
	        tipus_peticio = "INFORME";
    	      
		    // Componer peticion
		    var peticion = absmapas.CrearPeticion
		    ( 
			    tipus_peticio, // Comando
			    this.pathAbsatlas + this.pathGestor
		    );
    	
	      // Añadir parametros
          var parametros = peticion.parametros;  
                
          //parametros["lang"] = this.idioma;                    
          parametros["mapaVirtual"]=this.mapaVirtual;            
          parametros["boolOrto"]=this.boolOrto;
          parametros["sufijoOrto"]=this.sufijoOrto;                   
          parametros["capaid"] = _capaId;   
          parametros["igm"] =null; 
          parametros["x"] = parseInt(x); 
          parametros["y"] = parseInt(y); 
      
		  // Abrir formulario
		  absmapas.AbrirVentana
		  (
			    peticion.Url(),
			    600,400,
			    "location=yes,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=yes",
			    "derecha"
		  );	
		 }  
		 else{
		 
		        // Mostramos
                ABSMapaCiudad.MostrarPanelInformacion();  
                this.contenidoXML="<br/><span style=\"color: red;\"><b>" +ABSMapaCiudadLiteral.etqErrorPeticionAJAX+"</b><br/>"+ ABSMapaCiudadLiteral.etqErrorCapaB_PARC +"</span>";
                ABSMapaCiudad.SetPanelInformacion(this.contenidoXML);
		 
		 }
		    	
		
		
		// Aquí indicamos que deseamos cancelar la selección
        params.cancelar = true;
 
        // En cualquier caso es conveniente liberar memoria
        params.Dispose();	
			
		return;
}




      
//
// Conectar Google Maps y Virtual Earth
//
ABSMapaCiudad.ConectarVisorExterno = function(
  claseVisor
)
{
         
	// obtenemos el mapa cargado	 
	 var absmapas = ObtenerABSMapas(); 
	
	if(!absmapas)
	   return;	   	
	
	absmapas.MostrarEn({visor:claseVisor});
	
	return;
}

//
// Abrir en GoogleEarth - generar KML
//
ABSMapaCiudad.ConectarGoogleEarth = function(
     igms,
     capaid
     )
{

     
	// obtenemos el mapa cargado	 
	var absmapas = ObtenerABSMapas(); 
	
	if(!absmapas)
	   return;	  
	  
	
	
	// seleccionamos   
	absmapas.SelecIGM( 
	        capaid,
            [igms],
            false      
            );
            
    // Componer peticion
    var peticion = absmapas.CrearPeticion
		    ( 
			    "GOOGLE_EARTH", // Comando
			    this.pathAbsatlas + this.pathGestor
	   );   
    
     // Añadir parametros
      var parametros = peticion.parametros;            
      parametros["capa"]=capaid;                     
           
          // Abrir formulario
      absmapas.AbrirVentana
		  (
			    peticion.Url(),
			    200,200,
			    "location=yes,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=yes",
			    "derecha"
		  );	
		   
	

    return;
}

//
//  Desplazar accesorios al margen del mapa
//           
ABSMapaCiudad.MoverAccesoriosMargenMapa = function()
{
  if (!ABSMapaCiudad.redimensionable)
     return;
     
    var altoPantalla = null;
    var anchoPantalla = null;
    var margin = 10;
    var minLength =100;
    
    var ymap,xmap;
    var anchoMapa, altoMapa;  
    
    var xcentro, ycentro; 
    
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;   

    if(!divMapa)
       return;


    // dimesiones inciales del divMapa
    ymap=divMapa.offsetTop + margin;
    xmap=divMapa.offsetLeft + margin;       
    
    altoMapa = divMapa.offsetHeight;
    anchoMapa = divMapa.offsetWidth;    
        
    xcentro = xmap + 0.5*anchoMapa;
    ycentro = ymap + 0.5*altoMapa;
    
        
    // obtenemos columnas de accesorios y las resituamos
    var xcol, ycol, anchoCol,altoCol, px,py;    
    var alfa;
    var quad;
    var acum1y = divMapa.offsetTop;    
    var acum2y = divMapa.offsetTop;
    
    
    var iCol=1;
    var divColumna = document.getElementById("divColumna" + iCol);    
    
    while (divColumna!=null)
    {
     
        ycol=divColumna.offsetTop ;
        xcol=divColumna.offsetLeft ;           
        altoCol = divColumna.offsetHeight;
        anchoCol = divColumna.offsetWidth;        
        
        if(xcol < xcentro) quad=1;
        else quad=2;   
        
        if(quad==1){            
          divColumna.style.left = divMapa.offsetLeft + "px";
          divColumna.style.top = acum1y + "px";
          acum1y=acum1y + altoCol;
        }
        else if(quad==2)
        {
          divColumna.style.left = (divMapa.offsetLeft + anchoMapa - anchoCol) + "px";
          divColumna.style.top = acum2y + "px";
          acum2y=acum2y + altoCol;
        }                    
        
        iCol=iCol+1; 
        divColumna = document.getElementById("divColumna" + iCol);       
    
    }   
    
                                   
   
    return;
}


//
//  Desplazar accesorios relativo al mapa
//           
ABSMapaCiudad.DesplazarAccesorios = function()
{
   if (!ABSMapaCiudad.redimensionable)
      return;        
    
    var iCol=1;
    var divColumna = document.getElementById("divColumna" + iCol);

    var x,y; 
        
    while (divColumna!=null)
    {

        x = parseInt(divColumna.offsetLeft * ABSMapaCiudad.factorX);
        y = parseInt(divColumna.offsetTop * ABSMapaCiudad.factorY);

        if (x < ABSMapaCiudad.divMapa.offsetLeft)
            x = ABSMapaCiudad.divMapa.offsetLeft;

        if (y < ABSMapaCiudad.divMapa.offsetTop)
            y = ABSMapaCiudad.divMapa.offsetTop;

        divColumna.style.left = x + "px";
        divColumna.style.top = y + "px";            
        
        iCol=iCol+1; 
        divColumna = document.getElementById("divColumna" + iCol);       
    
    }       
    return;
}


//
//  Desplazar panel informacion relativo al mapa
//
ABSMapaCiudad.DesplazarPanelInfo = function() {
    if (!ABSMapaCiudad.redimensionable)
        return;


    var divInfo = document.getElementById("divInfo");
    if (!divInfo)
        return;

    var x = parseInt(divInfo.offsetLeft * ABSMapaCiudad.factorX);
    var y = parseInt(divInfo.offsetTop * ABSMapaCiudad.factorY);

    if (x < ABSMapaCiudad.divMapa.offsetLeft)
        x = ABSMapaCiudad.divMapa.offsetLeft;

    if (y < ABSMapaCiudad.divMapa.offsetTop)
        y = ABSMapaCiudad.divMapa.offsetTop;
    
    divInfo.style.left = x + "px";
    divInfo.style.top = y + "px";


    return;
}



//
//  Mostrar/esconder accesorios
//           
ABSMapaCiudad.MostrarAccesorios = function()
{
    var iCol=1;
    var divColumna = document.getElementById("divColumna" + iCol);    
    
    while (divColumna!=null)
    {
       
       if( divColumna.style.visibility=="hidden")
        {
            divColumna.style.visibility="visible"
        }else
            divColumna.style.visibility="hidden";
        
        iCol=iCol+1; 
        divColumna = document.getElementById("divColumna" + iCol);       
    
    }       
                                   
   
    return;
}

//
//  Mostrar accesorios de inicio
//           
ABSMapaCiudad.MostrarAccesoriosInicio = function(_vis)
{
    var iCol=1;
    var divColumna = document.getElementById("divColumna" + iCol);    
    
    while (divColumna!=null)
    {
       if(_vis)       
            divColumna.style.visibility="visible"
       else   divColumna.style.visibility="hidden";
        
       iCol=iCol+1; 
       divColumna = document.getElementById("divColumna" + iCol);       
    
    }       
                                   
   
    return;
}



//
//  Redimensiona el mapa y mueve elementos solidarios
//
ABSMapaCiudad.RedimensionarMapa = function() {

    // si es redimensionable calculaos nuevas dimensiones
    if (!ABSMapaCiudad.redimensionable)
        return;

    var altoPantalla = null;
    var anchoPantalla = null;
    var marginScroll = 10;
    var minLength = 100;

    var ymap, xmap;
    var anchoMapa, altoMapa;

    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;
    if (!divMapa)
        return;


    // dimesiones inciales del divMapa      
    ymap = divMapa.offsetTop;
    xmap = divMapa.offsetLeft;
    altoMapa = divMapa.offsetHeight;
    anchoMapa = divMapa.offsetWidth;

    // obtenemos nuevas dimensiones de la pantalla        
    if (window.innerHeight) altoPantalla = window.innerHeight;
    else altoPantalla = document.documentElement.clientHeight; //Put. explorer 
    if (window.innerWidth) anchoPantalla = window.innerWidth;
    else anchoPantalla = document.documentElement.clientWidth; //Put. explorer

    // maximo ancho permitido 4096 pixels a 96dpi por el SP
    if (anchoPantalla > 4096) {
        var ratio = altoPantalla / anchoPantalla;
        anchoPantalla = 4096;
        altoPantalla = 4096*ratio;
    }

    // factor redimension
    ABSMapaCiudad.factorX = (anchoPantalla - xmap - marginScroll) / anchoMapa;
    ABSMapaCiudad.factorY = (altoPantalla - ymap - marginScroll) / altoMapa;

    //nuevas dimensiones mapa    
    altoMapa = altoPantalla - ymap - marginScroll;
    if (altoMapa < minLength) altoMapa = minLength;
    anchoMapa = anchoPantalla - xmap - marginScroll;
    if (anchoMapa < minLength) anchoMapa = minLength;

    // actualizamos dimensiones control de mapa
    var CtlAvanzadoMapa1 = document.getElementById("CtlAvanzadoMapa1");
    if (!CtlAvanzadoMapa1)
        return;

    CtlAvanzadoMapa1.style.height = altoMapa + "px"
    CtlAvanzadoMapa1.style.width = anchoMapa + "px";

    //actualizamos mapa y sus dimensiones implícitamente
    var absmapas = ObtenerABSMapas();
    if ((null != absmapas) && (typeof (absmapas) != "undefined"))
        absmapas.ActualizarMapa();

    // desplazamos accesorios solidariamente
    ABSMapaCiudad.DesplazarAccesorios();

    // desplazamos panel informacion
    ABSMapaCiudad.DesplazarPanelInfo();


    // desplazamos Norte solidariamnete
    ABSMapaCiudad.DesplazarNorte();

    // desplazamos Escudo solidariamnete
    ABSMapaCiudad.DesplazarEscudo();

    // desplazamos Desplazadores solidariamnete
    ABSMapaCiudad.DesplazarDesplazadores();

    // desplazamos Navegadores solidariamnete
    ABSMapaCiudad.DesplazarNavegadoresZoom();



    return;
}




ABSMapaCiudad.DesplazarDesplazadores = function() {
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;
    if (!divMapa)
        return;

    // dimesiones del divMapa
    var ymap = divMapa.offsetTop;
    var xmap = divMapa.offsetLeft;

    var margin = 10;

    var altoMapa = divMapa.offsetHeight;
    var anchoMapa = divMapa.offsetWidth;


    //obtenemos objetos ImgNorte, ImgSur,...

    var ImgNorte = document.getElementById("ImgNorte");
    var ImgSur = document.getElementById("ImgSur");
    var ImgEste = document.getElementById("ImgEste");
    var ImgOeste = document.getElementById("ImgOeste");
    var ImgNoreste = document.getElementById("ImgNoreste");
    var ImgNoroeste = document.getElementById("ImgNoroeste");
    var ImgSureste = document.getElementById("ImgSureste");
    var ImgSuroeste = document.getElementById("ImgSuroeste");

    if (!ImgNorte || !ImgSur || !ImgEste || !ImgOeste)
        return;



    // medidas iguales para cada icono desplazador 
    var altoIco = ImgNorte.offsetHeight;
    var anchoIco = ImgNorte.offsetWidth;





    // si despl_esquina = cc (contorno del mapa)
    if (ABSMapaCiudad.despl_esquina == "cc") //contorno del mapa
    {

        //norte
        ImgNorte.style.top = ymap.toString() + "px";
        ImgNorte.style.left = (xmap + anchoMapa * 0.5 - ImgNorte.offsetWidth * 0.5) + "px";

        //sur
        ImgSur.style.top = (ymap + altoMapa - ImgSur.offsetHeight) + "px";
        ImgSur.style.left = (xmap + anchoMapa * 0.5 - ImgSur.offsetWidth * 0.5) + "px";

        //este
        ImgEste.style.top = (ymap + altoMapa * 0.5 - ImgEste.offsetHeight * 0.5) + "px";
        ImgEste.style.left = (xmap + anchoMapa - ImgEste.offsetWidth) + "px";

        //oeste
        ImgOeste.style.top = (ymap + altoMapa * 0.5 - ImgOeste.offsetHeight * 0.5) + "px";
        ImgOeste.style.left = xmap.toString() + "px";

        if (ImgNoreste) { //si existen los 8 navegadores

            //noreste
            ImgNoreste.style.top = ymap.toString() + "px";
            ImgNoreste.style.left = (xmap + anchoMapa - ImgNoreste.offsetWidth) + "px";

            //noroeste
            ImgNoroeste.style.top = ymap.toString() + "px";
            ImgNoroeste.style.left = xmap.toString() + "px";

            //sureste
            ImgSureste.style.top = (ymap + altoMapa - ImgSureste.offsetHeight) + "px";
            ImgSureste.style.left = (xmap + anchoMapa - ImgSureste.offsetWidth) + "px";

            //suroeste
            ImgSuroeste.style.top = (ymap + altoMapa - ImgSuroeste.offsetHeight) + "px";
            ImgSuroeste.style.left = xmap.toString() + "px";
        }


    }

    // si despl_esquina del tipo ii, id, si, sd   
    else if (ABSMapaCiudad.despl_esquina == "si") //superior-izquierda
    {


        //norte
        ImgNorte.style.top = ymap.toString() + "px";
        ImgNorte.style.left = (xmap + anchoIco) + "px";

        //este
        ImgEste.style.top = (ymap + altoIco) + "px";
        ImgEste.style.left = (xmap + 2 * anchoIco) + "px";
        //oeste         
        ImgOeste.style.top = (ymap + altoIco) + "px";
        ImgOeste.style.left = xmap.toString() + "px";
        //sur         
        ImgSur.style.top = (ymap + 2 * altoIco) + "px";
        ImgSur.style.left = (xmap + anchoIco) + "px";

        if (ImgNoreste) {

            //sureste
            ImgSureste.style.top = (ymap + 2 * altoIco) + "px";
            ImgSureste.style.left = (xmap + 2 * anchoIco) + "px";

            //suroeste
            ImgSuroeste.style.top = (ymap + 2 * altoIco) + "px";
            ImgSuroeste.style.left = xmap.toString() + "px";

            //noreste
            ImgNoreste.style.top = ymap.toString() + "px";
            ImgNoreste.style.left = (xmap + 2 * anchoIco) + "px";

            //noroeste
            ImgNoroeste.style.top = ymap.toString() + "px";
            ImgNoroeste.style.left = xmap.toString() + "px";

        }

    }
    else if (ABSMapaCiudad.despl_esquina == "sd") //superior-derecha
    {


        //norte
        ImgNorte.style.top = ymap.toString() + "px";
        ImgNorte.style.left = (xmap + anchoMapa - 2 * anchoIco) + "px";

        //este
        ImgEste.style.top = (ymap + altoIco) + "px";
        ImgEste.style.left = (xmap + anchoMapa - anchoIco) + "px";
        //oeste         
        ImgOeste.style.top = (ymap + altoIco) + "px";
        ImgOeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";
        //sur         
        ImgSur.style.top = (ymap + 2 * altoIco) + "px";
        ImgSur.style.left = (xmap + anchoMapa - 2 * anchoIco) + "px";

        if (ImgNoreste) {
            //sureste
            ImgSureste.style.top = (ymap + 2 * altoIco) + "px";
            ImgSureste.style.left = (xmap + anchoMapa - anchoIco) + "px";

            //suroeste
            ImgSuroeste.style.top = (ymap + 2 * altoIco) + "px";
            ImgSuroeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";

            //noreste
            ImgNoreste.style.top = ymap.toString() + "px";
            ImgNoreste.style.left = (xmap + anchoMapa - anchoIco) + "px";

            //noroeste
            ImgNoroeste.style.top = ymap.toString() + "px";
            ImgNoroeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";

        }

    }

    else if (ABSMapaCiudad.despl_esquina == "id") //inferior-derecha
    {


        //norte
        ImgNorte.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
        ImgNorte.style.left = (xmap + anchoMapa - 2 * anchoIco) + "px";

        //este
        ImgEste.style.top = (ymap + altoMapa - 2 * altoIco) + "px";
        ImgEste.style.left = (xmap + anchoMapa - anchoIco) + "px";
        //oeste         
        ImgOeste.style.top = (ymap + altoMapa - 2 * altoIco) + "px";
        ImgOeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";

        //sur         
        ImgSur.style.top = (ymap + altoMapa - altoIco) + "px";
        ImgSur.style.left = (xmap + anchoMapa - 2 * anchoIco) + "px";


        if (ImgNoreste) {
            //noroeste
            ImgNoroeste.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
            ImgNoroeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";

            //noreste
            ImgNoreste.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
            ImgNoreste.style.left = (xmap + anchoMapa - anchoIco) + "px";

            //suroeste
            ImgSuroeste.style.top = (ymap + altoMapa - altoIco) + "px";
            ImgSuroeste.style.left = (xmap + anchoMapa - 3 * anchoIco) + "px";

            //sureste
            ImgSureste.style.top = (ymap + altoMapa - altoIco) + "px";
            ImgSureste.style.left = (xmap + anchoMapa - anchoIco) + "px";
        }
    }

    else  //inferior-izquierda
    {


        //norte
        ImgNorte.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
        ImgNorte.style.left = (xmap + anchoIco) + "px";

        //este
        ImgEste.style.top = (ymap + altoMapa - 2 * altoIco) + "px";
        ImgEste.style.left = (xmap + 2 * anchoIco) + "px";
        //oeste         
        ImgOeste.style.top = (ymap + altoMapa - 2 * altoIco) + "px";
        ImgOeste.style.left = xmap.toString() + "px";

        //sur         
        ImgSur.style.top = (ymap + altoMapa - altoIco) + "px";
        ImgSur.style.left = (xmap + anchoIco) + "px";

        if (ImgNoreste) {

            //sureste
            ImgSureste.style.top = (ymap + altoMapa - altoIco) + "px";
            ImgSureste.style.left = (xmap + 2 * anchoIco) + "px";

            //suroeste
            ImgSuroeste.style.top = (ymap + altoMapa - altoIco) + "px";
            ImgSuroeste.style.left = xmap.toString() + "px";

            //noreste
            ImgNoreste.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
            ImgNoreste.style.left = (xmap + 2 * anchoIco) + "px";

            //noroeste
            ImgNoroeste.style.top = (ymap + altoMapa - 3 * altoIco) + "px";
            ImgNoroeste.style.left = xmap.toString() + "px"

        }

    }

    // traer al frente

    ImgNorte.style.zIndex = 50;
    ImgSur.style.zIndex = 50;
    ImgEste.style.zIndex = 50;
    ImgOeste.style.zIndex = 50;
    ImgNorte.style.visibility = "visible";
    ImgSur.style.visibility = "visible";
    ImgEste.style.visibility = "visible";
    ImgOeste.style.visibility = "visible";
    

    if (ImgNoreste) {

        ImgNoreste.style.zIndex = 50;
        ImgNoroeste.style.zIndex = 50;
        ImgSureste.style.zIndex = 50;
        ImgSuroeste.style.zIndex = 50;

        ImgNoreste.style.visibility = "visible";
        ImgNoroeste.style.visibility = "visible";
        ImgSureste.style.visibility = "visible";
        ImgSuroeste.style.visibility = "visible";
    
    }


    return;
}


ABSMapaCiudad.DesplazarNavegadoresZoom = function ()
{

   //obtenemos objetos ImgZoomMenos, ImgZoomMas,... sólo si no hay barra   
    var ImgZoomMas =document.getElementById("ImgZoomMas");
    var ImgZoomMenos =document.getElementById("ImgZoomMenos");
    
    if(ImgZoomMas && ImgZoomMenos ) 
    { 
      ABSMapaCiudad.DesplazarNavegadores();
      return;
    }
        
    var BarraZoom =document.getElementById("divZoomSlider");
    if(BarraZoom)
    {
       ABSMapaCiudad.DesplazarBarraZoom();
       return;
    }
    return;

}


ABSMapaCiudad.DesplazarBarraZoom= function()
{
    
    //obtenemos objetos slider  
    var BarraZoom =document.getElementById("divZoomSlider");
       
    if(!BarraZoom )
     return;
     
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;   
    if(!divMapa)
       return;
       
    // dimesiones del divMapa
    var ymap= divMapa.offsetTop ;
    var xmap= divMapa.offsetLeft ;  
            
    var altoMapa = divMapa.offsetHeight;
    var anchoMapa = divMapa.offsetWidth;  
          
    // medidas slider
    var altoBarra, anchoBarra;
    altoBarra =     BarraZoom.offsetHeight;
    anchoBarra =     BarraZoom.offsetWidth;
   
    var vertical=0 ;
    if(altoBarra>anchoBarra)
        vertical =1;
    
     // medidas desplazadores
    var altoNorte;
    var ImgNorte =document.getElementById("ImgNorte");
    if(ImgNorte)
       altoNorte = ImgNorte.offsetHeight; 
     else
       {
        altoNorte = 0;
        ABSMapaCiudad.despl_esquina=null; 
        }
           
    // si nav_esquina del tipo ii, id, si, sd   
    if(ABSMapaCiudad.nav_esquina=="si") //superior-izquierda
    { 
         
          // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="si")
          {
             
             if(vertical){
                BarraZoom.style.top = (ymap + 3*altoNorte) + "px";            
                BarraZoom.style.left = (xmap + (3/2)*altoNorte - (1/2)*anchoBarra ) + "px";                     
             }else
             {            
               BarraZoom.style.top = (ymap + 3*altoNorte - (1/4)*altoBarra) + "px";            
               BarraZoom.style.left = xmap.toString() + "px";                     
             }
                
             
         }else{
         
              if(vertical)
              {
                BarraZoom.style.top = ymap.toString() + "px";
                BarraZoom.style.left = (xmap- (1/4)*anchoBarra) + "px";                     
              
              }else{
                BarraZoom.style.top =(ymap - (1/4)*altoBarra) + "px";
                BarraZoom.style.left = xmap.toString() + "px";                     
                }
             
             
         }
                  
    }  
    else if(ABSMapaCiudad.nav_esquina=="sd") //superior-derecha
    { 
         
           // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="sd")
          {
             
             if(vertical){
                BarraZoom.style.top = (ymap + 3*altoNorte) + "px";
                BarraZoom.style.left = (xmap + anchoMapa -(3/2)*altoNorte - (1/2)*anchoBarra) + "px";                     
             }else{
                
                BarraZoom.style.top = (ymap + 3*altoNorte - (1/4)*altoBarra) + "px";
                BarraZoom.style.left = (xmap + anchoMapa - anchoBarra) + "px";                     
             }
             
         }else{
         
             if(vertical)
             {
                BarraZoom.style.top = ymap.toString() + "px";
                BarraZoom.style.left = (xmap + anchoMapa - (3/4)*anchoBarra) + "px";                                   
             }else 
             {
                BarraZoom.style.top = (ymap - (1/4)*altoBarra) + "px";
                BarraZoom.style.left = (xmap + anchoMapa - anchoBarra) + "px"; 
             }
         }             
                  
    }  
    
    else if(ABSMapaCiudad.nav_esquina=="id") //inferior-derecha
    { 
         
          // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="id")
          {
             //BarraZoom
             if(vertical)
             {
                BarraZoom.style.top = (ymap + altoMapa -3*altoNorte - altoBarra) + "px"; 
                BarraZoom.style.left = (xmap + anchoMapa -(3/2)*altoNorte - (1/2)*anchoBarra) + "px";                     
             }else{
                BarraZoom.style.top = (ymap + altoMapa -3*altoNorte - (3/4)*altoBarra) + "px"; 
                BarraZoom.style.left = (xmap + anchoMapa - anchoBarra) + "px";
             }
             
         }else{
         
             //BarraZoom
             if(vertical)
             {             
                 BarraZoom.style.top = (ymap + altoMapa - altoBarra) + "px";
                 BarraZoom.style.left = (xmap + anchoMapa - (3/4)*anchoBarra) + "px";                     
             }else{
                 BarraZoom.style.top = (ymap + altoMapa - (3/4)*altoBarra) + "px";
                 BarraZoom.style.left = (xmap + anchoMapa - anchoBarra) + "px"; 
             
             }
            
             }         
                  
    }  
    
    else if (ABSMapaCiudad.nav_esquina=="ii")//inferior-izquierda
    { 
         
           // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="ii")
          {
             //BarraZoom
             if(vertical)
             {
              BarraZoom.style.top = (ymap + altoMapa - 3*altoNorte - altoBarra) + "px"; 
              BarraZoom.style.left = (xmap + (3/2)*altoNorte - (1/2)*anchoBarra) + "px";                     
             }else{
              BarraZoom.style.top = (ymap + altoMapa - 3*altoNorte - (3/4)*altoBarra) + "px"; 
              BarraZoom.style.left = xmap.toString() + "px";  
             }
                                  
         }else{
         
             //BarraZoom
             if(vertical)
             {
                BarraZoom.style.top = (ymap + altoMapa - altoBarra) + "px";
                BarraZoom.style.left = xmap.toString() + "px";                     
             }else{
             
                BarraZoom.style.top = (ymap + altoMapa - (3/4)*altoBarra) + "px";
                BarraZoom.style.left = xmap.toString() + "px"; 
             }
                             
             }        
         
         
       
                  
    }  
   
    // traer al frente
        
    BarraZoom.style.zIndex=50; 
        
    BarraZoom.style.visibility="visible";
    
    
          

 return;
}





ABSMapaCiudad.DesplazarNavegadores= function()
{
    
    //obtenemos objetos ImgZoomMenos, ImgZoomMas  
    var ImgZoomMas =document.getElementById("ImgZoomMas");
    var ImgZoomMenos =document.getElementById("ImgZoomMenos");
    
    if(!ImgZoomMas || !ImgZoomMenos )
     return;
     
     
     
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;   
    if(!divMapa)
       return;
       
    // dimesiones del divMapa
    var ymap= divMapa.offsetTop ;
    var xmap= divMapa.offsetLeft ;  
    
    var margin = 10;     
    
    var altoMapa = divMapa.offsetHeight;
    var anchoMapa = divMapa.offsetWidth;  
    
    
    
    
    // medidas iguales para cada icono desplazador
    var altoIco = ImgZoomMas.offsetHeight;     
    var anchoIco = ImgZoomMas.offsetWidth;    
    
    // medidas desplazadores
    var altoNorte;
    var ImgNorte =document.getElementById("ImgNorte");
    if(ImgNorte)
       altoNorte = ImgNorte.offsetHeight; 
     else
       {
        altoNorte = 0;
        ABSMapaCiudad.despl_esquina=null; 
        }
       
    // si nav_esquina del tipo ii, id, si, sd   
    if(ABSMapaCiudad.nav_esquina=="si") //superior-izquierda
    { 
         
          // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="si")
          {
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + 3*altoNorte) + "px";
             ImgZoomMas.style.left = (xmap + (3/2)*altoNorte - (1/2)*altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + 3*altoNorte + altoIco) + "px";
             ImgZoomMenos.style.left = (xmap + (3/2)*altoNorte- (1/2)*altoIco) + "px";               
         }else{
         
             //ImgZoomMas
             ImgZoomMas.style.top = ymap.toString() + "px";
             ImgZoomMas.style.left = xmap.toString() + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoIco) + "px";
             ImgZoomMenos.style.left = xmap.toString() + "px"; 
         }
                  
    }  
    else if(ABSMapaCiudad.nav_esquina=="sd") //superior-derecha
    { 
         
           // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="sd")
          {
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + 3*altoNorte) + "px";
             ImgZoomMas.style.left = (xmap + anchoMapa -(3/2)*altoNorte - (1/2)*altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + 3*altoNorte + altoIco) + "px";
             ImgZoomMenos.style.left = (xmap + anchoMapa -(3/2)*altoNorte- (1/2)*altoIco) + "px";               
         }else{
         
             //ImgZoomMas
             ImgZoomMas.style.top = ymap.toString() + "px";
             ImgZoomMas.style.left = (xmap + anchoMapa - altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoIco) + "px";
             ImgZoomMenos.style.left =(xmap + anchoMapa - altoIco) + "px";   
             }             
                  
    }  
    
    else if(ABSMapaCiudad.nav_esquina=="id") //inferior-derecha
    { 
         
          // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="id")
          {
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + altoMapa-3*altoNorte - 2*altoIco) + "px"; 
             ImgZoomMas.style.left = (xmap + anchoMapa -(3/2)*altoNorte - (1/2)*altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoMapa-3*altoNorte - altoIco) + "px";
             ImgZoomMenos.style.left = (xmap + anchoMapa -(3/2)*altoNorte- (1/2)*altoIco) + "px";               
         }else{
         
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + altoMapa - 2*altoIco) + "px";
             ImgZoomMas.style.left = (xmap + anchoMapa - altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoMapa - altoIco) + "px";
             ImgZoomMenos.style.left = (xmap + anchoMapa - altoIco) + "px";  
             }         
                  
    }  
    
    else if (ABSMapaCiudad.nav_esquina=="ii")//inferior-izquierda
    { 
         
           // solidario a los navegadores
          if(ABSMapaCiudad.despl_esquina=="ii")
          {
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + altoMapa-3*altoNorte - 2*altoIco) + "px"; 
             ImgZoomMas.style.left = (xmap + (3/2)*altoNorte - (1/2)*altoIco) + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoMapa-3*altoNorte - altoIco) + "px";
             ImgZoomMenos.style.left = (xmap + (3/2)*altoNorte - (1/2)*altoIco) + "px";                     
         }else{
         
             //ImgZoomMas
             ImgZoomMas.style.top = (ymap + altoMapa - 2*altoIco) + "px";
             ImgZoomMas.style.left = xmap.toString() + "px";                     
             //ImgZoomMenos         
             ImgZoomMenos.style.top = (ymap + altoMapa - altoIco) + "px";
             ImgZoomMenos.style.left = xmap.toString() + "px";                     
             }        
         
         
       
                  
    }  
   
    // traer al frente
        
    ImgZoomMas.style.zIndex=50; 
    ImgZoomMenos.style.zIndex=50;
    
    ImgZoomMas.style.visibility="visible";
    ImgZoomMenos.style.visibility="visible";
    
          

 return;
}


ABSMapaCiudad.DesplazarNorte = function()
{
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;
    if(!divMapa)
       return;
       
    // dimesiones del divMapa
    var ymap=divMapa.offsetTop ;
    var xmap=divMapa.offsetLeft ;  
    
    var margin = 10;     
    
    var altoMapa = divMapa.offsetHeight;
    var anchoMapa = divMapa.offsetWidth;  
    
    
    //obtenemos objeto norte
   
    var divNorte =document.getElementById("divNorte");
    if(!divNorte)
       return;
       
       
    
    var altoNorte = divNorte.offsetHeight;     
    var anchoNorte = divNorte.offsetWidth;    
    
    
    if(ABSMapaCiudad.norte_esquina=="ii") //inferior-izquierda
    { 
         divNorte.style.top = (ymap + altoMapa - altoNorte -margin) + "px";
         divNorte.style.left = (xmap) + "px";        
         
    }else if (ABSMapaCiudad.norte_esquina=="id") //inferior-derecha     
    {
         divNorte.style.top = (ymap + altoMapa - altoNorte - margin) + "px";
         divNorte.style.left = (xmap + anchoMapa - anchoNorte - margin) + "px";  
         
    }else if (ABSMapaCiudad.norte_esquina=="si") //superior_izquierda
    { 
         divNorte.style.top = ymap.toString() + "px";
         divNorte.style.left = xmap.toString() + "px";  
     
    }else //superior-derecha u otro
    { 
         divNorte.style.top = ymap.toString() + "px";
         divNorte.style.left = (xmap + anchoMapa - anchoNorte -margin) + "px";  
     
    }
    
    divNorte.style.zIndex=50;
    divNorte.style.visibility="visible";
    
           

 return;
}



ABSMapaCiudad.DesplazarEscudo = function()
{
    // obtenemos objeto mapa 
    var divMapa = ABSMapaCiudad.divMapa;   
    if(!divMapa)
       return;
       
    // dimesiones del divMapa
    var ymap=divMapa.offsetTop ;
    var xmap=divMapa.offsetLeft ;  
    
    var margin = 10;     
    
    var altoMapa = divMapa.offsetHeight;
    var anchoMapa = divMapa.offsetWidth;  
    
    
    //obtenemos objeto escudo
   
    var divEscudo =document.getElementById("divEscudo");
    if(!divEscudo)
       return;
    
    var altoEscudo = divEscudo.offsetHeight;     
    var anchoEscudo = divEscudo.offsetWidth;    
    
    
    if(ABSMapaCiudad.escudo_esquina=="ii") //inferior-izquierda
    { 
         divEscudo.style.top = (ymap + altoMapa - altoEscudo -margin) + "px";
         divEscudo.style.left = (xmap) + "px";        
         
    }else if (ABSMapaCiudad.escudo_esquina=="id") //inferior-derecha     
    {
         divEscudo.style.top = (ymap + altoMapa - altoEscudo - margin) + "px";
         divEscudo.style.left = (xmap + anchoMapa - anchoEscudo - margin) + "px";  
         
    }else if (ABSMapaCiudad.escudo_esquina=="si") //superior_izquierda
    { 
         divEscudo.style.top = ymap.toString() + "px";
         divEscudo.style.left = xmap.toString() + "px";  
     
    }else //superior-derecha u otro
    { 
         divEscudo.style.top = ymap.toString() + "px";
         divEscudo.style.left = (xmap + anchoMapa - anchoEscudo -margin) + "px";  
     
    }
    
    divEscudo.style.zIndex=50;
    divEscudo.style.visibility="visible";
    
           

 return;
}


ABSMapaCiudad.EstablecerNavegador = function ()
{
    
    // IE
    if(navigator.userAgent.indexOf("MSIE")>=0) this.navegador=0;
    // Otros
    else this.navegador=1;
    
    
  return;
}

// ----------------------------------------------------------------------------------------------
// Métodos mover div flotantes
// ----------------------------------------------------------------------------------------------


//
// Comienzo movimiento div flotante
//        
 ABSMapaCiudad.ComienzoMovimiento = function(event, id)
{
    
    var x,y; 
    
    //Inicializamos objeto
    ABSMapaCiudad.elMovimiento = new Object();
    ABSMapaCiudad.elMovimiento.zIndex = 100;


    // Establecemos elemento a desplazar   
    
    if (id)
        ABSMapaCiudad.elMovimiento.elNode = document.getElementById(id);
    else {
        if (ABSMapaCiudad.navegador==0)
          ABSMapaCiudad.elMovimiento.elNode = window.event.srcElement;
        if (ABSMapaCiudad.navegador==1)
          ABSMapaCiudad.elMovimiento.elNode = event.target;

        // If this is a text node, use its parent element.
        if (ABSMapaCiudad.elMovimiento.elNode.nodeType == 3)
          ABSMapaCiudad.elMovimiento.elNode = ABSMapaCiudad.elMovimiento.elNode.parentNode;
     }
   
     // Get cursor position with respect to the page.
       
     if (ABSMapaCiudad.navegador==0) {
        x = window.event.clientX + document.documentElement.scrollLeft
          + document.body.scrollLeft;
        y = window.event.clientY + document.documentElement.scrollTop
          + document.body.scrollTop;
      }
     if (ABSMapaCiudad.navegador==1) {
        x = event.clientX + window.scrollX;
        y = event.clientY + window.scrollY;
      }

    // Save starting positions of cursor and element.
      ABSMapaCiudad.elMovimiento.cursorStartX = x;
      ABSMapaCiudad.elMovimiento.cursorStartY = y;
      ABSMapaCiudad.elMovimiento.elStartLeft  = parseInt(ABSMapaCiudad.elMovimiento.elNode.offsetLeft, 10);
      ABSMapaCiudad.elMovimiento.elStartTop   = parseInt(ABSMapaCiudad.elMovimiento.elNode.offsetTop,  10);

    
      if (isNaN(ABSMapaCiudad.elMovimiento.elStartLeft)) ABSMapaCiudad.elMovimiento.elStartLeft = 0;
      if (isNaN(ABSMapaCiudad.elMovimiento.elStartTop))  ABSMapaCiudad.elMovimiento.elStartTop  = 0;

     // Update element's z-index.
     
     ABSMapaCiudad.elMovimiento.elNode.style.zIndex = ++ABSMapaCiudad.elMovimiento.zIndex;
     
     
    // Capture mousemove and mouseup events on the page.

      if (ABSMapaCiudad.navegador==0) {
        document.attachEvent("onmousemove", ABSMapaCiudad.EnMovimiento);
        document.attachEvent("onmouseup",   ABSMapaCiudad.FinMovimiento);
       // document.attachEvent("onmouseout",   ABSMapaCiudad.FinMovimiento);
        window.event.cancelBubble = true;
        window.event.returnValue = false;
      }
      if (ABSMapaCiudad.navegador==1) {
        document.addEventListener("mousemove", ABSMapaCiudad.EnMovimiento,   true);
        document.addEventListener("mouseup",   ABSMapaCiudad.FinMovimiento, true);
       // document.addEventListener("mouseout",   ABSMapaCiudad.FinMovimiento, true);
        event.preventDefault();
      }
  
    return;
}

//
// En movimiento div flotante
//        
 ABSMapaCiudad.EnMovimiento = function(event)
{ 
    
    var x, y;

   // Get cursor position with respect to the page.
  if (ABSMapaCiudad.navegador==0) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (ABSMapaCiudad.navegador==1) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

       
    // Move drag element by the same amount the cursor has moved.

  ABSMapaCiudad.elMovimiento.elNode.style.left =
    (ABSMapaCiudad.elMovimiento.elStartLeft + x - ABSMapaCiudad.elMovimiento.cursorStartX) + "px";
  ABSMapaCiudad.elMovimiento.elNode.style.top  =
    (ABSMapaCiudad.elMovimiento.elStartTop  + y - ABSMapaCiudad.elMovimiento.cursorStartY) + "px";
  
    
    if (ABSMapaCiudad.navegador==0) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (ABSMapaCiudad.navegador==1)
    event.preventDefault();


    
    return;
}

//
// Fin movimiento div flotante
//        
 ABSMapaCiudad.FinMovimiento = function(event)
{
    // Stop capturing mousemove and mouseup events.
    
    if(ABSMapaCiudad.navegador==0)
    {   
        document.detachEvent("onmousemove", ABSMapaCiudad.EnMovimiento);
        document.detachEvent("onmouseup", ABSMapaCiudad.FinMovimiento);
       // document.attachEvent("onmouseout",   ABSMapaCiudad.FinMovimiento);
       
    }
    if(ABSMapaCiudad.navegador==1)
    {
       document.removeEventListener("mousemove", ABSMapaCiudad.EnMovimiento, true);
       document.removeEventListener("mouseup", ABSMapaCiudad.FinMovimiento, true);
       //document.removeEventListener("mouseout", ABSMapaCiudad.FinMovimiento, true);
       
   }
    // reset z-index
    ABSMapaCiudad.elMovimiento.elNode.style.zIndex = 100;

     
    
    return;
}
//
// Abrimos url externa establecida en absatlas_config
// 
ABSMapaCiudad.AbrirURLExterna = function()
{

   // Referencia a ABS MAPAS
		var absmapas = ObtenerABSMapas();
       
		// Componer peticion
		var peticion = absmapas.CrearPeticion
		( 
			"URL_EXTERNA", // Comando
			this.pathAbsatlas + this.pathGestor
		);
	
	  // Añadir parametros
      var parametros = peticion.parametros;              
     
		
	  absmapas.AbrirVentana
		(
			peticion.Url(),
			800,500,
			"location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no",
			"derecha"
		);			
		return;
		
};


