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 { if (nif.toUpperCase().startsWith("X")||nif.toUpperCase().startsWith("Y")||nif.toUpperCase().startsWith("Z")){ if (aviso && !confirm('El NIF no es español. ¿Es correcto?')) { return false; } if(nif.length == 10 && !nif.substring(1, 2).equals("0")) return(true); num = nif.toUpperCase().startsWith("X")?0:nif.toUpperCase().startsWith("Y")?1:nif.toUpperCase().startsWith("Z")?2:-1; nif = num + nif.substring(1); } let letra = nif.substring(nif.length - 1).toUpperCase(); let numero = nif.substring(0,nif.length - 1).toUpperCase(); if ( getNIF(parseInt(numero)) == letra || confirm('El NIF no es correcto. ¿continuar?') ) { return true; }else{ return false; } } 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; }