<!-- CUIDADO ESTE FICHERO HAY QUE GUARDARLO CON ISO 8859-1 -->
<!--
/*** simpleFindObj, by Andrew Shearer
Efficiently finds an object by name/id, using whichever of the IE,
classic Netscape, or Netscape 6/W3C DOM methods is available.
The optional inLayer argument helps Netscape 4 find objects in
the named layer or floating DIV. */
//-->
function simpleFindObj(name, inLayer) 
{
	return document[name] || (document.all && document.all[name])
	|| (document.getElementById && document.getElementById(name))
	|| (document.layers && inLayer && document.layers[inLayer].document[name]);
}

<!--
/*** Implementation of clockWriteToDiv function by Andrew Shearer. */
//-->
function divWrite(div, input)
{
	var div_x = simpleFindObj(div);
	input = input;
	if (div_x && div_x.innerHTML) 
	{
		div_x.innerHTML = input;
	}
	else if (div_x && div_x.document) 
	{
		div_x.document.writeln(input);
		div_x.document.close();
	}
} 

// Variables globales usadas
var locale = "es";
var diaDeLaSemana;
var mes;

var dias_pt = new Array ("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sabado");
var mes_pt = new Array ("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");

var dias_es = new Array ("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado");
var mes_es = new Array ("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");

var dias_en = new Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var mes_en = new Array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

var milisegundos = new Array(4);

var marcadorTooltip = null;

function mostrar(texto, capa) 
{
	divWrite(capa, texto);
}

function construirFechaHora(day, date, month, year, hour, minute, second, layerDate, layerTime) {

	var yearString;
	
	if (year < 10) {
		yearString =  "0"+year;
	} else {
		yearString = year;
	}
	
	mostrar(diaDeLaSemana[day] + ", " + date + " " + mes[month] + " 20" + yearString, layerDate);
	mostrar(hour + ":" + minute + ":" + second , layerTime);

}


// RELOJ 24 HORAS 

function formatea(i){
	
	if (i < 0){
		i=11;
	} else if (i < 10) {
		i = "0" + i;
	}
	return i
}
function obtenerLinkACiudad() {
	// Construir link base
	link = document.servertime.linkBaseCity.value + "city_id=" + codCiudad;
	link = "<a href=\"" + link + "\">" + document.servertime.linkBaseText.value + "</a>";
	
	return link;
}

function inicializaHoraRemotaPaginaInicio( index, datosCiudadElegida ){
	 
	datos = datosCiudadElegida.split("|");

	diferenciaMiliSegundos = datos[0];
	codCiudad = datos[1];
	gmt = datos[2];
	
	milisegundos[index] = parseFloat(milisegundos[0]) + parseFloat(diferenciaMiliSegundos);
	
	mostrar(gmt,"gmt2");
	link = obtenerLinkACiudad();
	mostrar(link,"link2");
}

function inicializaHoraRemota( index, diferenciaMiliSegundos ){
	
	milisegundos[index] = parseFloat(milisegundos[0]) + parseFloat(diferenciaMiliSegundos);

}

function actualizarMarcador(marcador) {

marcadorTooltip=marcador;

inicializaHoraRemota(2,marcadorTooltip.getTooltip()); // Tooltip contiene la diferencia horaria
}

function quitarMarcador() {

inicializaHoraRemota(2,-1);
}

function actualizar(){

	// Index = 0 Hora en el servidor
	// Index = 1 Hora local
	// Index = 2 Hora remota
	
	index = 0;
	
	do {
		milisegundos[index] = (parseFloat(milisegundos[index]) + 1000); 
		
		if (index > 0) { 
			if (index == 1)
				muestraHora(index,"fecha"+index, "hora"+index, 0); // Hora local usar ajuste horario de JS
			if (index == 2)
				muestraHora(index,"fecha"+index, "hora"+index, 1); // Hora remota usar UTC para evitar ajuste horario JS
		}
		
		if (index == 2 && marcadorTooltip != null) {
		
			muestraHora(index,"fechaTooltip"+marcadorTooltip.getName(), "horaTooltip"+marcadorTooltip.getName(),1); // Muestro la fecha y hora en el tooltip
			
		}
		
		index++;
	} while (milisegundos[index]>0);
	    
	setTimeout("actualizar()",1000) 
}

function muestraHora(index, capaFecha, capaHora, UTC) {

	fechaHora = new Date(milisegundos[index]);

	if (UTC==0) {
		construirFechaHora( fechaHora.getDay(), fechaHora.getDate(), fechaHora.getMonth(), fechaHora.getYear()%100,
					formatea(fechaHora.getHours()), formatea(fechaHora.getMinutes()), formatea(fechaHora.getSeconds()), capaFecha, capaHora);
	} else {
		construirFechaHora( fechaHora.getUTCDay(), fechaHora.getUTCDate(), fechaHora.getUTCMonth(), fechaHora.getYear()%100,
					formatea(fechaHora.getUTCHours()), formatea(fechaHora.getUTCMinutes()), formatea(fechaHora.getUTCSeconds()), capaFecha, capaHora);
	}
}

function IniciarReloj24() { 
	
	i18n();
	
	milisegundos[0] = document.servertime.miliSegundos.value;
	
	milisegundos[1] = document.servertime.miliSegundos.value;
	
	actualizar();	
 } 
 
 function IniciarRelojes24() { 
	
	i18n();
	
	milisegundos[0] = document.servertime.miliSegundos.value;
	
	milisegundos[1] = document.servertime.miliSegundos.value;
	
	milisegundos[2] = document.servertime.miliSegundosRemoto.value;
	
	actualizar();	
 }
 
 function  i18n() {
	
	locale = document.lang.locale.value;
	if (locale.substring(0,2)=='es') { 
		diaDeLaSemana = dias_es; 
		mes = mes_es;
	} else if (locale.substring(0,2)=='en') {
		diaDeLaSemana = dias_en;
		mes = mes_en;
	} else if (locale.substring(0,2)=='pt') {
		diaDeLaSemana = dias_pt;
		mes = mes_pt;
	}else {
		diaDeLaSemana = dias_en;
		mes = mes_en;
	}
	
 }