/*PRENDE IN INGRESSO L'ID DELLA TABELLA, L'ARRAY DEI CRIDERI DI RICERCA, IL CRITERIO DI DEFAULT, IL TITOLO CHE VIENE VISUALIZZATO SE NESSUN CRITERIO E' STATO SELEZIONATO*/
/*
CRITERIDIRICERCA SONO I NOMI DEI CAMPI INPUT ES: ANNO,AZIENDA,TEMATICA ETC.
*/
var Tabella = new Class({
  initialize: function(tabellaId,criteriricerca,criteriodefault,titolodefault){
    this.tabella = $(tabellaId);
    this.showRows(criteriricerca,criteriodefault,titolodefault);
  },

  showRows: function(criteriricerca,criteriodefault,titolodefault){
        var m_names = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
        "Luglio", "Agosto", "Settembre", "Ottobre", "Novembere", "Dicembre");
    var i = 0;
    /*VALORIZZA TITOLO TABELLA CON I CRITERI DI RICERCA*/
    /*MOSTRA RIGHE*/
    /*SE LA QUERY E' VUOTA, OVVERO LA PAGINA E CARICATA PER LA PRIMA VOLTA*/
    if (this.queryvuota(criteriricerca)){
          this.tabella.getElements('tr').each(function(tr){
               if (tr.getProperty("class").indexOf(criteriodefault) > -1)
            {
              tr.setStyles({'display':'block'});
              if (i%2 == 0){tr.toggleClass('grigio');	}
              i++;
            }
          else{
                tr.setStyles({'display':'none'});
            }
         }.bind(this));
         /*SCRIVI IL TITOLO SE ESISTE, CON IL TITOLO DI DEFAULT*/
         if ($E('h5')!=null){ this.componititolo(titolodefault)};
       }
       /*ALTRIMENTI*/
       else
       {
            this.tabella.getElements('tr').each(function(tr){
            if((tr.getProperty("class") != "header")&& this.corrispondecriterio(criteriricerca,tr))
            {
              tr.setStyles({'display':'block'});
              if (i%2 == 0){tr.toggleClass('grigio');	}
              i++;
            }
            else{
                tr.setStyles({'display':'none'});
            }
       }.bind(this));
       /*SCRIVI IL TITOLO SE ESISTE, CON I CRITERI DI RICERCA*/
       if ($E('h5')!=null){this.componititolo(criteriricerca)};
      }
      //se non ci sono risultati NON VISUALIZZARE L'HEADER DELLA TABELLA...SE ESISTE
      if (this.tabella.getElement(".header")!=null){
          if (i == 0)
          {
            this.tabella.getElement(".header").setStyles({'display':'none'});
          }
          else{
             this.tabella.getElement(".header").setStyles({'display':'block'});
          }
      }
  },
  corrispondecriterio: function(criteriricerca, tr){
     var trovato = false;
     var i = 0;
         criteriricerca.each(function(criterio){
                 var valorecriterio = $(criterio).value;
         if(tr.getProperty("class").indexOf(valorecriterio) > -1){i++;}
      });
     if (i == criteriricerca.length){trovato = true;}
     return trovato;
  },
  queryvuota: function(criteriricerca){
     var vuota = true;
         criteriricerca.each(function(criterio){
                 var valorecriterio = $(criterio).value;
         if(valorecriterio != ""){vuota=false;}
      });
    return vuota;
  },
  componititolo: function(criteriricerca){
        var m_names = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
        "Luglio", "Agosto", "Settembre", "Ottobre", "Novembere", "Dicembre");
       var right_now=new Date();
       var  querydavisualizzare="";
       if ($type(criteriricerca)=="array"){
           criteriricerca.each(function(criterio){
                if ((criterio == "mese") && (criterio!='mm')){ querydavisualizzare = querydavisualizzare + "" + m_names[$(criterio).value-1] + " " + right_now.getFullYear() ; }
                else{querydavisualizzare = querydavisualizzare + " " + $(criterio).value;   }
        });
    }
    else{
      querydavisualizzare = criteriricerca;
    }
     $E('h5').setText(querydavisualizzare);
  }

});




var Titolo = new Class({
  initialize: function(criteriricerca,criteriodefault,titolodefault){
    this.showTitoloDefault(criteriricerca,criteriodefault,titolodefault);
  },

  showTitoloDefault: function(criteriricerca,criteriodefault,titolodefault){
      var m_names = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
        "Luglio", "Agosto", "Settembre", "Ottobre", "Novembere", "Dicembre");
    if (this.queryvuota(criteriricerca)){
      if ($E('h5')!=null){ this.componititolo(titolodefault)};
       /*ALTRIMENTI*/
        }
      else
        {
              if ($E('h5')!=null){this.componititolo(criteriricerca)};
        }

  },
  queryvuota: function(criteriricerca){
     var vuota = true;
     criteriricerca.each(function(criterio){
                 var valorecriterio = $(criterio).value;
         if(valorecriterio != ""){vuota=false;}
      });
    return vuota;
  },
  componititolo: function(criteriricerca){
         var m_names = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
        "Luglio", "Agosto", "Settembre", "Ottobre", "Novembere", "Dicembre");
       var right_now=new Date();
       var  querydavisualizzare="";
       if ($type(criteriricerca)=="array"){
           criteriricerca.each(function(criterio){
                if ((criterio == "mese") && ($(criterio).value!='mm')){ querydavisualizzare = querydavisualizzare + "" + m_names[$(criterio).value-1] +"" }
                else{
                  if ((criterio == "mese") && ($(criterio).value=='mm')){}
                  else{
                  querydavisualizzare = querydavisualizzare + " " + $(criterio).value;
                  }
                }
        });
    }
    else{
      querydavisualizzare = criteriricerca;
    }
     $E('h5').setText(querydavisualizzare);
  }

});






