function validacionObligatorio(obligatorio, valor){	var validar = false;		if (obligatorio) {		validar = true;		//alert('validamos por que es obligatorio.')			}else{		if (valor != ''){			//alert('validamos por que ha insertado un dato y queremos que tenga el formato correcto.')			validar = true;		}	}		return validar;}function validaTexto( campo, nombre) {	if( campo.value == "" )		{			alert('El campo ' + nombre + ' no puede estar en blanco.')			campo.focus();			return false; 		}	else return true;}function validaRadial( campo, nombre ) {	var valida = false;	var ii = 0;		for ( ii=0; ii< campo.length; ii++){		 if (campo[ii].checked) {				 	valida = true;		 }	}	if( !valida){	alert('Debe seleccionar algun valor en el campo ' + nombre);	}return valida;}function validaVerifica( campo, nombre ) {	return validaRadial( campo, nombre);}function validaLista( campo, nombre ) {	if( $F(campo) == ""  )	{		alert('Seleccione un valor para el desplegable ' + nombre + '.');		campo.focus();		return false;	}	 else return true;}function validaDNI(campo, nombre, obligatorio){		var valor = campo.value;			var regNum = new RegExp(/^[0-9]{8}[a-zA-Z]{1}$/);	if (regNum.test(valor)) 	{	var numeros = valor.substring(0,8);	var letra = valor.charAt(8).toUpperCase();	var letra2 = averigua(numeros).toUpperCase();		 		 		 		if (letra != letra2)		{			alert('La letra introducida para el ' + nombre + ' no es correcta');			campo.focus();			return false;					}		else return true;	}else{		alert('El dni introducido no es correcto');		campo.focus();		return false;	}	}function averigua(dni){	var cadena="TRWAGMYFPDXBNJZSQVHLCKET";	var posicion = dni % 23; 		 		 	var l = cadena.substring(posicion,posicion+1); 	return l; 		 		 }function validaCIF(texto){                var pares = 0;        var impares = 0;        var suma;        var ultima;        var unumero;        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");        var xxx;                texto = texto.toUpperCase();                var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);          if (!regular.exec(texto)) return false;                    ultima = texto.substr(8,1);         for (var cont = 1 ; cont < 7 ; cont ++){             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));             pares += parseInt(texto.substr(cont,1));         }         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));                  suma = (pares + impares).toString();         unumero = parseInt(suma.substr(suma.length - 1, 1));         unumero = (10 - unumero).toString();         if(unumero == 10) unumero = 0;                  if ((ultima == unumero) || (ultima == uletra[unumero]))             return true;         else             return false;}         function validaNumero(campo, nombre, obligatorio){	var valor = campo.value;			var regNum = new RegExp(/^(-)?\d+(\.\d+)?$/);	valor = valor.replace(/ /g, "");	if (validacionObligatorio(obligatorio, valor))	{		if (valor != "")		{			if (regNum.test(valor)){				$(campo).value = valor;				return true;			}else{				alert('El campo ' + nombre + ' debe de ser un n\u00FAmero')				return false;			}	 		 		}else{			alert('El campo ' + nombre + ' no puede estar vacio.')			return false;		}	 			}else{			return true;	}}function validaFecha(campo, nombre, obligatorio){	var txt = campo.value;		if (validacionObligatorio(obligatorio, txt))	{		var regFecha = new RegExp(/^([0-3]?\d)\/(1[0-2]|0?[1-9])\/(\d{4})$/);		if (txt != "")		{			if(regFecha.test(txt)){				return true;			 }else{				alert('El campo ' + nombre + ' debe de tener el formato dd/mm/aaaa')					campo.focus();				return false;			}		 		}		else		{			alert('El campo ' + nombre + ' no puede estar vacio')			campo.focus();			return false;		}			}else{			return true;	}}function validaEmail( campo, nombre, obligatorio){	var valor= campo.value;		if (validacionObligatorio(obligatorio, valor))	{		var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;		var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/; 		if ( !reg1.test( valor) && reg2.test( valor) ) {			return true;		} else {			alert('El campo ' + nombre + ' es incorrecto')			campo.focus();			return false;		}	}else{			return true;	}}function validaDNIoCIF(campo, nombre, obligatorio){	var valor = campo.value;			if (validacionObligatorio(obligatorio, valor))	{			var regNum = new RegExp(/^[0-9]{8}[a-zA-Z]{1}$/);			if (valor == ""){			alert('El campo ' + nombre + ' no puede estar vacio.')			campo.focus();			return false;		}			if (regNum.test(valor)) 		{		var numeros = valor.substring(0,8);		var letra = valor.charAt(8).toUpperCase();		var letra2 = averigua(numeros);			 		 		 			if (letra != letra2)			{				alert('La letra introducida para el ' + nombre + ' no es correcta');				campo.focus();				return false;						}			else return true;			}else{			//Puede ser un CIF						var pares = 0;			var impares = 0;			var suma;			var ultima;			var unumero;			var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");			var xxx;	        			texto = campo.value.toUpperCase();	        			var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);						if (texto == ""){				alert('El campo ' + nombre + ' no puede estar vacio.')				campo.focus();				return false;			}						     if (regular.exec(texto))			{				ultima = texto.substr(8,1);					for (var cont = 1 ; cont < 7 ; cont ++){					xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";					impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));					pares += parseInt(texto.substr(cont,1));				}						xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";				impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));	         				suma = (pares + impares).toString();				unumero = parseInt(suma.substr(suma.length - 1, 1));				unumero = (10 - unumero).toString();				if(unumero == 10) unumero = 0;	         				if ((ultima == unumero) || (ultima == uletra[unumero]))				{					return true;				}else{					return false;					alert('El digito de control no es correcto para ' + nombre + ' no es correcto' );					campo.focus();				}						}else{				//Puede ser un NIE				return validaNIE(campo, nombre);				//	alert('El n\u00FAmero introducido no es correcto');				//	campo.focus();	     	     //	return false;							}		}	}else{			return true;	}	//fin validacionObligatoria}function validaNIE(campo, nombre){	var valor = campo.value;		var regNum = new RegExp(/^[k:K:l:L:x:X:y:Y:z:Z]{1}[0-9]{7}[a-zA-Z]{1}$/);	if (valor == ""){		alert('El campo ' + nombre + ' no puede estar vacio.')		campo.focus();		return false;	}		if (regNum.test(valor) )	{		var numeros = valor.substring(1,8);		var letra = valor[8];		var letra2 = averigua(numeros);		 		 		 		if (letra.toUpperCase() != letra2)		{			alert('La letra introducida para el ' + nombre + ' no es correcta');			campo.focus();			return false;					}		else return true;	}else{		alert('El n\u00FAmero introducido para el ' + nombre + ' no es correcto');		campo.focus();		return false;	}}function validaContrasenya( campo, nombre, obligatorio){    var valor = $(campo).value;	if (validacionObligatorio(obligatorio, valor) ){					if( $(campo).value == "" )	{			alert('El campo ' + nombre + ' no puede estar en blanco.')			$(campo).focus();			return false; 		}else{							if( $(campo+"_r") && $(campo).value != $(campo+"_r").value ){				alert('La dos contrase\u00F1as introducidas no coinciden.');				$(campo).focus();				return false;			}else{							return true;						}		}			}else{		return true;	}	//fin validacionObligatoria} function obtenRutaBD() {	// Devuelve la ruta absoluta del nsf	 var exp = new RegExp(/(.*\.nsf).*/);		if( exp.test( window.location ) ) {		return RegExp.$1;	} else {		return '';	}}function obtieneDatosAjax(idHijo, idPadre, e){	if (e.target) targ = e.target;	else if (e.srcElement) targ = e.srcElement;	if (targ.nodeType == 3) // defeat Safari bug		targ = targ.parentNode;		var ii;	var continuaProceso;	var filtro;	filtro = "";	continuaProceso = "1";		for (ii=0;ii<idPadre.length;ii++) {					var valor =  recuperaVarloCampo(idPadre[ii]);						if( continuaProceso == "1" && valor != "" ){			filtro = filtro + valor;		}else{			continuaProceso = "0";		}			} 					if ( continuaProceso == "1" ) {		if (filtro != ""){			var agente = 'recuperaValoresAjax?OpenAgent'					var campos = '&id=' + idHijo + '&filtro=' + filtro;			var accion = obtenRutaBD() + '/' + agente;			new Ajax.Request(accion, {method:'post', parameters:campos, 				onSuccess: function datosObtenidos(res) {					var resp = res.responseText;									if($('reemplazaCampo_' + idHijo)){						$('reemplazaCampo_' + idHijo).update(resp);					}				}			});		}		}} //end functionfunction recuperaVarloCampo(campo){		var todos = document.getElementsByName("Campo_" + campo);		for(var i=0,t=todos.length;i<t;i++){			if (todos[i].type == "radio" || todos[i].type == "checkbox"){				if (todos[i].checked){					return todos[i].value;				}			}else{				return todos[i].value;			}		}		}