// TRUE si es VACIO -----------------------------------------------------------------------
function esVacio(campo, nombreCampo) {
	if (campo.value == "") {
		alert("El campo '" + nombreCampo + "' no puede ser vacío.");
		campo.focus();
		return true;
	}
	return false;
}

// TRUE si COINCIDEN ----------------------------------------------------------------------
function coinciden(campo1, campo2, nombreCampo1, nombreCampo2, campoFoco) {
	if (campo1.value != campo2.value) {
		alert("El campo '" + nombreCampo1 + "' y el '" + nombreCampo2 + "' deben coincidir.");
		campoFoco.focus();
		return false;
	}
	return true;
}

// TRUE si esta SELECCIONADO ------------------------------------------------------------
function estaSeleccionadoRadio(campo, nombreCampo) {
	var radioSeleccionado = false;

	for (k = 0; k < campo.length; k++) {
		if (campo[k].checked) {
			radioSeleccionado = true;
		}
	}
	
	if(!radioSeleccionado) {
		alert("Tiene que elegir una opcion en el campo '" + nombreCampo + "'.");
		return false;
	}
	return true;
}

// TRUE si esta SELECCIONADO ------------------------------------------------------------
function estaSeleccionadoSelect(campo, nombreCampo) {
	if(campo.selectedIndex < 0) {
		alert("Tiene que elegir una opcion en el campo '" + nombreCampo + "'.");
		return false;
	}
	return true;
}

// TRUE si todos sus caracteres estan en la cadena CARACTERES ----------------------------
function caracteresValidos(texto, caracteres) {
	for (i = 0; i < texto.length; i++) {
		ch = texto.charAt(i);
		for (j = 0; j < caracteres.length; j++)
			if (ch == caracteres.charAt(j))
				break;
				
		if (j == caracteres.length) {
			return false;
		}
	} 
	return true;
}

// TRUE si es NUMERICO --------------------------------------------------------------------
function esNumerico(campo, nombreCampo) {
	if (!caracteresValidos(campo.value, '0123456789.,')) {
		alert("El campo '" + nombreCampo + "' debe ser numérico.");
		campo.focus();
		return false;
	}
	return true;
}

// TRUE si es TELEFONO --------------------------------------------------------------------
function esTelefono(campo, nombreCampo) {
	if (!caracteresValidos(campo.value, '+0123456789 -*#')) {
		alert("El campo '" + nombreCampo + "' debe ser un nmero de teléfono válido.");
		campo.focus();
		return false;
	}
	return true;
}

// TRUE si es FECHA VALIDA ---------------------------------------------------------------
function esFecha(campo, nombreCampo, separador) {
	var fecha = campo.value;

	if (fecha.length < 10) {
		alert("El campo '" + nombreCampo + "' debe tener una fecha correcta.");
		campo.focus();
		return false;
	}

	var ano = new String(fecha.substring(fecha.lastIndexOf(separador) + 1, fecha.length));
	var mes = new String(fecha.substring(fecha.indexOf(separador)+1, fecha.lastIndexOf(separador)));
	var dia = new String(fecha.substring(0, fecha.indexOf(separador)));

	// Validacion del a o
	if (isNaN(ano) || ano.length < 4 || parseFloat(ano) < 1900) {
		alert("Ao incorrecto en el campo '" + nombreCampo + "'.");
		campo.focus();
		return false;
	}
	// Validacion del mes
	if (isNaN(mes) || parseFloat(mes) < 1 || parseFloat(mes) > 12) {
		alert("Mes incorrecto en el campo '" + nombreCampo + "'.");
		campo.focus();
		return false;
	}
	// Validacion del dia
	if (isNaN(dia) || parseInt(dia, 10) < 1 || parseInt(dia, 10) > 31) {
		alert("D a incorrecto en el campo '" + nombreCampo + "'.");
		campo.focus();
		return false;
	}
	if (mes == 4 || mes == 6 || mes == 9 || mes == 11 || mes == 2) {
		if (mes == 2 && dia > 28 || dia > 30) {
			alert("Da incorrecto en el campo '" + nombreCampo + "'.");
			campo.focus();
			return false;
		}
	}
	return true;
}

// TRUE si es VALIDO PARA INTERNET (Usuarios, CONTRASE AS...) ----------------------------
function esValidoInternet(campo, nombreCampo) {
	if (!caracteresValidos(campo.value, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_')) {
		alert("El campo '" + nombreCampo + "' debe contener unicamente 'a-z', 'A-Z', '0-9', '-' o '_'.");
		campo.focus();
		return false;
	}
	return true;
}

// TRUE si es EMAIL -----------------------------------------------------------------------
function esEmail(campo, nombreCampo) {
	if ((campo.value.indexOf ('@', 0) == -1) || (campo.value.indexOf ('.', 0) == -1) || (campo.value.length < 5)) {
		alert("El campo '" + nombreCampo + "' debe ser una dirección de correo válida.");
		campo.focus();
		return false;
	}
	return true;
}

function validar_registro(formulario){

						
			if(esVacio(formulario.nombre, 'nombre')) return false;
			
			if(esVacio(formulario.nif, 'nif')) return false;
			
			if(esVacio(formulario.direccion, 'dirección')) return false;

			if(esVacio(formulario.cp, 'Código Postal')) return false;
			
			if(esVacio(formulario.mun, 'Municipio')) return false;
			
			if(esVacio(formulario.prov, 'Provincia')) return false;

			if(esVacio(formulario.pais, 'Pais')) return false;
			
			if(esVacio(formulario.tel, 'teléfono')) return false;

			if(esVacio(formulario.fax, 'fax')) return false;
			
			if(esVacio(formulario.contacto, 'Nombre de contacto')) return false;

			if(esVacio(formulario.mail, 'E-mail')) return false;
			
			if (!esEmail(formulario.mail, 'E-mail')) return false;

			if(esVacio(formulario.cargo, 'Cargo')) return false;
			
			return true;
}
function validar_consulta(formulario){
	if(esVacio(formulario.nombre, 'nombre')) return false;
	if(esVacio(formulario.contacto, 'Nombre de contacto')) return false;
	if(esVacio(formulario.telefono, 'teléfono')) return false;
	if(esVacio(formulario.email, 'E-mail')) return false;
	if (!esEmail(formulario.mail, 'E-mail')) return false;
	if(esVacio(formulario.mun, 'Municipio')) return false;
	if(esVacio(formulario.prov, 'Provincia')) return false;
	if(esVacio(formulario.pais, 'Pais')) return false;
	if(esVacio(formulario.asunto, 'Asunto')) return false;
	if(esVacio(formulario.nota, 'consulta')) return false;
	return true;
}
function comprobar_login(formulario){
					
			if(esVacio(formulario.user, 'usuario')) return false;
			
			if(esVacio(formulario.password, 'contraseña')) return false;

			return true;
}