   
//  Start Banner.js script  
  function GetValoreBanner(idName)
    {
        var valore = "";
        var obj = document.getElementById(idName);
        switch(obj.tagName.toLowerCase())
         {
           case 'div':
           case 'span':
           case 'td':
           case 'textarea':
                valore = obj.innerHTML  ; 
                break;
           
           default:
                valore = "" ; 
                break;
        }
      return valore;
    }
  function SetValoreBanner(idName,valore,display)
    {
        var obj  = document.getElementById(idName);
        switch(obj.tagName.toLowerCase())
         {
           case 'div':
           case 'span':
           case 'td':
           case 'textarea':
                if (display == 0)
                    obj.style.display="none";      // nascondo il banner
                else
                    obj.style.display="block";      // visualizzo il banner
                obj.innerHTML = ""
                
                obj.innerHTML = valore; 
                break;
           default:
                break;
        }
    }
  function CheckSizeBanner(idName,lstValori)
    {
        var obj = document.getElementById(idName);
        // Calcolo la lunghezza max consentita
        
            
        if (dimBanner != "")
               width = parseInt(dimBanner);
         else
           {
             width=obj.style.width;
             if (width != "")
                 width = parseInt(width)/5;  // tolgo i px pt etc
           }
           
               
        for(var i=0; i<lstValori.length;i++)
            {
              lstValori[i] = lstValori[i].substr(0,width);
            }
      obj.style.display="block";      //Rendi visibile
    } 
   
  function ConpletaBannerFromDb(banner,timer,html,argKey)   
     { 
        var wrk = GetValoreBanner(banner);
        var ret = CompletaBanner(banner,timer,wrk,html,argKey)
        return ret;
     } 
  function CompletaBanner(banner,timer,elenco,html,argKey)   
      { 
        if (elenco == "") return;    // Nessun elemento da visualizzare
        lstHtml = "";
        wrk = elenco.split("|");
       
        wrkKey  = wrk[1].split(",");
        sep     = "";
        size    = 0;  
        for (var t=0;t<wrkKey.length;t++)
          {
           lstHtml +=  sep + html + argKey + "=" + wrkKey[t];
           sep = ",";
          }
        AddBanner(banner,timer,wrk[0],lstHtml);
        return 0;
      } 
  function AnalisiDbSync()
     {
           if (dbSync.length ==  numDbSync )  return; // Non ho BannerDb da elaborare
           for (var h=0;h<dbSync.length;h++)
              {
                if (dbSync[h][0] == 0)    // Elemento già elaborato
                      {
                        numDbSync +=1;  
                        continue;   
                      }
                //if (document.getElementById(dbSync[h][1]).innerHTML != "")   // Banner non valorizzato
                  if (GetValoreBanner(dbSync[h][1]) != "")  
                    {
                      dbSync[h][0] = 0;
                      ConpletaBannerFromDb(dbSync[h][1],dbSync[h][2],dbSync[h][3],dbSync[h][4]);
                      z=-1;
                      Visualizza();
                    }
              }
       }
  function PreparaRigaEvento(idName,url,data)
    {
      var rigaEvento = "" ;
      sep = "";
      style = "";
      if (bgcolor != "")
          {
           style = " background-color:"+bgcolor;
           sep = ";";
          }
      if (color != "")
          {
            style += sep + "color:"+color;
            sep = ";";
          }
      rigaEvento = '<a href="' + url + '" style="'+ style + '" target="'+ target + '"><strong>' + data + '<strong></a>'; 
      return rigaEvento
    }
  function VisualizzaElemento (idName,arrayValori,arrayHref,idx)
    {
      if (arrayHref[idx] != "")
          
          html = PreparaRigaEvento(idName,arrayHref[idx],arrayValori[idx]);
      else
          html = arrayValori[idx]; 
           
      SetValoreBanner(idName,html,1);
      if (idx == (arrayValori.length - 1))
             idx = 0
      else
             idx += 1;
                  
      return idx
    }
           
  function Visualizza ()
    {
      var timer = 0;
      switch (z)
         {
          case -1:
                for (var i=0;i<ListaBanners.length;i++)
                  {
                   var eventi = ListaBanners[i];
                   eventi[4]=VisualizzaElemento(eventi[0],eventi[1],eventi[2],0);
                  }
                timer=2000;
                z = 0;
                break;
           default:
                AnalisiDbSync();      // Sincronizza i banner oggetti di letture da DB
                if (ListaBanners.length == 0) break;     // La lista è vuota
                var eventi = ListaBanners[z];
                 
                eventi[4]=VisualizzaElemento(eventi[0],eventi[1],eventi[2],eventi[4])
                timer = eventi[3];
                if ( z == (ListaBanners.length - 1) )
                   z=0;
                else
                   z += 1;
                break;
        }
        setTimeout("Visualizza()",timer);  
    }
  //   --------------------
  //   Interfacce esterne
  //   -------------------
  function SetOptions(opt,value)
      {
        
        opt=opt.toLowerCase();
        switch (opt)
          {
            case "width":
                     dimBanner = value;        
                     break;
            case "bgcolor":
                     bgcolor = value;        
                     break;
            case "color":
                     color = value;        
                     break;
            case "target":
                     target = value;
                     break;
            case "url":
                     urlBanner=value;
                     break;
            default:
                     break;
          }
      }
  function AddBanner(idField,timer,lstValori,lstHref)
      { 
          if ((idField == "") || (lstValori == ""))  return 1;           
          if ((timer == "") || (timer == 0))
               timer = 1000;
               
           valori = lstValori.split(",");
           CheckSizeBanner(idField,valori);
           if (lstHref != "") 
                href = lstHref.split(","); 
           else
                href = new Array();
               
           //  Completo l'array degli href
            for (var k=href.length;k<valori.length;k++) 
                   href[k] = "";                
             
           idx = ListaBanners.length; 
           ListaBanners[idx] = new Array(idField,valori,href,timer,-1); 
           return 0;
      }
  function AddBannerMultipli(LstField,LstTimer,LstValori,LstHref)
      {
           
           if (LstField == "") return;        
           var lista = LstField.split(",");
           var tm = new Array();
           if (LstTimer == "")                 // Preparo la lista timer di default
                 for (var i=0;i<lista.length;i++)
                     tm[i] = 1000;       // Imposto un secondo
           else
               tm = LstTimer.split(",");
               
           diff =  lista.length - tm.length ;
           if (diff > 0)
               {
                 for (var i=tm.length;i<lista.length;i++)
                       tm[i] = 1000;  
               } 
           var href =LstHref.split(";");
           diff =  lista.length - href.length ; 
           if (diff > 0)
               {
                 for (var i=href.length;i<lista.length;i++)
                       href[i] = "";  
               }  
           
           var wrk = LstValori.split(";");
           for (var i=0;i<lista.length;i++)
               {
                 AddBanner (lista[i],tm[i],wrk[i],href[i]);
               }   
       } 
     
  function AddBannerFromDb(modo,banner,timer,table,fieldDex,fieldKey,html,argKey)
     {
       if (urlBanner == "")
          {
             alert("Variabile urlBanner non inizializzata per banner <" + banner + ">");
             return
          }
       SetValoreBanner(banner,"",0);
     
       //urlBanner = "banner.php?Config=../Magic2.9/Config_IMI.ini";

       urlCmd = urlBanner + '&Tabella=' + table + '&FieldName=' + fieldDex + "&Key=" + fieldKey + "&BannerField=" + banner
       
       if (modo == 0)  // Modalità con window
           win=window.open(urlCmd ,'_blank','menubar=no,toolbar=no,width=100,height=100');
       else
          {
            obj=document.getElementById(banner);
            iframe = '<iframe  src="' +urlCmd + '" width=0 height=0></iframe>';
            obj.insertAdjacentHTML("afterBegin",iframe) ;
          }
    
       num = dbSync.length;
       dbSync[num] = new Array(win,banner,timer,html,argKey);   // Salvo i dati di accesso al Db
       
       return 0;
     }   
    function AddBannerFromElencoDb(banner,timer,elenco,html,argKey)   
      { 
         CompletaBanner(banner,timer,elenco,html,argKey);
      }
     
 //ListaBanners[] = new Array(lista[],valori[],href[],tm[],currentElement);
   var ListaBanners = new Array();     // Array dei banner
   var z   = -1; 
   var dbSync = new Array();           // Array dei banner Db
   var numDbSync = 0;                  // Numero banner elaborati;
   // personalizzazioni
   var urlBanner = "";                 // Definisce il lettore del DB a cura dell'utente
   var target    = "_blank";           // target window per href
   var target    = "_self";           // target window per href  
   var dimBanner = "25";               // dimensione standard del banner (nr caratteri)
   var bgcolor   = "";                 // colore di background del banner
   var color     = "";                 // colore del testo del banner
   //   End Banner.js script  -->

  