// *****************************************************************************
// *** Libreria:    Orologio Digitale                                        ***
// *** Versione:    3.0 del 07/01/2002                                       ***
// *** Descrizione: Orologio e datario digitale che si aggiornano in tempo   ***
// ***              reale. Le cifre sono rappresentate da immagini gif ed è  ***
// ***              possibile scegliere le informazioni da mostrare impostan-***
// ***              do opportunamente la stringa passata alla funzione       ***
// ***              Orologio_StrStart nella quale ciascun carattere racchiuso***
// ***              tra il simbolo '§' viene sostituito dalle seguenti       ***
// ***              informazioni:                                            ***
// ***               'D' Giorno del mese         'h' Ora                     ***
// ***               'M' Numero del mese         'm' Minuti                  ***
// ***               'Y' Anno a 4 cifre          's' Secodi                  ***
// ***               'y' Anno a 2 cifre          '_' Sfondo                  ***
// ***              Tutti gli altri caratteri sono rappresentati da file gif ***
// ***              nome dg_n dove n è il codice asci del carattere.         ***
// ***              Es. "max §h:m:s§" mostrerà max 03:02:56                  ***
// *** Copyright:   Massimo Marconi (m.marconi@libero.it)                    ***
// *** Licenza:     Questa routine può essere utilizzata gratuitamente in    ***
// ***              ogni progetto a condizione che sia data notifica a       ***
// ***              m.marconi@libero.it e che il codice non venga modificato.***
// ***              Le immagini gif possono invece essere modificate.        ***
// *** Note:        Testato con:                                             ***
// ***               - IE 5.0, 5.5                                           ***
// ***               - NS 4.78, 6.21                                         ***
// *****************************************************************************

// *****************************************************************************
// *** PARAMETRI DI PERSONALIZZAZIONE                                        ***
// *****************************************************************************

// # percorso dove si trovano:
//  - i file  gif di ciascuna cifra (dgX.gif x:0..9)
//  - il file gif del simbolo di separazione per la data (dgb.gif)
//  - il file gif del simbolo di separazione per l'ora (dgc.gif)
//  - il file gif del simbolo di cifra non impostata (dgv.gif)
path="news/immagini/home/Orologio";
// # oggetto document contenente le immagini
doc=document;

// *****************************************************************************
// *** NON MODIFICARE NULLA SOTTO QUESTA RIGA !                              ***
// *****************************************************************************

// Costanti 
orologio_ora_h   = 1;
orologio_ora_m   = 2;
orologio_ora_s   = 4;
orologio_data_d  = 8;
orologio_data_m  = 16;
orologio_data_y  = 32;
orologio_data_yy = 64;

// Variabili Globali
abilitato = 0
orologio_tv = 0;
path=path+"/dg_";
chblank=95;  // codice asci del carattere da usare per inizializzare (_)

// Browser sniffering ...
// abilitati: Mozilla/x con x>2
ident=navigator.userAgent;
if (ident.indexOf("Mozilla/",0) != -1) 
 if (eval(ident.substring (8,9))>2) 
  abilitato=1;

if (abilitato==1) {
 dg0=new Image(); dg0.src=path+"48.gif";
 dg1=new Image(); dg1.src=path+"49.gif";
 dg2=new Image(); dg2.src=path+"50.gif";
 dg3=new Image(); dg3.src=path+"51.gif";
 dg4=new Image(); dg4.src=path+"52.gif";
 dg5=new Image(); dg5.src=path+"53.gif";
 dg6=new Image(); dg6.src=path+"54.gif";
 dg7=new Image(); dg7.src=path+"55.gif";
 dg8=new Image(); dg8.src=path+"56.gif";
 dg9=new Image(); dg9.src=path+"57.gif";
 
 dgb=new Image(); dgb.src=path+"47.gif";
 dgc=new Image(); dgc.src=path+"58.gif";
 dgv=new Image(); dgv.src=path+"95.gif";
}

function Orologio_Refresh() {
 if ((abilitato==0) || (!doc.images))
  return;
 tipo = orologio_tv;

 var Tora=new Date();
 
 // Ore
 if (tipo & orologio_ora_h) {
  n=Tora.getHours();      // 0..23
  doc.images.ha.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.hb.src=eval("dg"+(n%10)+".src")
 } 
 // Minuti 
 if (tipo & orologio_ora_m) {
  n=Tora.getMinutes();    // 0..59 	
  doc.images.ma.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.mb.src=eval("dg"+(n%10)+".src")
 }
 // Secondi 
 if (tipo & orologio_ora_s)  {
  n=Tora.getSeconds(); 	  // 0..59
  doc.images.sa.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.sb.src=eval("dg"+(n%10)+".src")
 }
 
 // Giorno
 if (tipo & orologio_data_d) {
  n=Tora.getDate();      // 1..31	
  doc.images.dda.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.ddb.src=eval("dg"+(n%10)+".src")
 }
 // Mese
 if (tipo & orologio_data_m) {
  n=Tora.getMonth()+1; 	 // 1..12
  doc.images.mma.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.mmb.src=eval("dg"+(n%10)+".src")
 }
 // Anno 
 if ( (tipo & orologio_data_y) || (tipo & orologio_data_yy) ) {
  n=Tora.getYear(); 	
  if ( tipo & orologio_data_yy) {
   sec=Math.floor(n/100);
   doc.images.yya.src=eval("dg"+Math.floor(sec/10)+".src")
   doc.images.yyb.src=eval("dg"+(sec%10)+".src")	
  }
  n=n % 100;
  doc.images.yyc.src=eval("dg"+Math.floor(n/10)+".src")
  doc.images.yyd.src=eval("dg"+(n%10)+".src")
 }

 setTimeout("Orologio_Refresh()",1000)
}


function Orologio_StrDraw(st,dimx,dimy) {
 var i=0;
 var ch="";
 var chcod=0;
 var modo_replace=false;
 
 for (i=0; i<st.length; i++) {
  ch=st.charAt(i);
  if (ch=='§') 
   modo_replace=! modo_replace;
  else {
   // il carattere non è '§'	
   if (modo_replace) {
    // siamo in modalità replace	 
    switch (ch) {
     case 'D':doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='dda'>"+
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='ddb'>");  	
              orologio_tv=orologio_tv | orologio_data_d;
              break;   
     case 'M':doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='mma'>"+
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='mmb'>");
              orologio_tv=orologio_tv | orologio_data_m;          
              break;
     case 'Y': 
     case 'y':if (ch=='Y') {
               doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='yya'>"+
                         "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='yyb'>");            
               orologio_tv=orologio_tv | orologio_data_yy;                                 
              } 
              else            
               orologio_tv=orologio_tv | orologio_data_y;                                 
              doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='yyc'>"+
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='yyd'>");
              break;
                         
     case 'h':doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='ha'>"+ 
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='hb'>");
              orologio_tv=orologio_tv | orologio_ora_h;
              break;   
     case 'm':doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='ma'>"+ 
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='mb'>");
              orologio_tv=orologio_tv | orologio_ora_m;                      
              break;
     case 's':doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='sa'>"+ 
                        "<img height="+dimy+" width="+dimx+" SRC='"+path+chblank+".gif' NAME='sb'>");
              orologio_tv=orologio_tv | orologio_ora_s;                      
              break; 
     default: chcod=ch.charCodeAt(0);
              doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chcod+".gif' alt='"+ch+"_"+chcod+"'>");
              break;                      
    }
   }	
   else {
    // siamo in modalità inserimento   	 
    chcod=ch.charCodeAt(0);
    doc.write("<img height="+dimy+" width="+dimx+" SRC='"+path+chcod+".gif' alt='"+ch+"_"+chcod+"'>");
   }           
  } // carattere non §
 } // for	
}
