function showToast(mensaje, error){
var toast = $("
"+mensaje+"
").appendTo('body');
//Centramos el div horizontalmente segun el tamaño del texto
toast.css("margin-left","-"+(toast.width()/2)+"px");
//Ponemos el color rojo si es mensaje de error
if(error){
toast.css("background-color","red");
}
toast.delay( 1500 ).fadeOut( 400, function(){$(this).remove();});
}
function logout() {
location.href="/GestionSocios/admin/logout";
}
function padLeadingZeros(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
/*
* Funcion que muestra un gif cargando sobre un fondo gris para evitar qeu el usuario pueda interactuar con la pantalla
*/
function mostrarPantallaCargando(mostrar, texto){
if(mostrar){
try{
//Asingamos el texto para saber el tamaño total que va a tener el div
if(texto!=null){
$("#texto_cargando").html(texto);
}else{
$("#texto_cargando").html('Cargando...');
}
//Restamos el margin left, el tamaño del div, para que aparezca centrado
$("#mensaje_cargando").css("margin-left","-"+($("#mensaje_cargando").width()/2) +"px");
//Mostramos todos los divs
$("#mensaje_cargando").show();
$("#pantalla_cargando").show();
}catch (e) {
$("#mensaje_cargando").hide();
$("#pantalla_cargando").hide();
}
}else{
$("#mensaje_cargando").hide();
$("#pantalla_cargando").hide();
}
}
function getFecha() {
return getFecha(new Date());
}
function getFecha(fecha) {
let dd = String(fecha.getDate()).padStart(2, '0');
let mm = String(fecha.getMonth() + 1).padStart(2, '0'); //January is 0!
let yyyy = fecha.getFullYear();
// Formato requerido por el input type="date"
return yyyy + '-' + mm + '-' + dd;
}
function getNIF(dni) { // Instrucciones tomadas de:
// http://www.aulambra.com/ver.asp?id=93
let clave = [ "T", "R", "W", "A", "G", "M", "Y", "F",
"P", "D", "X", "B", "N", "J", "Z", "S", "Q", "V", "H", "L",
"C", "K", "E" ];
let r;
r = clave[parseInt(dni) % 23];
return (r);
}
// Aviso: muestra un mensaje de confirmación si el NIF no es español
function verificaNIF(nif, aviso) {
//si es NIE, eliminar la x,y,z inicial para tratarlo como nif
let num = -1;
try {
let letra = nif.substring(nif.length - 1).toUpperCase();
let numero = nif.substring(0,nif.length - 1).toUpperCase();
// Si no es un DNI válido:
if (numero.length != 8 || isNaN(numero) || !isNaN(letra)) {
// Si avisamos de DNIs extranjeros, dejamos la validación en manos del usuario
if (aviso) {
return confirm('El NIF no es español. ¿Es correcto?');
} else {
return false;
}
}
return getNIF(parseInt(numero)) == letra;
} catch (e) {
console.log(e);
return false;
}
}
// http://da-software.blogspot.com/2012/10/validar-cuenta-corriente-bancaria-con.html
function verificaCCC(val) {
var banco = val.substring(0,4);
var sucursal = val.substring(4,8);
var dc = val.substring(8,10);
var cuenta=val.substring(10,20);
var CCC = banco+sucursal+dc+cuenta;
if (!/^[0-9]{20}$/.test(banco+sucursal+dc+cuenta)){
return false;
}
else
{
valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
control = 0;
for (i=0; i<=9; i++)
control += parseInt(cuenta.charAt(i)) * valores[i];
control = 11 - (control % 11);
if (control == 11) control = 0;
else if (control == 10) control = 1;
if(control!=parseInt(dc.charAt(1))) {
return false;
}
control=0;
var zbs="00"+banco+sucursal;
for (i=0; i<=9; i++)
control += parseInt(zbs.charAt(i)) * valores[i];
control = 11 - (control % 11);
if (control == 11) control = 0;
else if (control == 10) control = 1;
if(control!=parseInt(dc.charAt(0))) {
return false;
}
return true;
}
}
// https://trellat.es/funcion-validacion-de-iban-en-javascript/
// Aviso: muestra un mensaje de confirmación si el IBAN no es español
function verificaIBAN(IBAN, aviso) {
//Se pasa a Mayusculas
IBAN = IBAN.toUpperCase();
//Se quita los blancos de principio y final.
IBAN = IBAN.trim();
IBAN = IBAN.replace(/\s/g, ""); //Y se quita los espacios en blanco dentro de la cadena
// LEVÍ: solo verificamos IBAN españoles
if (IBAN.substring(0, 2) != 'ES') {
if (aviso && !confirm('El IBAN no es español. ¿Es correcto?')) {
return false;
}
return true;
}
let letra1,letra2,num1,num2;
let isbanaux;
let numeroSustitucion;
//La longitud debe ser siempre de 24 caracteres
if (IBAN.length != 24) {
return false;
}
// LEVÍ: añado la validación de la CCC
if (!verificaCCC(IBAN.substring(4))) {
return false;
}
// Se coge las primeras dos letras y se pasan a números
letra1 = IBAN.substring(0, 1);
letra2 = IBAN.substring(1, 2);
num1 = getnumIBAN(letra1);
num2 = getnumIBAN(letra2);
//Se sustituye las letras por números.
isbanaux = String(num1) + String(num2) + IBAN.substring(2);
// Se mueve los 6 primeros caracteres al final de la cadena.
isbanaux = isbanaux.substring(6) + isbanaux.substring(0,6);
//Se calcula el resto, llamando a la función modulo97, definida más abajo
resto = modulo97(isbanaux);
if (resto == 1){
return true;
}else{
return false;
}
}
function modulo97(iban) {
let parts = Math.ceil(iban.length/7);
let remainer = "";
for (var i = 1; i <= parts; i++) {
remainer = String(parseFloat(remainer+iban.substr((i-1)*7, 7))%97);
}
return remainer;
}
function getnumIBAN(letra) {
ls_letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
return ls_letras.search(letra) + 10;
}