function pulsaHerramienta(nombre,ruta) 
{
        if (document.layers)
        {
       
		listaImagenes = document.layers["herramientas"].document.images;
		cadena = 'listaImagenes["' + nombre + '"].src="' +ruta + '_on.gif"';
         
                eval (cadena);
	}
	else 
        {
      
		cadena = 'document.' + nombre + '.src="' + ruta + '_on.gif"';
            
		eval(cadena);
	}
}

function despulsaHerramienta(nombre,ruta)
{
        if (document.layers)
        {
     
		listaImagenes = document.layers["herramientas"].document.images;
		cadena = 'listaImagenes["' + nombre + '"].src="' +ruta + '_off.gif"';
	 	eval (cadena);
	}
	else 
        {
      
		cadena = 'document.' + nombre + '.src="' + ruta + '_off.gif"';
		eval(cadena);
	}
}

function empiezaPan (x,y) 
{
	pulsando = true;     
    
	var mapa = getLayer("imagenmapa");
	if (esNetscape) 
        {
		pixelIzqda = mapa.left;
		pixelArriba = mapa.top;
		if (es5osuperior)
                {
			posPx = pixelIzqda.indexOf("px");
			pixelIzqda = pixelIzqda.substr(0,posPx);
			posPx = pixelArriba.indexOf("px");
			pixelArriba = pixelArriba.substr(0,posPx);
		}
	} 
        else 
        {
		pixelIzqda=mapa.pixelLeft;
		pixelArriba=mapa.pixelTop;
	}
	xcoor=x;
	ycoor=y;

}
function mueveImagen(x,y)
{
	//aler(x,y);
               
	if ((x > parent.visor.anchoVentana) || (y > parent.visor.altoVentana) || (x <= 0) || (y <= 0)) 
        {
		paraPan(x,y);
	} 
        else 
        {

            if (pulsando) 
            {
                   
                    mueveLayer("imagenmapa",parseInt(pixelIzqda+x-xcoor),parseInt(pixelArriba+y-ycoor))
                    
                    var mapa = getLayer("imagenmapa");
                    /*if (esNetscape4) mapa.moveTo((parseInt(pixelIzqda+x-xcoor)),(parseInt(pixelArriba+y-ycoor)));
                    else {
                    mapa.left=parseInt(pixelIzqda+x-xcoor)+"px";
                    mapa.top=parseInt(pixelArriba+y-ycoor)+"px";
                    }*/
                    var ancho = parent.visor.anchoVentana - (pixelIzqda+x-xcoor);
                    var alto = parent.visor.altoVentana - (pixelArriba+y-ycoor);
                    if (esNetscape4)
                        recortaLayer("imagenmapa",0,0,ancho,alto);
                    else 
                    {
                         mapa.clip = 'rect(0px, ' +ancho +'px, '+alto+'px, 0px)';
                    }
                    return false;
            }
	}
}

function paraPan(x,y) 
{
	pulsando=false;
        
	if (x != xcoor || y != ycoor)
            pulsaMapa(x,y,ruta);
            
	xcoor = null;
	ycoor = null;
        
	xmin = 0;
	ymin = 0;
}


function empiezaZoom(x,y) 
{
	pulsando = true;
	xcoor=x;
	ycoor=y;
	return false;
}

function paraZoom(x,y) 
{
	pulsando=false;
        
	if (x != xcoor || y != ycoor)
            pulsaMapa(x,y,ruta);
            
	xcoor = null;
	ycoor = null;
	xmin = 0;
	ymin = 0;
        
	ocultarLayer("zoomarriba");
	ocultarLayer("zoomizqda");
	ocultarLayer("zoomabajo");
	ocultarLayer("zoomdcha");
  
}

function dibujaZoom(x,y) 
{
	if ((x > parent.visor.anchoVentana) || (y > parent.visor.altoVentana) || (x <= 0) || (y <= 0)) 
        {
		paraZoom(x,y);
	} 
        else 
        {
            mostrarLayer("zoomarriba");
            mostrarLayer("zoomizqda");
            mostrarLayer("zoomabajo");
            mostrarLayer("zoomdcha");
            if (pulsando) 
            {
                    if (x < xcoor) 
                    {
                            var izqda = x;
                            var dcha = xcoor;
                    } 
                    else
                    {
                            var izqda = xcoor;
                            var dcha = x;
                    }
                    if (y < ycoor) 
                    {
                            var arriba = y;
                            var abajo = ycoor;
                    }
                    else 
                    {
                            var arriba = ycoor;
                            var abajo = y;
                    }
                    recortaLayer("zoomarriba",izqda,arriba,dcha,parseInt(arriba+1));
                    recortaLayer("zoomabajo",izqda,abajo,dcha,parseInt(abajo+1));
                    recortaLayer("zoomdcha",dcha,arriba,parseInt(dcha+1),abajo);
                    recortaLayer("zoomizqda",izqda,arriba,parseInt(izqda+1),abajo);
    
            }
	}
	return false;
}

function getLayer(nombre) 
{
	//devuelve layer de visor
	if (esNetscape4)
		return(parent.visor.document.layers[nombre]);
	else if (esIE4) 
        {
		layer = eval('parent.visor.document.all.' + nombre + '.style');
		return(layer);
	}
        else if (es5osuperior) 
        {
		var theObj = parent.visor.document.getElementById(nombre);
		return theObj.style;
	}
	else
		    return(null);
}

function mostrarLayer(nombre) 
{
  	var layer = getLayer(nombre);
        
  	if (esNetscape4)
        {
            layer.visibility = "show";
        }
	else
            layer.visibility = "visible";
}

function ocultarLayer(nombre) 
{
  	var layer = getLayer(nombre);
        
  	if (esNetscape4)
            layer.visibility = "hide";
	else
            layer.visibility = "hidden";
}

function recortaLayer(nombre, clipizqda, cliparriba, clipdcha, clipabajo) 
{
	  var layer = getLayer(nombre);
          
	  if (esNetscape4) 
          {
                layer.clip.left   = parseInt(clipizqda);
                layer.clip.top    = parseInt(cliparriba);
                layer.clip.right  = parseInt(clipdcha);
                layer.clip.bottom = parseInt(clipabajo);
	  }
	  else
          {
	      var nuevoAncho = clipdcha - clipizqda;
	      var nuevoAlto = clipabajo - cliparriba;
	      layer.height = nuevoAlto;
	      layer.width = nuevoAncho;
	      layer.top	= cliparriba  + "px";
	      layer.left = clipizqda + "px";
	  }

}

function escribeEnLayer(nombreLayer,codigoHTML)
{
	if (esNetscape4) 
        {
	    var layer = getLayer(nombreLayer);
            layer.document.open();
            layer.document.writeln(codigoHTML);
            layer.document.close();
        }
        else if (esIE4) 
        {
	    var str = "parent.visor.document.all." + nombreLayer + ".innerHTML = '" + codigoHTML + "'";
	    eval(str);
	}
        else if (es5osuperior) 
        {
            var layer = parent.visor.document.getElementById(nombreLayer);
                        
            layer.innerHTML = codigoHTML;
        }
}

function mueveLayer(nombreLayer,x, y)
{
	var layer = getLayer(nombreLayer);
    
	if (esNetscape4) 
            layer.moveTo(x,y);
	else 
        {
            layer.left=x+"px";
            layer.top=y+"px";
        }
}

function cargaInformacion (informacion) 
{
	//no se usa getLayer porque la layer está en arriba, no en visor
	if (esNetscape4) 
        {
		var capa = document.layers["informacion"];
		capa.document.open();
		capa.document.write(informacion);
		capa.document.close();
	}
        else if (esIE4) 
        {
		var capa =document.all.informacion;
		capa.innerHTML = informacion;
	}
        else if (es5osuperior) 
        {
		var capa = document.getElementById("informacion");
		capa.innerHTML = informacion;
	}

}

function enviar(nombre)
{
	cadena = 'parent.visor.document.forms["' + nombre + '"].submit()';
	eval(cadena);
	//mostrarLayer("cargando_mapa");

           
        if (esNetscape) parent.visor.releaseEvents(Event.MOUSEDOWN);
            parent.visor.document.onmousedown = dummy;
}

//sporras: función que oculta la capa (div) con la imagen de 'Cargando datos...' al entrar en la imagen del mapa.
function ocultaCargando()
{
    parent.visor.document.all['fondoblanco'].all['cargando-logo'].style.visibility='hidden';
}

function dummy()
{

}

