caracter = new Object(5)    
caracter[0] = 'á'  
caracter[1] = 'é'  
caracter[2] = 'í'  
caracter[3] = 'ó'  
caracter[4] = 'ú'  
  
caracter_nuevo = new Object(5)    
caracter_nuevo[0] = 'a'  
caracter_nuevo[1] = 'e'  
caracter_nuevo[2] = 'i'  
caracter_nuevo[3] = 'o'  
caracter_nuevo[4] = 'u'  
  
caracter_nuevo2 = new Object(5)    
caracter_nuevo2[0] = '[áa]'  
caracter_nuevo2[1] = '[ée]'  
caracter_nuevo2[2] = '[íi]'  
caracter_nuevo2[3] = '[óo]'  
caracter_nuevo2[4] = '[úu]'  
  
var BaseDatos = new Array(    
"http://aguillo.atwebpages.com/theopedya1.html;TheoPedya;Grupo TheoQMZ Enciclopedia virtual en la que los usuarios registrados podrán aportar datos o ampliar información.;enciclopedia,enciclopedia en interneet,TheoPedya",    
"http://www.google.es/;www.google.es;Buscador principal de internet.;buscador,buscadores,google",    
"http://www.live.com;www.live.com;Buscador de Microsoft en asociación con MSN.;buscador,buscadores,live,live msn",    
"http://aguillo.atwebpages.com/busca.html;Buscador TheoQ;Buscador del grupo TheoQMZ.;buscador,buscadores,TheoQ,",    
"http://www.yahoo.com;www.yahoo.com;Buscador Yahoo;buscador,buscadores,Yahoo,",    
"http://es.altavista.com;http://es.altavista.com;Buscador Altavista.;buscador,buscadores,altavista",    
"http://es.ask.com;http://es.ask.com;Buscador Ask;buscador,buscadores,ask",    
"http://www.normagas.es;www.normagas.com;Normagas S.A Especialistas en detectores de fugas de todos los tipos de gases(domiciliarios,industriales...);seguridad,seguridad de gas,gas,detectores,",    
"http://www.normadat.es;www.normadat.es;Normadat S.A Especialistas en seguridad de datos, copias de seguridad, digitalización, backups...;seguridad,seguridad de datos,datos,backup,backups,digitalización",    
"http://willoughbybasketballteam.atwebpages.com;Colegio Willoughby;Grupo TheoQMZ Colegio Willoughby Colegio bilingüe situado en Madrid.;colegio,bilingüe,colegio bilingüe,willoughby,willoughby basketball team",    
"http://centeneradeandaluz.mywebcommunity.org;Centenera de Andaluz;Grupo TheoQMZ Centenera de andaluz es un pueblo situado en la provincia de Soria...;pueblo,pueblos,soria,pueblo en soria,centenera,centenera de andaluz",    
"http://centeneradeandaluz.mywebcommunity.org/fotos.html;Centenera de Andaluz;Grupo TheoQMZ Fotografías de Centenera;pueblo,pueblos,soria,pueblo en soria,centenera,centenera de andaluz",    
"http://centeneradeandaluz.mywebcommunity.org/foro.html;Centenera de Andaluz;Grupo TheoQMZ Foro de Centenera;pueblo,pueblos,soria,pueblo en soria,centenera,centenera de andaluz,foro,foros",    
"http://www.centeneradeandaluz.es;Centenera de Andaluz;Página Oficial de Centenera;pueblo,pueblos,soria,pueblo en soria,centenera,centenera de andaluz",    
"http://www.centenera.tk;Centenera de Andaluz;Página de Centenera de Andaluz;pueblo,pueblos,soria,pueblo en soria,centenera,centenera de andaluz",    
"http://aguillo.atwebpages.com;Aguillo;Grupo TheoQMZ Aguillo es un pueblo situado en el Condado de Treviño,en Burgos...;pueblo,pueblos,condado de treviño,treviño,aguillo,pueblo en el condado de treviño",    
"http://aguillo.atwebpages.com/web.html;Diseño Web;Grupo TheoQMZ Página que te enseña como crear una web en pasos muy fáciles.;diseño web,web,crear web,crear una web,como hacer una web,pagina web,curso de html,como crear una web",    
"http://www.comocreartuweb.com;www.comocreartuweb.com;CCTW Aprende a crear una web mediante cursos básicos de diseño web.;diseño web,web,crear web,crear una web,como hacer una web,pagina web,curso de html,como crear una web",    
"http://www.creatupropiaweb.com;www.creatupropiaweb.com;Clases y cursos de html y diseño web.;diseño web,web,crear web,crear una web,como hacer una web,pagina web,curso de html,como crear una web",    
"http://www.comocrearunsitioweb.com;www.comocrearunsitioweb.com;Curso de creación de paginas web muy fácil.;diseño web,web,crear web,crear una web,como hacer una web,pagina web,curso de html,como crear una web",    
"http://www.lastminute.com;Last Minute;Viajes baratos con Vuelo+Estancia...;agencias de viaje,viajes,viaje,vulos,cruceros,estancias,hotel,hoteles,extranjero",    
"http://www.halconviajes.com;www.halconviajes.com;Agencia Halcón Viajes. Ofertas de vuelos, viajes, hoteles...;agencias de viaje,viajes,viaje,vulos,cruceros,estancias,hotel,hoteles,extranjero",    
"http://www.marsans.es;www.marsans.es;Viajes y vuelos Marsans;agencias de viaje,viajes,viaje,vulos,cruceros,estancias,hotel,hoteles,extranjero",    
"http://www.viajeselcorteingles.es;www.viajeselcorteingles.es;Ofertas y Viajes del Corte Inglés;agencias de viaje,viajes,viaje,vulos,cruceros,estancias,hotel,hoteles,extranjero",    
"http://www.agenciasdeviajesenlared.com;www.agenciasdeviajeseninternet.com;Ofertas de viajes, vuelos, estancias... a precios muy económicos;agencias de viaje,viajes,viaje,vulos,cruceros,estancias,hotel,hoteles,extranjero",    
"http://www.iberia.com;www.iberia.com;Reserva ya sus billetes de Avión desde Iberia.com;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.lufthansa.com;www.lufthansa.com;Ofertas especiales de Lufthansa;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.spanair.com;www.spanair.com;Spanair encuentre nuestras mejores Ofertas;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.vueling.com;www.vueling.com;Visite y compre ya en Vueling;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.britishairways.com;www.britishairways.com;Reserve ya sus billetes para estas Navidades!;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.airfrance.es;www.airfrance.es;Air France en Español;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.alitalia.com;www.airitalia.es;Viaje ya con Air Italia y compre nuestras mejores ofertas;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.continental.com;www.continental.com;Viaje estas Navidades a todas partes da América con Air Continental;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.air-europa.com;www.air-europa.com;Air Europa;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.norwegian.no;www.norwegian.no;Norwegian Airlines;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.aircanada.com;www.aircanada.com;Air Canadá airlines.;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas",    
"http://www.aena.es;www.aena.es;Página de la Asociación de los Aeropuertos Españoles;vuelos,vuelo,viaje,viajes,compañias aereas,aerolineas,aena,asociacion de aeropuertos españoles,aeropuerto,aeropuertos,aeropuertos españoles",    
"http://www.mascotasvirtuales.org/perros/abandodno-de-perros.php;El abandono de Perros;El abandono de perros un problema creciente. Algunas consideraciones. Las alternativas para evitar el abandono de perros.;abandono,perros,mascotas,evitar abandono de perros,abandono de perros,abandono de mascotas",    
"url;desc;Indice de los scripts del Tiralíneas para creación de código a medida;scripts,javascripts,tiralineas,ejemplos,código,programación,ventanas",    
"/tiralineas/tiralineas1;Tiralíneas: Creación de ventanas;Script de creación de código para abrir ventanas;scripts,javascripts,tiralineas,ejemplos,código,programación,ventanas",    
"/tiralineas/tiralineas2;Tiralíneas: Textos en la barra de estado;Script de creación de código para mostrar textos en la barra de estado del navegador;scripts,javascripts,tiralineas,ejemplos,código,programación,barras,estados,textos,desplazamientos,scrollings",    
"/tiralineas/tiralineas3;Tiralíneas: Creación de formularios;Script de creación de código para formularios sencillos de 4 campos;scripts,javascripts,tiralineas,ejemplos,código,programación,formularios,campos,textos,cuadros,radios,botones,submit,reset,enviar"  
)    
  
var totales     //numero de entradas encontradas    
var Pagina      //string que contendra la pagina a mostrar    
var Entradas        //string que va guardando las entrdas encontradas    
var clave1, clave2  //palabra a buscar    
  
//obtiene longitud de la base de datos    
var longitud = BaseDatos.length  
  
  
function Buscaclave(FormBusqueda, desde) {    
    //busca la palabra clave en el array de palabras clave    
    //devuelve -1 si no hay coincidencias    
    var index = -1    
  
    //recorre el array en busca de la palabra clave (en cualquier parte)    
    for (x = desde; x < longitud; x++) {    
        if ( (BaseDatos[x].search(clave1) != -1) || (BaseDatos[x].search(clave2) != -1) ) {    
            index = x    
            break  
        }    
    }    
  
    return index  
}    
  
function IniciaPagina(FormBusqueda) {    
    //crea la pagina a visualizar y la muestra    
  
    //cabecera y apertura cuerpo    
    Pagina =    '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n' +    
            '<html><head>\n' +    
            '<title>Resultados de la busqueda de ' + FormBusqueda.palabra.value + '-TheoQ Search</title>\n' +    
            '<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">\n' +    
            '<meta NAME="AUTHOR" CONTENT="TheoQMZ">\n' +    
            '<!--link rel="stylesheet" type="text/css" href="/search.css"-->'
						'<style type="text/css></style></head>\n' +    
            '<body>\n' +    
            '<h3>Resultados de la búsqueda</h3>\n'  
  
    if (totales != 0)    
        Pagina += '<p>Se han encontrado ' + totales + ' resultados que contienen la palabra <strong class="rojo">' + FormBusqueda.palabra.value + '</strong>:</p>\n'  
    else  
        Pagina += '<p>No se han encontrado resultados para la palabra <strong class="rojo">' + FormBusqueda.palabra.value + '</strong>.</p>\n'  
}    
  
function TerminaPagina() {    
  
    //final cuerpo    
    Pagina +=   '<br>TheoQ Search. Resultados de la búsqueda.</body></html>\n'  
}    
  
function CreaEntradas(indice) {    
  
    var CadenasEntrada    
  
    //divide la cadena de resultados en subcadenas y escribe los resultados    
    CadenasEntrada = BaseDatos[indice].split(";")    
    Entradas += '<p><a href="' + CadenasEntrada[0] + '" target="_self">' + CadenasEntrada[1] + '</a><br>\n'  
    Entradas += CadenasEntrada[2] + '</p>\n'  
}    
  
function MuestraPagina(Pagina) {    
    //muestra el contenido del display    
    window.document.open()    
    window.document.write(Pagina)    
    window.document.close()    
}    
        
function IniciaBuscador(FormBusqueda) {    
        
    //inicia variables globales    
    var desde = 0    
    totales = 0    
    Pagina = ""  
    Entradas = ""  
        
    //clave busqueda    
    var palabraClave = document.forms["FormularioBusqueda"].palabra.value  
        
    //detiene busqueda si palabra clave vacia    
    if ( palabraClave == "" ) {    
        alert("¡Introduzca cadena de búsqueda!")    
        return  
    }    
        
    //elimina acentos    
    var palabra_sin = elimina_especiales(palabraClave)    
        
    //obtiene la expresion regular para la busqueda (global e ignorando case)    
    clave1 = new RegExp(palabraClave, "gi")    
    clave2 = new RegExp(palabra_sin, "gi")    
  
    //inicia variables locales    
    var indice = -1    
        
    //busca entrada de pagina que contenga la clave    
    do {    
        indice = Buscaclave(FormBusqueda, indice + 1)    
        if (indice != -1) {    
            CreaEntradas(indice)    
            totales++    
        }    
    } while (indice != -1)    
        
    //escribe pagina de resultados    
    IniciaPagina(FormBusqueda)    
    Pagina += Entradas    
    TerminaPagina()    
  
    //abre una ventana y escribe los resultados    
    MuestraPagina(Pagina)    
}    
  
//SUSTITUYE TODAS LAS OCURRENCIAS DE UN CARACTER UNA CADENA POR OTRO CARACTER    
function sustituye_caracter(cadena, caracter, nuevo_caracter) {    
    var longitud, indice    
        
    longitud = cadena.length  
    indice = cadena.indexOf(caracter)    
    while ( (indice != -1) && (cadena.charAt(indice + 1) != ']') ) {    
            cadena = cadena.substring(0, indice) + nuevo_caracter + cadena.substring(indice + 1, longitud + 1)    
            indice = cadena.indexOf(caracter, indice)    
        }    
  
    return cadena    
}    
  
//ELIMINA CARACTERES ESPECIALES    
function elimina_especiales(cadena) {    
  
    //elimina caracteres con acento    
    for (x = 0; x < 5; x++) {    
        cadena = sustituye_caracter(cadena, caracter[x], caracter_nuevo[x])    
    }    
        
    //sustituye las vocales por una expresion regular para ignorar los acentos    
    for (x = 0; x < 5; x++) {    
        cadena = sustituye_caracter(cadena, caracter_nuevo[x], caracter_nuevo2[x])    
    }          
        
    return cadena    
}    