// JavaScript Document
<!-- ...

var textHttp = ""   ;
var requestAf = ""  ;
var requestCm = ""  ;
var Buf = ""        ;
var requestTp = 0   ;
// 0 = Init Dati
// 1 = Azzera oggetto info e carica dati calendario + schede
// 5 = carica e inscerisce dati in oggetto
// 10 = carica dati e forma tabella classifica se necessario
// 11 = carica dati e forma tabella classifica sempre
// 15 = carica dati in Arrey mem e inserisce mem[0] in oggetto
// 40 = carica dati in Arrey info NON visualizza altri dati
// 50 = carica dati in Arrey
// 55 = Abilita Scheda
var frame_xy = null ;
var Fr_info = false ;   // Oggetto Info Vuoto
var Fr_cat = false  ;   // Calendario vuoto
var Fr_cla = false  ;   // Classifica vuoto
var FC_ok  = 0      ;   // Compilazione dati x tabella podisti
var Fr_se = 0       ;   // Lettura File Terminata
var mva = 0         ;   // Posizione lettura mem

var opt = new Array()   ;
var nt  =  0            ;
var ns  =  0            ;
var np  =  0            ;
var pd  =  0            ;
var lm  = ""            ;
var Rn  =  0            ;
var wr  =  0            ;
var strTabe = new Array(); // variabili per formazione Tabelle PreDatate
var strTop = new Array();  // variabili per formazione classifica
var anni = ""           ;
var anno = ""           ;
var mese = ""           ;
var giorno = ""         ;
var luogo = ""          ;
var corsa = ""          ;
var inout = ""          ;
var nupo = ""           ;
var tkp  = ""           ;
var ct = ""             ;  // classifica LATIGRE
var ck = ""             ;  // classifica x Km
var ca = ""             ;  // classifica alfabeto
var cls = 0             ;  // modo operandi
var podista = new Array() ;
var pod = new Array()     ;
var FC_mese = new Array()       ;  // mese
var FC_giorno = new Array()     ;  // giorno
var FC_luogo = new Array()      ;  // luogo
var FC_corsa = new Array()      ;  // corsa
var FC_nc = new Array()         ;  // Corse NON in calendario
var FC_nupo = new Array()       ;  // numero presenze podisti
var FC_tkp  = new Array()       ;  // Km totali presenze podisti
var FC_img   = ""       ;  // Ritratto (name)
var StrTable = ""       ;  // variabili per scheda personale
var StrMese  = ""       ;  // variabili per tabella personale
var Stampa = ""         ;  // variabili per Formattazione Stampa

var info = ""           ;
var cst = ""            ;  // Info classifica
var cat = ""            ;  // Catalogo
var fdi = ""            ;  // Foto Dia Image
var scm = ""            ;  // Menù per schede
var sce = new Array()   ;  // Schede
var mem = new Array()   ;
var dia = new Array()   ;
var stf = new Array()   ;
var foto = new Array()  ;
var cmd = new Array()   ;

var GR_da1 = new Array() ;  // Dati per formazione grafico
var GR_da2 = new Array() ;  // Dati per formazione grafico
var GR_da3 = new Array() ;  // Dati per formazione grafico
var GR_col = new Array() ;  // Dati per colore grafico
var col = "#FF3300" ; //colore linea
var St  = 0; // Start Top
var Sl  = 0; // Start Left
var Pen = 1; // Penna
var Rs  = 0; // Resto
var Fgr = 0; // Variabile x For-next
var gr  = ""; // Stringa Write Line
var Dm = false ; // Orientamento Linea false = Destra true = Sinistra

var browName = navigator.appName;  // Identificativo Broswer

function startSheet(FileName,Modo)
{
var getfile = true   ;
    if ((Modo > 11) && (Fr_info == false))
          {
          if (Modo < 50)
            {
            document.getElementById("info").innerHTML = info ;
            Fr_info = true   ;
            }
          }
    switch (Modo)
      {
      case  1  :   // Calendario
          document.getElementById("info").innerHTML = "" ;
          Fr_info = false   ;
          if (Fr_cat == true)
            {
            document.getElementById("centro").innerHTML = cat ;
            getfile = false   ;
            }
      break    ;
      case  2  :   // Storico
//          document.getElementById("info").innerHTML = "" ;
          Fr_info = false   ;
          Fr_cla  = false   ;
      break    ;

      case  10  :
          if (Fr_cla == true)
            {
            getfile = false   ;
            FormTable(0)      ;
            if (cst.length > 0) document.getElementById("info").innerHTML = cst ;
            }
          ct = ck = ""     ;
          Fr_info = false  ;
          Fr_cla  = true   ;
      break    ;
      case  11  :
          ct = ck = ""     ;
          Fr_info = false  ;
      break    ;
      default  :

      break    ;
      }
    if (getfile == true)
      {
      requestTp = Modo       ;
      requestAf = FileName   ;
      startRequest()         ;
      }
}
function startCmd(FileName,Modo,Cmd)
{
      requestTp = Modo       ;
      requestAf = FileName   ;
      requestCm = Cmd        ;
      startRequest()         ;
}
function createXMLHttpRequest()
{
    if (window.ActiveXObject)
        {
        textHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    else if (window.XMLHttpRequest)
        {
        textHttp = new XMLHttpRequest();
        }
}

function startRequest()
{
    createXMLHttpRequest();
    textHttp.onreadystatechange = handleStateChange;
    textHttp.open("GET", requestAf, true);
    textHttp.send(null);
}

function handleStateChange()
{
    se = 0 ;
    if(textHttp.readyState == 4)
        {
        if(textHttp.status == 0)
            {
            se = FormBuf()  ;
            }
        }
}

function FormBuf()
{
 var str = "" ;
 var nst = "" ;
 var Elm = "" ;
 var chx = "" ;
 var Cn = 10  ;
 var Tfk = 0  ;
 var x = 0    ;
 var slen = 0 ;
 var Ext = 0  ;
 var Fc = 0   ;

  Fr_cat = false   ;
  wr  =  0  ;
  nt  =  0  ;
  ns  =  0  ;
  np  =  0  ;
  FC_ok  = 0;
  Buf = textHttp.responseText;
  slen = Buf.length ;
  if (slen == 0)
    {
    return (0)  ;
    }

  while (Ext == 0)
    {
    if (x > slen) return(0) ;
    nst = Buf.charAt(x) ;
    switch (nst)
      {
      case  "{"  :
        Cn = 0   ;
        Elm = "" ;
        x += 1   ;
      break   ;
      case  "}"  :
        Cn  =  1  ;
        nt  =  0  ;
        ns  =  0  ;
        np  =  0  ;
      break   ;
      case  "["  :
        Cn = 2   ;
        str = "" ;
        x += 1   ;
      break   ;
      case  "]"  :
        Cn = 3   ;
      break   ;
      }
    chx = Buf.charAt(x) ;
    switch (Cn)
      {
      case  0 :
        Elm = Elm + chx  ;
      break   ;
      case  1 :
          if (Elm.charAt(0) == "*")
              {
              x = ReadData(x) ;
              if (wr ==1 )WriteTable('*') ;
              if (requestTp == 55) WriteScheda(requestCm) ;
              return(9)       ;
              }
          if (Elm == "END")
              {
              if (requestTp == 2)  FormStorico(0) ;
              if (requestTp == 10) FormTable(0) ;
              if (requestTp == 11) FormTable(0) ;
              if (requestTp >= 15)
                {
                if (requestTp < 25)document.getElementById('centro').innerHTML = mem[requestTp-15] ;
                }
              return(5) ;
              }
      break   ;
      case  2 :
        str = str + chx  ;
      break   ;
      case  3 :

          switch (Elm)
              {
              case  "top" :
                strTop[np] = str ;
                np += 1 ;
              break   ;
              case  "mese" :
                mese = str ;
              break   ;
              case  "giorno" :
                giorno = str ;
              break   ;
              case  "luogo" :
                luogo = str ;
              break   ;
              case  "corsa" :
                corsa = str ;
              break   ;
              case  "inout" :
                inout = str ;
              break   ;
              case  "tkp" :
                tkp = str ;
                Fc = FormArray(tkp)  ;
                document.getElementById('km').innerHTML = 'Anno ' + anno + ' Percorsi Km <font size=2 color=red>' + opt[2] + '</font>' ;
              break   ;
              case  "anno"  :
                anni = str  ;
                Fc = FormArray(str)  ;
                anno = opt[2] ;
              break   ;
              case  "ct"  :
                ct = str  ;
              break   ;
              case  "ck"  :
                ck = str  ;
              break   ;
              case  "ca"  :
                ca = str  ;
              break   ;
              case  "podista" :
                podista[np] = str ;
                pod[np] = str ;
                np += 1       ;
                pd = np       ;
              break   ;
              case  "nupo"  :
                nupo = str ;
              break   ;
              case  "info" :
                info = str     ;
                if ((requestTp == 0 ) || (requestTp == 40 ))
                    {
                    Fr_info = true ;
                    document.getElementById(Elm).innerHTML = str ;
                    }
                else
                    {
                    Fr_info = false;
                    }
              break   ;
              case  "cli" :
                    wr = 1   ;
                    Fr_info = false ;
                    cst = str   ;
                    document.getElementById("info").innerHTML = str ;
              break   ;
              case  "calendario" :
                  cat = str ;
                  Fr_cat = true   ;
                  if (requestTp < 55)document.getElementById('centro').innerHTML = str ;
              break   ;
              case  "scheda" :
                  sce[ns] = str ;
                  ns += 1          ;
              break   ;
              case  "dia" :
                  dia[ns] = str ;
                  ns += 1        ;
              break   ;
              case  "foto" :
                  foto[nt] = str ;
                  nt += 1        ;
              break   ;
              case  "cmd" :
                  cmd[np] = str ;
                  np += 1       ;
              break   ;
              case  "mem" :
                  mem[np] = str ;
                  np += 1       ;
              break   ;
              case  "img" :
                  FC_img = str ;
              break   ;
              default   :
                  if (requestTp < 40 )document.getElementById(Elm).innerHTML = str ;
              break   ;
              }
          Cn = 10  ;
      break   ;

      case  10 :

      break   ;
      }
    x += 1   ;
    }
  return(1) ;
}

function FormArray(Stringa)
{
 var str = "" ;
 var chx = "" ;
 var x   = 0  ;
 var slen = 0 ;
	for(x = 0; x < 10; x++) opt[x] = ""  ;
  nt = 0 ;
  slen = Stringa.length ;
  if (slen == 0) return (0) ;
	for(x = 0; x < slen; x++)
    {
    chx = Stringa.charAt(x) ;
    switch (chx)
      {
      case  ";" :
        nt += 1       ;
        opt[nt] = ""  ;
      break   ;
      case  "/" :
        if (Stringa.charAt(x+1) == ";")
          {
          opt[nt] = opt[nt] + ";"  ;
          x += 1 ;
          }
        else opt[nt] = opt[nt] + "/"  ;
      break   ;
      default :
      opt[nt] = opt[nt] + chx  ;
      break   ;
      }
    }
    opt[nt+1] = "" ;
    return(nt)
}
function StrLower(stringa)
{
 var str = "" ;
 var nst = "" ;
 var x=0  ;

 var slen = stringa.length   ;
 if (slen > 0 )
 {
 for (x = 0;x < slen;x++) 
    {
    nst = stringa.charAt(x) ;
    if (nst != " ") str += nst.toLowerCase() ;
    }
 }
return(str)   ;
}
function FormTable(type)
{
  var x = 0  ;
  var ts = 0 ;
  var cp = ""  ;

  if (type == 0) cp = ct ;
  if (type == 1) cp = ck ;
  if (type == 2) cp = ca ;
  
  if (cp.length == 0)
    {
    type = 0 ;
    }
  else
    {
    ts = FormArray(cp)  ;
  	for(x = 0; x < pd; x++)
	    {
	    pod[x] = podista[eval(opt[x])]  ;
      }
    }
  cls = type ;
  StrTable = '<table align="center"><tr><td>' + strTop[0] + '<table border = "1" cellspacing="0" cellpadding="0"><tr bgcolor="#feba1e" style="text-align:center;"><td width="30">Pos.</td><td width="140">Podista</td><td width="35">Gare</td><td width="40">Km</td><td width="30">GNC</td></tr>' ;
	for(x = 0; x < pd; x++)
	    {
	    FormArray(pod[x])    ;
		  StrTable += '<tr><td style="text-align:right;padding-right:8px;">' + (x+1) + '</td>'  +
		  '<td style="text-align:left;padding-left:5px;"><a href="javascript:FormCorse(' + x + ');">' + opt[0] + '</a></td>'  +
		  '<td style="text-align:right;padding-right:8px;">' + opt[1] + '</td>'  +
		  '<td style="text-align:right;padding-right:8px;">' + opt[2] + '</td>'  ;
		  if (eval(opt[3]) > 0 )
		    {
		    if (eval(opt[3]) > 10 ) StrTable = StrTable + '<td bgcolor="#FF8070" style="text-align:right;padding-right:8px;">' + opt[3] + '</td></tr>'  ;
        else StrTable += '<td bgcolor="#FFFF99" style="text-align:right;padding-right:8px;">' + opt[3] + '</td></tr>'  ;
        }
      else
		    {
		    StrTable += '<td style="text-align:right;padding-right:8px;"> .. </td></tr>'  ;
        }
      }
	StrTable += "</table><br></div>" ;
	StrTable += '<div class="sotto_pg"></div></td></tr></table>';
	document.getElementById("centro").innerHTML = StrTable ;
}

function FormCorse(scp)
{
  var TP_str  = ""            ; // dati inizio
  var TP_name = ""            ; // nome podista
  var TB_mese = new Array()   ;
  var TG_usc = new Array()    ; // uscita Giorno
  var TS_usc = new Array()    ; // uscita serale
  var TT_usc = new Array()    ; // uscita Totale
  var TN_usc = new Array()    ; // uscita Non a Calendario
  var TG_km  = new Array()    ; // km Giorno
  var TS_km  = new Array()    ; // km serale
  var TT_km  = new Array()    ; // km Totale
  var x   = 0 ;
  var Mx  = 0 ;
  var gnd = 0 ;
  var TR_col = "#FFFFFF"  ;
  var FC_frame = false ;

 	for(x = 0; x < 13; x++)
	    {
	    if (x<12) leggiMese(x+1)   ;
	    TB_mese[x] = lm  ;
	    TG_usc[x] = 0 ;
	    TS_usc[x] = 0 ;
	    TT_usc[x] = 0 ;
	    TN_usc[x] = 0 ;
	    TG_km[x] = 0 ;
	    TS_km[x] = 0 ;
	    TT_km[x] = 0 ;
	    }

  var me = 0 ;
  var tab_ini = "" ;
  var tab_end = "" ;
  var FC_pod = new Array()     ;  // Podista
  var FC = FormArray(pod[scp]) ;

	for(x = 0; x < FC; x++)
	    {
	    FC_pod[x] = opt[x] ;
	    }
  TP_str = '<table align="center"><tr><td><div class="top_pg"><table><tr><td width="150">Scheda Personale</td><td width="240"><a href="javascript:TabMesi(1);">Riepilogo</a></td>' +
  '<td><a href="javascript:FormTable('+ cls +');"><img src="home/0blt1.jpg" align="middle" height="10" width="10" hspace ="5"><font color="#CC0000">Re-Classifica</font></a></td></tr></table></div>' +
  '<div class="mezzo_pg"><div align="right"><img src="home/stampa_s.gif" align="middle" height="12" width="20" hspace = "5"><a href="javascript:printFrame();"><u>Versione per la stampa</u></a></div><hr align="center" size="1" width="100%" color="#FF3300">' ;
  StrTable = '<p class="blu">Scheda Personale Corse di <font color="#FF9900">' + opt[0] + '</font></p><br>' ;
  TP_name = opt[0];
  FC = FormDati() ;


  tab_ini = '<table border = "1" cellspacing="0" cellpadding="0" width="475" style="font-size:11px;"><tr bgcolor="#feba1e"><td width="25">Pos.</td><td width="35">Giorno</td><td width="150" style="text-align:center;">Luogo</td><td style="text-align:center;">Corsa</td><td width="30">Km</td></tr>' ;
	for(x = 0; x < FC; x++)
	    {

      if (FC_pod[x+4].length > 0)
        {
        if (me != FC_mese[x])
          {
          StrTable = StrTable + tab_end ;
          me = eval(FC_mese[x]) ;
          if (me > 0)
            {
            Mx = me  ;
            leggiMese(me)   ;
            StrTable = StrTable + lm + "<br>" + tab_ini ;
            tab_end = '</table>' ;
            }
          }
        if (eval(FC_nc[x]) == 0 )
          {
          TR_col = "#FFFFFF"  ;
          if (eval(FC_pod[x+4]) > 0 ) 
            {
            TG_usc[me - 1] += 1   ;  // giorno
            TG_km[me - 1] += eval(FC_pod[x+4])   ;  // km giorno
            }          
          }
        if (eval(FC_nc[x]) == 1 )
          {
          gnd += 1 ;
          if (gnd > 10) TR_col = "#FEC8C5"  ;
          else TR_col = "#FFFF99"  ;
          if (eval(FC_pod[x+4]) > 0 ) 
            {
            TG_usc[me - 1] += 1   ;  // giorno
            TN_usc[me - 1] += 1   ;  // NON a Calendario
            TG_km[me - 1] += eval(FC_pod[x+4])   ;  // km giorno
            }
          }
        if (eval(FC_nc[x]) == 2 )
          {   
          TR_col = "#CBFFFF"  ;
          if (eval(FC_pod[x+4]) > 0 )
            {
            TS_usc[me - 1] += 1   ;  // serale
            TS_km[me - 1] += eval(FC_pod[x+4])   ;  // km serale
            }
          }
          
        if (eval(FC_nc[x]) == 3 )
          {
          gnd += 1 ;
          if (gnd > 10) TR_col = "#FCE6C8"  ;
          else TR_col = "#FFCC00"  ;
          if (eval(FC_pod[x+4]) > 0 ) 
            {
            TS_usc[me - 1] += 1   ;  // serale
            TS_km[me - 1] += eval(FC_pod[x+4])   ;  // km serale
            TN_usc[me - 1] += 1   ;  // NON a Calendario
            }          
          }
        if (eval(FC_pod[x+4]) == 0 ) TR_col = "#FFFACD"  ;
		    StrTable += '<tr bgcolor=' + TR_col + '><td style="text-align:center;">' + (x+1) + '</td>' +
		    '<td style="text-align:center;">' + FC_giorno[x] + '</td>' +
		    '<td style="padding-left:5px;">' + FC_luogo[x] + '</td>'  +
		    '<td style="padding-left:5px;">' + FC_corsa[x] + '</td>' +
		    '<td style="text-align:center;">' + FC_pod[x+4] + '</td></tr>'  ;
        }
      }
  Stampa = StrTable + '</table>';
	StrTable += '</table><frame frameborder="yes" scrolling="auto" noresize="resize" id="stp" name="forPrint"></div>' +
	'<div class="sotto_pg"></div></td></tr></table>';
	StrTable = TP_str + StrTable ;
	document.getElementById("centro").innerHTML = StrTable ;
//  Formazione tabella mensile
  for(x = 0; x < 12; x++)
	    {
	    TT_usc[x] = TG_usc[x] + TS_usc[x]  ;   // Uscite totali mensili
	    TT_km[x] = TG_km[x] + TS_km[x]  ;      // Km totali mensili
	    }
  StrMese = '<table align="center"><tr><td><div class="top_pg" style = "BACKGROUND-IMAGE:url(home/sopra_tab_c.jpg);"><table><tr><td width="150"><a href="javascript:TabMesi(0);">Scheda Personale</a></td><td width="240">Riepilogo</td>' +
  '<td><a href="javascript:startSheet(' + "'dati/latigre.txt'" + ',10);"><img src="home/0blt1.jpg" align="middle" height="10" width="10" hspace ="5"><font color="#CC0000">Re-Classifica</font></a></td></tr></table></div>' +
  '<div class="mezzo_pg">'  + 
  '<p class="blu">Tabella Personale Corse di <font color="#FF9900">' + FC_pod[0] + '</font></p><br>' + 
  'Si rammenta al podista che può partecipare a gare diverse da quelle in calendario per un massimo di 10 corse. Superato questo limite NON vengono più conteggiate ai fini della classifica.<br><br>' +
  '<table width="470" align="center" border="1" cellspacing="0" cellpadding="0" style="font-size:11px;text-align:center;">' +
  '<tr bgcolor="#FFBD73"><td valign="top" colspan="8">Presenza corse e Km percorsi</td></tr>' +
  '<tr bgcolor="#FFBD73"><td width="110" rowspan="2">Mese</td><td width="105" colspan="2">Giorno</td><td width="105" colspan="2">Serale</td><td width="105"  colspan="2" bgcolor="#FFBD73">Totale</td><td width="45" rowspan="2" bgcolor="#FFFF99">NaC</td></tr>' +
  '<tr><td width="45" bgcolor="aquamarine">Pr</td><td width="60" bgcolor="aquamarine">Km</td><td width="45" bgcolor="aqua">Pr</td><td width="60" bgcolor="aqua">Km</td><td width="45" bgcolor="beige">Pr</td><td width="60" bgcolor="beige">Km</td></tr>' ;
  GR_col[0] = "forestgreen" ;
  GR_col[1] = "deepskyblue" ;
  GR_col[2] = "tomato" ;
  for(x = 0; x < 12; x++)
	    {
		  GR_da1[x] = TG_km[x]  ;
		  GR_da2[x] = TS_km[x]  ;
	    TG_usc[12] += TG_usc[x] ;
	    TS_usc[12] += TS_usc[x] ;
	    TT_usc[12] += TT_usc[x] ;
	    TN_usc[12] += TN_usc[x] ;
	    TG_km[12] += TG_km[x] ;
	    TS_km[12] += TS_km[x] ;
	    TT_km[12] += TT_km[x] ;
		  StrMese +=  '<tr><td style="padding-right:10px;text-align:right;">' + TB_mese[x] + '</td>'  ;
		  if (x < Mx)
		    {
		    StrMese += '<td bgcolor="aquamarine">' + TG_usc[x] + '</td>' + 
        '<td bgcolor="aquamarine">' + TG_km[x] + '</td>' + 
        '<td bgcolor="aqua">' + TS_usc[x] + '</td>' + 
        '<td bgcolor="aqua">' + TS_km[x] + '</td>' +
        '<td bgcolor="beige">' + TT_usc[x] + '</td>' + 
        '<td bgcolor="beige">' + TT_km[x] + '</td>' +
        '<td bgcolor="#FFFF99">' + TN_usc[x] + '</td>'  ;
        }
      else
		    {
		    StrMese += '<td>...</td>' + 
        '<td>...</td>' + 
        '<td>...</td>' + 
        '<td>...</td>' +
        '<td>...</td>' + 
        '<td>...</td>' +
        '<td>...</td>'  ;
        }
      }
		StrMese +=    '<tr bgcolor="#FFBD73"><td height=5 colspan="8"></td></tr>' +
    '<tr><td style="padding-right:10px;text-align:right;">Totale Anno</td>' +
		'<td bgcolor="aquamarine">' + TG_usc[12] + '</td>' + 
    '<td bgcolor="aquamarine">' + TG_km[12] + '</td>' + 
    '<td bgcolor="aqua">' + TS_usc[12] + '</td>' + 
    '<td bgcolor="aqua">' + TS_km[12] + '</td>' +
    '<td bgcolor="beige">' + TT_usc[12] + '</td>' + 
    '<td bgcolor="beige">' + TT_km[12] + '</td>' +
    '<td bgcolor="#FFFF99">' + TN_usc[12] + '</td>'  ;

  StrMese += '</table><br><p class="blu">Grafico</p><div id="linea" style="overflow:hidden;position:relative;width:475px;height:auto;"></div>' +
  '</div><div class="sotto_pg"></div></td></tr></table>' ;
  
  FC_frame = false ;  
  FC = FormArray(FC_img) ;
  for (x=0;x<FC;x++) if (opt[x] == TP_name) FC_frame = true ;
  TP_str  = '<p class="trx" >Le Pagine del Podista</p>' +
  '<p class="nota"><a href="javascript:FormCorse('+ scp +');">&bull; Tabella corse partecipate</a><br>' +
  '<a href="javascript:TabMesi(1);">&bull; Tabella Sintesi Anno</a></p>' ;
  if (FC_frame == true) TP_str  += '<img src="imgxdati/' + StrLower(TP_name) + '.jpg" hspace="10" alt="' + TP_name +'"><br><p class="nota" style="letter-spacing: 2px;color:#0000FF;">' + TP_name +'</p>' ;
  else TP_str  += '<p class="nota" style="letter-spacing: 2px;color:#0000FF;">' + TP_name +'</p>' ;
  TP_str  += '<div class="mnpk">' + TT_usc[12] + '</div>Presenze<br><div class="mnpk">' + TT_km[12] + '</div>Km percorsi' ;
  document.getElementById("tbn").innerHTML = TP_str;

}
function Presenze(Mode)
{
var Fd = FormDati()   ;
var tb = "'TabPre'"   ;
var StrTable = '<div class="top_pg" style="padding-top:5px;">Presenze</div><div class="mezzo_pg">' +
    '<p class="blu">Tabella presenze effettive Tigrotti</p>' +
    'La cella Presenze contiene la somma dei tigrotti che hanno partecipato alle varie corse, comprese anche quelle NON a CALENDARIO, nel rispetto della regola che il gruppo si è dato.<br>' +
    '<div id="linea" style="overflow:hidden;position:relative;width:475px;height:auto;"></div>';
var fine = '</div><div class="sotto_pg"></div>' ;
var tab_ini = '<table border = "1" cellspacing="0" cellpadding="0" width="475" style="font-size: 11px;"><tr bgcolor="#feba1e"><td width="30">Pos.</td><td width="35">Giorno</td><td style="text-align:center;">Luogo</td><td width="45" style="text-align:center;">Pres.</td><td width="60" style="text-align:center;">Km</td></tr>' ;
var tab_end = "" ;
var x = 0  ;
var px = 1 ;
var me = 0 ;
var dy = "" ;
var rdy = 0 ;

var Ftr = "" ;
var Flu = "" ;
var Fnu = 0  ;
var Fkp = FormArray(tkp)  ;
var Fcn = false ;

StrTable += '<p class="spe"><b>Anno ' + anno + ' - Presenze: ' + opt[1] + ' - Percorsi Km ' + opt[2] + '</b><br></p>';
Fkp = 0 ;
  // compilazione tabella presenze
	for(x = 0; x < Fd; x++)
	    {
      if (me != eval(FC_mese[x]))
        {
          me = eval(FC_mese[x]) ;
          if (me > 0)
            {
            if (Fcn == true)
              {
		          StrTable += '<tr><td style="text-align:center;">' + (px++) + '</td>' +
		          '<td style="text-align:center;">' + dy + '</td>' +
		          '<td style="padding-left:5px;">' + Flu + '</td>'  +
		          '<td style="padding-left:5px;">' + Fnu + '</td>'  +
		          '<td style="text-align:center;">' + Fkp + '</td></tr></table>'  ;		
              Fgr =+ 1 ;          
              }
            else StrTable = StrTable + tab_end ;
            Fcn = false ;
            rme = me  ;
            leggiMese(me)   ;
            StrTable = StrTable + lm + "<br>" + tab_ini ;
            tab_end = '</table>' ;
            dy = FC_giorno[x] ;

            Ftr = "" ;
            Flu = "" ;
		        Fnu = 0  ;
		        Fkp = 0  ;
            }
          }
        if (dy != FC_giorno[x])
          {
		      StrTable = StrTable + '<tr><td style="text-align:center;">' + (px++) + '</td>' +
		      '<td style="text-align:center;">' + dy + '</td>' +
		      '<td style="padding-left:5px;">' + Flu + '</td>'  +
		      '<td style="padding-left:5px;">' + Fnu + '</td>'  +
		      '<td style="text-align:center;">' + Fkp + '</td></tr>'  ;
          dy = FC_giorno[x] ;
          Flu = FC_luogo[x]  ;
          Ftr = " - "   ;
          Fnu = eval(FC_nupo[x])   ;
          Fkp = eval(FC_tkp[x])    ;
          Fcn = true ;
          }
        else
          {
          Flu = Flu + Ftr + FC_luogo[x]  ;
          Ftr = " - "   ;
          Fnu = Fnu + eval(FC_nupo[x])   ;
          Fkp = Fkp + eval(FC_tkp[x])    ;
          Fcn = true ;
          }
     }
     if (Fcn == true)
        {
		    StrTable = StrTable + '<tr><td style="text-align:center;">' + (px++) + '</td>' +
		    '<td style="text-align:center;">' + dy + '</td>' +
		    '<td style="padding-left:5px;">' + Flu + '</td>'  +
		    '<td style="padding-left:5px;">' + Fnu + '</td>'  +
		    '<td style="text-align:center;">' + Fkp + '</td></tr></table>'  ;
        }

     StrTable = StrTable + tab_end + fine  ;
	   document.getElementById("centro").innerHTML = StrTable ;
// Memorizo dati per grafico

Fgr = 0 ;
me = eval(FC_mese[0])   ;
dy = eval(FC_giorno[0]) ;
for(x = 0; x < Fd; x++)
  {
  GR_da1[x] = 0 ;
  GR_da2[x] = 0 ;
  }

for(x = 0; x < Fd; x++)
  {
	if ((me == eval(FC_mese[x])) && (dy == eval(FC_giorno[x])))
		{
	  switch (FC_nc[x])
      {
      case  "0"  :
      case  "2"  :
        GR_da1[Fgr] += eval(FC_nupo[x])   ;
      break      ;
      case  "1"  :
      case  "3"  :
        GR_da2[Fgr] += eval(FC_nupo[x])   ;
      break      ;
      }
	  }
	else
    {
    Fgr += 1 ;
    me = eval(FC_mese[x])   ;
    dy = eval(FC_giorno[x]) ;
    x -= 1 ;
    }
  }
Fgr += 1 ;
for(x = 0; x < Fd; x++)
  {
  GR_da1[x] *= 3 ;
  GR_da2[x] *= 3 ;
  }
drawSet("TabPre") ;
}
function FormDati()
{
var FC = 0 ;

if (FC_ok > 0) return(FC_ok);

  FC = FormArray(mese) ;
	for(x = 0; x < FC; x++)
	    {
	    FC_mese[x] = opt[x] ;
	    }

  FC = FormArray(giorno) ;
	for(x = 0; x < FC; x++)
	    {
	    FC_giorno[x] = opt[x] ;
	    }

  FC = FormArray(luogo) ;
	for(x = 0; x < FC; x++)
	    {
	    FC_luogo[x] = opt[x] ;
	    }

  FC = FormArray(corsa) ;
	for(x = 0; x < FC; x++)
	    {
	    FC_corsa[x] = opt[x] ;
	    }

  FC = FormArray(nupo) ;
	for(x = 4; x < FC; x++)
	    {
	    FC_nupo[x-4] = opt[x] ;
	    }
  FC = FormArray(tkp) ;
  
	for(x = 4; x < FC; x++)
	    {
	    FC_tkp[x-4] = opt[x] ;
	    }
	    
  FC = FormArray(inout) ;
	for(x = 0; x < FC; x++)
	    {
	    FC_nc[x] = opt[x] ;
	    }
FC_ok = FC   ;
return(FC)   ;

}
function ReadData(x)
{
var nst = "" ;
var slen = 0 ;
var Ext = 0  ;
var Elm =""  ;

  Fr = -1 ;
  ns = 0 ;
  slen = Buf.length ;

  while (Ext == 0)
    {
    if (x < 0) return(0) ;
    nst = Buf.charAt(x)  ;
    if (nst == "{") Ext = 1 ;
    else x -= 1   ;
    }

  while (Ext == 1)
    {
    if (x > slen) return(0) ;
    nst = Buf.charAt(x)  ;
    switch (nst)
      {
      case  "{" :
        if (Fr > -1)
          {
          strTabe[Fr] = Elm  + "{END}" ;
          Elm = ""    ;
          }
        else  Elm = "{"   ;
        Fr += 1 ;
      break   ;
      case  "}" :
        if (FormArray(Elm) > 0 ) Elm =  "{" + opt[1] +  "}" ;
      break   ;
      default :
        Elm = Elm + nst ;
      break
      }
    x += 1   ;
    if (x > slen) Ext = 0  ;
    }
}
function ReadBuf(Ident)
{
  var nst = "" ;
  var slen = 0 ;
  var Elm =""  ;
  var str =""  ;
  var x = 0    ;
  var y = 0    ;

  if (Ident == "*")
    {
    Buf = strTabe[0]  ;
    return(true)  ;
    }
  else
  {
  for (x = 0 ; x < Fr ; x++)
    {
    str = strTabe[x]   ;
    nst = ""    ;
    y = 0       ;
    Elm = ""    ;
    while (nst != "}")
      {
      nst = str.charAt(y)  ;
      if((nst !="{") && (nst != "}")) Elm = Elm + nst    ;
      y += 1  ;
      }
    if (Elm == Ident)
      {
      Buf = strTabe[x]
      x = Fr ;
      return (true) ;
      }
    }
  }
  return (false) ;
}
function WriteTable(Ident)
{
var StrTable = '<table align="center"><tr><td><div class="top_pg" style="padding-top:5px;">le competitive</div><div class="mezzo_pg" style = "text-align:center;"><br>'   ;
var lw = new Array()  ;
var al = new Array()  ;
var nst = "" ;
var slen = 0 ;
var Elm =""  ;
var str =""  ;
var x = 0    ;
var y = 0    ;
var Fa = 0   ;
var TF = ReadBuf(Ident) ;

  if (TF == true)
  {
  slen = Buf.length ;
  for (x = 0 ; x < slen ; x++)
    {
    nst = Buf.charAt(x)  ;
    switch (nst)
      {
      case  "["  :
        Elm = "" ;
      break   ;
      case  "]"  :
        ns = FormArray(Elm)   ;
        switch (opt[0])
          {
          case  "DATA"  :
            StrTable = StrTable + '<font size="2">' + opt[1]  + '</font> - ';
          break   ;
          case  "LUOGO"  :
            StrTable = StrTable + '<font size="2">' + opt[1]  + '</font><br>';
          break   ;
          case  "CORSA"  :
            StrTable = StrTable + '<p class="spe">' + opt[1] + ' - Km '  ;
          break   ;
          case  "KM"  :
            StrTable = StrTable + opt[1] + '</p>'  ;
          break   ;
          case  "TITOLO"  :
            StrTable = StrTable + '<font size="2">' +opt[1] + '</font><br><br>'  ;
          break   ;
          case  "AL"  :
            for (y = 1; y < ns; y++)
              {
              al[y-1] = "center" ;
              if (opt[y].charAt(0) == "R") al[y-1] = "right"  ;
              if (opt[y].charAt(0) == "L") al[y-1] = "left"   ;
              }
            Fa = ns   ;
          break   ;
          case  "CMP"  :
            for (y = 1; y < ns; y++)
              {
              lw[y-1] = eval(opt[y])  ;
              }
            Fa = ns   ;
          break   ;
          case  "TOP"  :
            StrTable = StrTable + '<table border="1" bordercolor="#C0C0C0" cellspacing="0" cellpadding="1" style="font-size:11px;"><tr bgcolor="#FFCC66">' ;
            for (y = 1; y < Fa; y++)
              {
              StrTable = StrTable + '<td width="' + lw[y-1] +'">' + opt[y] + '</td>';
              }
            StrTable = StrTable + '</tr>' ;
          break   ;
          case  "TB"  :
          case  "TL"  :
            StrTable = StrTable + '<tr >' ;
            for (y = 1; y < Fa; y++)
              {
              StrTable = StrTable + '<td style="padding-left:3px;padding-right:3px;text-align:' + al[y-1] + ';">' + opt[y] + '</td>';
              }
            StrTable = StrTable + '</tr>' ;
          break   ;
          case  "TA"  :
            StrTable = StrTable + '</table><br>';
          break   ;
          case  "NT"  :
            StrTable = StrTable + opt[1];
          break   ;
          }
      break   ;
      default :
        Elm = Elm + nst ;
      break
      }
    }
  }
  else StrTable = StrTable + 'TABELLA NON IDENTIFICATA'   ;
  StrTable = StrTable + '<br><br></div><div class="sotto_pg"></div></td></tr></table>'  ;
	document.getElementById("centro").innerHTML = StrTable ;
}
function WriteScheda(Ident)
{
var StrTable = '<table align="center"><tr><td><div class="top_pg" style="padding-top:5px;">Scheda</div><div class="mezzo_pg" style = "text-align:center;"><br>'   ;
var tr = new Array()  ;
var nst = "" ;
var slen = 0 ;
var Elm = "" ;
var str = "" ;
var job = 0  ;
var x = 0    ;
var y = 0    ;
var Fa = 0   ;

  if (scm.length > 0) document.getElementById("info").innerHTML = scm ;
  else scMenu()   ;
var TF = ReadBuf(Ident) ;

  if (TF == true)
  {
  slen = Buf.length ;
  for (job = 0 ; job < slen ; job++)
    {
    nst = Buf.charAt(job)  ;
    switch (nst)
      {
      case  "["  :
        Elm = "" ;
      break   ;
      case  "]"  :
        ns = FormArray(Elm)   ;
        switch (opt[0])
          {
          case  "TXTF"  :
          case  "TXTP"  :
          case  "TXTS"  :
          case  "TXTG"  :            
            if (opt[0] == "TXTF") StrTable += '<font color="red" size="2">PROPOSTA FUORI CLASSIFICA<br></font>Non valida ai fini della classifica de LATIGRE<br><hr size="0,2" width="100%" color="#FF9900">' ;
            if (opt[0] == "TXTP") StrTable += '<font color="red" size="2">PROPOSTA ALTERNATIVA<br></font>Ai fini della classifica de LATIGRE viene considerata come corsa NON a calendario<br><hr size="0,2" width="100%" color="#FF9900">' ;
            if (opt[0] == "TXTS") StrTable += '<font color="#0033CC" size="3">Serale</font><br>' ;
            StrTable += '<font color="#FF0000" size="3">' ;
            for (x = 1; x < 5; x++) StrTable = StrTable + opt[x] + ' ';
            StrTable += '</font><br><font color="#0033CC" size="5">' + opt[5] +
            '</font><br><font color="#FF0000" size="3">Km ' + opt[6] + '</font>' ;
          break   ;
          case  "TAB"  :
            if (opt[1] == "ND")StrTable = StrTable + '<table align="center"><tr><td><img src="volantini/dia/np.jpg" align="bottom" hspace="0" vspace="3"></td><td valign="top">' ;
            else StrTable += '<table align="center"><tr><td><a href="javascript:cmFrame(' + "'volantini/" + opt[1] + ".pdf','LaTigre')" + ';">' +
            '<img src="volantini/dia/' + opt[1] + '.jpg" align="bottom" hspace="0" vspace="3" alt="Volantino"><br>' +
            "</a>Clicca sull'immagine<br /> per scarica il volantino formato pdf<br></td><td valign='top'>" ;
          break   ;
          case  "TP1"  :
          case  "TR1"  :
            for (x = 1; x < ns; x++) tr[x] = opt[x] ;
          break   ;
          case  "TP"  :
          case  "TR"  :
            StrTable = StrTable + '<table bordercolor="#EFEFEF" border="1" cellspacing="0" cellpadding="0" width="340" style="font-size:12px;text-align:right;padding-right:5px;">' ;
            for (x = 1; x < ns; x++) StrTable = StrTable + '<tr><td width="120">' + tr[x] + '</td><td style="text-align:left;">' + opt[x] + '</td></tr>'  ;
          break   ;
          case  "TA"  :
            StrTable = StrTable + '</table>'  ;
          break   ;
          case  "TXTR"  :
            StrTable = StrTable + '<p class="spe">' + opt[1] + '</p>' ;
          break   ;
          case  "TXTC"  :
            StrTable = StrTable + '<font color=blue size=2>' + opt[1] + '</font>' ;
          break   ;
          case  "TEND"  :
            StrTable = StrTable + '</td></tr></table><br>' ;
          break   ;
          case  "NT"  :
            StrTable = StrTable + '<p class="trx" style="text-align:left;">' + opt[1] + '</p>' ;
          break   ;
          case  "NG"  :
            StrTable = StrTable + '<p class="nota" style="text-align:left;padding-left:20px;"><b><u>' + opt[1] + '</u></b></p>' ;
          break   ;
          case  "NC"  :
            StrTable = StrTable + '<p class="nota" style="text-align:left;padding-left:20px;">' + opt[1] + '</p>' ;
          break   ;
          }
      break   ;
      default :
        Elm = Elm + nst ;
      break
      }
    }
  }
  else StrTable = StrTable + 'TABELLA NON IDENTIFICATA'   ;
  StrTable = StrTable + '<br><br></div><div class="sotto_pg"></div></td></tr></table>'  ;
  document.getElementById("centro").innerHTML = StrTable ;
}

function scMenu()
{
var nst = "" ;
var slen = 0 ;
var Elm =""  ;
var str =""  ;
var job = 0  ;
var pe = ""  ;
var TF = ReadBuf('scm') ;
scm = '<div style="height: 34px;"></div><div class="box_sopra" style="text-align:left;padding-left:15px;width: 185px;">Le Schede</div><div class="box_mezzo"><br>'  +
      '<p class="tpa">A CALENDARIO</p>' ;
  if (TF == true)
  {
  slen = Buf.length ;
  for (job = 0 ; job < slen ; job++)
    {
    nst = Buf.charAt(job)  ;
    switch (nst)
      {
      case  "["  :
        Elm = "" ;
      break   ;
      case  "]"  :
        ns = FormArray(Elm)   ;
        switch (opt[0])
          { 
          case  "P"  :
            scm = scm + pe + '<p class="tpa">' + opt[1] + '</p>' ;
            pe = ""  ;
          break   ;
          case  "M"  :
            scm = scm + pe + '<p class="trx" style="text-align:left;">' + opt[1] + '</p><p class="nota">' ;
            pe = "</p>"  ;
          break   ;
          case  "S"  :
            scm = scm  + '<div class="mnl">' + opt[1] + '</div><a href="javascript:WriteScheda(' + "'" + opt[3] + "');" +
            '"><font color="#CC0000">- ' + opt[2] +'</font></a><br>' ;
          break   ;
          case  "G"  :
            scm = scm  + '<div class="mns">' + opt[1] + '</div><a href="javascript:WriteScheda(' + "'" + opt[3] + "');" +
            '"><font color="#CC0000">- ' + opt[2] +'</font></a><br>' ;
          break   ;
          }
      break   ;
      default :
        Elm = Elm + nst ;
      break
      }
    }
    scm = scm + pe + '<br></div><div class="box_sotto"></div><div class="box_sopra" style="text-align:left;padding-left:15px;width: 185px;">LATIGRE Ringrazia ...</div>' +
    '<div class="box_mezzo"><br>' +
    '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="180" HEIGHT="250" id="sponsor" ALIGN="">' +
    '<PARAM NAME=movie VALUE="sponsor.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="sponsor.swf" quality=high bgcolor=#FFFFFF  WIDTH="180" HEIGHT="250" NAME="sponsor" ALIGN=""' +
    'TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT></div><div class="box_sotto"></div>' ;
  }
  else scm = info ;
  document.getElementById("info").innerHTML = scm ;
}
function linkFrame(Ident,frm)
{
var slen = 0 ;
var Elm =""  ;
var str =""  ;
var x = 0    ;
var y = 0    ;
var StrTable = '<table><tr><td>'   ;
var TF = ReadBuf(Ident) ;

  slen = Buf.length ;
  for (x = 0 ; x < slen ; x++)
    {
    nst = Buf.charAt(x)  ;
    switch (nst)
      {
      case  "["  :
        Elm = "" ;
      break   ;
      case  "]"  :
      break ;
      default :
        Elm = Elm + nst  ;
      break ;
      }
    }
  ns = FormArray(Elm)   ;
  StrTable = StrTable + '<img src="' + opt[0] + '/' + Ident + '.jpg"></td><td><table><tr><td valign="top" style="font-size=11px;font-weight:bold;color:#FF9900;text-align:right;">Runner<br>Anno<br>Categoria<br>Partecipate</td><td align="left">'  ;
  for (x = 1 ; x < ns ; x++) StrTable = StrTable + opt[x] + '<br>' ;
  StrTable = StrTable + '</td></tr></table></td></tr></table>'  ;

  document.getElementById(frm).innerHTML = StrTable ;
}

function TabMesi(ri)
{
  if (ri == 0 ) document.getElementById("centro").innerHTML =  StrTable ;
  if (ri == 1 ) 
    {
    Fgr = 12  ;
    document.getElementById("centro").innerHTML =  StrMese  ;
    drawSet("TabMesi")    ;
    col = GR_col[2]       ;
    drawRect(225,52,35,28,0) ;
    col = GR_col[0]       ;
    drawRect(225,55,35,22,1) ;
    col = GR_col[1]       ;
    drawRect(225,58,35,16,2) ;
    }
}

function FormStorico(Fa)
{
  var FC = FormArray(anni) ;
  var x = 0  ;
  var y = 0  ;
  var nu = 0 ;
  var vn = 0 ;
  var pt = 4 ;
  var pk = 1 ;
  var pr = 2 ;
  var km = 0 ;
  var ct = 0 ;
  var Fn = 0 ;
  var C1 = "#000000"      ;
  var Pst = new Array()   ;

  if (Fa == 0 ) Fa = FC   ;
  Fn = Fa - 1 ;
  Fa = Fa * 3 ;
  StrTable = '<div style = "text-align:center;width: 100%;"><br><font color="#0000FF" size="5">' + strTop[0] + '</font><br><br>' +
  '<font color="#FF9900" size="3">Riferimento Colonna Ordine Classifica: <b>' + opt[Fn] + '</b></font><br>Clicca sull&#39;anno di riferimento per modificare l&#39;ordine della classifica<br><br>' +
  '<table border = "1" cellspacing="0" cellpadding="0" style="text-align:center; font-size: 11px;"><tr><td width="25">&nbsp;</td><td width="120">.</td>' ;
  for(x = 0; x < FC; x++)
	    {
      if (x > 0)
	    	{
	      StrTable +=  '<td width="2" bgcolor="#FFFFDD">&nbsp;</td>' ;
	      }
      if (Fn == x)
	    	{
	      StrTable += '<td width="110" bgcolor="#FFFFCC"><a href="javascript:FormStorico(' + (x+1) +');">' + opt[x] + '</a></td>' ;
	      }
      else
	    	{
	      StrTable += '<td width="110"><a href="javascript:FormStorico(' + (x+1) +');">' + opt[x] + '</a></td>' ;
	      }
	    }

  StrTable += '</tr></table>' +
  '<table border = "1" cellspacing="0" cellpadding="0" style="text-align:center;font-size: 11px;"><tr bgcolor="#feba1e">' +
  '<td width="25">N.</td><td width="120">Podista</td>' ;
  for(x = 0; x < FC; x++)
	    {
	    if(x > 0) StrTable += '<td width="2">&nbsp;</td>' ;
	    StrTable += '<td width="38">Km</td><td width="38">Gare</td><td width="30">PC</td>' ;
	    }
  StrTable += '</tr>' ;    
      
// formatta classifica x anno
	for(x = 0; x < pd; x++)
	  {
	  Pst[x] = ""  ;
	  }
	for(x = 0; x < pd; x++)
	  {
	  FC = FormArray(pod[x])     ;
	  if (opt[Fa] != '-')
     {
      vn = eval(opt[Fa])       ;
      Pst[vn] = pod[x]         ;
      nu += 1                  ;
     }
	  } 

	for(x = 0; x < pd; x++)
	  {
	  FC = FormArray(pod[x])     ;
	  if (opt[Fa] == '-')
     {
      Pst[++nu] = pod[x]         ;
     }
	  }
	for(x = 1; x < (pd + 1); x++)
	  {
	  FC = FormArray(Pst[x])       ;
	  StrTable += '<tr><td>' + (x) + '</td>' +
    '<td style="text-align:left;padding-left:5px;">' + opt[0] + '</td>'   ;
    pt = 4 ;
    pk = 1 ;
    pr = 2 ;
    km = 0 ;
    ct = 0 ;
    C1 = "#FFFFFF"      ;

    for(y = 1; y < FC; y++)
	    {
	     if(y == Fa    ) C1 = "#FFDEAD"      ;
       if(y == Fa - 2) C1 = "#FFFFCC"      ;
       if(y == Fa + 1) C1 = "#FFFFFF"      ;
       if(y == pt)
         {
         StrTable = StrTable + '<td bgcolor="#FFFFDD">&nbsp;</td>' ;
         pt = pt + 3 ;
         }
       StrTable = StrTable + '<td bgcolor="' + C1 + '">' + opt[y] + '</td>'   ;
	    }
	  StrTable = StrTable + '</tr>'   ;
    }

  StrTable = StrTable + '</table></div>' ;
	document.getElementById("centro").innerHTML = StrTable ;

}

function printMem(xz)
{
    if (xz == null) xz = 12  ;
    Stampa = '<div style="font-size:' + xz + 'px;">' + mem[mva] + '</div>';
    printFrame(0)     ;
}

function printFrame(ri)
{
var frame_doc = stp.document;
var stpTop = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' +
             '<html xmlns="http://www.w3.org/1999/xhtml">' +
             '<head><link rel="stylesheet" href="tigre.css" type="text/css" />' +
             '<SCRIPT Language="Javascript">function printit(){window.print() ;}</script>' +
             '<title>LaTigre - Stampa</title></head><body>' +
             '<center><img src="img/top_stampa.gif" height="115" width="700"><div style="width:550px;text-align:left;">'  ;
var stpBot = '<br><img src="home/stampa_s.gif" align="middle" hspace = "5"><a href="javascript:printit();"><u>stampa</u></a></div></center></body></html>' ;

  frame_doc.open();
	frame_doc.write(stpTop + Stampa + stpBot);
	frame_doc.close();
}

function printit()
{
    window.parent.forPrint.focus();
    window.print() ;
}
function getFoto(ri)
{
  document.getElementById("imgs").innerHTML = foto[ri] ;
}
function getDia(im,ri)
{
  document.getElementById("centro").innerHTML = dia[im] ;
  document.getElementById("imgs").innerHTML = foto[ri]  ;
}

function formDia(im,ri)
{
var FC = FormArray(dia[im]) ;
var ip = eval(opt[4])  ;
var is = eval(opt[5])  ;
var en = eval(opt[6]) + 1 ;
var ix = 0 ;
var iy = 0 ;
var md = eval(opt[1])  ;
var ms = "storeFoto("  ;

if (md == 0) ms = "getFoto(" ;

fdi = mem[1] + opt[0]   ;
for(ix = is;ix < en;ix++)
  {
  fdi = fdi + '<div class="mdia"><a href="javascript:' + ms + iy + ');">' +
  '<img src="' + opt[2] + ix + '.jpg" alt=""></a></div>' ;
  if (md == 1) stf[iy] = '<div align="center"><br><div id="foto"><img src="' + opt[3] + ip + '.jpg"</div></div>' ;
  ip += 1 ;
  iy += 1 ;
  }
document.getElementById("centro").innerHTML = fdi + mem[2];
if (md == 0) getFoto(ri)  ;
else storeFoto(0)         ;
}

function storeFoto(ri)
{
  document.getElementById("imgs").innerHTML = stf[ri] ;
}
function schedeFrame(ri)
{
  document.getElementById("info").innerHTML = info ;
  document.getElementById("centro").innerHTML = sce[ri] ;
}
function memFrame(fra,ri)
{
  document.getElementById(fra).innerHTML = mem[ri] ;
  mva = ri ;
}
function wriFrame(fra,ri)
{
  document.getElementById(fra).innerHTML = ri ;
}
function cmFrame(fra,ri)
{

frame_xy=window.open(fra,ri,"scrollbars=yes, resizable=yes, width=500, height=400") ;
}

function leggiMese(m)
{

	switch(m)
  {
		case 1 : lm = "Gennaio" ; break
		case 2 : lm = "Febbraio"; break
		case 3 : lm = "Marzo"; break
		case 4 : lm = "Aprile"; break
		case 5 : lm = "Maggio"; break
		case 6 : lm = "Giugno"; break
		case 7 : lm = "Luglio"; break
		case 8 : lm = "Agosto"; break
		case 9 : lm = "Settembre"; break
		case 10 : lm = "Ottobre"; break
		case 11 : lm = "Novembre"; break
		case 12 : lm = "Dicembre"; break
	}
//alert ('Test - ' + eval(m))   ;
}

function drawSet(Mode)
{
  switch (Mode)
    {
    case  "TabMesi" :
      gr = "<img src='draw/draw.jpg' height='270' width='475'>"  ;    
    break  ;
    case  "TabPre" :
      gr = "<img src='draw/draw_pre.jpg' height='270' width='475'>"  ;
      col = "red" ;
      drawRect(228,38,7,6,0);
      col = "blue" ;
      drawRect(228,38,7,4,1);
      col = "yellow" ;
      drawRect(228,38,7,2,2);
    break  ;
    }
}
function drawStart(top,left,colore,Dp)
{
  St = top ;
  Sl = left ;
  col = colore ;
  Pen = Dp ;
}
function Rect(Et,El,Wl,Hl)
{
  gr = gr + '<DIV style="position:absolute;overflow:hidden;left:' + El +'px;top:' + (Et-Hl) + 'px;width:' + Wl + 'px;height:' + Hl + 'px;background-color:' + col + ';"></DIV>';
}
function Line(Et,El)
{
var lw = 0   ;
var Ps = 0   ;

// linea orrizzontale
if(St == Et)
  {
  lw = El - Sl ;
  Ps = Sl      ;
  if (lw < 0) 
    {
    lw = Sl - El ;
    Ps = El  ;
    }  
  
  gr = gr + '<DIV style="position:absolute;overflow:hidden;left:' + Ps +'px;top:' + St + 'px;width:' + lw + 'px;height:' + Pen + 'px;background-color:' + col + ';"></DIV>';
  }
// linea verticale
else
  {
  lw = Et - St ;
  Ps = St      ;
  if (lw < 0) 
    {
    lw = St - Et ;
    Ps = Et      ;
    } 
  gr = gr + '<DIV style="position:absolute;overflow:hidden;left:' + Sl +'px;top:' + Ps + 'px;width:' + Pen + 'px;height:' + lw + 'px;background-color:' + col + ';"></DIV>';
  }
St = Et ;
Sl = El ;
}
function formLine(Et,El)
{
var Vm = 0 ;
var Vp = 0 ;
var lw = 0 ;
var lh = 0 ;
var Fx = 0 ;
var Fv = 0 ;
var Fr = 0 ;
var Sp = 0 ;

Rs = 0 ;
Dm = false ;

// linea orrizzontale o verticale

if ((St == Et) || (Sl == El)) Line(Et,El)  ;
else
  { // linea obliqua
  lw = El - Sl ; 
  Vm = 1 ;
  if (lw < 0) 
    {
    lw = Sl - El  ;    
    Dm = true     ;
    }
  if (Et < St) Vm = -1 ;
    
  lh = Et - St ;  
  if (lh < 0) lh = St - Et ;  
  if (lw > lh)
    {
    Fv = IntNum(lw/lh)  ;
    if (Dm == true) Fv = Fv - (Fv*2) ;
    for(Fx = 0; Fx < lh; Fx++)
      {
      Fr += Rs ;
      if (Fr > 1)
        {
        if (Dm == false) Sp = 1 ;
        else  Sp = 1 ;
        Fr = Fr - 1  ;
        }
      Line(St,Sl+Fv+Sp) ;
      St += Vm ;
      Sp = 0   ;
      }
    }
  else     
    {
    Dm = false ;
    Vp = 1     ;
    lh = Et - St ;  
    if (lh < 0) 
      {
      lh = St - Et ;   
      Dm = true ;
      }
    if ( El < Sl) Vp = -1 ;
    Fv = IntNum(lh/lw)    ;
    if (Dm == true) Fv = Fv - (Fv*2) ;
    for(Fx = 0; Fx < lw ; Fx++)
      {
      Fr += Rs ;
      if (Fr > 1)
        {
        if (Dm == false) Sp = 1 ;
        else  Sp = 1 ;
        Fr = Fr - 1 ;
        }
      Line(St+Fv+Sp,Sl)  ;
      Sl += Vp ;
      Sp = 0   ;
      }
    }  
  }
}
function drawRect(at,al,sc,WH,Mode)
{
var x  = 0   ;
var pos_y = al ;
var pos_x = 0 ;
for (x = 0 ; x < Fgr ; x++)
  {
  switch (Mode)
    {
    case  0 :
      pos_x= GR_da1[x] + GR_da2[x] ;
      if (pos_x > 0) Rect(at,pos_y,WH,pos_x) ;
    break  ;
    case  1 :
      if (GR_da1[x] > 0) Rect(at,pos_y,WH,GR_da1[x]) ;
    break  ;
    case  2 :
      if (GR_da2[x] > 0) Rect(at,pos_y,WH,GR_da2[x]) ;
    break  ;
    }
  pos_y += sc ;
  }
document.getElementById("linea").innerHTML = gr ;
}
function drawLine(Rif,Mode,sc)
{
  drawSet("TabPre") ;  
  drawStart(225,41,"red",1)
  var x  = 0   ;
  var pos_x = 3*(GR_da1[0] + GR_da2[0]) ;
  var pos_y = Sl;
  var Ty = St  ;  

  St = St - pos_x ;
  for (x = 0 ; x <Fgr ; x++)
    {
    pos_x = 3*(GR_da1[x] + GR_da2[x]) ;
    formLine(Ty-pos_x,pos_y);
    pos_y += 7 ;
    }
  document.getElementById("linea").innerHTML = gr ;
}

function IntNum(Value)
{
var St = String(Value) + ".0" ;
var Lu = St.length ;
var nst = ""       ;
var sti = ""       ;

for (x=0;x<Lu;x++)
{
nst = St.charAt(x)   ;
if (nst == ".") x=Lu ;
else sti = sti + nst ;
}
Rs = Value - eval(sti);
return(eval(sti)) ;
}
-->

