//Funcion que controla los submenus iniciales para activarlos o desactivarlos function muestraSubmenu(enlace){ for(var i=0;i<9;i++){ var H=9; if(i == enlace){ if(i==0 || i==7 || i==8){//Menu Login H=33; }else{ H=9; } var posTop = $('#opcion'+enlace).height() + H; $('#item'+enlace).css('top',posTop+'px'); $('#item'+enlace).fadeIn('fast'); $('#item'+enlace).mouseleave(function(){ $('#item'+enlace).fadeOut('fast'); $('div .contenedor').removeClass('activo'); $('div .contenedor .candado').removeClass('activo'); $('#texto_menu_login_registro').removeClass('activo'); }); }else{ $('#item'+i).css('display','none'); $('div .contenedor').removeClass('activo'); $('div .contenedor .candado').removeClass('activo'); $('#texto_menu_login_registro').removeClass('activo'); } } } //Funcion que anade la clase activo para el logueado de usario function login_hover(){ $('div .contenedor').addClass('activo'); $('div .contenedor .candado').addClass('activo'); $('#texto_menu_login_registro').addClass('activo'); } function cargaValor(ele){ // funcion para cargar el valor de los selects ocultos en la capa con el fondo document.getElementById('h_' + ele).innerHTML = document.getElementById('v_' + ele).options[document.getElementById('v_' + ele).selectedIndex].innerHTML; } var enlace_antiguo=""; function muestraLetra(enlace){ // funcion para mostrar las letras del abecedario con el fondo al pinchar en ellas if(enlace_antiguo != enlace || enlace_antiguo == ""){ $('#abecedario'+enlace_antiguo).removeClass('texto_hover'); enlace_antiguo=enlace; } $('#abecedario'+enlace).addClass('texto_hover'); } function muestraCapa(nombre_clase,enlace,num_opciones){ // funcion para mostrar o ocultar las capas for(var i=1;i<(num_opciones+1);i++){ if(i != enlace){ $('#'+nombre_clase+''+i).addClass('hide'); }else{ $('#'+nombre_clase+''+i).removeClass('hide'); } } } function ocultaCapa(nombre_clase,enlace){ // funcion para mostrar o ocultar las capas $('#'+nombre_clase+''+enlace).addClass('hide'); } function activaCapa(nombre_clase,enlace,num_opciones){ // funcion para mostrar o ocultar las capas for(var i=1;i<(num_opciones+1);i++){ if(i == enlace){ $('#'+nombre_clase+''+i).addClass('img_activo'); }else{ $('#'+nombre_clase+''+i).removeClass('img_activo'); } } } function ocultaCapas(nombre_clase,enlace,num_opciones){ // funcion para ocultar varias capas for(var i=1;i<(num_opciones+1);i++){ $('#'+nombre_clase+''+i).addClass('hide'); } } function muestraCapas(nombre_clase,enlace,num_opciones){ // funcion para mostrar varias capas for(var i=1;i<(num_opciones+1);i++){ $('#'+nombre_clase+''+i).removeClass('hide'); } } /*****************************************************************************/ /* SCP - Cargando capa Ajax*/ 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 - Valida que lo que se introduce en un text son solo numeros*/ 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; } } } /*****************************************************************************/ function validaSoloNumerosDecimal(evento) { if(validaSoloNumeros(evento)) return true; else { var codigoTecla = evento.keyCode; if((codigoTecla == 190) // el punto // || (codigoTecla == 188) // la coma || (codigoTecla == 110) // el punto del teclado numerico ) { return true; } else { //alert("La tecla es "+codigoTecla); //window.status = "La tecla es "+codigoTecla; return false; } } } /*****************************************************************************/ function validaSoloLetrasNumeros(evt) { var codigoTecla = evt.keyCode; // alert(codigoTecla); 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 == 192) // 192 - la letra eñe || (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) || (codigoTecla>65 && codigoTecla<90) // 65 a 90 - letras de la a la z ) { return true; } else { // window.status = "La tecla es "+codigoTecla; return false; } } } /*****************************************************************************/ /* SCP - Muestra y oculta elementos de Ajax*/ function muestraOcultaElementoCapa(elemento, ocultar){ if(ocultar=='N'){ document.getElementById(elemento).style.visibility="visible"; }else{ document.getElementById(elemento).style.visibility="hidden"; } } function muestraCapaOcultaCapa(ocultar, mostrar){ document.getElementById(mostrar).style.visibility="visible"; document.getElementById(ocultar).style.visibility="hidden"; } /*****************************************************************************/ /* RGR */ function cargarCombo(combo, valor) { for(var i = 0; i < combo.length; i++) { if (combo[i].value == valor) { combo.selectedIndex = i; i = combo.length; } } } /*****************************************************************************/ /* RGR */ function resaltar(jquerySelector, duracionMSeg) { var cadena = "$('"+jquerySelector+"').addClass('resaltado')"; eval(cadena); cadena = "$('"+jquerySelector+"').removeClass('resaltado')"; setTimeout(cadena, duracionMSeg); } /*****************************************************************************/ /* RGR */ function abreTooltip(sTitulo, sTexto, e) { var jtooltip = $("#tooltip"); var posx, posy; if (e.pageX || e.pageY) { posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY) { posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } jtooltip[0].style.left = (posx+10)+"px"; jtooltip[0].style.top = (posy+10)+"px"; $("#tooltipTitulo")[0].innerHTML = sTitulo; $("#tooltipTexto")[0].innerHTML = sTexto; jtooltip.removeClass("oculto"); } /*****************************************************************************/ /* RGR */ function cierraTooltip() { $("#tooltip").addClass("oculto"); } /*****************************************************************************/ function isEmailAddress(theElement) { var sol = theElement.value; var filter=/^([a-zA-Z]+[a-zA-Z0-9\-+_.]*@[a-zA-Z0-9]+[a-zA-Z0-9\-.]*.[a-zA-Z]{2,6})$/; if (sol.length == 0 ) return true; if (filter.test(sol)) return true; else return false; } /*****************************************************************************/ /* RGR - Busca todos los iframes de la pagina y les pone el alto de la ventana contenida*/ function ajustaAltoIframe() { var tosLosIframes = $("iframe"); for(var i=0; i'; else ventanaModal[0].innerHTML = ''; } /*****************************************************************************/ $(document).ready(function() { //$(document).pngFix(); //select all the a tag with name equal to modal $('a[title=modal]').click(function(e) { //Cancel the link behavior e.preventDefault(); //Get the A tag var idmodal = $(this).attr('href'); //Get the A tag var id = ".modal .window"; //Get the screen height and width var maskHeight = $(document).height(); var maskWidth = $(window).width(); //Set heigth and width to mask to fill up the whole screen $('.modal .mask').css({'width':maskWidth,'height':maskHeight}); //transition effect $('.modal .mask').fadeIn(1000); $('.modal .mask').fadeTo("slow",0.8); muestraIframeModal(idmodal); }); //if close button is clicked $('.modal .window .close').click(function (e) { //Cancel the link behavior e.preventDefault(); $('.modal .mask').hide(); $('.modal .window').hide(); }); }); /*****************************************************************************/ /* SCP - Pone tamaño máximo a un textarea*/ function maximaLongitudTextArea(texto,maxlong) { var tecla, int_value, out_value; if (texto.value.length > maxlong) { /*con estas 3 sentencias se consigue que el texto se reduzca al tamaño maximo permitido, sustituyendo lo que se haya introducido, por los primeros caracteres hasta dicho limite*/ in_value = texto.value; out_value = in_value.substring(0,maxlong); texto.value = out_value; return false; } return true; } /*****************************************************************************/ 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) { var salida = false; if(cadena!='') { if (cadena.length <= 9) { cadena= cadena.toUpperCase(); var primeraPosicion = cadena.charAt(0); // Si comienza por numero es un DNI if(!isNaN(primeraPosicion)) { // Personas f?sicas espa?olas // N(1-8)+C(1) // El digito de control se calcula: // C(1)=1+N(1-8)%23 // C{1-23} ? C{T,R,W,A,G,M,Y,F,P,D,X,B,N,J,Z,S,Q,V,H,L,C,K,E} var letras = "TRWAGMYFPDXBNJZSQVHLCKE"; var charControl = cadena.charAt(cadena.length-1); var sNumero = cadena.substring(0, cadena.length - 1); var iNumero = parseInt(sNumero, 10); var iControl = iNumero%23; if(letras.charAt(iControl) == charControl) salida = true; } else if(primeraPosicion == "A" || primeraPosicion == "B" || primeraPosicion == "C" || primeraPosicion == "D" || primeraPosicion == "E" || primeraPosicion == "F" || primeraPosicion == "G" || primeraPosicion == "H" || primeraPosicion == "J" || primeraPosicion == "U" || primeraPosicion == "V" ) { // Personas jur?dicas con ?nimo de lucro, como A12345674 // A(1)+N(1-7)+C(1) // A(1)={A-H,J,U,V} // El digito de control se calcula: // S=2#N(1)+N(2)+2#N(3)+N(4)+2#N(5)+N(6)+2#N(7) // C(1)=10-S%10; si C=10, C=0 if (cadena.length == 9) { var charControl = cadena.charAt(cadena.length-1); var iControl = parseInt(charControl, 10); var suma = 0; for (var i = 1; i < 8; i++) { var iN = parseInt(cadena.charAt(i), 10); if (i % 2 == 1) { iN = iN * 2; if (iN >= 10) { iN = (iN - 10) + 1; } } suma += iN; } var iCalculo = (10 - (suma % 10)) % 10; if (iCalculo == iControl) salida = true; } } else if(primeraPosicion == "N" || primeraPosicion == "P" || primeraPosicion == "Q" || primeraPosicion == "R" || primeraPosicion == "S" || primeraPosicion == "W" ) { // Personas jur?dicas sin ?nimo de lucro, como P1234567D // A(1)+N(1-7)+C(1) // A(1)={N,P,Q,R,S,W} // El digito de control se calcula: // S=2#N(1)+N(2)+2#N(3)+N(4)+2#N(5)+N(6)+2#N(7) // C(1)=10-S%10 // C{1-10} ? C{A-J} if (cadena.length == 9) { var letras = "ABCDEFGHIJ"; var charControl = cadena.charAt(cadena.length-1); var suma = 0; for (var i = 1; i < 8; i++) { var iN = parseInt(cadena.charAt(i), 10); if (i % 2 == 1) { iN = iN * 2; if (iN >= 10) { iN = (iN - 10) + 1; } } suma += iN; } var iCalculo = 10 - suma % 10; if (letras.charAt(iCalculo-1) == charControl) salida = true; } } else if(primeraPosicion == "K" || primeraPosicion == "L" || primeraPosicion == "M" || primeraPosicion == "X" || primeraPosicion == "Y" || primeraPosicion == "Z" ) { // Personas f?sicas extranjeras, menores de 14 a?os o no residentes, como K1234567L // A(1)+N(1-7)+C(1) // A(1)={K,L,M,X} // El digito de control se calcula: // C(1)=1+N(1-7)%23 // C{1-23} ? C{T,R,W,A,G,M,Y,F,P,D,X,B,N,J,Z,S,Q,V,H,L,C,K,E} if (cadena.length == 9) { var letras = "TRWAGMYFPDXBNJZSQVHLCKE"; var charControl = cadena.charAt(cadena.length-1); var sNumero = cadena.substring(1, cadena.length - 1); var iNumero = parseInt(sNumero, 10); if(primeraPosicion == "Y") iNumero += 10000000; if(primeraPosicion == "Z") iNumero += 20000000; var iControl = iNumero%23; if(letras.charAt(iControl) == charControl) salida = true; } } } } return salida; } /*****************************************************************************/ function validarNIFCIFESold(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 var iDigCntrl = cadena.charAt(8); if (control==iDigCntrl || 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; if(check == 10) check = 0; if(check == 11) check = 0; 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