// ************************************************************************* // // ******* FUNCIONES GENERALES-GLOBALES PARA LA WEB DE SEUR ************ // // ************************************************************************* // /*****************************************************************************/ /* RGR */ function setOculto(idElemento, sino) { if(sino=="S"){ document.getElementById(elemento).style.display="none"; }else{ document.getElementById(elemento).style.display="block"; } } /*****************************************************************************/ /* RGR */ function setInvisible(idElemento, sino) { if(sino=="S"){ document.getElementById(elemento).style.visibility="hidden"; }else{ document.getElementById(elemento).style.visibility="visible"; } } /*****************************************************************************/ /* RGR */ function setCargando(selectId, sino) { var claseAjaxCargando = "marcoAjaxCargando"; var elSelect = document.getElementById(selectId); if(sino == 'S') { if(elSelect.className.indexOf(claseAjaxCargando) == -1) elSelect.className = elSelect.className+' '+claseAjaxCargando; } else { var ini = elSelect.className.indexOf(claseAjaxCargando); if(ini != -1) { var fin = elSelect.className.indexOf(' ', ini); var claseVieja = elSelect.className; var claseNueva = claseVieja.substring(0, ini); if(fin != -1) claseNueva += claseVieja.substring(fin, claseVieja.length); elSelect.className = claseNueva; } } } /*****************************************************************************/ /* RGR */ function validaSoloNumeros(evt) { var codigoTecla = evt.keyCode; if(evt.ctrlKey) // permite usar la tecla control (para copiar y pegar) return true; else { if((codigoTecla == 8) // 8 - borrar || (codigoTecla == 13) // 13 - enter || (codigoTecla == 9) // 9 - tab || (codigoTecla == 46) // 46 - suprimir || (codigoTecla>34 && codigoTecla<41) // 35 a 40 - inicio, fin, 4flechas || (codigoTecla>47 && codigoTecla<58) // 48 a 57 - numeros del 0 al 9 || (codigoTecla>95 && codigoTecla<106) // 96 a 105 - numeros del 0 al 9 (teclado numerico) ) { return true; } else { // window.status = "La tecla es "+codigoTecla; return false; } } } /*****************************************************************************/ /* * Funcion para cargar un combo con un valor */ function cargarCombo(valor,combo){ for(var i=0; i < combo.length; i++){ if (combo[i].text == valor || combo[i].value == valor){ combo.selectedIndex = i; } } } /*****************************************************************************/ /* * DGH. Funcion que limita los valores introducidos * por teclado y SOLO permite numeros. */ function validaEntradaNumeros(evt) { //se controla si es IE o Moz if (document.all) { if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false; } else { if ((evt.which < 48 || evt.which > 57) && evt.which != 8 && evt.which != 0) evt.preventDefault(); } } /* * DGH. Funcion que limita los valores introducidos por teclado y * permite numeros (excepto en la posicion: pos) y una coma(,). * Ej: (12345,000). */ function validaEntradaDecimales(evt,texto,pos,numDec) { if(pos == null || pos == "" || pos == 0) pos=5; //se controla si es IE o Moz: if (document.all) // IE { //No se deja escribir si: if(event.keyCode==44 || event.keyCode==46) { //...es coma o punto y ya existe una/o o es la primera posicion. if(texto.indexOf(",")!=-1 || texto.indexOf(".")!=-1 || texto.length==0) event.returnValue = false; } else if (event.keyCode < 48 || event.keyCode > 57) { //...no es un numero. event.returnValue = false; } else { //...se supera la maxima cantidad de enteros permitida. if(texto.length==pos) { if((event.keyCode!=44 && event.keyCode!=46) && (texto.indexOf(",")==-1 && texto.indexOf(".")==-1)) event.returnValue = false; } //...el numero de decimales es mayor del permitido. var decimales = ""; if(texto.indexOf(",")!=-1) decimales = texto.substring(texto.indexOf(","),texto.length); if(texto.indexOf(".")!=-1) decimales = texto.substring(texto.indexOf("."),texto.length); if(decimales.length>numDec) event.returnValue = false; } } else // Moz { if((evt.which==44 || evt.which==46) && evt.which!=8 && evt.which!=0) { if(texto.indexOf(",")!=-1 || texto.indexOf(".")!=-1 || texto.length==0) evt.preventDefault(); } else if ((evt.which < 48 || evt.which > 57) && evt.which != 8 && evt.which != 0) { evt.preventDefault(); } else { if(texto.length==pos) { if((evt.which!=44 && evt.which!=46) && (texto.indexOf(",")==-1 && texto.indexOf(".")==-1) && evt.which != 8 && evt.which != 0) evt.preventDefault(); } var decimales = ""; if(texto.indexOf(",")!=-1) decimales = texto.substring(texto.indexOf(","),texto.length); if(texto.indexOf(".")!=-1) decimales = texto.substring(texto.indexOf("."),texto.length); if(decimales.length>numDec && evt.which != 8 && evt.which != 0) evt.preventDefault(); } } } function validarNIFCIFJS(cadena, pais) { // alert('en validarNIFCIF, pais '+ pais); cadena = cadena.replace(/^\s+|\s+$/g, ''); //con esto hacemos un trim del nif. if (pais=='ES') return validarNIFCIFES(cadena) || validarNIFCIFINT(cadena); if (pais=='PT') return validarNIFCIFPT(cadena); if (pais=='FR') return validarNIFCIFFR(cadena); if (pais=='DT') return validarNIFCIFDT(cadena); if (pais=='') return true; } //Funcion para validar el CIF/NIF espannol function validacionNIF(nif,letra) { cadenanums="TRWAGMYFPDXBNJZSQVHLCKET" posicion = nif % 23 letraControl = cadenanums.substring(posicion,posicion+1) if(letraControl==letra){ return true; }else{ return false; } } //Funcion para validar el CIF/NIF espannol function validarNIFCIFES(cadena){ //alert('en validarNIFCIFES'); if(cadena!=''){ if (cadena.length>9) return false; cadena= cadena.toUpperCase(); var par = 0; var non = 0; //var letras="ABCDEFGHKLMNPQS"; var letras="ABCDEFGHIJNPQRSUVW"; var letrasNumerico = "ABEH"; var letrasAlfa = "KPQS"; var primeraPosicion = cadena.charAt(0); if(!isNaN(primeraPosicion)){ //es un nif var letra = cadena.charAt(cadena.length-1); if(isNaN(letra)){ var cadenaNumerica = '00000000'+cadena.substring(0,cadena.length - 1); cadenaNuemrica = cadenaNumerica.substring(cadenaNumerica.length - 8,cadenaNumerica.length); if(validacionNIF(cadenaNuemrica,letra)){ return true; }else{ //alert(""); return false; } }else{ //alert(""); return false; } }else{// es un cif if (cadena.length!=9){ //alert(""); return false; } for (zz=2;zz<8;zz+=2){ par = par+parseInt(cadena.charAt(zz)); } for (zz=1;zz<9;zz+=2){ nn = 2*parseInt(cadena.charAt(zz)); if (nn > 9) nn = 1+(nn-10); non = non+nn; } var parcial = par + non; var controlLetras = (10 - ( parcial % 10)); var control = controlLetras %10 if (letrasNumerico.indexOf(primeraPosicion,0)!=-1){ //es un CIF con digito de control numerico if (control!=cadena.charAt(8)){ //alert(""); return false; } return true; } else if (letrasAlfa.indexOf(primeraPosicion,0)!=-1){ //es un CIF con digito de control alfabetico if (cadena.charAt(8) ==letras.charAt(controlLetras-1) ){ return true; } else { return false; } } else{ //el digito de control puede ser alfanumerico if (control==cadena.charAt(8) || cadena.charAt(8) ==letras.charAt(controlLetras-1) ){ return true; } return false; } } }else{ return false; } } //Funcion para validar el CIF/NIF portugues function validarNIFCIFPT(cadena){ // alert('en validarNIFCIFPT'); if(cadena!='' ){ if (isNaN(cadena)){ //alguno de los caracteres no es un nombre //alert(""); //alert("nifInvalido"); return false; } var primeraPosicion = parseInt(cadena.charAt(0)); if(primeraPosicion>0 && cadena.length==9){ //tiene exactamente 9 caracteres var suma = 0; //hallamos la suma de los digitos segun la formula... ver http://sima-pc.com/nif.php?lang=spa for (var i = 0; i< 8; i++){ var digito = parseInt(cadena.charAt(i), 10); digito = digito*(9-i) suma+= digito; } var check =11-( suma % 11); check = check %10; var control = parseInt(cadena.charAt(8), 10); if (check!=control){ //alert('digito de control incorrecto'); return false; } return true }else{ //alert('longitud de nif incorrecto'); return false; } }else{ return false; } } //Funcion para validar el CIF/NIF frances function validarNIFCIFFR(cadena){ // alert('en validarNIFCIFFR'); if(cadena!=''){ var letras="ABCDEFGHJKLMNPQRSTUVWXYZ"; //para diferenciar entre nuevo y viejo, tenemos que comprobar si son letras o no var numeros="0123456789"; //para diferenciar entre nuevo y viejo, tenemos que comprobar si son letras o no var caracteresValidosControl=numeros + letras; var digitosControl = cadena.substring(0,2); if (cadena.length>11) return false; if(!isNaN(digitosControl)){ //es un nif viejo if (isNaN(cadena )) return false; var codNif = parseInt(cadena.substring (2), 10); var codControl = (codNif*100+12)%97; if (codControl == parseInt (digitosControl), 10) return true; else{ //alert(""); //alert("nifInvalido"); return false; } }else{//nif nuevo if (letras.indexOf(digitosControl.charAt(0))!=-1 && letras.indexOf(digitosControl.charAt(1))!=-1 ){ //ambos digitos de control son letras, //alert(""); //alert("nifInvalido"); return false; } var suma = 0; var i1 = parseInt(caracteresValidosControl.indexOf(digitosControl.charAt(0)), 10); var i2 = parseInt(caracteresValidosControl.indexOf(digitosControl.charAt(1)), 10); if (i1<10){ suma = i1*24+i2-10; } else{ suma=i1*34+i2-100 } var check1 = suma %11; suma = parseInt(suma/11) +1; //division entera var codNif = parseInt(cadena.substring (2)); var check2 = (codNif + suma )%11; if (check1==check2){ return true; } else{ //alert(""); //alert("nifInvalido"); return false; } } } } //Funcion para validar el CIF/NIF de extranjeros en espanna function validarNIFCIFINT(cadena){ //alert('en validarNIFCIFINT'); if(cadena!=''){ var par = 0; var non = 0; var letrasInt= "KLMX"; var letras="TRWAGMYFPDXBNJZSQVHLCKE"; var primeraPosicion = cadena.charAt(0); if (cadena.length>9) return false; if (letrasInt.indexOf(primeraPosicion,0) ==-1){ //alert('no es un nif internacional'); return false; } var numero = cadena.substring(1,cadena.length-1); if(!isNaN(numero)){ var letra = cadena.charAt(cadena.length-1); if(isNaN(letra)){ numero = parseInt(numero, 10); var suma = (numero)%23; var digitoControl = letras.charAt(suma); if (digitoControl != letra){ //alert ('digito de control incorrecto'); return false; } return true; }else{ //alert("no hay digito de control"); return false; } }else{ //alert ('no es un nif valido'); return false; } }else{ return false; } } function validarNIFCIFDT (cadena){ //NIF / CIF aleman if (cadena!=''){ if (isNaN(cadena)) return false; var cadenaNumerica = '00000000'+cadena.substring(0,cadena.length - 1); cadenaNumerica = cadenaNumerica.substring(cadenaNumerica.length - 8,cadenaNumerica.length); if (parseInt(cadenaNumerica,10)<1) return false; var suma = 0; for (var i=0;i??[]?????#??!^*;,:"; // A?adida por El Codigo para poder emitir un alert en funcion de si email valido o no var valido = true; // verifica qie el Usuario no tenga un caracter especial for (var Cont=0; Cont