<?php
	include_once(__DIR__."/core.php");
	
	$module_name = save( $_GET['module'] );
	
	if ($user_idanagrafica==""){
		//Carico i filtri dei WHERE in base al modulo e all'utente loggato
		$qp = "SELECT *, (SELECT idanagrafica FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AS idanagrafica, (SELECT name FROM zz_modules WHERE id=idmodule) AS nome_modulo FROM zz_gruppi_modules WHERE idgruppo=(SELECT idgruppo FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."')";
		$rsp = $dbo->fetchArray($qp);
		for( $i=0; $i<sizeof($rsp); $i++ ){
			$additional_where[ $rsp[$i]['nome_modulo'] ] = $rsp[$i]['clause'];
		}

		$querye = "SELECT *, (SELECT idanagrafica FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AS idanagrafica FROM zz_permessi WHERE idgruppo=(SELECT idgruppo FROM zz_utenti WHERE idutente='".$_SESSION['idutente']."') AND idmodule=(SELECT id FROM zz_modules WHERE name='MyImpianti')";
		$rse = $dbo->fetchArray($querye);
		$user_idanagrafica = $rse[0]['idanagrafica'];
	}
	
	
	$additional_where['Anagrafiche'] = str_replace( "|idtecnico|", $user_idanagrafica, $additional_where['Anagrafiche'] );
	$additional_where['Anagrafiche'] = str_replace( "|idagente|", "'".$user_idanagrafica."'", $additional_where['Anagrafiche'] );
	
	$additional_where['Interventi'] = str_replace( "|idtecnico|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
	$additional_where['Interventi'] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
	
	$additional_where['MyImpianti'] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where['MyImpianti'] );
		
		
	$op = save( $_GET['op'] );

	switch( $module_name ){
		case "Anagrafiche":
		
			//Elenco nomi
			if( $op=="get_ragione_sociale" ){
				$ragione_sociale = save( $_GET['ragione_sociale'] );
				$idagente = save( $_GET['idagente'] );
				
				if ($idagente!=""){
				
					$WHERE_AGENTE = "AND idagente = ".$idagente;
				
				}
				
				$q = "SELECT ragione_sociale FROM an_anagrafiche WHERE deleted=0 AND ragione_sociale LIKE '%$ragione_sociale%' ".$WHERE_AGENTE." ".$additional_where['Anagrafiche']." GROUP BY ragione_sociale ORDER BY ragione_sociale";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo htmlspecialchars_decode( $rs[$i]['ragione_sociale'], ENT_QUOTES );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco città
			else if( $op=="getcitta" ){
				$q = "SELECT DISTINCT(citta) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY citta";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo htmlspecialchars_decode( $rs[$i]['citta'], ENT_QUOTES );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco province
			else if( $op=="getprovince" ){
				$q = "SELECT DISTINCT(provincia) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY provincia";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['provincia']  );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco cap
			else if( $op=="getcap" ){
				$q = "SELECT DISTINCT(cap) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY cap";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['cap'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			
			//Elenco settori
			else if( $op=="getsettori" ){
				$q = "SELECT DISTINCT(settore) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY settore";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['settore'], ENT_QUOTES );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			
			//Elenco marche
			else if( $op=="getmarche" ){
				$q = "SELECT DISTINCT(marche) FROM an_anagrafiche WHERE 1=1 ".$additional_where['Anagrafiche']." ORDER BY marche";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['marche'], ENT_QUOTES );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			
			
			//Elenco e-mail - uso la funzione nativa di php "trim" per rimuovere eventuali spazi dalle e-mail 
			else if( $op=="getemail" ){
			
				$idanagrafica = save( $_GET['idanagrafica'] );
				
				if ($idanagrafica!=""){
				
					$WHERE_IDANAGRAFICA = "AND idanagrafica = ".$idanagrafica;
				
				}
				
				//tutti i referenti per questo cliente
				$q = "SELECT DISTINCT(email),idanagrafica,nome FROM an_referenti WHERE 1=1 ".$WHERE_IDANAGRAFICA." ORDER BY idanagrafica";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					if (trim($rs[$i]['email'])!=""){
						echo html_entity_decode( $rs[$i]['nome']." &lt;".trim($rs[$i]['email'])."&gt;" );
						if( ($i)<$n )
							echo '|';
					}
				}
				
				//--
				
				//tutti gli agenti
				$q = "SELECT DISTINCT(email),ragione_sociale,an_anagrafiche.idanagrafica FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE idtipoanagrafica=(SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione='Agente') ORDER BY idanagrafica";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					if (trim($rs[$i]['email'])!=""){
						echo html_entity_decode( $rs[$i]['nome']." &lt;".trim($rs[$i]['email'])."&gt;" );
						if( ($i)<$n )
							echo '|';
					}
				}
				
				//--
				
				//email azienda di questo cliente
				$q = "SELECT DISTINCT(email),ragione_sociale,idanagrafica FROM an_anagrafiche WHERE 1=1 ".$WHERE_IDANAGRAFICA." ORDER BY idanagrafica";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					if (trim($rs[$i]['email'])!=""){
						echo html_entity_decode( $rs[$i]['ragione_sociale']." &lt;".trim($rs[$i]['email'])."&gt;" );
						if( ($i+1)<$n )
							echo '|';
					}
				}
			}
			
			//Elenco sedi
			else if( $op=="get_sedi" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']." ORDER BY id";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['id'].":".$rs[$i]['descrizione'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			
			//Elenco sedi con <option>
			else if( $op=="get_sedi_select" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT id, CONCAT_WS( ' - ', nomesede, citta ) AS descrizione FROM an_sedi WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']." ORDER BY id";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				
				
				echo "<option value=\"-1\">- Nessuna -</option>\n";
				echo "<option value=\"0\">Sede legale</option>\n";
				
				
				for( $i=0;$i<$n;$i++ ){
					echo "<option value=\"".$rs[$i]['id']."\">".$rs[$i]['descrizione']."</option>\n";
				}
			}

			else if( $op=="get_default_value" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT idtipointervento_default FROM an_anagrafiche WHERE idanagrafica='".$idanagrafica."' ".$additional_where['Anagrafiche']."";
				$rs = $dbo->fetchArray( $q );

				echo html_entity_decode( $rs[0]['idtipointervento_default'], ENT_QUOTES );
				
			}
			
			
			
			break;

		case "Articoli":
			//Elenco categorie
			if( $op=="getcategorie" ){
				$q = "SELECT DISTINCT(categoria) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY categoria";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['categoria'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco subcategorie
			else if( $op=="getsubcategorie" ){
				$q = "SELECT DISTINCT(subcategoria) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY subcategoria";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['subcategoria'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco descrizione
			else if( $op=="getdescrizione" ){
				$q = "SELECT DISTINCT(descrizione) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY descrizione";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['descrizione'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco codici
			else if( $op=="getcodice" ){
				$q = "2SELECT DISTINCT(codice) FROM mg_articoli WHERE 1=1 ".$additional_where['Magazzino']." ORDER BY codice";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['codice'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			
			//Elenco lotti in base all'articolo
			else if( $op=="getlotti" ){
				$idarticolo = save( $_GET['idarticolo'] );
				$q = "SELECT DISTINCT(lotto) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" ".$additional_where['Magazzino']." ORDER BY lotto ASC";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				
				echo "<option value=''>- Seleziona un lotto -</option>\n";
				
				for( $i=0;$i<$n;$i++ ){
					echo "<option value=\"".htmlentities($rs[$i]['lotto'])."\">".htmlentities( $rs[$i]['lotto'] )."</option>\n";
				}
			}
			
			
			//Elenco lotti in base all'articolo e lotto
			else if( $op=="getserial" ){
				$idarticolo = save( $_GET['idarticolo'] );
				$lotto = save( $_GET['lotto'] );
				$q = "SELECT DISTINCT(serial) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" AND lotto=\"".$lotto."\" AND (serial NOT IN(SELECT serial FROM co_righe_documenti WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial)    AND    serial NOT IN(SELECT serial FROM or_righe_ordini WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial)    AND    serial NOT IN(SELECT serial FROM dt_righe_ddt WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial)   AND   serial NOT IN(SELECT serial FROM mg_articoli_interventi WHERE lotto=\"".$lotto."\" AND serial=mg_prodotti.serial)) ".$additional_where['Magazzino']." ORDER BY serial ASC";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				
				echo "<option value=''>- Seleziona un serial number -</option>\n";
				
				for( $i=0;$i<$n;$i++ )
					echo "<option value=\"".htmlentities($rs[$i]['serial'])."\">".htmlentities( $rs[$i]['serial'] )."</option>\n";
			}
			
			
			//Elenco lotti in base all'articolo, lotto e serial
			else if( $op=="getaltro" ){
				$idarticolo = save( $_GET['idarticolo'] );
				$lotto = save( $_GET['lotto'] );
				$serial = save( $_GET['serial'] );
				$q = "SELECT DISTINCT(altro) FROM mg_prodotti WHERE idarticolo=\"".$idarticolo."\" AND lotto=\"".$lotto."\" AND serial=\"".$serial."\"    AND    (altro NOT IN(SELECT altro FROM co_righe_documenti WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro)    AND    altro NOT IN(SELECT altro FROM or_righe_ordini WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro)    AND    altro NOT IN(SELECT altro FROM dt_righe_ddt WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro)   AND    altro NOT IN(SELECT altro FROM mg_articoli_interventi WHERE lotto=\"".$lotto."\" AND serial=\"".$serial."\" AND altro=mg_prodotti.altro)) ".$additional_where['Magazzino']." ORDER BY altro ASC";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				
				echo "<option value=''>- Seleziona un altro codice -</option>\n";
				
				for( $i=0;$i<$n;$i++ )
					echo "<option value=\"".htmlentities($rs[$i]['altro'])."\">".htmlentities( $rs[$i]['altro'] )."</option>\n";
			}
			
			
			//Legge gli ultimi prezzi di vendita di un determinato articolo e li visualizza per suggerire il prezzo di vendita
			else if( $op=="getprezzi" ){
				$idarticolo = save( $_GET['idarticolo'] );
				$idanagrafica = save( $_GET['idanagrafica'] );
				$ids = array('""');

				if( $idarticolo!='0' && $idarticolo!='' ){
					//Ultime 5 vendite al cliente
					$fatture = $dbo->fetchArray("SELECT (SELECT idtipodocumento FROM co_documenti WHERE id=iddocumento) AS idtipodocumento  , iddocumento, (subtotale/qta)-sconto AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo=\"".$idarticolo."\" AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND idanagrafica=\"".$idanagrafica."\") LIMIT 0,5");
					echo "<br/><b>Ultime 5 vendite a questo cliente</b>\n";
					if( sizeof($fatture)>0 ){						
						echo "<br/><table cellspacing='0'>\n";
						echo "<tr><th width='150'>Documento</th>\n";
						echo "<th width='50'>Data</th>\n";
						echo "<th width='80'>Totale</th></tr>\n";

						for( $i=0; $i<sizeof($fatture); $i++ ){
							$descrizione_documento=get_var_tipodoc($fatture[$i]['idtipodocumento'],'descrizione');
							( $fatture[$i]['n2_fattura']!='' ) ? $n_fattura=$fatture[$i]['n2_fattura'] : $n_fattura=$fatture[$i]['n_fattura'];
							echo "<tr><td class='first_cell'><a href=\"".$rootdir."/editor.php?id_module=".$modules_info['Fatture di vendita']['id']."&id_record=".$fatture[$i]['iddocumento']."\" target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$descrizione_documento." n<sup>o</sup> ".$n_fattura."</a></td>\n";
							echo "<td class='table_cell'>".date( "d/m/Y", strtotime($fatture[$i]['data_fattura']) )."</td>\n";
							echo "<td class='table_cell'>".number_format( $fatture[$i]['costo_unitario'], 2, ",", "" )." &euro;</td></tr>\n";
							array_push( $ids, "\"".$fatture[$i]['iddocumento']."\"" );
						}
						echo "</table>\n";
					}
					else
						echo "<br/>... Nessun movimento di questo articolo al cliente ...<br/>\n";
						
						
						
						
						
					//Ultime 5 vendite totali
					$fatture = $dbo->fetchArray("SELECT iddocumento, (subtotale/qta)-sconto AS costo_unitario, (SELECT numero FROM co_documenti WHERE id=iddocumento) AS n_fattura, (SELECT numero_esterno FROM co_documenti WHERE id=iddocumento) AS n2_fattura, (SELECT data FROM co_documenti WHERE id=iddocumento) AS data_fattura FROM co_righe_documenti WHERE idarticolo=\"".$idarticolo."\" AND iddocumento IN(SELECT id FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir='entrata') AND id NOT IN(".implode(',', $ids).") ) LIMIT 0,5");

					echo "<br/><b>Altre 5 vendite</b>\n";
					if( sizeof($fatture)>0 ){
						echo "<br/><table cellspacing='0'>\n";
						echo "<tr><th width='150'>Documento</th>\n";
						echo "<th width='50'>Data</th>\n";
						echo "<th width='80'>Totale</th></tr>\n";

						for( $i=0; $i<sizeof($fatture); $i++ ){
							( $fatture[$i]['n2_fattura']!='' ) ? $n_fattura=$fatture[$i]['n2_fattura'] : $n_fattura=$fatture[$i]['n_fattura'];
							echo "<tr><td class='first_cell'><a href=\"".$rootdir."/modules/contabilita/documenti/documenti.php?dir=entrata&iddocumento=".$fatture[$i]['iddocumento']."\" target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura n<sup>o</sup> ".$n_fattura."</a></td>\n";
							echo "<td class='table_cell'>".date( "d/m/Y", strtotime($fatture[$i]['data_fattura']) )."</td>\n";
							echo "<td class='table_cell'>".number_format( $fatture[$i]['costo_unitario'], 2, ",", "" )." &euro;</td></tr>\n";
						}
						echo "</table>\n";
					}
					
					else
						echo "<br/>... Questo articolo non &eacute; ancora stato venduto ad altri ...<br/>\n";
				}
			}
			break;
			
			
		case "Interventi":
			//Elenco nomi
			if( $op=="get_ragione_sociale" ){
				$ragione_sociale = save( $_GET['ragione_sociale'] );
				$q = "SELECT ragione_sociale FROM an_anagrafiche WHERE ragione_sociale LIKE '%$ragione_sociale%' ".$additional_where['Anagrafiche']." ORDER BY ragione_sociale";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo htmlspecialchars_decode( $rs[$i]['ragione_sociale'], ENT_QUOTES );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			break;
		
		case "Preventivi":
			//Elenco nomi preventivi
			if( $op=="get_select_preventivi" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT co_preventivi.id AS idpreventivo, an_anagrafiche.idanagrafica, nome, idtipointervento FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica='$idanagrafica' AND idstato NOT IN (SELECT `id` FROM co_statipreventivi WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato') ".$additional_where['Preventivi'];
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['idpreventivo'].":".$rs[$i]['nome'].":".$rs[$i]['idtipointervento'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			break;
		
		
		case "Contratti":
			//Elenco nomi preventivi
			if( $op=="get_select_contratti" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT co_contratti.id AS idcontratto, an_anagrafiche.idanagrafica, nome FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE an_anagrafiche.idanagrafica='$idanagrafica' AND idstato NOT IN (SELECT `id` FROM co_staticontratti WHERE descrizione='Bozza' OR descrizione='Rifiutato' OR descrizione='Pagato') ".$additional_where['Contratti'];
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				for( $i=0;$i<$n;$i++ ){
					echo html_entity_decode( $rs[$i]['idcontratto'].":".$rs[$i]['nome'] );
					if( ($i+1)<$n )
						echo '|';
				}
			}
			break;
			
			
		case "Fatture":
			//Elenco fatture non pagate per anagrafica
			if( $op=="get_fatture" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$q = "SELECT data, co_documenti.id AS iddocumento, co_tipidocumento.descrizione AS tipo_doc, dir FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.idanagrafica='$idanagrafica' AND (idstatodocumento=(SELECT `id` FROM co_statidocumento WHERE descrizione='Emessa') OR (SELECT da_pagare-pagato AS differenza FROM co_scadenziario WHERE NOT iddocumento=co_documenti.id=0) )";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				if( $n>0 ){
					echo "<select name='iddocumento' id='iddocumento' class='inputtext'>\n";
					for( $i=0;$i<$n;$i++ ){
						echo "<option value='".$rs[$i]['iddocumento']."' dir=\"".$rs[$i]['dir']."\">".html_entity_decode( $rs[$i]['tipo_doc'] )." del ".date("d/m/Y", strtotime($rs[$i]['data']))."</option>\n";
					}
					echo "</select>\n";
				}
				else
					echo "... Nessuna fattura trovata ...";
			}
			
			//Elenco causali prima nota
			else if( $op=="get_causali" ){
				$descrizione = save($_GET['descrizione']);
				$q = "SELECT DISTINCT descrizione FROM co_movimenti WHERE descrizione LIKE \"%".$descrizione."%\" AND (iddocumento='' OR iddocumento IS NULL) AND primanota=1 ".$additional_where['Prima nota'];
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				if( $n>0 ){
					for( $i=0;$i<$n;$i++ ){
						echo $rs[$i]['descrizione'];
						if( ($i+1)<$n )
							echo "|";
					}
				}
			}
			break;
		
		
		case "Ddt":
			//Elenco ddt del fornitore scelto
			if( $op=="get_ddt" ){
				$idfornitore = save( $_GET['idfornitore'] );
				$q = "SELECT data, dt_ddt.id AS idddt, numero, dt_tipiddt.descrizione AS tipo_doc, dir FROM dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id WHERE dt_ddt.idanagrafica='$idfornitore'";
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);
				if( $n>0 ){
					echo "<select name='idddt' id='idddt' class='inputtext'>\n";
					echo "<option value=''>- Seleziona un ddt -</option>\n";
					for( $i=0;$i<$n;$i++ ){
						echo "<option value='".$rs[$i]['idddt']."'>".html_entity_decode( $rs[$i]['tipo_doc'] )." ".$rs[$i]['numero']." del ".date("d/m/Y", strtotime($rs[$i]['data']))."</option>\n";
					}
					echo "</select>\n";
				}
				else
					echo "... Nessun ddt trovato ...\n";
			}
			break;
		
		
		case "FiltroCat":			
			$idcategoria=save( $_GET['idcategoria'] );	
			$_SESSION['filtro_categoria'] = $idcategoria ;			
							
			break;
			
		
			
		case "MyImpianti":
			//Elenco ddt del fornitore scelto
			if( $op=="get_impianti" ){
				$idanagrafica = save( $_GET['idanagrafica'] );
				$idsede = save( $_GET['idsede'] );
				
				if( $idsede != '' && $idsede != '-1' && $idsede!='undefined' ){
					$q = "SELECT *, (SELECT nomesede FROM an_sedi WHERE id=my_impianti.idsede) AS nomesede FROM my_impianti WHERE idanagrafica=\"".$idanagrafica."\" AND idsede=\"".$idsede."\" ORDER BY idsede";
				}
				
				else{
					$q = "SELECT *, (SELECT nomesede FROM an_sedi WHERE id=my_impianti.idsede) AS nomesede FROM my_impianti WHERE idanagrafica=\"".$idanagrafica."\" ORDER BY idsede";
				}
				
				$rs = $dbo->fetchArray( $q );
				$n = sizeof($rs);

				for( $i=0; $i<$n; $i++ ){
					echo $rs[$i]['id'].":".$rs[$i]['matricola']." - ".$rs[$i]['nome']."\n";

					if( ($i+1)<$n )
						echo "|";
				}
			}
			break;
	}
	
	
	
	/*
		== Super search ==
		Ricerca di un termine su tutti i moduli.
		Il risultato è in json
	*/
	if( $op == "supersearch" ){
		$term = save( $_GET['term'] );
		$term = str_replace( "/", "\\/", $term );
		$i = 0;
		
		
		if( strlen($term) < 2 ){
			echo "null";
			exit;
		}
		
		
		
		/*
			Anagrafiche
		*/
		if( get_permessi('Anagrafiche') != '-' ){
		//	$campi		= array( 'codice', 'ragione_sociale', 'piva', 'codice_fiscale', 'indirizzo', 'indirizzo2', 'citta', 'cap', 'provincia', 'nazione', 'telefono', 'fax', 'cellulare', 'email', 'sitoweb', 'note', 'codicerea', 'settore', 'marche', 'cciaa', 'n_alboartigiani' );
		//	$campi_text	= array( 'Codice', 'Ragione sociale', 'Partita iva', 'Codice fiscale', 'Indirizzo', 'Indirizzo2', 'Città', 'C.A.P.', 'Provincia', 'Nazione', 'Telefono', 'Fax', 'Cellulare', 'Email', 'Sito web', 'Note', 'Codice REA', 'Settore', 'Marche', 'CCIAA', 'Numero di iscrizione albo artigiani' );
			
			
			$campi		= array( 'codice', 'ragione_sociale', 'piva', 'codice_fiscale', 'indirizzo', 'indirizzo2', 'citta', 'cap', 'provincia',  'telefono', 'fax', 'cellulare', 'email', 'sitoweb', 'note', 'codicerea', 'settore', 'marche', 'cciaa', 'n_alboartigiani' );
			$campi_text	= array( 'Codice', 'Ragione sociale', 'Partita iva', 'Codice fiscale', 'Indirizzo', 'Indirizzo2', 'Città', 'C.A.P.', 'Provincia',  'Telefono', 'Fax', 'Cellulare', 'Email', 'Sito web', 'Note', 'Codice REA', 'Settore', 'Marche', 'CCIAA', 'Numero di iscrizione albo artigiani' );
			
			
			$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Anagrafiche'");
			$id_module = $rs[0]['id'];
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\" AND deleted = 0";
			}

			$rs = $dbo->fetchArray("SELECT * FROM an_anagrafiche WHERE 1=0 ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idanagrafica'];
					$result[$r+$i]['title']	= $rs[$r]['ragione_sociale'];
					$result[$r+$i]['category']	= "Anagrafiche";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
				}
			
				$i += $r;
			}
		}
		
		
		//Ricerca anagrafiche per ragione sociale per potere mostrare gli interventi, fatture,
		//ordini, ecc della persona ricercata
		$idanagrafiche = array('-1');
		$ragioni_sociali = array('-1');
		$rs = $dbo->fetchArray("SELECT idanagrafica, ragione_sociale FROM an_anagrafiche WHERE ragione_sociale LIKE \"%".$term."%\"");
		
		for( $a=0; $a<sizeof($rs); $a++ ){
			array_push( $idanagrafiche, $rs[$a]['idanagrafica'] );
			$ragioni_sociali[ $rs[$a]['idanagrafica'] ] = $rs[$a]['ragione_sociale'];
		}
		
		
		
		/*
			Referenti anagrafiche
		*/
		if( get_permessi('Anagrafiche') != '-' ){
			$campi		= array( 'nome', 'mansione', 'telefono', 'email' );
			$campi_text	= array( 'Nome', 'Mansione', 'Telefono', 'Email' );
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT * FROM an_referenti WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idanagrafica']."#tabs-2";
					$result[$r+$i]['title']	= $rs[$r]['nome'];
					$result[$r+$i]['category']	= "Referenti";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r+$i][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		
		/*
			Interventi
		*/
		if( get_permessi('Interventi') != '-' ){
			$campi		= array( 'idintervento', '(SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.idintervento)', 'data_richiesta', 'info_sede', 'richiesta', 'descrizione', 'informazioniaggiuntive' );
			$campi_text	= array( 'Codice intervento', 'Data intervento', 'Data richiesta intervento', 'Sede intervento', 'Richiesta', 'Descrizione', 'Informazioni aggiuntive' );
			
			$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Interventi'");
			$id_module = $modules_info['Interventi']['id'];
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}
			
			$additional_where['Interventi'] = str_replace( "AND", "HAVING", $additional_where['Interventi'] );
			$build_query .= $additional_where['Interventi'];

			$rs = $dbo->fetchArray("SELECT *, (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE idintervento=in_interventi.idintervento) AS data FROM in_interventi WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idintervento'];
					$result[$r+$i]['title']		= "Intervento ".$rs[$r]['idintervento']." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
					$result[$r+$i]['category']	= "Interventi";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}

		
		
		/*
			Preventivi
		*/
		if( get_permessi('Contabilita') != '-' ){
			$campi		= array( 'numero', 'nome', 'descrizione' );
			$campi_text	= array( 'Codice preventivo', 'Nome', 'Descrizione' );
			
			$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Preventivi'");
			$id_module = $rs[0]['id'];
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT *, co_preventivi.id AS idpreventivo FROM co_preventivi WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idpreventivo'];
					$result[$r+$i]['title']	= "Preventivo ".$rs[$r]['numero']." del ".date("d/m/Y", strtotime($rs[$r]['data_accettazione']) );
					$result[$r+$i]['category']	= "Preventivi";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		/*
			Fatture
		*/
		if( get_permessi('Contabilita') != '-' ){
			$campi		= array( 'numero', 'numero_esterno', 'data', 'note', 'note_aggiuntive', 'buono_ordine' );
			$campi_text	= array( 'Numero', 'Numero secondario', 'Data', 'Note', 'Note aggiuntive', 'Buono d\'ordine' );

		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT *, co_documenti.id AS iddocumento FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					if( $rs[$r]['numero_esterno'] == '' ){
						$numero = $rs[$r]['numero'];
					}
					else{
						$numero = $rs[$r]['numero_esterno'];
					}
					
					//Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
					if ($rs[$r]['dir']=='uscita'){
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
						$id_module = $rsm[0]['id'];
					}else{
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
						$id_module = $rsm[0]['id'];
					}

					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['iddocumento'];
					$result[$r+$i]['title']		= $rs[$r]['descrizione']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
					$result[$r+$i]['category']	= $rs[$r]['descrizione'];
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		
		/*
			Righe fatture
		*/
		if( get_permessi('Contabilita') != '-' ){
			$campi		= array( 'descrizione' );
			$campi_text	= array( 'Riga' );
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR co_righe_documenti.".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT co_documenti.*, co_documenti.id AS iddocumento, co_tipidocumento.descrizione AS tipodoc, co_tipidocumento.dir, co_righe_documenti.descrizione FROM co_righe_documenti INNER JOIN (co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) ON co_documenti.id=co_righe_documenti.iddocumento WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					if( $rs[$r]['numero_esterno'] == '' ){
						$numero = $rs[$r]['numero'];
					}
					else{
						$numero = $rs[$r]['numero_esterno'];
					}
					
					
					//Controllo se si tratta di una fattura di acquisto o di vendita e seleziono il modulo opportuno
					if ($rs[$r]['dir']=='uscita'){
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di acquisto'");
						$id_module = $rsm[0]['id'];
					}else{
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Fatture di vendita'");
						$id_module = $rsm[0]['id'];
					}

					
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['iddocumento'];
					$result[$r+$i]['title']		= $rs[$r]['tipodoc']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
					$result[$r+$i]['category']	= $rs[$r]['tipodoc'];
					$result[$r+$i]['labels']	= array();
					

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		/*
			Articoli
		*/
		if( get_permessi('Articoli') != '-' ){
		//	$campi		= array( 'codice', 'descrizione', 'categoria', 'subcategoria', 'note' );
		//	$campi_text	= array( 'Codice', 'Descrizione', 'Categoria', 'Subcategoria', 'Note' );
			
			$campi		= array( 'codice', 'descrizione',  'note' );
			$campi_text	= array( 'Codice', 'Descrizione',  'Note' );
			
			
			$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='Articoli'");
			$id_module = $rs[0]['id'];
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT * FROM mg_articoli WHERE 1=0 ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['id'];
					$result[$r+$i]['title']		= $rs[$r]['codice']." - ".$rs[$r]['descrizione'];
					$result[$r+$i]['category']	= "Articoli";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		
		
		
		/*
			Ddt
		*/
		if( get_permessi('Magazzino') != '-' ){
		
			$campi		= array( 'numero', 'numero_esterno', 'data', 'note' );
			$campi_text	= array( 'Numero', 'Numero secondario', 'Data', 'Note' );
			
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}
			
			$rs = $dbo->fetchArray("SELECT *, dt_ddt.id AS idddt FROM dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					if( $rs[$r]['numero_esterno'] == '' ){
						$numero = $rs[$r]['numero'];
					}
					else{
						$numero = $rs[$r]['numero_esterno'];
					}
					
					//Controllo se si tratta di un tipo ddt di acquisto o di vendita e seleziono il modulo opportuno
					if ($rs[$r]['dir']=='uscita'){
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'");
						$id_module = $rsm[0]['id'];
					}else{
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'");
						$id_module = $rsm[0]['id'];
					}
					
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idddt'];			
					$result[$r+$i]['title']		= $rs[$r]['descrizione']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
					$result[$r+$i]['category']	= $rs[$r]['descrizione'];
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		/*
			Righe ddt
		*/
		if( get_permessi('Magazzino') != '-' ){
			$campi		= array( 'descrizione' );
			$campi_text	= array( 'Riga' );
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR dt_righe_ddt.".$campi[$c]." LIKE \"%".$term."%\"";
			}

			$rs = $dbo->fetchArray("SELECT dt_ddt.*, dt_ddt.id AS idddt, dt_tipiddt.descrizione AS tipodoc, dt_tipiddt.dir, dt_righe_ddt.descrizione FROM dt_righe_ddt INNER JOIN (dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id) ON dt_ddt.id=dt_righe_ddt.idddt WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					if( $rs[$r]['numero_esterno'] == '' ){
						$numero = $rs[$r]['numero'];
					}
					else{
						$numero = $rs[$r]['numero_esterno'];
					}
					
					
					//Controllo se si tratta di un tipo ddt di acquisto o di vendita e seleziono il modulo opportuno
					if ($rs[$r]['dir']=='uscita'){
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'");
						$id_module = $rsm[0]['id'];
					}else{
						$rsm = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'");
						$id_module = $rsm[0]['id'];
					}
					
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['idddt'];
					//$result[$r+$i]['link']		= $rootdir."/modules/magazzino/ddt/ddt.php?idddt=".$rs[$r]['iddocumento']."&dir=".$rs[$r]['dir'];
					$result[$r+$i]['title']		= $rs[$r]['tipodoc']." n<sup>o</sup> ".$numero." del ".date("d/m/Y", strtotime($rs[$r]['data']) );
					$result[$r+$i]['category']	= $rs[$r]['tipodoc'];
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		
		/*
			MyImpianti
		*/
		if( get_permessi('MyImpianti') != '-' ){
			$campi		= array( 'matricola', 'nome', 'descrizione', 'ubicazione', 'occupante', 'proprietario' );
			$campi_text	= array( 'Matricola', 'Nome', 'Descrizione', 'Ubicazione', 'Occupante', 'Proprietario' );
			
			$rs = $dbo->fetchArray("SELECT id FROM zz_modules WHERE name='MyImpianti'");
			$id_module = $rs[0]['id'];
		
			$build_query = '';
		
			for( $c=0; $c<sizeof($campi); $c++ ){
				$build_query .= " OR ".$campi[$c]." LIKE \"%".$term."%\"";
			}
			
			$additional_where['MyImpianti'] = str_replace( "AND", "HAVING", $additional_where['MyImpianti'] );
			$build_query .= $additional_where['MyImpianti'];
			

			$rs = $dbo->fetchArray("SELECT * FROM my_impianti WHERE idanagrafica IN(".implode(',', $idanagrafiche).") ".$build_query);
		
			if( sizeof($rs) > 0 ){
				//Loop record corrispondenti alla ricerca
				for( $r=0; $r<sizeof($rs); $r++ ){
					$result[$r+$i]['link']		= $rootdir."/editor.php?id_module=".$id_module."&id_record=".$rs[$r]['matricola'];
					$result[$r+$i]['title']		= $rs[$r]['matricola']." - ".$rs[$r]['nome'];
					$result[$r+$i]['category']	= "MyImpianti";
					$result[$r+$i]['labels']	= array();

					//Loop campi da evidenziare
					for( $c=0; $c<sizeof($campi); $c++ ){
						if( preg_match("/".$term."/i", $rs[$r][ $campi[$c] ]) ){
							$text = $rs[$r][ $campi[$c] ];
						
							//Evidenzio la parola cercata nei valori dei campi
							preg_match( "/".$term."/i", $rs[$r][ $campi[$c] ], $matches );
						
							for( $m=0; $m<sizeof($matches); $m++ ){
								$text = str_replace( $matches[$m], "<span class='highlight'>".$matches[$m]."</span>", $text );
							}
						
							array_push( $result[$r+$i]['labels'], $campi_text[$c].": ".$text."<br/>" );
						}
					}
					
					//Aggiunta nome anagrafica come ultimo campo
					if( sizeof($ragioni_sociali) > 1 ){
						array_push( $result[$r+$i]['labels'], "Anagrafica: ".$ragioni_sociali[ $rs[$r]['idanagrafica'] ]."<br/>" );
					}
				}
			
				$i += $r;
			}
		}
		
		
		//Contratti
		
		
		//Ordini
	
		echo json_encode( $result );
	}
?>