Inteligent Search ver 1.01

Programa Intelligent Search ver 1.01
elaborado en HTML y JavaScript
por PrograMex
© PrograMex S.A. México D.F. Abril del 2003

/*
Script de Java creado para el programa Inteligent Search
por PrograMex S.A.
*/

//============================================
//Variables Globales
var prog= "Itelligent Search"; //Nombre de Programa

//============================================
//Simbolos que se deben filtrar del texto original
function simbolos_a_filtrar(){
var s_filtro= new Array(); //Arreglo que almacena los simbolos filtro
//Asignacion de valores
s_filtro[0]= " ";
s_filtro[1]= "";
s_filtro[2]= ".";
s_filtro[3]= ";";
s_filtro[4]= ":";
s_filtro[5]= "-";
s_filtro[6]= "_";
s_filtro[7]= "<";
s_filtro[8]= ">";
s_filtro[9]= "Ç";
s_filtro[10]= "ç";
s_filtro[11]= "}";
s_filtro[12]= "´";
s_filtro[13]= "¨";
s_filtro[14]= "{";
s_filtro[15]= "+";
s_filtro[16]= "*";
s_filtro[17]= "]";
s_filtro[18]= "`";
s_filtro[19]= "^";
s_filtro[20]= "[";
s_filtro[21]= "¡";
s_filtro[22]= "¿";
s_filtro[23]= "'";
s_filtro[24]= "?";
s_filtro[25]= "=";
s_filtro[26]= ")";
s_filtro[27]= "(";
s_filtro[28]= "/";
s_filtro[29]= "&";
s_filtro[30]= "%";
s_filtro[31]= "$";
s_filtro[32]= "·";
s_filtro[33]= "!";
s_filtro[34]= "ª";
s_filtro[35]= "º";
s_filtro[36]= "@";
s_filtro[37]= "#";
s_filtro[38]= "0";
s_filtro[39]= "1";
s_filtro[40]= "2";
s_filtro[41]= "3";
s_filtro[42]= "4";
s_filtro[43]= "5";
s_filtro[44]= "6";
s_filtro[45]= "7";
s_filtro[46]= "8";
s_filtro[47]= "9";
return s_filtro; //Regresa arreglo con filtros
}

//============================================
//Palabras que se deben filtrar del texto original
function palabras_a_filtrar(){
var p_filtro= new Array(); //Arreglo que almacena las palabras filtro
//Asignacionde valores
p_filtro[0]= "el";
p_filtro[1]= "la";
p_filtro[2]= "lo";
p_filtro[3]= "la";
p_filtro[4]= "los";
p_filtro[5]= "las";
p_filtro[6]= "un";
p_filtro[7]= "uno";
p_filtro[8]= "una";
p_filtro[9]= "unos";
p_filtro[10]= "unas";
p_filtro[11]= "a";
p_filtro[12]= "ante";
p_filtro[13]= "bajo";
p_filtro[14]= "cabe";
p_filtro[15]= "con";
p_filtro[16]= "contra";
p_filtro[17]= "de";
p_filtro[18]= "desde";
p_filtro[19]= "hacia";
p_filtro[20]= "para";
p_filtro[21]= "por";
p_filtro[22]= "según";
p_filtro[23]= "sin";
p_filtro[24]= "so";
p_filtro[25]= "sobre";
p_filtro[26]= "tras";
p_filtro[27]= "salvo";
p_filtro[28]= "tal";
p_filtro[29]= "ese";
p_filtro[30]= "esa";
p_filtro[31]= "esos";
p_filtro[32]= "esas";
p_filtro[33]= "esto";
p_filtro[34]= "esta";
p_filtro[35]= "este";
p_filtro[36]= "estos";
p_filtro[37]= "estas";
p_filtro[38]= "su";
p_filtro[39]= "sus";
p_filtro[40]= "le";
p_filtro[41]= "e";
p_filtro[42]= "y";
p_filtro[43]= "o";
p_filtro[44]= "u";
p_filtro[45]= "ni";
p_filtro[46]= "no";
p_filtro[47]= "uno";
p_filtro[48]= "me";
p_filtro[49]= "mi";
p_filtro[50]= "mío";
p_filtro[51]= "mía";
p_filtro[52]= "mis";
p_filtro[53]= "mas";
p_filtro[54]= "le";
p_filtro[55]= "les";
p_filtro[56]= "es";
p_filtro[57]= "día";
p_filtro[58]= "noche";
p_filtro[59]= "tarde";
p_filtro[60]= "tardes";
p_filtro[61]= "ayer";
p_filtro[62]= "hoy";
p_filtro[63]= "mañana";
p_filtro[64]= "tenía";
p_filtro[65]= "tener";
p_filtro[66]= "sol";
p_filtro[67]= "luna";
p_filtro[68]= "lluvia";
p_filtro[69]= "hielo";
p_filtro[70]= "debido";
p_filtro[71]= "en";
p_filtro[72]= "pasar";
p_filtro[73]= "mucho";
p_filtro[74]= "tiempo";
p_filtro[75]= "expuesto";
p_filtro[76]= "al";
p_filtro[77]= "ello";
p_filtro[78]= "tuve";
p_filtro[79]= "que";
p_filtro[80]= "se";
p_filtro[81]= "entró";
p_filtro[82]= "padre";
p_filtro[83]= "atenderlo";
p_filtro[84]= "pero";
p_filtro[85]= "nada";
p_filtro[86]= "momento";
p_filtro[87]= "dió";
p_filtro[88]= "fuerte";
p_filtro[89]= "último";
p_filtro[90]= "acerca";
p_filtro[91]= "tipos";
p_filtro[92]= "tipo";
p_filtro[93]= "solo";
p_filtro[94]= "hallé";
p_filtro[95]= "hallar";

return p_filtro; //Regresa arreglo con filtros
}

//============================================
//Inventarios
function inventarios(elegido,todo){
var inv= new Array(); //Arreglo que almacena los inventario
//Arreglo que almacena los valores de cada inventario
var opc1= new Array(); //Arreglo para Tema 1
var opc2= new Array(); //Arreglo para Tema 2
var opc3= new Array(); //Arreglo para Tema 3
var opc4= new Array(); //Arreglo para Tema 4
//Asignacion de valores a cada inventario
//Inventario 1.- Mecánico
opc1[0]= "Mecánico"; //Nombre del Inventario
opc1[1]= "(aceite-amortiguadores)";
opc1[2]= "(arrancar-auto)";
opc1[3]= "(batería-bujía)";
opc1[4]= "(cables-calienta)";
opc1[5]= "(carburador-choque)";
opc1[6]= "(cilindros-coche)";
opc1[7]= "(combustible-culata)";
opc1[8]= "(fallando-faros)";
opc1[9]= "(frenos-gasolina)";
opc1[10]= "(humo-llantas)";
opc1[11]= "(motor-pedal)";
opc1[12]= "(pistón-quemacocos)";
opc1[13]= "(ruido-ruidoso)";
opc1[14]= "(tironea-transmisión)";
opc1[15]= "(válvulas-velocidad)";
opc1[16]= "(velocímetro-ventilador)";
opc1[17]= "(volante-piston)";
opc1[18]= "(carro-descompuso)";
opc1[19]= "(auto-descompuso)";
opc1[20]= "(gasolina-carro)";
opc1[21]= "(aceite-carro)";
opc1[22]= "(aceite-motor)";
opc1[23]= "(motor-ventilador)";
opc1[24]= "(llanta-gato)";
opc1[25]= "(llave-cruz)";
opc1[26]= "(repuesto-llanta)";
opc1[27]= "(alarma-auto)";
opc1[28]= "(refacción-llanta)";
opc1[29]= "(volante-auto)";
opc1[30]= "(tanque-gasolina)";
opc1[31]= "(aire-acondicionado)";
opc1[32]= "(suspención-auto)";
opc1[33]= "(balanceo-auto)";
opc1[34]= "(verificación-auto)";
opc1[35]= "(afinación-auto)";
opc1[36]= "(gasolina-carburador)";
opc1[37]= "(tanque-gasolina)";
opc1[38]= "(ajuste-frenos)";
opc1[39]= "(pedal-frenos)";
opc1[40]= "(pedal-acelerador)";
opc1[41]= "(pedal-clutch)";
opc1[42]= "(freno-mano)";
opc1[43]= "(amortiguador-auto)";
opc1[44]= "(humo-auto)";
opc1[45]= "(apagar-auto)";
opc1[46]= "(cilindros-auto)";
opc1[47]= "(cilindro-auto)";
opc1[48]= "(luces-carro)";
opc1[49]= "(luces-auto)";
opc1[50]= "(limpiador-auto)";
opc1[51]= "(limpiadores-auto)";
opc1[52]= "(cajuela-auto)";
opc1[53]= "(llave-auto)";

//Inventario 2.- TEMA.- Médico
opc2[0]= "Médico"; //Nombre del Inventario
opc2[1]= "(dolor-ardor)";
opc2[2]= "(cabeza-cuerpo)";
opc2[3]= "(brazos-manos)";
opc2[4]= "(piernas-estómago)";
opc2[5]= "(molestia-garganta)";
opc2[6]= "(anginas-fiebre)";
opc2[7]= "(temperatura-inflamación)";
opc2[8]= "(oídos-chipote)";
opc2[9]= "(chichón-golpe)";
opc2[10]= "(raspadura-cortada)";
opc2[11]= "(hérida-cocer)";
opc2[12]= "(sangre-inchazón)";
opc2[13]= "(inyección-torcer)";
opc2[14]= "(torcedura-tos)";
opc2[15]= "(gripa-estornudo)";
opc2[16]= "(estornudar-diarrea)";
opc2[17]= "(gripa-tener)";
opc2[18]= "(sentir-pegar)";
opc2[19]= "(marear-caer)";
opc2[20]= "(enfermar-recaer)";
opc2[21]= "(dolor-cabeza)";
opc2[22]= "(dolor-estomago)";
opc2[23]= "(dolor-garganta)";
opc2[24]= "(estornudar-fiebre)";
opc2[25]= "(fiebre-diarrea)";
opc2[26]= "(diarrea-vómito)";
opc2[27]= "(vomitar-marear)";
opc2[28]= "(corazón-dolor)";
opc2[29]= "(infección-garganta)";
opc2[30]= "(infección-estomago)";
opc2[31]= "(herida-infeccion)";
opc2[32]= "(infectar-herida)";
opc2[33]= "(virus-bacteria)";
opc2[34]= "(virus-gripa)";
opc2[35]= "(virus-sida)";
opc2[36]= "(sida-morir)";
opc2[37]= "(morir-enfermedad)";
opc2[38]= "(dolor-corazón)";
opc2[39]= "(dolor-higado)";
opc2[40]= "(dolor-espalda)";
opc2[41]= "(dolor-brazo)";
opc2[42]= "(dolor-pierna)";
opc2[43]= "(dolor-riñon)";
opc2[44]= "(temperatura-alta)";
opc2[45]= "(oidos-ruido)";
opc2[46]= "(herida-sanar)";
opc2[47]= "(herida-desinfectar)";
opc2[48]= "(herida-desinfección)";
opc2[49]= "(sangre-emorragia)";
opc2[50]= "(sangre-cortada)";
opc2[51]= "(sangre-cortar)";
opc2[52]= "(sangre-raspón)";
opc2[53]= "(sangre-golpe)";
opc2[54]= "(inyección-vacuna)";
opc2[55]= "(inyección-jeringa)";
opc2[56]= "(inyección-cura)";
opc2[57]= "(torcedura-tobillo)";
opc2[58]= "(dolor-oidos)";
opc2[59]= "(torcedura-mano)";
opc2[60]= "(torcedura-cuello)";
opc2[61]= "(torcedura-muñeca)";
opc2[62]= "(torcedura-cadera)";
opc2[63]= "(gripa-fiebre)";
opc2[64]= "(gripa-congestión)";
opc2[65]= "(diarrea-estómago)";
opc2[66]= "(fractura-hueso)";
opc2[67]= "(fractura-dolor)";
opc2[68]= "(diarrea-suelto)";
opc2[69]= "(diarrea-infección)";
opc2[70]= "(corazón-infarto)";
opc2[71]= "(corazón-paro)";
opc2[72]= "(sanar-herida)";
opc2[73]= "(gastritis-nervios)";

//Inventario 3.- TEMA.- Carpintero
opc3[0]= "Carpintero";
opc3[1]= "(mueble-madera)";
opc3[2]= "(cama-mesa)";
opc3[3]= "(triplay-martillo)";
opc3[4]= "(clavo-tornillo)";
opc3[5]= "(puerta-astilla)";
opc3[6]= "(lija-prensa)";
opc3[7]= "(sargento-palos)";
opc3[8]= "(desarmador-sierra)";
opc3[9]= "(cepillo-pinzas)";
opc3[10]= "(cerrote-carpintería)";
opc3[11]= "(medir-cortar)";
opc3[12]= "(clavar-martillar)";
opc3[13]= "(pegar-lijar)";
opc3[14]= "(prensar-cepillar)";
opc3[15]= "(mueble-silla)";
opc3[16]= "(mueble-ropero)";
opc3[17]= "(mueble-librero)";
opc3[18]= "(madera-silla)";
opc3[19]= "(mueble-mesa)";
opc3[20]= "(madera-mesa)";
opc3[21]= "(madera-ropero)";
opc3[22]= "(madera-librero)";
opc3[23]= "(mueble-cama)";
opc3[24]= "(madera-cama)";
opc3[25]= "(madera-triplay)";
opc3[26]= "(madera-pino)";
opc3[27]= "(madera-clavo)";
opc3[28]= "(madera-serrucho)";
opc3[29]= "(madera-serrote)";
opc3[30]= "(madera-martillo)";
opc3[31]= "(madera-medir)";
opc3[32]= "(madera-lijar)";
opc3[33]= "(madera-lija)";
opc3[34]= "(madera-varniz)";
opc3[35]= "(clavo-martillo)";
opc3[36]= "(desarmador-tornillo)";
opc3[37]= "(desarmador-cruz)";
opc3[38]= "(desarmador-dado)";
opc3[39]= "(medir-regla)";
opc3[40]= "(martillar-clavo)";
opc3[41]= "(pegar-clavo)";
opc3[42]= "(pegar-madera)";
opc3[43]= "(sierra-eléctrica)";
opc3[44]= "(cortar-sierra)";
opc3[45]= "(cortar-serrote)";
opc3[46]= "(cortar-serucho)";
opc3[47]= "(cortar-madera)";
opc3[48]= "(sepillar-madera)";
opc3[49]= "(sepillo-madera)";
opc3[50]= "(acerrín-madera)";

//Inventario 4.- TEMA.- Computación
opc4[0]= "Computación"; //Nombre del Inventario
opc4[1]= "(procesador-tarjeta)";
opc4[2]= "(tarjeta-madre)";
opc4[3]= "(usb-puerto)";
opc4[4]= "(puerto-teclado)";
opc4[5]= "(ratón-cursor)";
opc4[6]= "(monitor-pantalla)";
opc4[7]= "(teclado-monitor)";
opc4[8]= "(ram-menoria)";
opc4[9]= "(cdrom-floppy)";
opc4[10]= "(disco-disquette)";
opc4[11]= "(programa-excel)";
opc4[12]= "(programa-word)";
opc4[13]= "(programa-internet)";
opc4[14]= "(email-electrónico)";
opc4[15]= "(mail-correo)";
opc4[16]= "(bocinas-sonido)";
opc4[17]= "(video-monitor)";
opc4[18]= "(teclado-entrada)";
opc4[19]= "(bit-computadora)";
opc4[20]= "(computadora-monitor)";
opc4[21]= "(computadora-teclado)";
opc4[22]= "(computadora-mouse)";
opc4[23]= "(programa-computadora)";
opc4[24]= "(software-hardware)";
opc4[25]= "(software-computadora)";
opc4[26]= "(hardware-computadora)";
opc4[27]= "(virus-información)";
opc4[28]= "(virus-email)";
opc4[29]= "(virus-programa)";
opc4[30]= "(virus-computadora)";
opc4[31]= "(virus-formatear)";
opc4[32]= "(borrar-virus)";
opc4[33]= "(virus-datos)";
opc4[34]= "(infectar-datos)";
opc4[35]= "(infectados-programas)";
opc4[36]= "(motor-ventilador)";
opc4[37]= "(componer-floppy)";
opc4[38]= "(flujo-datos)";
opc4[39]= "(lenguaje-programación)";
opc4[40]= "(computadora-cpu)";
opc4[41]= "(gabinete-cpu)";
opc4[42]= "(software-programa)";
opc4[43]= "(hardware-periferico)";
opc4[44]= "(imagen-escaner)";
opc4[45]= "(texto-escaner)";
opc4[46]= "(red-internet)";
opc4[47]= "(red-local)";
opc4[48]= "(red-mundial)";
opc4[49]= "(red-wan)";
opc4[50]= "(red-man)";
opc4[51]= "(red-lan)";
opc4[52]= "(cable-telefónico)";
opc4[53]= "(fibra-óptica)";
opc4[54]= "(cable-coaxial)";
opc4[55]= "(disco-duro)";
opc4[56]= "(salida-monitor)";
opc4[57]= "(salida-impresora)";
opc4[58]= "(entrada-teclado)";
opc4[59]= "(entrada-mouse)";
opc4[60]= "(mouse-ratón)";
opc4[61]= "(cursor-indicador)";
opc4[62]= "(formatear-disco)";
opc4[63]= "(computadora-escaner)";
opc4[64]= "(computadora-cdrom)";
opc4[65]= "(vieojuego-computadora)";
opc4[66]= "(juego-computadora)";
opc4[67]= "(tarjeta-red)";
opc4[68]= "(bocinas-computadora)";
opc4[69]= "(mail-internet)";

//Asignacion de inventarios
inv[0]= opc1;
inv[1]= opc2;
inv[2]= opc3;
inv[3]= opc4;
//Determinar que resultado se regresa
if(todo== 1) //Si se pidio total de inventarios
return inv; //Regresa todos los inventarios
else //Si se pidio tamaño de un inventario
return inv[elegido]; //Regresa inventario elegido
}

//============================================
//Mostrar los simbolos que se usan como filtro
function ver_simbolos_filtro(){
var ver_filtro= ""; //Almacena palabras filto
var s_fil= new Array(); //Almacena el filtro de simbolos
s_fil= simbolos_a_filtrar(); //Llama a funcion y almacena resultado
//Asigna simbolos filtro
for(i= 0; i< s_fil.length; i++)
ver_filtro= ver_filtro + "<li>" + s_fil[i]; //Asignar cada simbolo filtro a la variable
var v1= "Simbolos a Filtrar"; //Letrero
//Mostrar Ventana con simbolos filtro
var win_filtro;
win_filtro= window.open("", "Ver_simbolos_filtros", "top=0, left=0, width=300, height=500, scrollbars=yes");
win_filtro.document.write("<html><head><title>" + v1 + "</title></head><body><center>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("<h4>" + v1 + "</h4>");
win_filtro.document.write("<table><tr><td><ol>");
win_filtro.document.write(ver_filtro);
win_filtro.document.write("</ol></td></tr></table>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("</center></body></html>");
}

//============================================
//Mostrar las palabras que se usan como filtro
function ver_palabras_filtro(){
var ver_filtro= ""; //Almacena palabras filto
var p_fil= new Array(); //Almacena el filtro de palabras
p_fil= palabras_a_filtrar(); //Llama a funcion y almacena resultado
//Asigna palabras filtro
for(i= 0; i< p_fil.length; i++)
ver_filtro= ver_filtro + "<li>" + p_fil[i]; //Asignar cada palabra filtro a la variable
var v1= "Palabras a Filtrar"; //Letrero
//Mostrar Ventana con palabras filtro
var win_filtro;
win_filtro= window.open("", "Ver_palabras_filtros", "top=0, left=0, width=300, height=500, scrollbars=yes");
win_filtro.document.write("<html><head><title>" + v1 + "</title></head><body><center>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("<h4>" + v1 + "</h4>");
win_filtro.document.write("<table><tr><td><ol>");
win_filtro.document.write(ver_filtro);
win_filtro.document.write("</ol></td></tr></table>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("</center></body></html>");
}

//============================================
//Ver Inventarios
function ver_inventarios(){
var tam_inv_tot= inventarios(0,1); //Pide el numero de inventarios
var ver_inventario= ""; //Almacena palabras inventarios
for(i= 0; i< tam_inv_tot.length; i++)
ver_inventario= ver_inventario + "<li>" + tam_inv_tot[i]; //Asignar cada inventario
var v1= "Inventarios utilizados"; //Letrero
//Mostrar Ventana con inventarios
var win_inventario;
win_inventario= window.open("", "Ver_inventarios", "top=0, left=0, width=300, height=500, scrollbars=yes");
win_inventario.document.write("<html><head><title>" + v1 + "</title></head><body><center>");
win_inventario.document.write("<a href='javascript:close()'>cerrar</a>");
win_inventario.document.write("<h4>" + v1 + "</h4>");
win_inventario.document.write("<table><tr><td><ul>");
win_inventario.document.write(ver_inventario);
win_inventario.document.write("</ul></td></tr></table>");
win_inventario.document.write("<a href='javascript:close()'>cerrar</a>");
win_inventario.document.write("</center></body></html>");
}

//============================================
//Filtrar simbolos del texto
function quitar_simbolos(texto_i){
var texto_f= new Array();; //Texto filtrado de simbolos
var ok; //Variable de confirmacion de filtro
var s_fil= new Array(); //Almacena el filtro de simbolos
s_fil= simbolos_a_filtrar(); //Llama a funcion y almacena resultado
var k= -1; //Valor de indice del arreglo final
for(i= 0; i< texto_i.length; i++){ //Recorrer cada elemento del texto
ok= "f"; //Confirmacion inicia en falso (es un filtro)
for(j= 0; j< s_fil.length; j++){ //Recorrer cada elemento de los simbolos
if(texto_i[i]!= s_fil[j]){ //Si son diferentes
ok= "t"; //Confirmacion verdadera (no es un filtro)
}
else{ //Si son iguales
ok= "f"; //Confirmacion falsa (es un filtro)
break; //Terminar busqueda en esa ubicacion
}
}
if(ok== "t"){ //Si revision no fue filtrada
texto_f[++k]= texto_i[i]; // Guardar en variable texto_f
}
}
return texto_f; //Regresar texto filtrado de simbolos
}

//============================================
//Filtrar palabras del texto
function quitar_palabras(texto_i){
var texto_f= new Array(); //Texto filtrado de palabras
var ok; //Variable de confirmacion de filtro
var p_fil= new Array(); //Almacena el filtro de palabras
p_fil= palabras_a_filtrar(); //Llama a funcion y almacena resultado
var k= -1; //Valor de indice del arreglo final
for(i= 0; i< texto_i.length; i++){ //Recorrer cada elemento del texto
ok= "f"; //Confirmacion inicia en falso (es un filtro)
for(j= 0; j< p_fil.length; j++){ //Recorrer cada elemento de los simbolos
if(texto_i[i]!= p_fil[j]){ //Si son diferentes
ok= "t"; //Confirmacion verdadera (no es un filtro)
}
else{ //Si son iguales
ok= "f"; //Confirmacion falsa (es un filtro)
break; //Terminar busqueda en esa ubicacion
}
}
if(ok== "t"){ //Si revision no fue filtrada
texto_f[++k]= texto_i[i]; // Guardar en variable texto_f
}
}
return texto_f; //Regresar texto filtrado de simbolos
}

//============================================
//Ver información del texto a filtrar y el texto filtrado
function ver_datos_texto(){
var a_filtrar= form1.txt_user.value; //Asignar a variable el texto de entrada
var el_filtrado= form2.txt_filter.value; //Asignar a variable el texto filtrado
a_filtrar= a_filtrar.split(" "); //Separar palabras de entrada
el_filtrado= el_filtrado.split(","); //Separar palabras filtradas
var v1= "Datos de Texto"; //Letrero
//Mostrar Ventana
var win_filtro;
win_filtro= window.open("", "Ver_datos", "top=0, left=0, width=300, height=500, scrollbars=yes");
win_filtro.document.write("<html><head><title>" + v1 + "</title></head><body><center>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a><p>");
win_filtro.document.write("<h4>" + v1 + "</h4>");
win_filtro.document.write("Nº palabras de texto original: " + a_filtrar.length);
win_filtro.document.write("<br>Nº palabras de texto filtrado: " + el_filtrado.length);
win_filtro.document.write("<br>Nº palabras filtradas: " + (a_filtrar.length - el_filtrado.length));
win_filtro.document.write("<p><a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("</center></body></html>");
}

//============================================
//Borrar contenido de cajas de texto
function borrar(){
f4.style.display= "none"; //Ocultar Resultado
f3.style.display= "none"; //Ocultar Producto cartesiano
form3.txt_cartesiano.value= ""; //Borrar contenido de Producto cartesiano
f2.style.display= "none"; //Ocultar Texto filtrado
form2.txt_filter.value= "";// Borrar contenido de Texto filtrado
form1.txt_user.value= "El día de ayer mi padre que es mecánico tenía fiebre debido a una infección en la garganta por pasar mucho tiempo expuesto al sol y por ello tuve que atenderlo y descuidar la computadora de mi carpintería que se dañó por un virus que entró por email y borró la información"; //Borrar contenido de Texto original
form1.txt_user.focus(); //Dar el foco a la caja de entrada de texto
}

//============================================
//Verificar texto de entrada
function verificar_texto(){
if(form1.txt_user.value== ""){ //Si no se escribió nada en caja de entrada de texto
alert("Debe escribir un texto para poder efectuar la búsqueda inteligente."); //Mandar error
form1.txt_user.focus(); //Dar foco a caja de entrada de texto
}
else //Si si escribió algo
filtrar_texto(); //Llamar a funcion de filtrado
}

//============================================
//Filtrar texto del usuario
function filtrar_texto(){
var cadena= form1.txt_user.value; //Asignar el texto del usuario a una variable
cadena= cadena.toLowerCase(); // Convertir texto a minusculas
cadena= cadena.split(" "); // Separar palabras
var sin_simbolos= new Array(); //Almacena cadena sin simbolos en array
var sin_palabras= new Array(); //Almacena cadena sin palabras en array
sin_simbolos= quitar_simbolos(cadena); //Llama a funcion filtrar simbolo y almacena resultado
sin_palabras= quitar_palabras(sin_simbolos); //Llama a funcion filtrar palabra y almacena resultado
form2.txt_filter.value= sin_palabras; //Asignar texto filtrado
producto_cartesiano(sin_palabras); //Llama funcion producto cartesiano
comparar_inventarios();//Llamar funcion comparar inventarios
f2.style.display= "block"; //Mostrar caja de texto filtrado
window.open("#filtro","informacion"); //Ubicar en texto filtrado
f3.style.display="block"; //Mostrar caja de producto cartesiano
window.open("#cartesiano","informacion"); //Ubicar en producto cartesiano
f4.style.display="block"; //Mostrar caja de producto cartesiano
window.open("#resultado","informacion"); //Ubicar en producto cartesiano
}

//============================================
//Realizar el producto cartesiano del texto filtrado
function producto_cartesiano(el_texto){
form3.txt_cartesiano.value= ""; //Borrar contenido de Caja Producto cartesiano
var cadena= el_texto; //Asignar el texto del usuario a una variable
//Realizar Producto Cartesiano
for(i= 0; i< cadena.length; i++){
for(j= 0; j< cadena.length; j++){
form3.txt_cartesiano.value= form3.txt_cartesiano.value + "(" +cadena[i] + "-" + cadena[j] + "); ";
}
}
}

//============================================
//Ver datos de producto cartesiano
function ver_datos_producto(){
var a_filtrar= form3.txt_cartesiano.value; //Asignar a variable el texto de entrada
a_filtrar= a_filtrar.split("; "); //Separar palabras
var v1= "Datos del Producto Cartesiano"; //Letrero
//Mostrar Ventana
var win_filtro;
win_filtro= window.open("", "Ver_cartesiano", "top=0, left=0, width=300, height=500, scrollbars=yes");
win_filtro.document.write("<html><head><title>" + v1 + "</title></head><body><center>");
win_filtro.document.write("<a href='javascript:close()'>cerrar</a><p>");
win_filtro.document.write("<h4>" + v1 + "</h4>");
win_filtro.document.write("Nº subconjuntos determinados: " + (a_filtrar.length-1));
win_filtro.document.write("<p><a href='javascript:close()'>cerrar</a>");
win_filtro.document.write("</center></body></html>");
}

//============================================
//Comparar producto cartesiano con inventarios
function comparar_inventarios(){
var tam_inv_tot= inventarios(0,1); //Pide el numero de inventarios
var ver_inventario= "<p style='text-align:center;'><b>RESULTADO OBTENIDO</b></p>"; //Letrero
var ver_inventario2= ""; //Letrero
var ver_T_Inv= ""; //Letrero
var carte= form3.txt_cartesiano.value; //Almacena producto cartesiano
carte= carte.split("; "); //Separar palabras
var res= new Array(); //Almacena resultado de comparacion
//Asignar cero a cada elemento de concurrencias
for(i= 0; i< tam_inv_tot.length; i++){
res[i]= 0;
}
//Verificar concurrencias
for(i= 0; i< tam_inv_tot.length; i++){
var tam_inv_i= inventarios(i,0); //Pide el numero de elementos del inventario i
for(j= 1; j< tam_inv_i.length; j++){
for(k= 0; k< carte.length; k++){
if(carte[k]== tam_inv_i[j]){
res[i]= res[i] + 1;
//ver_T_Inv= ver_T_Inv + tam_inv_i[0] + "<br>";
}
}
}
}
//Mostrar Resultado
ver_inventario= ver_inventario + "<b>Ud. requiere información sobre</b>:<br>";
//Determinar Concurrencias de palabras y tema del cual habla
var nada= 0;
for(i= 0; i< res.length; i++){
ver_inventario2= ver_inventario2 + "&nbsp;&nbsp;&nbsp;<i>Inventario " + (i+1) + ":</i> " + res[i] + "<br>";
if(res[i]!= 0){
nada= 1;
ver_T_Inv= ver_T_Inv + "<font style='color:darkgreen;'><b><li>" + tam_inv_tot[i][0] + "</b></font>.<br>&nbsp;&nbsp;&nbsp;&nbsp;<a href='inv" + (i+1) + ".htm' title='Ver mas información sobre el tema' target='_blank'>(mas información)</a>";
}
}
if(nada== 0)
ver_inventario= ver_inventario + "<font style='color:red;'>NO SE ENCONTRARON CONCURRENCIAS EN NINGUN INVENTARIO</font><br>";
else
ver_inventario= ver_inventario + ver_T_Inv;
ver_result('result','',ver_inventario + "<br><br><b>Concurrencias en Inventarios</b><br>" + ver_inventario2)
}

//============================================
//Menu con link a cada caja de texto en el programa Intelligent Search
function quick_menu(){
document.write('<a href="#original">Texto Original</a> | <a href="#filtro">Texto Filtrado</a> | <a href="#cartesiano">Producto Cartesiano</a> | <a href="#resultado">Resultado</a>');
}


Programa Intelligent Search ver 1.01
elaborado en HTML y JavaScript
por PrograMex
© PrograMex S.A. México D.F. Abril del 2003