Ringrazio chiunque sara' in grado di darmi una mano:
Ho trovato un javascript che permette di gestire un piccolo database e fa una ricerca sullo stesso. Per le mie esigenze pero' fa troppe cose dato che lui fa ricerche su piu' campi di uno stesso record, mentre a me serve soltanto che ricerchi in un solo campo (il primo) poi scriva a video la descrizione di questo codice (il secondo campo)e linki per questo risultato un file dbf.
Invece attualmente lo script fa ricerche combinate e altre cose che non mi occorrono.
Qualcuno puo darmi una mano a semplificarlo?
Grazie mille.
Il file si trova QUI

e lo script e':

codice:
<script language="javascript" src="db.js"></script>
<script language="javascript">

var tutti = "_and"
var alcuni = "_or"
var tipo_ricerca = ""
var s = 0
var o = 5
var copia_risultati = new Array()
var doc = parent.frames[1].document

function filtro (query) {
	if (query.charAt(0) == "+")
	{
		query = query.substring (1, query.length)
		tipo_ricerca = tutti
	}
	else
	{
		tipo_ricerca = alcuni
	}
	while (query.charAt(0) == " ") query = query.substring(1, query.length)
		document.forms[0]._query.value = query
	while (query.charAt(query.length - 1) == " ") query = query.substring(0, query.length - 1)
		document.forms[0]._query.value = query
	formatta_stringa (query)
}

function formatta_stringa (query) {
	var stringa_formata = query.split (" ")
	if (tipo_ricerca == "_or")
		cerca_or (stringa_formata)
	else
		cerca_and (stringa_formata)

}
	
function cerca_or (stringa_formata) {
	var matrix = new Array()
	for (i = 0; i < db.length; i++)
	{
	var stringaConfronto = db[i].toUpperCase()
	var stringaUtile = stringaConfronto.substring(0, stringaConfronto.lastIndexOf("|"))
		for (j = 0; j < stringa_formata.length; j++)
		{
			var stringaUtente = stringa_formata[j].toUpperCase()
			if (stringaUtile.indexOf(stringaUtente) != -1)
			{
				matrix[matrix.length] = db[i]		
				break
			}
		}
	}
	verifica(matrix)
}

function cerca_and (stringa_formata) {
	var matrix = new Array()
	for (i = 0; i < db.length; i++)
	{
	var coincidenza = true
	var stringaConfronto = db[i].toUpperCase()
	var stringaUtile = stringaConfronto.substring(0, stringaConfronto.lastIndexOf("|"))
		for (j = 0; j < stringa_formata.length; j++)
		{
			var stringaUtente = stringa_formata[j].toUpperCase()
			if (stringaUtile.indexOf(stringaUtente) == -1)
			coincidenza = false
		}
		if (coincidenza)
			matrix[matrix.length] = db[i]
	}
	verifica(matrix)
}

function verifica (matrix) {
	if (matrix.length == 0)
	{
		doc.open()
		doc.write('<html><head></head><body bgcolor="white"><hr size="1" noshade>')		
		doc.write('<font face="Verdana, Arial, sans" size="3"><div align="center">Spiacente, non ho trovato elementi corrispondenti</div></font><hr size="1" noshade></body></html>')
		doc.close()
	}
	else
	{
		array_risultati = matrix.sort()
		stampa_risultati(array_risultati, s, o)
	}
}

function stampa_risultati(array_risultati, s, o) {
	var limite = (array_risultati.length < s + o) ? array_risultati.length : (s + o)
	doc.open()
	doc.write('<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="white">' + '<table width="90%" border="0">' + '<tr><td><hr size="1" noshade><tr><td><font face="Verdana, Arial, sans" size="2">Chiave di ricerca: ' + '' + parent.frames[0].document.forms[0]._query.value + '' + '
Risultati:' + '' + ' da ' + (s + 1) + ' a ' + limite + ' di ' + array_risultati.length + '</font>' + '<hr size="1" noshade>')	
		for (i = s; i < limite; i++)
		{
			var splitta = array_risultati[i].split("|")
			doc.write('<tr><td><dl><font face="Verdana, Arial, sans" size="2">' + splitta[0].link(splitta[2]) + '' + splitta[1] + '</font>')
		}
	doc.write('</table>')
	visualizza_pulsanti (array_risultati, s, o)
	doc.write('</body></html>')
	doc.close()
}

function visualizza_pulsanti(array_risultati, s, o) {
	doc.write('<form><div align="center">')
	if (s + o < array_risultati.length)
	{
		doc.write('<input type="button" value="successivi" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s + o) + ', ' + o + ')">')
	}
	if (s > 0)
	{
		doc.write('<input type="button" value="precedenti" onClick="parent.frames[0].stampa_risultati(parent.frames[0].array_risultati, ' + (s - o) + ', ' + o + ')">')
	}
	doc.write('</div></form>')
}

</script>
il db.js e' fatto cosi':

codice:
var db = new Array ("campo 1|Descrizione1|url_pdf",
    "campo 2|Descrizione2|url_pdf",
    "campo 3|Descrizione3|url_pdf");