// Script.: Ventanas con paginas msviles
// Autor..: Fernando Rodrmguez Sela
// Fecha..: 01 - 04 - 2001
// Rev....: 16 - 07 - 2003
// Puede ser copiado y usado siempre y cuando se deje este comentario
// Si detecta algzn error o incompatibilidad agradecerma que me
// lo comunicase <polo4888@terra.es>

////////////////////////////////////////////////////////////////////////////
// Variables globales

var pages = new Array();	// Paginas a mostrar
var mainWindow;			// Ventana principal
var pag_actual;			// Indicar la pagina actual ...
var Velocidad;			// Velocidad de desplazamiento (0 parado, negativas bajar, positivas subir)
var Tiempo;			// Intervalo entre los movimientos ...

////////////////////////////////////////////////////////////////////////////
// Constantes

var Despacio = 10;		// Desplazamiento lento
var Rapido = 35;		// Desplazamiento rapido

////////////////////////////////////////////////////////////////////////////
// Inicializacisn

// Inicializar la ventana de control
function init_window(ventana, time) {
	// Inicializamos variables
	mainWindow = ventana;

	Tiempo = time;

	Velocidad = 0;	// Empezamos estando parados
	pag_actual = 0;	// Inicialmente no hay paginas ...
} // Init_window()

// Cargar pagina
function add_page(numero, capa) {
	// Inicializamos variables
	pages[numero] = capa;

	if(document.getElementById) {		// Standard
		document.getElementById(pages[numero]).style.posTop = 0;
	} else if(document.layers) {		// Netscape
		document.layers[mainWindow].layers[pages[numero]].top = 0;
	} else if(document.all) {		// Explorer
		pages[numero].style.top = 0;
	}
} // add_page()

////////////////////////////////////////////////////////////////////////////
//Control

// Poner todas las paginas al inicio
function reset_paginas() {
	for(i=0; i<pages.length; i++) {
		if(document.getElementById) {		// Standard
			document.getElementById(pages[i]).style.posTop = 0;
		} else if(document.layers) {		// Netscape
			document.layers[mainWindow].layers[pages[i]].top = 0;
		} else if(document.all) {		// Explorer
			pages[i].style.top = 0;
		}
	}
}

// Escribir un consejo aleatorio en la capa
function desplaza() {
	// Desplazamos la pagina actual ...
	if(document.getElementById) {		// Standard
		pos = new String(document.getElementById(pages[pag_actual]).style.top);
		// pos = "0px" debemos quitar el px
		pos=pos.substr(0,pos.length-2);
		document.getElementById(pages[pag_actual]).style.top = pos - Velocidad;
	} else if(document.layers) {		// Netscape
		document.layers[mainWindow].layers[pages[pag_actual]].top -= Velocidad;
	} else if(document.all) {		// Explorer
		pages[pag_actual].style.top = parseInt(pages[pag_actual].style.top) - Velocidad;
	}
} // desplaza()

// Mostrar y ocultar capas dependientes de ventana
function muestra_wnd(capa) {
	if(document.getElementById) {		// Standard
		document.getElementById(capa).style.visibility = "visible";
	} else if(document.layers) {		// Netscape
		document.layers[mainWindow].layers[capa].visibility = "show";
	} else if(document.all) {		// Explorer
		capa.style.visibility = "visible";
	}
}

function oculta_wnd(capa) {
	if(document.getElementById) {		// Standard
		document.getElementById(capa).style.visibility = "hidden";
	} else if(document.layers) {		// Netscape
		document.layers[mainWindow].layers[capa].visibility = "hide";
	} else if(document.all) {		// Explorer
		capa.style.visibility = "hidden";
	}
}

// Cambiar de pagina
function cambia_pagina(num) {
	pag_actual = num;

	// Recolocamos todas las paginas
	reset_paginas();

	// Ocultamos las anteriores y mostramos esta
	for(i=0; i<pages.length; i++) {
		oculta_wnd(pages[i]);
	}

	muestra_wnd(pages[pag_actual]);
}

////////////////////////////////////////////////////////////////////////////
// Automatizacisn de las ventanas ...

// Mover la pagina actual a la velocidad indicada ...
function mueve() {
	desplaza();

	// Volvemos a llamar en "oTime" milisegundos
	window.setTimeout('mueve()',Tiempo);
} // mueve()

// Iniciar movimiento cada cierto tiempo
function arrancar_movimiento() {
	// Arrancamos cambios temporales
	mueve();
} // arrancar_movimiento()
