
// --- COMPROBAR CAMPOS VACIOS II (VARIABLE) -----------------------------------------
// MODIFICADA !!!!
// Se le pasan argumentos variables, los que sean.
// El primero es el nombre del formulario
// Los demás son los nombres de los campos del formulario que no deben ser vacios
// Simplemente pasamos el nombre, aquí se crea la cadena document.frm....
// Si todos son distintos de vacio devuelve 1
// Si alguno esta vacio devuelve 0
	var cadenaCampos;
	function comprobarCamposII() {
		var ncampos;
		var i;
		var correcto=1;
		var miForm;
		cadenaCampos="";
		miForm=comprobarCamposII.arguments[0];
		ncampos=comprobarCamposII.arguments.length;
		for (i=1;i<ncampos;i++) {
			if (eval('document.' + miForm + '.' + comprobarCamposII.arguments[i] + '.value==\'\'')) {
				cadenaCampos=cadenaCampos + '\n\t[' + eval('document.' + miForm + '.' + comprobarCamposII.arguments[i] + '.title') + ']';
				correcto=0;
			}
		}
		return correcto;
	}
// --- COMPROBAR CAMPOS VACIOS II (VARIABLE) -----------------------------------------
// MODIFICADA 2 !!!!
// Se le pasa el nombre del formulario
// Mira los campos que tienen ID y esos son los que comprueba que no esten vacios
// Si todos son distintos de vacio devuelve 1
// Si alguno esta vacio devuelve 0
	var cadenaCampos;
	function comprobarCamposIII() {
		var ncampos;
		var i;
		var correcto=1;
		var miForm;
		cadenaCampos="";
		miForm=comprobarCamposIII.arguments[0];
		ncampos=eval('document.' + miForm + '.elements.length');
		for (i=0;i<ncampos;i++) {
			miCadena=eval('document.' + miForm + '.elements[' + i + '].id');
			if (miCadena.indexOf('ob_')!=-1) {
				if (eval('document.' + miForm + '.elements[' + i + '].value==\'\'')) {
					cadenaCampos=cadenaCampos + '\n\t[' + eval('document.' + miForm + '.elements[' + i + '].title') + ']';
					correcto=0;
				}
			}
		}
		return correcto;
	}
// --- FUNCION SELECCIONA CHECKS  -------------------------------------------------
// Se le pasa el nombre de un formulario y un valor (true o false)
// Selecciona o deselecciona todos los ckecks del formulario
	function seleccionarTodos(miFormulario,valor) {
		var total,i;
		total=eval('document.' + miFormulario + '.elements.length');
		for (i=0;i<total;i++) {
			if (eval('document.' + miFormulario + '.elements[' + i + '].type=="checkbox"')) {
				if (!eval('document.' + miFormulario + '.elements[' + i + '].disabled')) {
					eval('document.' + miFormulario + '.elements[' + i + '].checked=' + valor);
				}
			}
		}
	}
// --- OBTIENE CADENA DE BORRADO A PARTIR DE LOS CHECKBOX --------------------------------
// Se le pasa el nombre de un formulario.
// Devuelve una cadena del tipo: "idUsuario=2 OR idUsuario=3 OR idUsuario=5"
// para concatenarla más tarde con DELETE FROM table WHERE $cadenaBorrar
	function cadenaBorrado(miFormulario,miCampo,misComillas) {
		var total,i;
		var cadena="";
		total=eval('document.' + miFormulario + '.elements.length');
		for (i=0;i<total;i++) {
			if (eval('document.' + miFormulario + '.elements[' + i + '].type=="checkbox"') && eval('document.' + miFormulario + '.elements[' + i + '].value!="on"') ) {
				if (eval('document.' + miFormulario + '.elements[' + i + '].checked==true')) cadena+=' OR ' + miCampo + '=' + misComillas + eval('document.' + miFormulario + '.elements[' + i + '].value') + misComillas;
			}
		}
		cadena=cadena.substr(3,cadena.length-3);
		return cadena;
	}
// --- FUNCION CONTAR CHECKBOX MARCADOS ------------------------------------------------
// Se le pasa el nombre de un formulario.
// Devuelve el número de checkbox seleccionados de un formulario
	function numeroSel(miFormulario) {
		var total,i,marcados=0;
		total=eval('document.' + miFormulario + '.elements.length');
		for (i=0;i<total;i++) {
			if (eval('document.' + miFormulario + '.elements[' + i + '].type=="checkbox"')) {
				if (eval('document.' + miFormulario + '.elements[' + i + '].checked==true'))
					marcados++;
				}
		}
		return marcados;
	}
// --- FUNCION DEVUELVE EL VALOR DEL RADIO MARCADO -------------------------------------------
// Se le pasa el nombre de un formulario y un valor que si es 1 desmarca todos los radios y si es 0 no.
// Devuelve el valor del radio marcado o -1 si no hay radio.
// Desmarca los checks si t=1
	function valorRadio(miFormulario, t) {
		var total,i,valor=-1;
		total=eval('document.' + miFormulario + '.elements.length');
		for (i=0;i<total;i++) {
			if (eval('document.' + miFormulario + '.elements[' + i + '].type=="radio"')) {
				if (eval('document.' + miFormulario + '.elements[' + i + '].checked==true')) {
					valor=eval('document.' + miFormulario + '.elements[' + i + '].value');
					if (t) eval('document.' + miFormulario + '.elements[' + i + '].checked=false');
				}
			}
		}
		return valor;
	}


// --- MODIFICACION DE FORMULARIOS	
// --- En la pagina donde este el formulario tiene que haber una capa y un campo de texto oculto
// --------------------------------------------------------------------------------
// --- VARIABLES
var formularioModificado=0; // Variable global que nos dice si se ha modificado
var formularioCambios="\n\n"; // Variable global que almacena en que campos se han hecho cambios

// --- FUNCION frm_Modificar ------------------------------------------------------
// Cambia el estado del formulario segun el valor que le pasemos
// Pasamos: 
//		estado (0=no modificado|1=modificado)
//		escribe (0=no, 1=si  Escribe en una capa)
//		capa (nombre de la capa donde se mostrara el texto)
//		capa (nombre del campo en el que se ha hecho el cambio)
	function frm_ModificarEstado(estado, escribe, capa, texto, campo) {
		formularioModificado=estado;
		formularioCambios+='[' + campo + ']' + '\n';		
		if (estado==1 && escribe==1) frm_MuestraEstado(capa, texto);
	}
// --- FUNCION frm_Estado ---------------------------------------------------------
// Devuelve el estado del formulario
// Devuelve: estado (0=no modificado|1=modificado)
	function frm_Estado(estado) {
		return(formularioModificado);
	}
// --- FUNCION frm_MuestraEstado ---------------------------------------------------------
// Muestra el estado del formulario en un <div>
	function frm_MuestraEstado(capa, texto) {
		if (formularioModificado) miInnerHTML(capa, texto);
		else miInnerHTML(capa, '');				
	}		
// --- FUNCION frm_Enlace ---------------------------------------------------------
// Realiza el enlace a una pagina comprobando si se ha modificado o no
	function frm_Enlace(enlace, pregunta, formulario, voy) {
		if (formularioModificado==0) {
			self.location.href=enlace;
		}
		else {
			if (confirm(pregunta + formularioCambios)){
				eval('document.' + formulario + '.' + voy + '.value=\'' + enlace + '\'');
				eval('document.' + formulario + '.submit()');
			}
			else self.location.href=enlace;
		}
	}
// --- FUNCION frm_Borra ---------------------------------------------------------
// Elimina los datos de un input text
	function frm_Borra(frm, obj, valor) {
		eval('document.' + frm + '.' + obj + '.value=\'' + valor + '\'');
	}
// --- FUNCIONES SELECCIONAR UN SELECT  ---------------------------------------------------------
	var arrOldValues;
	
	function SelectAllList(CONTROL){
	for(var i = 0;i < CONTROL.length;i++){
	CONTROL.options[i].selected = true;
	}
	}
	function DeselectAllList(CONTROL){
	for(var i = 0;i < CONTROL.length;i++){
	CONTROL.options[i].selected = false;
	}
	}
	function FillListValues(CONTROL){
	var arrNewValues;
	var intNewPos;
	var strTemp = GetSelectValues(CONTROL);
	arrNewValues = strTemp.split(",");
	for(var i=0;i<arrNewValues.length-1;i++){
	if(arrNewValues[i]==1){
	intNewPos = i;
	}
	}
	for(var i=0;i<arrOldValues.length-1;i++){
	if(arrOldValues[i]==1 && i != intNewPos){
	CONTROL.options[i].selected= true;
	}
	else if(arrOldValues[i]==0 && i != intNewPos){
	CONTROL.options[i].selected= false;
	}
	if(arrOldValues[intNewPos]== 1){
	CONTROL.options[intNewPos].selected = false;
	}
	else{
	CONTROL.options[intNewPos].selected = true;
	}
	}
	}
	function GetSelectValues(CONTROL){
	var strTemp = "";
	for(var i = 0;i < CONTROL.length;i++){
	if(CONTROL.options[i].selected == true){
	strTemp += "1,";
	}
	else{
	strTemp += "0,";
	}
	}
	return strTemp;
	}
	function GetCurrentListValues(CONTROL){
	var strValues = "";
	strValues = GetSelectValues(CONTROL);
	arrOldValues = strValues.split(",")
	}