// FUNCIONES COMUNES A TODOS LOS IFRAMES

//- Mete en array de ventanas la nueva abierta --
function addVentana(ventana){
    aux="top";
    auxOK="";
    for(i=0;i<100;i++)
      { if(eval(aux))
         { auxOK=aux;
           aux=aux+".opener";
         }
        else break;
      }
  //eval(auxOK).ventanas[eval(auxOK).ventanas.length]=window.open(url,nombre,feat);
  if(eval(auxOK).parent.ventanas) eval(auxOK).parent.ventanas[eval(auxOK).parent.ventanas.length]=ventana;
}
//------------------------------------------------------------------------------

function abrirVentana ( nombre, url, w, h )  {
    // Abrir ventana de edicion
    var win, posX, posY;
    var options = 'scrollbars=yes,status=no,resizable=yes';
    if ( !isNaN(w) ) options += ',width='+w;
    if ( !isNaN(h) ) options += ',height='+h;
    posX=(screen.width-w)/2;
    posY=(screen.height-h)/2;
    options+='screenX='+posX+',left='+posX;
    options+='screenY='+posY+',top='+posY;
	win=window.open(url, nombre, options);
    addVentana(win); //- Meto la nueva ventana en array de ventanas
    win.focus();
}

//------------------------------------------------------------------------------

function abrirVentana_noURL ( nombre, contenido, w, h )  {
    // Abrir ventana de edicion. El contenido se escribe con el propio javascript
    var win, posX, posY;
    var options = 'scrollbars=yes,status=no,resizable=yes';
    if ( !isNaN(w) ) options += ',width='+w;
    if ( !isNaN(h) ) options += ',height='+h;
    posX=(screen.width-w)/2;
    posY=(screen.height-h)/2;
    options+='screenX='+posX+',left='+posX;
    options+='screenY='+posY+',top='+posY;
    win=window.open('', nombre, options);
    addVentana(win); //- Meto la nueva ventana en array de ventanas
    win.document.open();
    win.document.write(contenido);
    win.document.close();
    win.focus();
}

//------------------------------------------------------------------------------
/* FUNCIONES PARA ILUMINAR FILAS DE TABLAS */

//Ilumina fila al pasar con el raton

function destacaTR(oTd, i, longFila) {
    var color = '#FFFFFF'; 
    if (i==1) {color= '#E4ECF4';} 
    for (var i=0; i<=longFila; i++) {
        var id = oTd + i;        
        var objeto = eval('document.getElementById(\"' + id + '\")');
        objeto.style.backgroundColor=color;
    }               
}

// Destaca fila de checkbox seleccionado

function chkDestacaTR(chkbox,oTd,longFila) { 
    for (var i=0; i<=longFila; i++) {
        var id = oTd + i;
        var objeto = eval('document.getElementById(\"' + id + '\");');
        if (chkbox.checked) { 
          objeto.style.backgroundColor = '#E4ECF4';
        } 
        else {
          objeto.style.backgroundColor = '#FFFFFF';
        }
    }                
}

//Ilumina fila al pasar con el raton y luego devuelve al original
function destacaTR2(oTd, i, longFila,color) {
    if (i==1) {color= color_ilumina;} 
    for (var i=0; i<=longFila; i++) {
        var id = oTd + i;  
        var objeto = eval('document.getElementById(\"' + id + '\")');
        objeto.style.backgroundColor=color;
    }               
}

   // Destaca fila de checkbox seleccionado

function chkDestacaTR2(chkbox,oTd,longFila,color) { 
   
    for (var i=0; i<=longFila; i++) {
        var id = oTd + i;
        var objeto = eval('document.getElementById(\"' + id + '\");');
        if (chkbox.checked) { 
          objeto.style.backgroundColor = color_ilumina;
        }
        else {
          objeto.style.backgroundColor = color;
        }
    }                
}

// Cambio de imagenes (on/off) onMouseOver

function movepic(img_name,img_src) {
document.images[img_name].src=img_src;
}

 
// Cambio de imagenes onClick

function swapImg (img_name, img_src, img_src_on) {
	if(document.images[img_name].id == 'off') {
		document.images[img_name].id = 'on'
		document.images[img_name].src=img_src_on;
	} 
	else {
		document.images[img_name].id = 'off'
		document.images[img_name].src=img_src;
	}
}

// Mostrar y ocultar TablaMagica
function tSF (Fila, Capas, MasImg, MenosImg, idBoton, Tabla, Estado) {
    if (!Tabla) {Tabla = 0;}  
    
  // Encendemos la fila correspondiente 
    var num = 0;
    while (obj = eval ('document.getElementById("t' + Tabla + 'tr' + Fila + 'td' + num + '")')) {
        num++;
    }
    num--;    
    
    // Desplegamos sus capas
    for (var i=1; i<=Capas; i++) {
        var capa = Fila + i;
        // Nosotros decidimos el estado desde fuera
        if (Estado) {
            // Desmarcar
            if (Estado == 1) {
                eval('document.getElementById("t' + Tabla + 'tr' + capa + '").style.display="none"');
                movepic(idBoton, MasImg);
                eval('destacaTR("t' + Tabla + 'tr' + Fila + 'td",0,' + num + ')'); 
            }
            // Marcar
            else {
                eval('document.getElementById("t' + Tabla + 'tr' + capa + '").style.display=""');
                movepic(idBoton, MenosImg);
                eval('destacaTR("t' + Tabla + 'tr' + Fila + 'td",1,' + num + ')');
            }
        }
        // El estado es el contrario del que hubiera
        else {
            var obj = eval('document.getElementById("t' + Tabla + 'tr' + capa + '").style.display');       
            // Desmarcar
            if (obj == "") {
                eval('document.getElementById("t' + Tabla + 'tr' + capa + '").style.display="none"');
                movepic(idBoton, MasImg);
                eval('destacaTR("t' + Tabla + 'tr' + Fila + 'td",0,' + num + ')');  
            }
            // Marcar
            else {
                eval('document.getElementById("t' + Tabla + 'tr' + capa + '").style.display=""');
                movepic(idBoton, MenosImg);
                eval('destacaTR("t' + Tabla + 'tr' + Fila + 'td",1,' + num + ')');
            }
        }    
    }   
}

//------------------------------------------------------------------------------
