Estoy tratando de crear un buscador en flash, introduzco un texto y hago una busqueda en el archivo xml, creo un movieclip por cada coicidencia. Cuando hago el click sobre el movieclip siempre me va al mismo link. Que estoy haciendo mal?
El xml es el siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<item>
<titulo><![CDATA[ptz]]></titulo>
<desc><![CDATA[ptz ]]></desc>
<tipo><![CDATA[ptz]]></tipo>
<imagem><![CDATA[PTZ]]></imagem>
<link><![CDATA[7]]></link>
</item>
<item>
<titulo><![CDATA[nvr]]></titulo>
<desc><![CDATA[nvr ]]></desc>
<tipo><![CDATA[NVR]]></tipo>
<imagem><![CDATA[NVR]]></imagem>
<link><![CDATA[6]]></link>
</item>
<item>
<titulo><![CDATA[CAMARA]]></titulo>
<desc><![CDATA[camara]]></desc>
<tipo><![CDATA[camaras]]></tipo>
<imagem><![CDATA[camara]]></imagem>
<link><![CDATA[2]]></link>
</item>
<item>
<titulo><![CDATA[MODENS]]></titulo>
<desc><![CDATA[modemsyroutrs]]></desc>
<tipo><![CDATA[modems]]></tipo>
<imagem><![CDATA[moden]]></imagem>
<link><![CDATA[4]]></link>
</item>
<item>
<titulo><![CDATA[modens]]></titulo>
<desc><![CDATA[modemsyroutrs]]></desc>
<tipo><![CDATA[modens]]></tipo>
<imagem><![CDATA[routers]]></imagem>
<link><![CDATA[4]]></link>
</item>
<item>
<titulo><![CDATA[accesorios]]></titulo>
<desc><![CDATA[accesorios]]></desc>
<tipo><![CDATA[accesorio]]></tipo>
<imagem><![CDATA[accesorio]]></imagem>
<link><![CDATA[1]]></link>
</item>
<item>
<titulo><![CDATA[accesorio]]></titulo>
<desc><![CDATA[accesorios varios]]></desc>
<tipo><![CDATA[accesorios varios]]></tipo>
<imagem><![CDATA[accesorio vario]]></imagem>
<link><![CDATA[1]]></link>
</item>
<item>
<titulo><![CDATA[antenas]]></titulo>
<desc><![CDATA[antena varias]]></desc>
<tipo><![CDATA[antenas]]></tipo>
<imagem><![CDATA[antena]]></imagem>
<link><![CDATA[10]]></link>
</item>
</menu>
El codigo de Flash es el siguiente:
Donde introduzco el texto y presiono el boton
on (release) {
if (busca.text == "") {
Selection.setFocus("busca");
} else {
_root.filtro = _root.busca.text.toLowerCase();
_root.gotoAndPlay("xml");
}
}
donde hago la busqueda
System.useCodepage = true;
var meuXML:XML = new XML();
meuXML.ignoreWhite = true;
meuXML.load('BUSQUEDA.xml');
bt._visible = false;
url_array = this.firstChild.childNodes;
var armID:Array = [];
meuXML.onLoad = function() {
qtd = this.childNodes[0].childNodes.length;
for (var i = 0; i<qtd; i++) {
for (var a = 0; a<this.firstChild.childNodes[i].childNodes.length; a++) {
diminui = String(this.firstChild.childNodes[i].childNodes[a].childNodes).toLowerCase();
if (diminui.indexOf(_root.filtro) !== -1) {
armID.push(i);
}
}
}
armID = arranca(armID);
if (armID.length == 0) {
resultados.text = "Ningún archivo encontrado";
} else if (armID.length == 1) {
resultados.text = "1 archivo encontrado.";
} else {
resultados.text = "Resultados "+armID.length+" archivos.";
}
for (var i = 0; i<armID.length; i++) {
bt.duplicateMovieClip('bt'+i, _root.getNextHighestDepth());
_root['bt'+i]._y += bt._height*i+i;
/*************************/
var titulo = (this.childNodes[0].childNodes[armID[i]].childNodes[0].firstChild);
var desc = (this.childNodes[0].childNodes[armID[i]].childNodes[1].firstChild);
var tipo = (this.childNodes[0].childNodes[armID[i]].childNodes[2].firstChild);
var IMG = (this.childNodes[0].childNodes[armID[i]].childNodes[3].firstChild);
var link = (this.childNodes[0].childNodes[armID[i]].childNodes[4].firstChild);
/*************************/
_root['bt'+i].titulo.html = true;
_root['bt'+i].titulo.htmlText = (titulo+"<font color='#cc6600'> - "+(tipo)+"</font>");
_root['bt'+i].desc.html = true;
_root['bt'+i].desc.htmlText = (desc);
_root['bt'+i].link.text = link;
//url='"' + link + '"';
/*************************/
_root['bt'+i].BT_LINK.onRelease = function() {
if (_root['bt'+i].link.text = 1) {
getURL("javascript:void(window.open('accesorios.ht ml','ACCESORIOS','toolbar=no,menubar=no,scrollbars =no,resizable=no,top=0,left=0,width=460,height=640 '))");
} else if (_root['bt'+i].link.text = 2){
getURL("javascript:void(window.open('camara.html', 'camara','toolbar=no,menubar=no,scrollbars=no,resi zable=no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 3){
getURL("javascript:void(window.open('fijas.html',' fijas','toolbar=no,menubar=no,scrollbars=no,resiza ble=no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 4){
getURL("javascript:void(window.open('modemsyroutrs .html','modems','toolbar=no,menubar=no,scrollbars= no,resizable=no,top=0,left=0,width=460,height=640' ))");
} else if (_root['bt'+i].link.text = 5){
getURL("javascript:void(window.open('nvr.html','nv r','toolbar=no,menubar=no,scrollbars=no,resizable= no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 6) {
getURL("javascript:void(window.open('ptz.html','pt z','toolbar=no,menubar=no,scrollbars=no,resizable= no,top=0,left=0,width=460,height=640'))");
} else if (_root['bt'+i].link.text = 7){
getURL("javascript:void(window.open('sw.html','sw' ,'toolbar=no,menubar=no,scrollbars=no,resizable=no ,top=0,left=0,width=460,height=640'))");
};
//getURL("javascript:void(window.open("+link+",by,'t oolbar=no,menubar=no,scrollbars=no,resizable=no,to p=0,left=0,width=460,height=640'))");
};
}
};
function arranca(x) {
for (var i = 0; i<x.length; i++) {
if (x[i] == x[i+1]) {
x.splice(i, 1);
arranca(x);
}
}
return x;
}
stop();
Muchas Gracias