// ----------------------------------------------------------------------------
// ------------------ Librería de gestión de capas ----------------------------
// --------------------------------------------------------- (c) 2004 IDOM(JRF)

// ----------------------------------------------------------------------------
// Constantes.
// ----------------------------------------------------------------------------

// Navegadores.
var MSIE = 1;
var NETSCAPE4 = 2;
var NETSCAPE6 = 3;

// Plano de visualización de las capas.
var FONDO = 0;
var FRENTE = 1;

// ----------------------------------------------------------------------------
// Variables.
// ----------------------------------------------------------------------------
var nNavegador = MSIE; 			// Almacena el navegador que se está empleando.

// ----------------------------------------------------------------------------
// Funciones.
// ----------------------------------------------------------------------------

// Detecta el navegador empleado por el usuario.
function detectaNavegador()
{
	// Si el navegador empleado es MSIE.
	if(document.all)
		nNavegador = MSIE;

	// Si se trata de Netscape 4.
	else if(document.layers)
		nNavegador = NETSCAPE4;

	// Si es Netscape 6.
	else // if(document.getElementById)
		nNavegador = NETSCAPE6;
}

// ----------------------------------------------------------------------------
// Pinta una capa en las coordenadas especificadas.
// ----------------------------------------------------------------------------
function muestraCapa(nNombreCapa, nCoordenadaX, nCoordenadaY)
{
	// Según el navegador empleado.
	switch(nNavegador)
	{
		case MSIE:
		{
			eval("cp" + nNombreCapa + ".style.pixelLeft=" + nCoordenadaX);
			eval("cp" + nNombreCapa + ".style.pixelTop=" + nCoordenadaY);
			eval("cp" + nNombreCapa + ".style.visibility='visible'");
		}break;

		case NETSCAPE4:
		{
			eval("document.cp" + nNombreCapa + ".left=" + nCoordenadaX);
			eval("document.cp" + nNombreCapa + ".top=" + nCoordenadaY);
			eval("document.cp" + nNombreCapa + ".visibility='show'");
		}break;

		case NETSCAPE6:
		{
			eval("document.getElementById('cp" + nNombreCapa + "').style.left=" + nCoordenadaX);
			eval("document.getElementById('cp" + nNombreCapa + "').style.top=" + nCoordenadaY);
			eval("document.getElementById('cp" + nNombreCapa + "').style.visibility='visible'");
		}
	}

	// Trae la capa a primer plano.	
	ajustaPlanoCapa(nNombreCapa, FRENTE);
}

// ----------------------------------------------------------------------------
// Oculta la capa pasada como parámetro.
// ----------------------------------------------------------------------------
function ocultaCapa(nNombreCapa)
{
	// Según el navegador empleado.
	switch(nNavegador)
	{
		case MSIE: eval("cp" + nNombreCapa + ".style.visibility='hidden'");break;
		case NETSCAPE4:	eval("document.cp" + nNombreCapa + ".visibility='hide'");break;
		case NETSCAPE6: eval("document.getElementById('cp" + nNombreCapa + "').style.visibility='hidden'");
	}
}

// ----------------------------------------------------------------------------
// Ajusta el plano de visión de la capa pasada como parámetro.
// ----------------------------------------------------------------------------
function ajustaPlanoCapa(nNombreCapa, nPlano)
{
	switch(nNavegador)
	{
		case MSIE: eval("cp" + nNombreCapa + ".style.zIndex= " + nPlano);break;
		case NETSCAPE4: eval("document.cp" + nNombreCapa + ".zIndex=" + nPlano);break;
		case NETSCAPE6: eval("document.getElementById('cp" + nNombreCapa + "').style.zIndex=" + nPlano);
	}
}

// ----------------------------------------------------------------------------
// Oculta todas las capas del vector pasado como parámetro.
// ----------------------------------------------------------------------------
function ocultaTodasLasCapas(objVector)
{
	for(var nCont = 0; nCont < objVector.length; nCont++)
		ocultaCapa(objVector[nCont].nId);
}

// ----------------------------------------------------------------------------
// Oculta todas las indicaciones.
// ----------------------------------------------------------------------------
function ocultaTodasLasIndicaciones(objVector)
{
	ocultaCapa("HastaTilos");
	ocultaCapa("DesdeTilos");
	ocultaCapa("DesdeArins");
	ocultaCapa("HastaArins");
	ocultaCapa("DesdeBarcia");
	ocultaCapa("HastaBarcia");
}

// ----------------------------------------------------------------------------
// Obtiene la coordenada izquierda de la capa pasada como parámetro.
// ----------------------------------------------------------------------------
function obtenCoordenadaIzquierda(nNombreCapa)
{
	var nIzq; // Coordenada izquierda.
	
	// Según el navegador empleado.
	switch(nNavegador)
	{	
		case MSIE: nIzq = eval("cp" + nNombreCapa + ".style.pixelLeft");break;
		case NETSCAPE4:	nIzq = eval("document.cp" + nNombreCapa + ".left");break;
		case NETSCAPE6: nIzq = eval("document.getElementById('cp" + nNombreCapa + "').style.left");
	}

	// Valor de retorno.
	return(nIzq);
}

// ----------------------------------------------------------------------------
// Obtiene la coordenada superior de la capa pasada como parámetro.
// ----------------------------------------------------------------------------
function obtenCoordenadaSuperior(nNombreCapa)
{
	var nSup; // Coordenada superior.
	
	// Según el navegador empleado.
	switch(nNavegador)
	{	
		case MSIE: nSup = eval("cp" + nNombreCapa + ".style.pixelTop");break;
		case NETSCAPE4:	nSup = eval("document.cp" + nNombreCapa + ".top");break;
		case NETSCAPE6: nSup = eval("document.getElementById('cp" + nNombreCapa + "').style.top");
	}

	// Valor de retorno.
	return(nSup);
}

// ----------------------------------------------------------------------------
// Devuelve si una capa existe o no.
// ----------------------------------------------------------------------------
function existeCapa(nNombreCapa)
{
	// Si no existe la intruccion eval produce error
	try
	{
		eval("cp" + nNombreCapa)
		return(true);
	}
	catch(e)
	{
		return(false);
	}
}

// ----------------------------------------------------------------------------
// Crea la capa donde se van a visualizar los sectores del mapa.
// ----------------------------------------------------------------------------
function creaMapaSector()
{
	document.write("<div id='dmapa' style='position:absolute; border:none; left:" + SECTOR_POSX + "; top:" + SECTOR_POSY +"'>");
	document.write("	<img src='imagenes/mapas/sectores_160/sector1.gif' border='1' name='mapa' width='669' height='462'>");
	document.write("</div>");
}

// ----------------------------------------------------------------------------
// Crea la capa donde se va a visualizar el mapa sectorial.
// ----------------------------------------------------------------------------
function creaDivisionMapaSectorial()
{
	document.write("<div><img src='imagenes/mapas/sectores_160/mapa_sectorial.gif' border='1' id='mapa_cacho' width='250' height='352' usemap='#mapa_menu' onMouseOver=cambiaPuntero('hand') onMouseOut=cambiaPuntero('default')></div>");
}

// ----------------------------------------------------------------------------
// Crea la capa donde se van a visualizar los sectores del mapa.
// ----------------------------------------------------------------------------
function creaMapaSector2()
{
	document.write("<div id='dmapa' style='position:absolute; border:none; left:" + SECTOR_POSX + "; top:" + SECTOR_POSY +"'>");
	document.write("	<img src='imagenes/mapas/sectores_40/zoom1.gif' border='1' name='mapa' width='669' height='462'>");
	document.write("</div>");
}

// ----------------------------------------------------------------------------
// Crea la capa donde se van a visualizar las capas con la ruta pintada.
// ----------------------------------------------------------------------------
function creaMapaSector3(bMostrarLinea)
{
	document.write("<div id='dlinea' style='position:absolute; border:none; left:" + SECTOR_POSX + "; top:" + SECTOR_POSY +"'>");
	
	if (bMostrarLinea)
		document.write("	<img src='imagenes/lineas/linea1/zoom9_.gif' name='patron' border='1' width='669' height='462' usemap='#mapa_zoom' onMouseOver=cambiaPuntero('imagenes/cursores/ampliar.cur') onMouseOut=cambiaPuntero('default') onError=document.patron.src='imagenes/spacer.gif'>");
	else
		document.write("	<img src='imagenes/mapas/sectores_40_parking/zoom9_.gif' name='patron' border='1' width='669' height='462' usemap='#mapa_zoom' onError=document.patron.src='imagenes/spacer.gif'>");
	document.write("</div>");
}

// ----------------------------------------------------------------------------
// Crea la capa donde se va a visualizar el mapa sectorial.
// ----------------------------------------------------------------------------
function creaDivisionMapaSectorial2()
{
	document.write("<div><img src='imagenes/mapas/zoom.gif' border='1' id='mapa_cacho' width='250' height='352' usemap='#mapa_menu' onMouseOver=cambiaPuntero('hand') onMouseOut=cambiaPuntero('default')></div>");
}

// ----------------------------------------------------------------------------
// Crea la capa donde se van a visualizar las líneas sobre el mapa sectorial.
// ----------------------------------------------------------------------------
function creaDivisionMapaSectorial3()
{
	document.write("<div style='position:absolute; border:none; left:16; top:190'>");
	document.write("	<img border='1' name='linea_completa' width='250' height='352' usemap='#mapa_menu' onMouseOver=cambiaPuntero('hand') onMouseOut=cambiaPuntero('default')></div>");
	document.write("</div>");
}