// Select.js
//
// In questo file sono contenute le funzioni che implemen-
// tano le ricerche in base ai parametri che  vengono pas-
// sati. Il codice con cui sono state scritte  dipende  in
// parte  dal tipo di base di dati che si vuole  trattare,
// ma  cio'  non  e'  che il punto di partenza per realiz-
// zazioni piu' generiche e flessibili. Si riportano a tal
// proposito  alcuni esempi di funzioni che possono essere
// sfruttate per ricerche combinate.

// Questa  funzione definisce una specie di "interfaccia".
// Nel caso in cui si aggiungono nuovi tipi di ricerca, si
// deve aggiungerli anche qui di seguito, indicando  quali
// campi passargli e via dicendo.
//
function doSelect(valore1, db) {
  dbResult = new Array();

      dbResult = SelectEqual( valore1, db);
//      dbResult = db;
  

  return dbResult;
}




function SelectEqual(valore1, dbMatrix) {

  var ResultMatrix = new Array();
  var count = 0;

  // Inizializzazione dei vari campi
  for (i=0; i<dbMatrix.length; i++) {
    // Si effettua un casting a tipo stringa
    valoreCampo1 = '' + dbMatrix[i][0].toUpperCase();
    valoreCampo2 = '' + dbMatrix[i][1].toUpperCase();
    valoreCampo3 = '' + dbMatrix[i][2].toUpperCase();

    if ( (valoreCampo1.indexOf(valore1.toUpperCase()) != -1 )  || (valoreCampo2.indexOf(valore1.toUpperCase()) != -1) || (valoreCampo3.indexOf(valore1.toUpperCase()) != -1 )) {

      ResultMatrix[count] = new Array();
      ResultMatrix[count] = dbMatrix[i];
      count++;
    }
  }

  return ResultMatrix;
}


