/** * objTabla: Maneja las filas nuevas, para poder distinguir las * filas en las que el usuario finalmente introduce datos, de * las filas que se habilitan para insertar, pero no se rellenan. **/ function oTabla(idPanel,nomObjeto) { this.nomObjeto = nomObjeto; this.camposErroneos=""; //Guarda en una CADENA la lista de campos erróneos this.idPanel = idPanel; // str nombre de la variable del objeto creado //Referencia a las filas insertadas (por el usuario) this.vFilasComprobar = new Array(); this.nomForm = "F_"+idPanel; this.formulario = eval('document.forms["'+this.nomForm+'"]'); // Variables para el coloreado de las filas this.idFilaAnt = ''; this.estadoFilaAnt = ''; this.vColumnas = new Array(); this.vEstadosCol = new Array(); this.hayFilaChequeada = false; //Privado this.cambiarEstado = f_oTabla_cambiarEstado; this.seleccionarTodos= f_oTabla_seleccionarTodos; this.desCheckFilas = f_oTabla_desCheckFilas; this.deseleccionarTodos = f_oTabla_deseleccionarTodos; this.deseleccionarTodos2 = f_oTabla_deseleccionarTodos2; this.checkFila = f_oTabla_checkFila; this.overFila = f_oTabla_overFila; this.outFila = f_oTabla_outFila; this.ordenarTabla = f_oTabla_ordenarTabla; this.columnaEstado = f_oTabla_columnaEstado; this.hayFilaSeleccionada = f_oTabla_hayFilaSeleccionada; } function f_oTabla_hayFilaSeleccionada() { formulario = this.formulario; for(i=0;i2) { idFila = vNombreComponente3[2]; } if ( (!idFila) && (vNombreComponente1.length>2) ) { idFila = vNombreComponente1[1]+'_'+vNombreComponente1[2]; } if (!(idFila)) { i++; continue; } if (!(fila = document.getElementById(idFila))) { i++; continue; } classFila = fila.className; if ( (componente.type != 'hidden') && (componente.type != 'button') ) { idOculto = null; if ( (componente.type == 'checkbox') && ((vNombreComponente1[0] == 'check')) ) { componente.checked = estado; //Chequeamos las filas i++; continue; } else if (componente.type == 'select-one') { idOculto = 'lcam___'+vNombreComponente3[1]+'___'+idFila; // los campos ocultos para listas tienen el prefijo 'lcam' } else if (componente.type == 'radio') { name = componente.name; vName = name.split('___'); idOculto = 'ant___'+vName[1]+'___'+vName[2]; } if (!idOculto) { idOculto = 'ant___'+vNombreComponente3[1]+'___'+idFila; // ej. ant___codigoEstado___Tabla1_5 } // Tratamos el campo oculto con el valor anterior q tb tiene el class original if (campoOculto = document.getElementById(idOculto)) { classCampoOculto = campoOculto.className; } if (estado) // Si estado=true activamos filas y campos { fila.className = classFila+' rowOn'; componente.className = classCampoOculto+' rowOn'; } else // Si estado=false desactivamos filas y campos { classFila = fila.className.replace('rowOn',''); fila.className = classFila; if (classCampoOculto) { classCampoOculto = classCampoOculto.replace('rowOn',''); componente.className = classCampoOculto; } } if (componente.type == 'radio')//Los radios tiene labels que hay que tratar aparte { idLabelRadio = 'l'+componente.id; labelRadio = document.getElementById(idLabelRadio); if (labelRadio) labelRadio.className = componente.className; } }//Fin if } }//f_oTabla_seleccionarTodos function f_oTabla_desCheckFilas() //idFila: Tabla1_3 { // Tenemos q saber si estamos en una tabla de ventana de selección o no esVentana = 0; if (eval('document.getElementById("resBusqueda")')) esVentana = 1; for (var i=0; i