//Función que valida el e-mail
function isEmailAddr(email) {

	var expresion_email = /([\?!\/]*)+\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
	
	if(!expresion_email.test(email)){ 
		return false;
	}
	return true;
}
//Función que elimina acentos
function elimina_caracteres(t){
	á="a";é="e";í="i";ó="o";ú="u";º=" ";ª=" ";
	acentos=/[áéíóúªº]/g;
	return t.replace(acentos,function($1){return eval($1)});
}
//Función que valida el nombre, apellidos y nombre de la vía
function isName(name) {

	var expresion_name = /[a-zA-Z`-Ã‚Â´\s]{1,40}/
	
	if(!expresion_name.test(name)){
		alert("El nombre solo puede contener letras.")
		return false;
	}
	return true;
}
//Función que valida el número de la vía
function isNumVia(numvia) {

	var expresion_numvia = /\d+/
	
	if(!expresion_numvia.test(numvia)){
		alert("El número de vía solo puede contener números y guiones.")
		return false;
	}
	return true;
}
//Función que valida el piso de la vía
function isNum(piso) {

	var expresion_int = /\d+/ 
	
	if(!expresion_int.test(piso)){
		alert("El número de piso solo puede contener números positivos.")
		return false;
	}
	return true;
}
//Función que valida el e-mail
function isCodigoPostal(cp) {

	var expresion_cp = /^([1-9]{2}|[0-9][1-9]|[0-9][0-9])([1-9][1-9][1-9]|[1-9][1-9][0-9]|[1-9][0-9][1-9]|[0-9][1-9][1-9]|[1-9][0-9][0-9]|[0-9][0-9][1-9]|[0-9][1-9][0-9])$/
	
	if(!expresion_cp.test(cp)){
		alert("El código postal debe contener 5 dígitos y estar comprendido entre 01001 52006.")
		return false;
	}
	return true;
}
//Función que valida el teléfono
function isTelefono(tlf) {

	var expresion_tlf = /^([9]{1})[0-9]{8}/
	
	if(!expresion_tlf.test(tlf)){
		alert("El teléfono debe empezar con el número 9.")
		return false;
	}
	return true;
}
//Función que valida el password
function isPassword(pwd) {

	var expresion_pwd = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$/

	if(!expresion_pwd.test(pwd)){ 
	alert("La contraseña debe tener entre 8 y 10 caracteres y como mínimo un dígito y una letra mayúscula.");
	return false;
	}
	
	return true;
}
//Funció que valida el camp DNI
function calcula_NIF(dni){
	//Obtenemos la letra del DNI
	var doc = document.formRegistro;
	 if (!/^\d{8}$/.test(dni)) {
		alert ("El numero introducido no es valido");
		return false;
	}
 
	var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
	var numero = dni%23;
	doc.user_letra_nif.value = letras.substring(numero,numero+1);
	return true;
	
}
function checkform() {	
	var doc = document.formRegistro;
	var msg = '';
	
	//Comprobamos que los campos no esten vacíos
	if (doc.user_mail.value.length==0)	 msg+='<li>E-mail</li>';
	if (doc.user_nif.value.length==0)	 msg+='<li>NIF</li>'; 		  

	if (!isEmailAddr(doc.user_mail.value)) { msg+='- Email: no es correcto.\n'}
	
	if(msg!=''){	
		samplx.pushSource('errorMsg','<b>Debe rellenar los campos.</b><ul>'+msg+'</ul>');
		samplx.pushSource('msgDisplay',samplx.getSource('mensaje'));
		document.getElementById('showDisplay').style.display='block';
	}
	else {
		doc.submit(); 
	}						
}
function valida_email() {	

	var msg = '';
	
	//Comprobamos que los campos no esten vacíos
	if (document.formulario.mail.value.length==0)	 msg+='<li>E-mail</li>';		  

	if (!isEmailAddr(document.formulario.mail.value)) { msg+='- Email: no es correcto.\n'}
	
	if(msg!=''){	
		samplx.pushSource('errorMsg','<b>Debe rellenar el campo e-mail</b><ul>'+msg+'</ul>');
		samplx.pushSource('msgDisplay',samplx.getSource('mensaje'));
		document.getElementById('showDisplay').style.display='block';
	}
	else {
		document.formulario.submit(); 
	}						
}
function valida(){
	var control = new Boolean ()
	control = true;
	var doc = document.formRegistro2;
	
	//Comprobamos que los campos no esten vacíos
	if (doc.user_mail.value.length==0)	 			control = false;
	if (doc.user_nif.value.length==0)	 			control = false;
	if (doc.user_name.value.length==0)	 			control = false;
	if (doc.user_apellido1.value.length==0)			control = false;
	if (doc.user_sexo.value.length==0)	 			control = false;
	if (doc.user_nombre_via.value.length==0)		control = false;
	if (doc.user_numero_via.value.length==0)	 	control = false;
	if (doc.user_codigo_postal.value.length==0)		control = false;
	if (doc.user_poblacion.value.length==0)	 		control = false;
	if (doc.user_provincia.value.length==0)			control = false;
	if (doc.user_dia_nacimiento.value.length==0)	control = false;
	if (doc.user_mes_nacimiento.value.length==0)	control = false;
	if (doc.user_anyo_nacimiento.value.length==0)	control = false;
	if (doc.user_password.value.length==0)	 		control = false;
	if (doc.user_job.selectedIndex==0){
       alert("Debe seleccionar una profesión")
       control = false;
    } 
	if (doc.user_acepto.checked==0){
       alert("Debe aceptar el Aviso Legal")
       control = false;
    } 
	//Eliminamos caracteres especiales que pueden contener los campos como los acentos o los 'ªº'
	doc.user_name.value = elimina_caracteres (doc.user_name.value);
	doc.user_apellido1.value = elimina_caracteres (doc.user_apellido1.value);
	
	//Comprobamos que los campos son correctos
	if (!isEmailAddr(doc.user_mail.value)) 					control = false;
	if (!isName(doc.user_name.value)) 						control = false;
	if (!isName(doc.user_apellido1.value)) 					control = false;
	if (!isName(doc.user_nombre_via.value)) 				control = false;
	if (!isNumVia(doc.user_numero_via.value)) 				control = false;
	if (!isCodigoPostal(doc.user_codigo_postal.value)) 		control = false;
	if (!isPassword(doc.user_password.value)) 				control = false;

	if(control == false){	
		samplx.pushSource('errorMsg2','<ul>Los campos con un (*) son obligatorios. <br/>No introducir caracteres especiales.</ul>');
		samplx.pushSource('msgDisplay2',samplx.getSource('mensaje2'));
		document.getElementById('showDisplay2').style.display='block';
	}else {
		doc.submit(); 
	}
}
function valida2(){
	var control = new Boolean ()
	control = true;
	var doc = document.form_modificacio;
	
	//Comprobamos que los campos no esten vacíos
	if (doc.user_mail.value.length==0)	 			control = false;
	if (doc.user_name.value.length==0)	 			control = false;
	if (doc.user_apellido1.value.length==0)			control = false;
	if (doc.user_sexo.value.length==0)	 			control = false;
	if (doc.user_nombre_via.value.length==0)		control = false;
	if (doc.user_numero_via.value.length==0)	 	control = false;
	if (doc.user_codigo_postal.value.length==0)		control = false;
	if (doc.user_poblacion.value.length==0)	 		control = false;
	if (doc.user_provincia.value.length==0)			control = false;
	if (doc.user_dia_nacimiento.value.length==0)	control = false;
	if (doc.user_mes_nacimiento.value.length==0)	control = false;
	if (doc.user_anyo_nacimiento.value.length==0)	control = false;
	if (doc.user_password.value.length==0)	 		control = false;
	
	//Eliminamos caracteres especiales que pueden contener los campos como los acentos o los 'ªº'
	doc.user_name.value = elimina_caracteres (doc.user_name.value);
	doc.user_apellido1.value = elimina_caracteres (doc.user_apellido1.value);
	
	//Comprobamos que los campos son correctos
	if (!isEmailAddr(doc.user_mail.value)) 					control = false;
	if (!isName(doc.user_name.value)) 						control = false;
	if (!isName(doc.user_apellido1.value)) 					control = false;
	if (!isName(doc.user_nombre_via.value)) 				control = false;
	if (!isNumVia(doc.user_numero_via.value)) 				control = false;
	if (!isCodigoPostal(doc.user_codigo_postal.value)) 		control = false;
	if (!isPassword(doc.user_password.value)) 				control = false;

	if(control == false){	
		samplx.pushSource('errorMsg2','<ul>Los campos con un (*) son obligatorios. <br/>No introducir caracteres especiales.</ul>');
		samplx.pushSource('msgDisplay2',samplx.getSource('mensaje2'));
		document.getElementById('showDisplay2').style.display='block';
	}else {
		doc.submit(); 
	}
}

//Formulario Validar Contactar
function validar_contactar() {	
	var doc = document.form;
	var msg = '';
	
	//Comprobamos que los campos no esten vacíos
	if (doc.sat_name.value.length==0)	 	 msg+='<li>Nombre</li>';
	if (doc.sat_email.value.length==0)		 msg+='<li>Email</li>'; 	
	if (doc.sat_city.value.length==0)		 msg+='<li>Ciudad</li>';
	if (doc.sat_country.value.length==0)	 msg+='<li>País</li>';
	if (doc.sat_comments.value.length==0)	 msg+='<li>Comentarios</li>'; 	

	if (!isEmailAddr(doc.sat_email.value)) { msg+='- Email: no es correcto.\n'}
	
	if(msg!=''){	
		samplx.pushSource('errorMsg','<b>Debe rellenar los campos.</b><ul>'+msg+'</ul>');
		samplx.pushSource('msgDisplay',samplx.getSource('mensaje'));
		document.getElementById('showDisplay').style.display='block';
	}
	else {
		doc.submit(); 
	}						
}