
// RealCLOCK 5.2 - Programado por Gerardo Couso (www.gexunion.com) - 18 de Mayo de 2009 

// Desplegar HORA en Tiempo-Real con el formato "hh:mm" 
// Invocación inicial desde HTML: <BODY OnLoad="RealTime();"> 
// Area de despliegue en HTML:    <DIV ID="Clock" STYLE="POSITION:Relative; TOP:0; LEFT:0"></DIV>
// Declarar Class Style Sheet:    "Time" 
// OK!
function RealTime()
{ // Inicializar variables 
  var Stamp = new Date();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds();

  // Agregar un "0" a la izquierda de Horas y Minutos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  }

  // Desplegar formato "hh:mm" en el layer DIV "Clock"
  Clock.innerHTML = "<SPAN Class=Time>" + Hours + ":" + Mins + "</SPAN>"; 

  // Calcular cuantos mili-segundos faltan para el próximo minuto exacto
  Delay = 60000 - (Secs * 1000);

  // Volver a ejecutar la función "RealTime()" con un Delay para sincronizar 
  setTimeout("RealTime()",Delay); 
}


// Desplegar HORA en Tiempo-Real con el formato "hh:mm:ss" 
// Invocación inicial desde HTML: <BODY OnLoad="RealTimeSec();"> 
// Area de despliegue en HTML:    <DIV ID="Clock" STYLE="POSITION:Relative; TOP:0; LEFT:0"></DIV>
// Declarar Class Style Sheet:    "Time" 
// OK!
function RealTimeSec()
{ // Inicializar variables 
  var Stamp = new Date();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds();

  // Agregar un "0" a la izquierda de Horas, Minutos y Segundos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  }
  if (Secs  < 10) { Secs  = "0" + Secs;  } 

  // Desplegar formato "hh:mm:ss" en el layer DIV "Clock"
  Clock.innerHTML = "<SPAN Class=Time>" + Hours + ":" + Mins + ":" + Secs + "</SPAN>"; 

  // Definir Delay en mili-segundos
  Delay = 1000;

  // Volver a ejecutar la función "RealTimeSec()" con un Delay para sincronizar
  setTimeout("RealTimeSec()",Delay); 
}


// Desplegar FECHA y HORA en Tiempo-Real con el formato "dd-mmm-aaaa · hh:mm" 
// Invocación inicial desde HTML: <BODY OnLoad="RealDateTime();">   
// Area de despliegue en HTML:    <DIV ID="Clock" STYLE="POSITION:Relative; TOP:0; LEFT:0"></DIV>
// Declarar Class Style Sheet:    "Date" & "Time"
// OK!
function RealDateTime()
{ // Inicializar variables 
  var Names = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC"); 	
  var Stamp = new Date();
  var Year  = Stamp.getYear();
  var Month = Stamp.getMonth();
  var Day   = Stamp.getDate();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds(); 

  // Ajustar Año (aa, 1aa -> aaaa) 
  if (Year <= 99)  { Year += 2000; } 
  if (Year <= 199) { Year += 1900; } 

  // Agregar un "0" a la izquierda de Día
  if (Day < 10) { Day = "0" + Day; }

  // Agregar un "0" a la izquierda de Horas y Minutos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  }

  // Desplegar formato "dd-mmm-aaaa · hh:mm" en el layer DIV "Clock"
  Clock.innerHTML = "<SPAN Class=Date>" + Day + "-" + Names[Month] + "-" + Year + " · " + "</SPAN>" + 
                    "<SPAN Class=Time>" + Hours + ":" + Mins + "</SPAN>"; 
  
  // Calcular cuantos mili-segundos faltan para el próximo minuto exacto
  Delay = 60000 - (Secs * 1000);

  // Volver a ejecutar la función "RealDateTime()" con un Delay para sincronizar 
  setTimeout("RealDateTime()",Delay); 
}


// Desplegar FECHA y HORA en Tiempo-Real con el formato "dd-mmm-aaaa · hh:mm:ss" 
// Invocación inicial desde HTML: <BODY OnLoad="RealDateTimeSec();">   
// Area de despliegue en HTML:    <DIV ID="Clock" STYLE="POSITION:Relative; TOP:0; LEFT:0"></DIV>
// Declarar Class Style Sheet:    "Date" & "Time"
// OK!
function RealDateTimeSec()
{ // Inicializar variables 
  var Names = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC"); 
  var Stamp = new Date();
  var Year  = Stamp.getYear();
  var Month = Stamp.getMonth();
  var Day   = Stamp.getDate();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds(); 

  // Ajustar Año (aa, 1aa -> aaaa) 
  if (Year <= 99)  { Year += 2000; } 
  if (Year <= 199) { Year += 1900; } 

  // Agregar un "0" a la izquierda de Día
  if (Day < 10) { Day = "0" + Day; }

  // Agregar un "0" a la izquierda de Horas, Minutos y Segundos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  }
  if (Secs  < 10) { Secs  = "0" + Secs;  } 

  // Desplegar formato "dd-mmm-aaaa · hh:mm:ss" en el layer DIV "Clock"
  Clock.innerHTML = "<SPAN Class=Date>" + Day + "-" + Names[Month] + "-" + Year + " · " + "</SPAN>" + 
                    "<SPAN Class=Time>" + Hours + ":" + Mins + ":" + Secs + "</SPAN>"; 
  
  // Definir Delay en mili-segundos
  Delay = 1000;

  // Volver a ejecutar la función "RealDateTimeSec()" con un Delay para sincronizar
  setTimeout("RealDateTimeSec()",Delay); 
}


// Retornar valor de HORA con el formato "hh:mm[:ss]" en una cadena de caracteres
// Invocación desde HTML: <SCRIPT language="JavaScript"> formulario.hora.value=StampTime('SECONDS'); </SCRIPT>
// No es necesario declarar ningún CSS especial
// OK!
function StampTime(format)
{ // Inicializar variables 
  var Stamp = new Date();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds();

  // Agregar un "0" a la izquierda de Horas, Minutos y Segundos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  } 
  if (Secs  < 10) { Secs  = "0" + Secs;  } 

  // Distinguir formato 
    if (format == 'SECONDS')
       { // Retornar formato "hh:mm:ss"
         return (Hours + ":" + Mins + ":" + Secs); 
       } 
  else { // Retornar formato "hh:mm"
         return (Hours + ":" + Mins);
       } 
}


// Retornar valor de FECHA con los formatos "dd.mm.aaaa" o "29 de Diciembre de 2007" en una cadena de caracteres
// Invocación desde HTML: <SCRIPT language="JavaScript"> formulario.fecha.value=StampDate('FULL'); </SCRIPT>
// No es necesario declarar ningún CSS especial
// OK!
function StampDate(format)
{ // Inicializar variables 
  var Names = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");  
  var Stamp = new Date();
  var Year  = Stamp.getYear();
  var Month = Stamp.getMonth();
  var Day   = Stamp.getDate();

  // Ajustar Año (aa, 1aa -> aaaa) 
  if (Year <= 99)  { Year += 2000; } 
  if (Year <= 199) { Year += 1900; } 

  // Distinguir formato 
    if (format == 'FULL')
       { // Retornar formato "29 de Diciembre de 2007"
         return (Day + " de " + Names[Month] + " de " + Year); 
       }
  else { // Ajustar Mes (0..11 -> 1..12)
         Month += 1;

         // Agregar un "0" a la izquierda de Mes y Día
         if (Month < 10) { Month = "0" + Month; }
         if (Day   < 10) { Day   = "0" + Day;   }

         // Retornar formato "dd/mm/aaaa"
         return (Day + "." + Month + "." + Year); 
       }
}


// Retornar valores de FECHA y HORA con el formato "dd-mmm-aaaa · hh:mm[:ss]" en una cadena de caracteres
// Invocación desde HTML: <SCRIPT language="JavaScript"> formulario.fechahora.value=StampDateTime('SECONDS'); </SCRIPT>
// No es necesario declarar ningún CSS especial
// OK!
function StampDateTime(format)
{ // Inicializar variables 
  var Names = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC"); 
  var Stamp = new Date();
  var Year  = Stamp.getYear();
  var Month = Stamp.getMonth();
  var Day   = Stamp.getDate();
  var Hours = Stamp.getHours();
  var Mins  = Stamp.getMinutes();
  var Secs  = Stamp.getSeconds();

  // Ajustar Año (aa, 1aa -> aaaa) 
  if (Year <= 99)  { Year += 2000; } 
  if (Year <= 199) { Year += 1900; } 

  // Agregar un "0" a la izquierda de Día 
  if (Day < 10) { Day = "0" + Day; }

  // Agregar un "0" a la izquierda de Horas, Minutos y Segundos
  if (Hours < 10) { Hours = "0" + Hours; }
  if (Mins  < 10) { Mins  = "0" + Mins;  }
  if (Secs  < 10) { Secs  = "0" + Secs;  } 

  // Distinguir formato 
    if (format == 'SECONDS')
       { // Retornar formato "dd-mmm-aaaa · hh:mm:ss"
         return (Day + "-" + Names[Month] + "-" + Year + " · " + Hours + ":" + Mins + ":" + Secs); 
       } 
  else { // Retornar formato "dd-mmm-aaaa · hh:mm"
         return (Day + "-" + Names[Month] + "-" + Year + " · " + Hours + ":" + Mins); 
       }
}

// Final de Archivo

