function soloNumeros(event) 
{	
	tecla= (document.all) ? event.keyCode : event.which;
    // Sólo se pueden teclear valores entre el 0 y el 9 
    if ( isNaN( parseInt( String.fromCharCode( tecla ) ) ) && tecla!='0'  && tecla!='8' && tecla!='44') 
    {        
      (document.all)?event.returnValue = false:event.preventDefault();
    }
}
	//Quita espacios en blanco
	function trimString (str) 
	{
	  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');    
	}
	
	// Quita los espacios de la cadena
	function quitarEspacios(cadena)
	{
		var cadenaAux = "";
		for(var i=0;i < cadena.length ;i++){
			if(cadena.charAt(i) != ' '){
				cadenaAux = cadenaAux + cadena.charAt(i);
			}
		}
		return cadenaAux;
	}
	
	//Suma las cifras de un número
	function sumaCifras(num)
	{
	 	var numero=num;
	 	var len=(num.toString()).length;   
	 	var suma=0;
	 	for( i=0; i<len;i++)
	    suma=suma+parseInt(numero.toString().charAt(i));
	 	return suma;  
	}
	
	/* Comprueba si la 'Cadena' enviada está compuesta sólo por números *
	* Si lo que recibe no es una cadena devuelve falso.					*/
	function esNumero(Cadena){
	/*Si el número es negativo le quito el signo para compararlo:*/
	   if (typeof(Cadena) != "string"){
	      return false;
	   } 
	   if (Cadena.charAt(0) == "-") {
	    	Cadena = Cadena.substring(1);
		}
	   var Numeros='0123456789';
	   for (var i=0; i< Cadena.length; i++){
	      if (Numeros.indexOf(Cadena.charAt(i)) == -1)
	         return false;
	   }
	   return true;
	}
	
	
	//Comprueba si la cadena tiene letras 
	function esLetra(cadena)
	{		
		cadena = cadena.toUpperCase();
	   	var caracteresPermitidos="ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ"; 
		for(var i=0;i<cadena.length;i++){
			if (caracteresPermitidos.indexOf(cadena.charAt(i)) == -1){
				return false;
			}
		}
		return true;
	 
	}
	
	function esNumeroLetra(cadena)
	{		
		cadena = cadena.toUpperCase();
	   	var caracteresPermitidos="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 
		for(var i=0;i<cadena.length;i++){
			if (caracteresPermitidos.indexOf(cadena.charAt(i)) == -1){
				return false;
			}
		}
		return true;
	 
	}
	
	//Comprueba si la cadena es Alfanumerica valida
	function esAlfanumerico(cadena)
	{		
		cadena = cadena.toUpperCase();
	   	var caracteresPermitidos="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890-ªº;,./ ÁÉÍÓÚüÜçÇ"; 
		for(var i=0;i<cadena.length;i++){
			if (caracteresPermitidos.indexOf(cadena.charAt(i)) == -1){
				return false;
			}
		}
		return true;
	 
	}
	function esAlfanumericoComplDir(cadena)
	{		
		cadena = cadena.toUpperCase();
	   	var caracteresPermitidos="ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890-ªº;,. ÁÉÍÓÚüÜçÇ"; 
		for(var i=0;i<cadena.length;i++){
			if (caracteresPermitidos.indexOf(cadena.charAt(i)) == -1){
				return false;
			}
		}
		return true;
	 
	}
	function formatearFecha(fechaActual){
		var dia="";
		var mes="";
	
		dia = fechaActual.substring(0,fechaActual.indexOf("/"));
		if(dia.length != 2){
			dia = "0" + dia;
			fechaActual = dia + fechaActual.substring(fechaActual.indexOf("/"),fechaActual.length);
		}
		mes = fechaActual.substring(3,fechaActual.indexOf("/",3));
		if(mes.length != 2){
			mes = "0" + mes;
			fechaActual = fechaActual.substring(0,3) + mes + fechaActual.substring(4,fechaActual.length);
		}
		return fechaActual;
	}
		
	
	/* Funcion que comprueba que la fecha 'strFecha1' sea menor que la fecha 'strFecha2'*
	* Devuelve verdadero o falso dependiendo del resultado obtenido						*/
	function comprobarRangoFechas(strFecha1,strFecha2) {
		var strAux1 = "";
		var strAux2 = "";
		/*mes1=strFecha1.substring(3,5);
		mes2=strFecha2.substring(3,5);
		ano1=strFecha1.substring(6,10);
		ano2=strFecha2.substring(6,10);
		
		if(mes1 == mes2 && ano1==ano2){
			diferencia = parseInt(strFecha2.substring(0,2));
		}else
			diferencia = 0;
		/* Primero se convierten las dos fechas en el formato numerico 'aaaammdd' */
		strAux1 = convertirFecha(strFecha1);
		strAux2 = convertirFecha(strFecha2);
		
		/* Se restan los dos valores. Si la fecha inicial es mayor que la final obtendremos un numero 
		negativo */
		//if (parseInt(strAux2) - parseInt(strAux1) != 0 && 
		if(parseInt(strAux2) - parseInt(strAux1) < 0) 
			return false;
		return true;
	}
	
	/* Convierte la fecha introducida por el usuario en formato 'dd/mm/aaaa' al formato 'aaaammdd'*/
	function convertirFecha(strFecha) {
		var strAux = "";
		var dia = strFecha.substring(0,2);
		var mes = strFecha.substring(3,5);
		var ano = strFecha.substring(6,10);	
		strAux = ano + mes + dia;
		return strAux;
	}
	
	//************************************************************************
	//Funcion que calcula la diferencia en días entre 2 fechas pasadas como
	//parámetros con el formato dd/mm/aaaa
	//************************************************************************
	function diferenciaFechas(fech1, fech2){
		var year1="";
		var year2=""; 
		var month1=""; 
		var month2=""; 
		var day1=""; 
		var day2="";
	
		day1 = parseInt(fech1.substr(0,2),10);
		day2 = parseInt(fech2.substr(0,2),10);
		month1 = parseInt(fech1.substr(3,2),10);
		month2 = parseInt(fech2.substr(3,2),10);	
		year1 = parseInt(fech1.substr(6,fech1.length),10);
		year2 = parseInt(fech2.substr(6,fech2.length),10);
	
		var date1 = new Date(year1, month1-1, day1);
		var date2 = new Date(year2, month2-1, day2);
	
		var diff = date1 - date2;
		if (diff < 0)
	    	diff = date2 - date1;
		//Conversion de los milisegundos a días
		var days = Math.floor(diff / (1000 * 60 * 60 * 24));
		return days;
	}
	
	/* Esta funcion valida la fecha introducida, comprobando que cumpla el formato 'dd/mm/aaaa',*
	* que todos los caracteres sean numeros, y que la fecha exista en el calendario.			*
	* Devuelve verdadero o falso dependiendo del resultado obtenido 							*/
	var cErrorf = "";
	function comprobarFecha(strFecha) {
	cErrorf = "";
	var dia = "";
	var mes = "";
	var ano = "";
	var fecha=new Date();
		/* Comprueba que la fecha tenga la longitud pedida */
		if (strFecha.length != 10) 
			cErrorf = cErrorf+" Formato correcto: dd/mm/aaaa.";
		/* Comprueba que tenga los separadores en el lugar adecuado */
		if ((strFecha.charAt(2) != "/") || (strFecha.charAt(5) != "/")) 
			cErrorf = cErrorf+" Formato correcto: dd/mm/aaaa.";
		/* Se obtienen los valores por separado para comprobar que la fecha exista en el calendario */
		dia = strFecha.substring(0,2);
		mes = strFecha.substring(3,5);
		ano = strFecha.substring(6,10);
		var mismoAviso = "false";
		/* Antes se asegura que todos los valores sean numeros */
		if ((!isNaN(dia)) && (!isNaN(mes)) && (!isNaN(ano))) {
			if (!(dia>=1 && dia<=31) ||
					(( mes==2 && ano%4!=0 && dia>28 ) ||	(mes==2 && ano%4==0 && dia>29 )) ||
					((mes==4 || mes==6 || mes==9 || mes==11) && dia>30) ){
				cErrorf = cErrorf+" Día incorrecto.";
			}
			if ( !(mes>=1 && mes<=12) )
				cErrorf = cErrorf+" Mes incorrecto.";
			if ( !(ano>=1900 && ano<=2500) )
				{
					cErrorf = cErrorf+" Año incorrecto.";
					mismoAviso = "true";
				}
		if(ano>fecha.getFullYear())
			{	
				if(mismoAviso=="false")
				{
					cErrorf = cErrorf+" Año incorrecto.";
				}
			}
		}
		else
			cErrorf=" Formato incorrecto.";
		return cErrorf;
	}
	
	
	/* Esta funcion valida la fecha introducida, comprobando que cumpla el formato 'mm/aaaa',*
	* que todos los caracteres sean numeros, y que la fecha exista en el calendario.	     *
	* Devuelve verdadero o falso dependiendo del resultado obtenido 						 */
	var cError= "";
	function comprobarFecha2(strFecha) {
	var mes = "";
	var ano = "";
	/* Se obtienen los valores por separado para comprobar que la fecha exista en el calendario */
		if (strFecha.length == 7){
			mes = strFecha.substring(0,2);
			ano = strFecha.substring(3,7);
			}
		else{
			mes = strFecha.substring(0,1);
			ano = strFecha.substring(2,6);	
			}
		
		if(mes=='mm'||ano=='aaaa')
		{
			cError= "Debe introducir la Primera Matriculación";
		}
		else
		{
		/* Comprueba que la fecha tenga la longitud pedida */
		if (strFecha.length < 6) 
			cError = cError+" "+"Formato correcto: mm/aaaa";
		/* Comprueba que tenga el separador en el lugar adecuado */
		if (strFecha.length == 7 && strFecha.charAt(2) != "/")
			cError = cError+" "+"Formato correcto: mm/aaaa";
		if (strFecha.length == 6 && strFecha.charAt(1) != "/")
			cError = cError+" "+"Formato correcto: mm/aaaa";
		
		/* Antes se asegura que todos los valores sean numeros */
		if ((!esNumero(mes)) || (!esNumero(ano))) {
			cError = cError+" "+"Deben ser valores numéricos";
			
		}
		else
		{
		if ( !(mes>=1 && mes<=12) )
				cError = cError+" "+"Mes incorrecto";
			if ( !(ano>=1900 && ano<=2500) )
				cError = cError+" "+"Año incorrecto";
		}
			var dia = new Date();
			if((mes>dia.getMonth()+1&&(ano>dia.getFullYear()||ano==dia.getFullYear()))||ano>dia.getFullYear())
			{
				
				cError = cError+" "+"La fecha no puede ser superior a la actual";
				return cError;		
			}
			
			
	}	
		return cError;
	
	}
	
	//Valida un imput text de tipo email (ha de tener el formato adecuado)
	function comprobarEmail(email)
	{
	    if ( email.search( /^\s*[\w\-._]+@[\w\-]+(\.[\w\-]+)+\s*$/ ) == -1 ) {
	      /* alert( "El campo correo electrónico tiene un formato incorrecto. Por favor, introdúzcalo de nuevo.");
		   nombreCampo.focus();
		   nombreCampo.select();*/
	           return false;
	    }
	    return true;	
	}
	
	function validarCIF(pCIF){
	   var cNumero             // Número del documento
	   var cLetra              // Letra del documento
	   var cDigitoControl      // Dígito de control
	   var intDigitoControl    // Valor numérico del dígito de control
	   var cPatron             // Patrón de una expresión regular
	   var aPatron             // Resultado de evaluar el patrón de la expresión regular
	   var intPares            // Suma de las posiciones pares
	   var intImpares          // Suma de las posiciones impares
	   try{
	      // Comprueba que sea una cadena todo el documento
	      if (!isNaN(pCIF)){
		  	alert("El CIF no puede ser numérico");
			return false;
		  }
	
	      if (pCIF.length != 9){
		  	alert("La longitud del CIF debe ser de 9 caracteres alfanuméricos");
			return false;
		  }
	
	      // Separa la letra que identifica el tipo de persona jurídica y la valida
	      cLetra = pCIF.toUpperCase().substr(0,1)
	      if (!isNaN(cLetra)){
		  	alert("La letra del CIF debe ser uno de los siguientes caracteres ABCDEFGHPQS");
			return false;
		  }
		  
	      cPatron = /["ABCDEFGPQSH"]/
	      aPatron = cPatron.exec(cLetra)
	      if (aPatron == null){
		  	alert("La letra del CIF debe ser uno de los siguientes caracteres ABCDEFGHPQS");
			return false
		  }
	
	      // Separa el número del documento y lo valida
	      cNumero = pCIF.toUpperCase().substr(1,pCIF.length -2)
	      if (isNaN(cNumero)){
		  	alert("El número del CIF no puede contener caracteres alfabéticos");
			return false;
		  }
	      cPatron = /["."]/
	      aPatron = cPatron.exec(cNumero)
	      if (aPatron != null){
		  	alert("El número del CIF no puede contener decimales");
			return false;
		  }
	
	      // Separa el dígito de control
	      cDigitoControl = pCIF.toUpperCase().substr(pCIF.length -1,1)
	
	      var intContador   // Variable auxiliar
	
	      // Suma los dígitos de las posiciones pares
	      intPares = 0
	      for (intContador = 1;intContador < cNumero.length; intContador += 2){
	         intPares += parseInt(cNumero.substr(intContador,1),10)
	      }
	
	      var intContador2  // Variable auxiliar
	
	      // Realizamos el cálculo de la suma de las posiciones impares
	      intImpares = 0
	      for (intContador = 0;intContador < cNumero.length; intContador += 2){
	         cPatron = (new Number(parseInt(cNumero.substr(intContador,1),10) * 2)).toString()
	         for (intContador2 = 0; intContador2 < cPatron.length; intContador2++){
	            intImpares += parseInt(cPatron.substr(intContador2,1),10)
	         }
	      }
	
	      // Calculamos el valor del dígito de control
	      cPatron = (new Number(intPares + intImpares)).toString()
	      intDigitoControl = 10 - parseInt(cPatron.substr(cPatron.length -1,1),10)
	      if (intDigitoControl == 10) intDigitoControl = 0
	
	      if ((cLetra != 'P') && (cLetra != 'X')){
	         if (isNaN(cDigitoControl)){
			 	alert("El dígito de control no puede ser un caracter alfabético para el CIF indicado");
				return false;
			 }
	         if (intDigitoControl != parseInt(cDigitoControl)){
			 	alert("El dígito de control no se corresponde con el número del CIF");
				return false;
			 }
	      }else{
	         if (!isNaN(cDigitoControl)){
			 	alert("El dígito de control no puede ser un valor numérico para el CIF indicado");
				return false;
			}
	         cPatron = new String("JABCDEFGHI")
	         if (cDigitoControl != cPatron.substr(intDigitoControl,1)){
			 	alert("El dígito de control no se corresponde con el número del CIF");
				return false;
			 }
	      }
	
	   }catch(e){
	      alert("Error no especificado en la ejecución del JavaScript");
		  return false;
	   }
	   return true;
	}
	
	//devuelve true o false si es correcto o no el NIE
	function ValidarNIE(cadena, propietario)
	{
		//var letrasInicialesValidas = "ABCDEFGHKLMPQSX";
		var letrasInicialesValidas = "X";
	
		if(cadena.length != 9)
		{
			alert("Revise el número de documento de: "+propietario +"\nRecuerde, el formato correcto de este tipo de documento es XNNNNNNNL, es decir: letra X, seguida de siete números y una letra.");
			return false;		
		}
		primero = cadena.toUpperCase();
		primero = primero.substring(0,1);
	
		if( letrasInicialesValidas.indexOf(primero) == -1 )
		{
			alert("Primera letra de la Tarjeta de Residencia " + propietario + " incorrecta.");
			return false;
		}
		var cadenaLetras = 'TRWAGMYFPDXBNJZSQVHLCKET';
		var cadenaIntermedia = "";
		longitudcadena = cadena.length;
		longitudcadena = longitudcadena-1;
		cadenaIntermedia = cadena.substring( 1,  longitudcadena);
		var posicion = cadenaIntermedia % 23;
		letra = cadenaLetras.charAt(posicion);
	
		var ultimo = cadena.toUpperCase().substring(cadena.length-1);
	
		if (letra == ultimo)
		{
			return true;
		}
		else
		{
			alert("Revise el número de documento de: "+propietario +"\nRecuerde, el formato correcto de este tipo de documento es XNNNNNNNL, es decir: letra X, seguida de siete números y una letra.");
			return false;
		}
	}
	
	//Valida un campo NIF de un formulario, puede devolver true /false
	function validarNIF(NIFAux, propietario)
	{
	   	var len=NIFAux.length;
	   	var letra=NIFAux.charAt(len - 1);
	   	var numero=NIFAux.substr(0,len-1);
	   	var valor;
		
	    // Arrays de letras validas
	    var letterList = "TRWAGMYFPDXBNJZSQVHLCKEU";
	
	    // Chequear si la letra es valida
	    var letra = letra.toUpperCase();
	    var letterPosition = letterList.indexOf( letra );
	    if ( letterPosition < 0 )
	    {
	        alert("El NIF " + propietario + " introducido no es válido.");
	        return false;
	    }
	
	    // Obtener el numero
	    var res = parseInt( numero,10 );
	    var hashValue = res % 23;
	
	    // Comprobar si la letra introducida es valida
	    if ( hashValue != letterPosition ){
	       alert("El NIF " + propietario + " introducido no es válido.");
	       return false;
	    }
	    else{    
	         return true;
	    }
	}
	
	function validarDNI(DNIAux, propietario){
	    var aux = trimString(DNIAux);
	    if (( aux == null ) || ( aux == "" ) || (aux.length == 0) )
	    {
	     	alert("El DNI " + propietario + " introducido no puede ser vacío.");
	        return false;
	    }
		var valido=esNumero(DNIAux);
		if(!valido){
			alert("El DNI " + propietario + " introducido no es válido.");
		}
		return valido;
	}
	
	
	// Comprueba que la matricula coincida con el tipo matricula y tenga el formato correcto 
	function coincideTipoMatricula(matricula, tipoMatricula){
		matricula = quitarEspacios(matricula);
		var valida = true;
		if (tipoMatricula == "1"){
			// Comprueba la longitud de la matricula
			if(matricula.length == 7){
				if(!esNumero(matricula.substring(0,4)) || !esLetra(matricula.substring(4,9)))
					valida = false;
			}
			else valida = false;
		}
		
		if (tipoMatricula == "2"){
			try
			{
				if(matricula.indexOf("-")!=-1)
				{
					valida=false;
				}
				
			}
			catch(exception)
			{}
			var m=matricula;
			
			
			var longitud=matricula.length;
			
			
			if(longitud<6||longitud>8)
			{
				valida=false;
			}
			else
			{
				if(longitud==6)
				{
					//caso1
					if(!esLetra(m.substring(0,1))||!esNumero(m.substring(1,5))||!esLetra(m.substring(5,6)))
					{
						valida=false;
					}
				}
				if(longitud==7)
				{		
					if(!esLetra(m.substring(0,2)))
					{
					
						//caso 2.1-XAAAAXX
						if(!esLetra(m.substring(0,1))||!esNumero(m.substring(1,5))||!esLetra(m.substring(5,7)))
						{
						
							valida=false;
						}
					}
					else
					{
						//caso 2.2-XXAAAAX
						if(!esLetra(m.substring(0,2))||!esNumero(m.substring(2,6))||!esLetra(m.substring(6,7)))
						{
							valida=false;
						}
					}
					
				}
				if(longitud==8)
				{
					if(!esLetra(m.substring(0,2))||!esNumero(m.substring(2,6))||!esLetra(m.substring(6,8)))
					{
						valida=false;
					}
				}
			}
		}
		if (tipoMatricula == "3"){
		try
			{
				if(matricula.indexOf("-")!=-1)
				{
					valida=false;
				}
				
			}
			catch(exception)
			{}
			var m=matricula;
			
			
			var longitud=matricula.length;
			if(longitud<7||longitud>8){
				valida=false;
				}
			else
			{
				if(longitud==7)
				{
					//caso1
					if(!esLetra(m.substring(0,1))||!esNumero(m.substring(1,7)))
					{
						valida=false;
					}
				}
				if(longitud==8)
				{	
				
						//caso 2.2-XAAAAXXX
						if(!esLetra(m.substring(0,1))||!esNumero(m.substring(1,5))||!esLetra(m.substring(5,8)))
						{
							valida=false;
						}
				
					
				}
			}
			
			
		}
		return valida;
	}
	
	// Validación de los digitos de control
	function validarDC(campoEntidad,campoOficina,campoDC,campoCuenta){
		var vEntidad=campoEntidad.value;
		var vOficina=campoOficina.value;
		var vDC=campoDC.value;
		var vCuenta=campoCuenta.value;
		
		if(parseInt(vEntidad) == 0 && parseInt(vOficina) == 0 && parseInt(vDC) == 0 && parseInt(vCuenta) == 0){
			return false;
		}else{
			var vDC1=parseInt(vEntidad.substr(0, 1),10)*4 + 
				parseInt(vEntidad.substr(1,1),10)*8 + 
				parseInt(vEntidad.substr(2,1),10)*5 +
		 		parseInt(vEntidad.substr(3,1),10)*10 +
				parseInt(vOficina.substr(0,1),10)*9 +
				parseInt(vOficina.substr(1,1),10)*7 +
				parseInt(vOficina.substr(2,1),10)*3 +
				parseInt(vOficina.substr(3,1),10)*6 ;
			var vDC2=parseInt(vCuenta.substr(0,1),10)*1 +
				parseInt(vCuenta.substr(1,1),10)*2 +
				parseInt(vCuenta.substr(2,1),10)*4 +
				parseInt(vCuenta.substr(3,1),10)*8 +
				parseInt(vCuenta.substr(4,1),10)*5 +
				parseInt(vCuenta.substr(5,1),10)*10 +
				parseInt(vCuenta.substr(6,1),10)*9 +
				parseInt(vCuenta.substr(7,1),10)*7+
				parseInt(vCuenta.substr(8,1),10)*3 +
				parseInt(vCuenta.substr(9,1),10)*6 ;
			var vDC1=vDC1 % 11;
			var vDC2=vDC2 % 11;
			if (vDC1!=0 && vDC1!=1)
				vDC1=11-vDC1;
			if (vDC2!=0 && vDC2!=1)
				vDC2=11-vDC2;
			var vDC3=vDC1.toString()+vDC2.toString();
			if (vDC==""){
				campoDC.value=vDC3;
				return true;
			}
			else if (vDC==vDC3){
				campoDC.value=vDC3;
				return true;
			}else{
				return false;
			}
		}
	//condicion por defecto
	//	alert("El número de cuenta del beneficiario NO es válido. Revise los datos de la cuenta del beneficiario");
		
	}
	
	//Comprueba que el documento de identidad sea valido
	function validarDocumento(tipoDocumentoAux, numDocumentoAux)
	{ 
	    var valido;
	    if (tipoDocumentoAux == "1"){
			//tipo documento=CIF
	       valido=validarCIF(numDocumentoAux);
	    }
	    if (tipoDocumentoAux == "2"){
	       //tipo documento=Residencia=NIE
	        valido=ValidarNIE(numDocumentoAux); 
	    }
	    if (tipoDocumentoAux == "3"){
	        //tipo documento=Pasaporte
	       if (( numDocumentoAux == null ) || ( numDocumentoAux == "" ) || (numDocumentoAux.length == 0) )
	       {
	          alert("El pasaporte no puede ser vacío.");
	          valido=false;
	       }
	       else
	          valido=true;
	    }
	    if (tipoDocumentoAux == "4"){
	       //tipo documento=NIF
	        valido=validarNIF(numDocumentoAux);
	    }
	    if (tipoDocumentoAux == "5"){
	        //tipo documento=DNI
	        valido=validarDNI(numDocumentoAux);
	    }
	    if (tipoDocumentoAux == "6"){
	        //tipo documento=DNI=otros
	        valido=true;
	    }
		if (tipoDocumentoAux == "7"){
	        //tipo documento=NIF=otros
	        valido=true;
	    }
		if (tipoDocumentoAux == "8"){
	        //tipo documento=Residencia=otros
	        valido=true;
	    }
		if (tipoDocumentoAux == "9"){
	        //tipo documento=CIF=otros
	        valido=true;
	    }
		if (tipoDocumentoAux == "10"){
	        //tipo documento=otros
	        valido=true;
	    }
	    return valido;
	}
	function mayusculas(obj){
		cadenaTecla = (String.fromCharCode(event.keyCode).toUpperCase());
		if(obj.value.length==0)
			event.keyCode=(cadenaTecla.charCodeAt(0));
	}
	
	function mayusculas2(obj){
		cadenaTecla = (String.fromCharCode(event.keyCode).toUpperCase());
		event.keyCode=(cadenaTecla.charCodeAt(0));
	}
	
	function quitarValor(valor, tipoDoc){
		var cbo = eval("document.getElementById('" + tipoDoc+"')");
		if(cbo != null){
			for(i=0; i< cbo.length; i++){
				if(cbo[i].text == valor){
					cbo[i]=null;
					break;
				}
			}
		}
	}
	
	function seleccionaValor(valor, tipoDoc){
		var cbo = eval("document.all." + tipoDoc);
		if(cbo != null){
			for(i=0; i< cbo.length; i++){
				if(cbo[i].text == valor){
					cbo[i].selected = "true";
					break;
				}
			}
		}
	}
	function NewWindow2(mypage,myname,w,h,scroll){
	  var winl = (screen.width-w)/2;
	  var wint = (screen.height-h)/2;
	  var settings  ='height='+h+',';
	      settings +='width='+w+',';
	      settings +='top='+wint+',';
	      settings +='left='+winl+',';
	      settings +='scrollbars='+scroll+',';
	      settings +='resizable=yes';
	  win=window.open(mypage,myname,settings);
	  if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
	 }
	
	function validacionMail( cMail ) 
	{
		// Comprobar que se tiene una arroba y esta no está al principio	
		var nPos1 = cMail.indexOf("@");
		if ( nPos1 < 1 ){
			return false;
		}
	
		// Comprobar que se termina con un dominio	
		var nPos2 = cMail.lastIndexOf(".");
		var intP = (nPos1) + (1);
		var p3 = (nPos2) + (3);
		if (   nPos2 < nPos1 
			|| nPos2 == intP 
			|| parseInt(p3) < parseInt(cMail.length-1) ) 
		{		
			return false;
		}	
		
		// Comprobar que no contiene blancos entre medias
		if ( cMail.indexOf( " " ) != -1 ) 
		{
			return false;
		}
	
		// El formato parece correcto
		return true;
	}
	
