function clientListSelect(elemento)
{
	//cuando se cambia el estado de la checkbox f.clientListSelectAll, se cambian todas las checkboxes cuyo nombre es "del[]"
	f = document.getElementById(elemento);
	for (i = 0 ; i < f.elements.length; i++) {
		if ((f.elements[i].type == "checkbox") && (f.elements[i].name == "del[]")) {
			if (!(f.elements[i].value == "DISABLED" || f.elements[i].disabled)) {
				f.elements[i].checked = f.clientListSelectAll.checked;
			}
		}
	}

	return true;
}

function cambiarContenido( abierto, nuevoContenido, elemento)
{
	//si esta cerrado, cambia el contenido html de "elemento" por "nuevoContenido", 
	//si esta abierto, lo cierra (elimina el contenido),
	//"abierto" (true, false) indica si esta cerrado o abierto.
	//se utiliza para dar ayuda sobre como rellenar el formulario
	var aux;
	aux=document.getElementById(elemento);
	
	if(abierto)
	{
		aux.innerHTML='';
	}
	else
	{
		aux.innerHTML=nuevoContenido;
	}
	abierto=!abierto;
	
	return abierto;
}


function inputValor( input )
{
	//comprueba que el input "input" contiene un valor (no vacío). Devuelve true si contiene un valor, false en caso contrario.
	var inputComprobar=document.getElementById(input);
	
	if(inputComprobar.value=='')
	{
		return false;
	}
	else
	{
		return true;
	}
}



function inputNumerico( input )
{
	//comprueba que el input "input" contiene un valor numerico. Devuelve true en ese caso, false en caso contrario.
	var inputComprobar=document.getElementById(input);
	
	if(isNaN(inputComprobar.value))
	{
		return false;
	}
	else
	{
		return true;
	}
}


function esAlfa(cadena,cmin,cmax)
{
	if(cmin!=-1)
	{
		var pat="^[A-Za-z]{"+cmin+",";
		if(cmax!=-1)
		{
			if(cmin>cmax)
				return false;
			else
				pat="^[A-Za-z]{"+cmin+","+cmax;
		}
		pat=pat+"}$";
		var patron=new RegExp(pat);
		return patron.test(cadena);
	}
	return false;
}


function dniValido ( dni )
{
	var dniCorrecto=true;
	
	if( !inputValor( dni ) )
	{
		dniCorrecto=false;
	}
	else
	{
		var dniComprobar=document.getElementById( dni );
		var longDni=dniComprobar.value.length;
		if(longDni != 9)
		{
			dniCorrecto=false;
		}
		else
		{
			var primerElemento = dniComprobar.value.substring( 0, 1 );
			var cifras = dniComprobar.value.substring( 1, 8 );
			var ultimaLetra = dniComprobar.value.substring( 8, 9 );
			if( (isNaN(primerElemento)) && (!esAlfa(primerElemento,0,1)) )
			{
				dniCorrecto=false;
			}
			else if(isNaN(cifras))
			{
				dniCorrecto=false;
			}
			else if( !esAlfa(ultimaLetra,0,1))
			{
				dniCorrecto=false;
			}
		}
	}
	
	return dniCorrecto;
}

function fechaValida ( fecha )
{
	var fechaValida=true;
	var myDate=new Date()
	myDate.setDate(myDate.getDate())
	esteAnyo = myDate.getYear() + 1900;
	
	if( !inputValor( fecha ) )
	{
		fechaValida=false;
	}
	else
	{
		var fechaComprobar=document.getElementById( fecha );
		var longFecha=fechaComprobar.value.length;
		if(longFecha != 10)
		{
			fechaValida=false;
		}
		else
		{
			var dia = fechaComprobar.value.substring( 0, 2 );
			var mes = fechaComprobar.value.substring( 3, 5 );
			var anyo = fechaComprobar.value.substring( 6, 10 );
			if( (isNaN(dia)) || (dia < 0) || (dia > 31) ) //comprobar dia
			{
				fechaValida=false;
			}
			else if( (isNaN(mes)) || (mes < 0) || (mes > 12) ) //comprobar mes
			{
				fechaValida=false;
			}
			else if( (isNaN(anyo)) || (anyo < 0) || (anyo > esteAnyo) ) //comprobar anyo
			{
				fechaValida=false;
			}
		}
	}
	
	return fechaValida;
}


function cpValido ( cp )
{
	var cpComprobar=document.getElementById( cp );
	var longCp=cpComprobar.value.length;
	if( longCp != 5 )
	{
		return false;
	}	
	else if( isNaN(cpComprobar.value) )
	{
		return false;
	}
	else
	{
		return true;
	}
}


function telefonoValido ( telefono )
{
	var telefonoComprobar=document.getElementById( telefono );
	var longTelefono=telefonoComprobar.value.length;
	if(!telefonoComprobar)
	{
		return true;
	}
	else if( longTelefono != 9 )
	{
		return false;
	}	
	else if( isNaN(telefonoComprobar.value) )
	{
		return false;
	}
	else
	{
		return true;
	}
}


/******************Validar correo electronico***************/

function echeck(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function ValidateForm(){
	var emailID=document.frmSample.txtEmail
	
	if ((emailID.value==null)||(emailID.value=="")){
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	return true
 }
/******************Fin validar correo electronico***************/


function comprobarInscripcion()
{
	var enviar=true;
	
	if(!inputValor('nombre'))
	{
		alert('Debe rellenar el campo "Nombre"');
		enviar=false;
	}
	else if(!inputValor('apellido1'))
	{
		alert('Debe rellenar el campo "Primer apellido"');
		enviar=false;
	}
	else if(!fechaValida('nacimiento'))
	{
		alert('El campo "Fecha de nacimiento" debe estar relleno y tener el formato dd/mm/aaaa');
		enviar = false;	
	}
	else if(!inputValor('dni'))
	{
		alert('Debe rellenar el campo "DNI"');
		enviar=false;
	}
	else if(!dniValido('dni'))
	{
		alert('El formato del DNI o tarjeta de residencia no es correcto. Debe estar formado sólo por números y letras, sin espacios');
		enviar=false;
	}
	else if(!inputValor('domicilio'))
	{
		alert('Debe rellenar el campo "Domicilio"');
		enviar=false;
	}
	else if(!inputValor('localidad'))
	{
		alert('Debe rellenar el campo "Localidad"');
		enviar=false;
	}
	else if(!inputValor('provincia'))
	{
		alert('Debe rellenar el campo "Provincia"');
		enviar=false;
	}
	else if(!inputValor('cp'))
	{
		alert('Debe rellenar el campo "Código Postal"');
		enviar=false;
	}
	else if(!cpValido('cp'))
	{
		alert('El formato del Código Postal  no es correcto. Debe estar formado sólo por cinco números');
		enviar=false;
	}
	else if(!inputValor('telefono1'))
	{
		alert('Debe rellenar el campo "Teléfono 1"');
		enviar=false;
	}
	else if( !telefonoValido('telefono1'))
	{
		alert('El formato del primer teléfono de contacto no es correcto. Debe estar formado sólo por nueve números');
		enviar=false;
	}
	else if( (inputValor('telefono2')) && (!telefonoValido('telefono2')) )
	{
		alert('El formato del teléfono de contacto secundario no es correcto. Debe estar formado sólo por nueve números');
		enviar=false;
	}
	else if(!inputValor('email'))
	{
		alert('Debe rellenar el campo "email"');
		enviar=false;
	}
	else 
	{
		var email=document.getElementById('email').value;
		if( !echeck(email) )
		{
			alert('El correo electrónico introducido no es correcto.');
			enviar=false;
		}
	}
	
	
	return enviar;
}

