Código Javascript :
function crear_tMulti(varia1, varia2) {
mult_select(varia1, varia2);
var tabla_sh = document.getElementById("multiTbShow");
var rows_exist = document.getElementById("multiTbShow").rows.length;
alert(rows_exist);
if (rows_exist > 2) {
for (var d=2; d<rows_exist; d++) {
tabla_sh.deleteRow(2);
}
for (var a=2; a<num_video+2; a++) {
var c = a - 2;
var filaX = tabla_sh.insertRow(a);
filaX.onmouseover = function() {
this.style.cursor="pointer";
this.style.backgroundColor="#C8E5FC";
}
filaX.onmouseout = function() {
this.style.cursor="pointer";
this.style.backgroundColor="#F0F8FE";
}
filaX.onclick = function() {
if (varia1 != "imagenes") {
tabla_sh.rows[0].cells[0].innerHTML = "<object width="+vLargo[c]+" height="+vAncho[c]+"><param name='movie' value="+vUrl_video[c]+"></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src="+vUrl_video[c]+" type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width="+vLargo[c]+" height="+vAncho[c]+"></embed></object>"
}else{
ventana_pop2(vUrl_video[c], vLargo[c], vAncho[c]);
}
}
var celda1 = filaX.insertCell(0);
var celda2 = filaX.insertCell(1);
var celda3 = filaX.insertCell(2);
celda1.setAttribute('align', 'center');
celda2.setAttribute('align', 'center');
celda3.setAttribute('align', 'center');
celda1.innerHTML = vNombre_video[c];
celda2.innerHTML = vFecha_video[c];
celda3.innerHTML = vDesc_video[c];
}
}else{
for (var a=2; a<num_video+2; a++) {
var c = a - 2;
var filaX = tabla_sh.insertRow(a);
filaX.onmouseover = function() {
this.style.cursor="pointer";
this.style.backgroundColor="#C8E5FC";
}
filaX.onmouseout = function() {
this.style.cursor="pointer";
this.style.backgroundColor="#F0F8FE";
}
filaX.onclick = function() {
if (varia1 != "imagenes") {
tabla_sh.rows[0].cells[0].innerHTML = "<object width="+vLargo[c]+" height="+vAncho[c]+"><param name='movie' value="+vUrl_video[c]+"></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src="+vUrl_video[c]+" type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width="+vLargo[c]+" height="+vAncho[c]+"></embed></object>";
}else{
ventana_pop2(vUrl_video[c], vLargo[c], vAncho[c]);
}
}
var celda1 = filaX.insertCell(0);
var celda2 = filaX.insertCell(1);
var celda3 = filaX.insertCell(2);
celda1.setAttribute('align', 'center');
celda2.setAttribute('align', 'center');
celda3.setAttribute('align', 'center');
celda1.innerHTML = vNombre_video[c];
celda2.innerHTML = vFecha_video[c];
celda3.innerHTML = vDesc_video[c];
}
}
}
function mult_select(media, type) {
var multiXML = docXML.getElementsByTagName(media)[0];
num_video = multiXML.getElementsByTagName(type).length;
for (var b=0; b<num_video; b++) {
video_XML[b] = multiXML.getElementsByTagName(type)[b];
vFecha_video[b] = video_XML[b].attributes.item(0).nodeValue;
vNombre_video[b] = video_XML[b].attributes.item(1).nodeValue;
vUrl_video[b] = video_XML[b].attributes.item(2).nodeValue;
vLargo[b] = video_XML[b].attributes.item(3).nodeValue;
vAncho[b] = video_XML[b].attributes.item(4).nodeValue;
vDesc_video[b] = video_XML[b].childNodes[0].nodeValue;
}
}
mult_select es una funcion que almacena en variables todos los datos recogidos de cierto segmento de un XML enviado por responseXML a traves de ajax(comprobado que el xml esta bien formado). media y type son los nombres de la etiqueta y subetiqueta respectivamente que contienen los datos.
Osea supongamos que media tiene el valor "video", dentro de la etiqueta video hay 5 enlaces a videos por lo tanto hay 5 subetiquetas llamadas "videoFile" cada una de ellas conteniendo parametros y contenido respectivo a ese video (enlace, dimensiones, descripcion del tema,etc).
Siendo asi esta funcion almacena en variables estos parametros y contenido.
la funcion crear_tMulti(varia1, varia2) crea tantas filas sean necesarias como enlaces encontrados, luego asigno colores para sombrear cuando el mouse pasa sobre la tabla creada y cuando sale devolver el mismo color. Hasta ahi todo bien, el problema viene cuando le asigno los parametros a la fila 0 de la tabla q es la que muestra el video de youtube. Creo el <object> a manera de cadena y lo que cambia dinamicamente seria los enlaces y las dimensiones, pero cuando doy click en las filas creadas siempre despiden el ultimo enlace, como podria hacer para asignarle correctamente sus enlaces a cada fila?
Espero haber sido lo mas claro posible en todo caso preguntenme para aclarar si no se entendio algo.
Gracias de antemano
