
function esVacio(cadena) {
   return (cadena.length != 0)?false:true
}


function field_error(msg,campo) {
	alert(msg);
 	campo.focus();
	if (campo.type != "select-one" && campo.type != "select-multiple") campo.select();	
	return false;
}



function emailCheck(emailStr,campo) {
	/* Verificar si el email tiene el formato user@dominio. */
	var emailPat=/^(.+)@(.+)$/ 

	/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 

	/* Verifica los caracteres que son válidos en una dirección de email */
	var validChars="\[^\\s" + specialChars + "\]" 
	var quotedUser="(\"[^\"]*\")" 

	/* Verifica si la dirección de email está representada con una dirección IP Válida */ 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/


	/* Verificar caracteres inválidos */ 
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		alert("Su dirección de email parece incorrecta (chequee @ y .).")
		campo.focus();
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]

	// Si el user "user" es valido 
	if (user.match(userPat)==null) {
		// Si no
		alert("El nombre de usuario no es válido.")
		campo.focus();
		return false
	}

	/* Si la dirección IP es válida */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("IP de destino inválida.")
				campo.focus();
				return false
			}
		}
	return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("El dominio del correo electrónico parece no ser válido.")
		campo.focus();
		return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { 
		alert("La dirección de correo debe tener 3 letras si es .com o 2 si es de algún pais.")
		campo.focus();
		return false
	}

	if (len<2) {
		var errStr="La dirección de correo electrónico es errónea."
		alert(errStr)
		campo.focus();
		return false
	}

	// La dirección de email ingresada es Válida
	return true;
}



function verificarTextMiembro(i) 
{

	/* i=0 solo comprueba el email (para el caso de darse de baja)
	   i=1 comprueba todos los campos  */
	
	var f = document.forms[0];
	
	with(f)
	{
		if (esVacio(mail.value)) return field_error("El campo 'e-mail' es obligatorio.", f.mail);
		if (i>0) 
		{
			if (esVacio(razon.value)) return field_error("El campo 'Razón Social' es obligatorio.", f.razon);
			if (esVacio(cif.value)) return field_error("El campo 'CIF' es obligatorio.", f.cif);
			if (esVacio(direccion.value)) return field_error("El campo 'Dirección' es obligatorio.", f.direccion);
			if (esVacio(tlf.value)) return field_error("El campo 'Teléfono' es obligatorio.", f.tlf);
			if (esVacio(fax.value)) return field_error("El campo 'Fax' es obligatorio.", f.fax);
			if (esVacio(contacto.value)) return field_error("El campo 'Contacto' es obligatorio.", f.contacto);
		}
	}
	return true;
}


function existeCheckSeleccionadoConcursos(listaFamiliasConcursos)
{
	var i;
	var chk;
	
	if (listaFamiliasConcursos!="")
	{
		var arrayFamiliasConcursos;
		arrayFamiliasConcursos = listaFamiliasConcursos.split("|");
		
		for (i=0;i<arrayFamiliasConcursos.length;i++)
		{
			chk = document.getElementById('CheckConc'+arrayFamiliasConcursos[i].replace(" ",""));
			if (chk.checked) return true;
		}
	}
	
	alert("Debes seleccionar al menos un elemento al que suscribirte.");

	return	
}


function seleccionar_todos(iniID, valor, lista)
{
		if (lista!="")
		{
			var arrayChecks;
			arrayChecks = lista.split("|");
			
			var i;
			var chk;
			for (i=0;i<arrayChecks.length;i++)
			{
				chk = document.getElementById((iniID+arrayChecks[i]).replace(' ',''));
				if (chk) {
					chk.checked = valor;
				}
			}
		}
}


function habilitar_Checkbox(iniID, lista)
{
		if (lista!="")
		{
			var arrayChecks;
			arrayChecks = lista.split("|");
			
			var i;
			var chk;
			for (i=0;i<arrayChecks.length;i++)
			{
				chk = document.getElementById(iniID+arrayChecks[i]);
				if (chk) {
					chk.disabled = false;
				}
			}
		}
}
