function verificaExtensiones(formu)
{
	for (var i=0; i < formu.length; i=i+1)
	{
		switch (formu.elements[i].type){
			case "file":
				var Archivo = formu.elements[i].value;	
				if(Archivo!='')
				{
					var Extension = Archivo.substr(Archivo.lastIndexOf("."));
					if(formu.elements[i].alt=="Z"){
						if(Extension.toLowerCase() != '.zip' && Extension.toLowerCase() != '.rar') 
						{
							alert("El archivo  " + formu.elements[i].title.toUpperCase() + " no es de la extensión requerida (zip o rar)");
							return false;
						}
					}
					if(formu.elements[i].alt=="D"){
						if(Extension.toLowerCase() != '.doc' && Extension.toLowerCase() != '.pdf' && Extension.toLowerCase() != '.odt') 
						{
							alert("El archivo  " + formu.elements[i].title.toUpperCase() + " no es de la extensión requerida (Word, Openoffice o pdf)");
							return false;
						}
					}
				}
				break;
		}
	}
	return true;
}

function verificaCampos(formu)
{
	for (var i=0; i < formu.length; i=i+1)
	{
		switch (formu.elements[i].type){
			case "text":
			case "password":
			case "textarea":
				if(formu.elements[i].id == "OB"){
					if (formu.elements[i].value == ""){
						alert('El campo ' + formu.elements[i].name.toUpperCase() + ' no puede estar vacío.');
						formu.elements[i].focus();
						return false;
					}
				}
				if(formu.elements[i].alt == "E" && formu.elements[i].value != ""){
					if (!verificaEmail(formu.elements[i].value)){
						alert('El e-mail no es correcto.');
						formu.elements[i].focus();
						return false;
					}
				}
				if(formu.elements[i].alt == "N" && formu.elements[i].value != ""){
					if (!verificaNif(formu.elements[i].value)){
						alert('El DNI no es correcto.');
						formu.elements[i].focus();
						return false;
					}
				}
				if(formu.elements[i].alt == "R" && formu.elements[i].value != ""){
					if (!verificaUsuarioClave(formu.elements[i].value)){
						alert('El campo ' + formu.elements[i].name.toUpperCase() + ' no es correcto. (Mínimo 5 caracteres: letras, números, . - _)');
						formu.elements[i].focus();
						return false;
					}
				}
				break;
			case "select-one":
				if(formu.elements[i].id == "OB"){
					if(formu.elements[i].selectedIndex == 0){
						alert('El campo ' + formu.elements[i].name.toUpperCase() + ' no puede estar vacío.');
						formu.elements[i].focus();
						return false;
					}
				}
				break;
			case "select-multiple":
				if(formu.elements[i].id == "OB"){
					if(formu.elements[i].value == ""){
						alert('Debe seleccionar al menos una opción del campo ' + formu.elements[i].name.toUpperCase() + '.');
						formu.elements[i].focus();
						return false;
					}
				}
				break;
			case "file":
				if(formu.elements[i].id == "OB"){
					if (formu.elements[i].value == ""){
						alert('El campo ' + formu.elements[i].name.toUpperCase() + ' no puede estar vacío.');
						formu.elements[i].focus();
						return false;
					}
				}
				var Archivo = formu.elements[i].value;	
				if(Archivo!='')
				{
					var Extension = Archivo.substr(Archivo.lastIndexOf("."));
					if(formu.elements[i].alt=="Z"){
						if(Extension.toLowerCase() != '.zip' && Extension.toLowerCase() != '.rar') 
						{
							alert("El archivo  " + formu.elements[i].title.toUpperCase() + " no es de la extensión requerida (zip o rar)");
							return false;
						}
					}
					if(formu.elements[i].alt=="D"){
						if(Extension.toLowerCase() != '.doc' && Extension.toLowerCase() != '.pdf' && Extension.toLowerCase() != '.odt') 
						{
							alert("El archivo  " + formu.elements[i].title.toUpperCase() + " no es de la extensión requerida (Word, Openoffice o pdf)");
							return false;
						}
					}
					if(formu.elements[i].alt=="IMG"){
						if(Extension.toLowerCase() != '.gif' && Extension.toLowerCase() != '.png' && Extension.toLowerCase() != '.jpg' && Extension.toLowerCase() != '.tiff') 
						{
							alert("El archivo  " + formu.elements[i].title.toUpperCase() + " no es de la extensión requerida (jpg, gif, png o tiff)");
							return false;
						}
					}
				}
				break;
		}
	}
	return true;
}

function verificaEmail(email)
{
	var patronEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	if (!patronEmail.test(email)){
		return false;
	}
	return true;
}

function verificaNif (nif){
	nif = nif.toUpperCase();

    if (!/^\d{8}[A-Z]$/.test(nif))
      return false;
        
    var ultima = nif.substr(8,1);
    var numeros = nif.substr(0,8);
        
    var letrasValidas="TRWAGMYFPDXBNJZSQVHLCKET";
    var posicion= numeros % 23;
    var letraCorrecta = letrasValidas.charAt(posicion);
        
    if (ultima != letraCorrecta) 
       return false;
        
    return true;
}

function verificaUsuarioClave(texto)
{
	var patronUsuarioClave = /^\w+([.-]?\w+)*$/;;
	if (!patronUsuarioClave.test(texto) || texto.length < 5){
		return false;
	}
	return true;
}