var numeros="0123456789";
var letras="abcdefghyjklmnñopqrstuvwxyz";
var letras_mayusculas="ABCDEFGHYJKLMNÑOPQRSTUVWXYZ";

function tiene_numeros(texto){
   for(i=0; i<texto.length; i++){
      if (numeros.indexOf(texto.charAt(i),0)!=-1){
         return true;
      }
   }
   return false;
} 
function tiene_letras(texto){
   texto = texto.toLowerCase();
   for(i=0; i<texto.length; i++){
      if (letras.indexOf(texto.charAt(i),0)!=-1){
         return true;
      }
   }
   return false;
} 
function tiene_minusculas(texto){
   for(i=0; i<texto.length; i++){
      if (letras.indexOf(texto.charAt(i),0)!=-1){
         return true;
      }
   }
   return false;
} 
function tiene_mayusculas(texto) {
   for(i=0; i<texto.length; i++){
      if (letras_mayusculas.indexOf(texto.charAt(i),0)!=-1){
         return true;
      }
   }
   return false;
} 
/*****************************************************************************************************************************************************
COMPROBACION DE CUENTA DE CORREO
*****************************************************************************************************************************************************/
function u_EmailValidation (emailaco, userid, capa) {
	if (emailaco!="") {
		displayCapa (capa,'block');
		removeCSS (capa,'accept');
		msg_change (capa,'Comprobando cuenta de correo');
		if (checkEmail (emailaco)) {
			msg_change (capa,'El correo electrónico no parece válido');
		} else {
			u_EmailAjaxValidation (emailaco, userid, capa);
		}
	}
}

function u_EmailAjaxValidation (emailaco, userid, capa) {
	if (emailaco!="") {
		$.ajax({
			type: "POST",
			url: "index.php?aE=x&ac=checkEmail&emailaco="+emailaco+"&userid="+userid,
			success: function(msg){
				if (msg=="false") {
					u_FormValidValue (capa);
					msg_change (capa,'Dirección de correo correcta');
					giveCSS (capa,'accept')
				} else {
					u_FormNoValidValue (capa);
					msg_change (capa,'Este mail ya está asociado a un habitante');
				}
			}
		});
	}
}
/*****************************************************************************************************************************************************
COMPROBACION DE NOMBRE DE USUARIO
*****************************************************************************************************************************************************/
function u_UserNameValidation (username, userid, capa) {
	if (username!="") {
		displayCapa (capa,'block');
		removeCSS (capa,'accept');
		msg_change (capa,'Comprobando nombre de usuario');
		if (username=="" || username.length<6 || u_UserNameStrenght (username)==0) {
			msg_change (capa,'El nombre de usuario debe tener como mínimo 6 carácteres no se permiten espacios ni carácteres especiales');
			u_FormNoValidValue (capa);
		} else {
			u_UserNameAjaxValidation (username,userid,capa);
		}
	}
}
function u_UserNameAjaxValidation (username, userid,capa) {
	if (username!="" && username.length>5) {
		$.ajax({
			type: "POST",
			url: "index.php?aE=x&ac=checkUserName&username="+username+"&userid="+userid,
			success: function(msg){
				if (msg=="false") {
					u_FormValidValue (capa);
					msg_change (capa,'El nombre de usuario es válido y esta disponible');
					giveCSS (capa,'accept')
				} else {
					u_FormNoValidValue (capa);
					msg_change (capa,'El nombre de usuario es válido pero no está disponible');
				}
			}
		});
	}
}
function u_UserNameStrenght (username) {
	var result=0;
	var template = /^([a-zA-Z0-9]{6,150})$/;
	result=(template.test(username)) ? 1 : 0;
	return result;
}
/*****************************************************************************************************************************************************
COMPROBACION DE CONTRASEÑA DE ACCESO
*****************************************************************************************************************************************************/
function u_UserPassStrenght (password) {
	/*
	var result=0;
	var template = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,150})$/;
	result=(template.test(password)) ? 1 : 0;
	return result;
	*/
	var template = /^([a-zA-Z0-9]{6,150})$/;
	result=(template.test(password)) ? 1 : 0;
	if (tiene_numeros(password) && tiene_letras(password) && result==1) {
		return 1;	
	} else {
		return 0;	
	}
	
}
function u_UserPassValidation (password,capa) {
	if (password!="") {
		displayCapa (capa,'block');
		removeCSS (capa,'accept');
		msg_change (capa,'Comprobando contraseña de acceso');
		if (password=="" || password.length<6) {
			msg_change (capa,'La contraseña de acceso debe tener como mínimo 6 carácteres y contener letras y números');
			u_FormNoValidValue (capa);
		} else if (u_UserPassStrenght (password)==0) {
			msg_change (capa,'La contraseña de acceso debe tener como mínimo 6 carácteres y contener letras y números');
			u_FormNoValidValue (capa);
		} else {
			giveCSS (capa,'accept');
			msg_change (capa,'La contraseña de acceso es válida');
			u_FormValidValue (capa);
		}
	}
}
function u_UserPass2Validation (password, passwordConfirmed,capa) {
	if (password!="") {
		displayCapa (capa,'block');
		removeCSS (capa,'accept')
		if (password!=passwordConfirmed) {
			msg_change (capa,'La contraseña y la confirmación no coindiden');
			u_FormNoValidValue (capa);
		} else {
			giveCSS (capa,'accept');
			msg_change (capa,'Las contraseñas coindiden');
			u_FormValidValue (capa);	
		}
	}
}
/*****************************************************************************************************************************************************
MARCAR EL FORMULARIO
*****************************************************************************************************************************************************/
function u_FormValidValue (capa) {
	removeCSS (capa,'error');
	giveCSS (capa,'ok');
	
}
function u_FormNoValidValue (capa) {
	removeCSS (capa,'ok');
	giveCSS (capa,'error');
}
