1(function (win) { 2 3 'use strict'; 4 5 var _detectMedia = null; 6 var _lng = 1; 7 var _path = 'es'; 8 var _url = []; 9 var _urlBuscar = ''; 10 var _guardando = false; 11 var _mapa = null; 12 var documentos = []; 13 var documento = {}; 14 15 var self = null; 16 17 function Main() { 18 19 self = this; 20 } 21 22 Main.prototype.buscar = function (valor) { 23 24 var buscar = $.trim (valor); 25 gtag('event', 'search', {'event_category': 'buscar', 'event_label': buscar}); 26 if (buscar) window.location = _urlBuscar + '/' + buscar; 27 } 28 29 30 Main.prototype.page = function (seccion, pagina) { 31 if (history.pushState) { 32 history.pushState({ pagina: pagina }, null, seccion + "/pagina/" + pagina); 33 } else { 34 location.hash = pagina; 35 } 36 }; 37 38 39 /////////////////////////////////////////// 40 /////////////////////////////////////////// 41 /////////////////////////////////////////// 42 /////////////////////////////////////////// 43 44 Main.prototype.action = function (action, data, callback, callbackerror) { 45 46 data.action = action; 47 data.__lng = self._lng; 48 49 $.ajax({ 50 url: '/lib/php/action-json.php', 51 type: 'POST', 52 data: JSON.stringify(data), 53 contentType: 'application/json; charset=utf-8', 54 dataType: 'json', 55 success: function (data) { 56 callback(data); 57 }, 58 error: function (err) { 59 if (err.msg) alert(err.msg) 60 if (callbackerror) callbackerror(err); 61 } 62 }); 63 }; 64 65 66 Main.prototype.actionFormularioContacto = function (publicKey) { 67 68 var form = $('#formContacto'); 69 if (!form[0].checkValidity()) return form.addClass('was-validated'); 70 71 var datos = {}; 72 form.serializeArray().forEach(function (field) { 73 datos[field.name] = field.value; 74 }); 75 76 // datos.lng = _lng; 77 $('#formContactoKo').addClass('hidden'); 78 $('#formContactoCargando').removeClass('hidden'); 79 $('#formContacto').addClass('hidden'); 80 81 grecaptcha.ready(function() { 82 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 83 datos.captcha = token; 84 self.action('formularioContacto::actionFormularioContacto', datos, function (data) { 85 if (data.ok) { 86 $('#formContactoCargando').addClass('hidden'); 87 $('#formContactoOk').removeClass('hidden'); 88 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 89 } else { 90 swal({title: 'Error', text: data.msg, type: 'warning'}); 91 console.log(data); 92 } 93 }, function (error) { 94 $('#formContactoCargando').addClass('hidden'); 95 $('#formContacto').removeClass('hidden'); 96 $('#formContactoKo').removeClass('hidden'); 97 }); 98 }); 99 }); 100 101 }; 102 103 104 Main.prototype.actionFormularioApoyo = function (publicKey) { 105 106 var form = $('#formContacto'); 107 if (!form[0].checkValidity()) return form.addClass('was-validated'); 108 109 var datos = {}; 110 form.serializeArray().forEach(function (field) { 111 datos[field.name] = field.value; 112 }); 113 114 // datos.lng = _lng; 115 $('#formContactoKo').addClass('hidden'); 116 $('#formContactoCargando').removeClass('hidden'); 117 $('#formContacto').addClass('hidden'); 118 119 grecaptcha.ready(function() { 120 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 121 datos.captcha = token; 122 self.action('formularioContacto::actionFormularioApoyo', datos, function (data) { 123 if (data.ok) { 124 $('#formContactoCargando').addClass('hidden'); 125 $('#formContactoOk').removeClass('hidden'); 126 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 127 } else { 128 swal({title: 'Error', text: data.msg, type: 'warning'}); 129 console.log(data); 130 } 131 }, function (error) { 132 $('#formContactoCargando').addClass('hidden'); 133 $('#formContacto').removeClass('hidden'); 134 $('#formContactoKo').removeClass('hidden'); 135 }); 136 }); 137 }); 138 139 }; 140 141 Main.prototype.actionFormularioServiciosSociales = function (publicKey) { 142 143 var form = $('#formContacto'); 144 if (!form[0].checkValidity()) return form.addClass('was-validated'); 145 146 var datos = {}; 147 form.serializeArray().forEach(function (field) { 148 datos[field.name] = field.value; 149 }); 150 151 // datos.lng = _lng; 152 $('#formContactoKo').addClass('hidden'); 153 $('#formContactoCargando').removeClass('hidden'); 154 $('#formContacto').addClass('hidden'); 155 156 grecaptcha.ready(function() { 157 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 158 datos.captcha = token; 159 self.action('formularioContacto::actionFormularioServiciosSociales', datos, function (data) { 160 if (data.ok) { 161 $('#formContactoCargando').addClass('hidden'); 162 $('#formContactoOk').removeClass('hidden'); 163 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 164 } else { 165 swal({title: 'Error', text: data.msg, type: 'warning'}); 166 console.log(data); 167 } 168 }, function (error) { 169 $('#formContactoCargando').addClass('hidden'); 170 $('#formContacto').removeClass('hidden'); 171 $('#formContactoKo').removeClass('hidden'); 172 }); 173 }); 174 }); 175 176 }; 177 178 179 Main.prototype.actionFormularioApoyoMujer = function (publicKey) { 180 181 var form = $('#formContacto'); 182 if (!form[0].checkValidity()) return form.addClass('was-validated'); 183 184 var datos = {};
185 form.serializeArray().forEach(function (field) { 186 datos[field.name] = field.value; 187 }); 188 189 // datos.lng = _lng; 190 $('#formContactoKo').addClass('hidden'); 191 $('#formContactoCargando').removeClass('hidden'); 192 $('#formContacto').addClass('hidden'); 193 194 grecaptcha.ready(function() { 195 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 196 datos.captcha = token; 197 self.action('formularioContacto::actionFormularioApoyoMujer', datos, function (data) { 198 if (data.ok) { 199 $('#formContactoCargando').addClass('hidden'); 200 $('#formContactoOk').removeClass('hidden'); 201 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 202 } else { 203 swal({title: 'Error', text: data.msg, type: 'warning'}); 204 console.log(data); 205 } 206 }, function (error) { 207 $('#formContactoCargando').addClass('hidden'); 208 $('#formContacto').removeClass('hidden'); 209 $('#formContactoKo').removeClass('hidden'); 210 }); 211 }); 212 }); 213 214 }; 215 216 Main.prototype.actionFormularioDeporte = function (publicKey) { 217 218 var form = $('#formContacto'); 219 if (!form[0].checkValidity()) return form.addClass('was-validated'); 220 221 var datos = {}; 222 form.serializeArray().forEach(function (field) { 223 datos[field.name] = field.value; 224 }); 225 226 // datos.lng = _lng; 227 $('#formContactoKo').addClass('hidden'); 228 $('#formContactoCargando').removeClass('hidden'); 229 $('#formContacto').addClass('hidden'); 230 231 grecaptcha.ready(function() { 232 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 233 datos.captcha = token; 234 self.action('formularioContacto::actionFormularioDeporte', datos, function (data) { 235 if (data.ok) { 236 $('#formContactoCargando').addClass('hidden'); 237 $('#formContactoOk').removeClass('hidden'); 238 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 239 } else { 240 swal({title: 'Error', text: data.msg, type: 'warning'}); 241 console.log(data); 242 } 243 }, function (error) { 244 $('#formContactoCargando').addClass('hidden'); 245 $('#formContacto').removeClass('hidden'); 246 $('#formContactoKo').removeClass('hidden'); 247 }); 248 }); 249 }); 250 251 }; 252 253 Main.prototype.actionFormularioConsejo = function (publicKey) { 254 255 var form = $('#formContacto'); 256 if (!form[0].checkValidity()) return form.addClass('was-validated'); 257 258 var datos = {}; 259 form.serializeArray().forEach(function (field) { 260 datos[field.name] = field.value; 261 }); 262 263 // datos.lng = _lng; 264 $('#formContactoKo').addClass('hidden'); 265 $('#formContactoCargando').removeClass('hidden'); 266 $('#formContacto').addClass('hidden'); 267 268 grecaptcha.ready(function() { 269 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 270 datos.captcha = token; 271 self.action('formularioContacto::actionFormularioConsejo', datos, function (data) { 272 if (data.ok) { 273 $('#formContactoCargando').addClass('hidden'); 274 $('#formContactoOk').removeClass('hidden'); 275 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 276 } else { 277 swal({title: 'Error', text: data.msg, type: 'warning'}); 278 console.log(data); 279 } 280 }, function (error) { 281 $('#formContactoCargando').addClass('hidden'); 282 $('#formContacto').removeClass('hidden'); 283 $('#formContactoKo').removeClass('hidden'); 284 }); 285 }); 286 }); 287 288 }; 289 290 Main.prototype.actionFormularioConsejoIgualdad = function (publicKey) { 291 292 var form = $('#formContacto'); 293 if (!form[0].checkValidity()) return form.addClass('was-validated'); 294 295 var datos = {}; 296 form.serializeArray().forEach(function (field) { 297 datos[field.name] = field.value; 298 }); 299 300 // datos.lng = _lng; 301 $('#formContactoKo').addClass('hidden'); 302 $('#formContactoCargando').removeClass('hidden'); 303 $('#formContacto').addClass('hidden'); 304 305 grecaptcha.ready(function() { 306 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 307 datos.captcha = token; 308 self.action('formularioContacto::actionFormularioConsejoIgualdad', datos, function (data) { 309 if (data.ok) { 310 $('#formContactoCargando').addClass('hidden'); 311 $('#formContactoOk').removeClass('hidden'); 312 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 313 } else { 314 swal({title: 'Error', text: data.msg, type: 'warning'}); 315 console.log(data); 316 } 317 }, function (error) { 318 $('#formContactoCargando').addClass('hidden'); 319 $('#formContacto').removeClass('hidden'); 320 $('#formContactoKo').removeClass('hidden'); 321 }); 322 }); 323 }); 324 325 }; 326 327 Main.prototype.actionFormularioConsejoMemoria = function (publicKey) { 328 329 var form = $('#formContacto'); 330 if (!form[0].checkValidity()) return form.addClass('was-validated'); 331 332 var datos = {};
333 form.serializeArray().forEach(function (field) { 334 datos[field.name] = field.value; 335 }); 336 337 // datos.lng = _lng; 338 $('#formContactoKo').addClass('hidden'); 339 $('#formContactoCargando').removeClass('hidden'); 340 $('#formContacto').addClass('hidden'); 341 342 grecaptcha.ready(function() { 343 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 344 datos.captcha = token; 345 datos.documento = documento; 346 self.action('formularioContacto::actionFormularioConsejoMemoria', datos, function (data) { 347 if (data.ok) { 348 $('#formContactoCargando').addClass('hidden'); 349 $('#formContactoOk').removeClass('hidden'); 350 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 351 } else { 352 swal({title: 'Error', text: data.msg, type: 'warning'}); 353 console.log(data); 354 } 355 }, function (error) { 356 $('#formContactoCargando').addClass('hidden'); 357 $('#formContacto').removeClass('hidden'); 358 $('#formContactoKo').removeClass('hidden'); 359 }); 360 }); 361 }); 362 363 }; 364 365 Main.prototype.actionFormularioConsejoPatrimonioHistorico = function (publicKey) { 366 367 var form = $('#formContacto'); 368 if (!form[0].checkValidity()) return form.addClass('was-validated'); 369 370 var datos = {}; 371 form.serializeArray().forEach(function (field) { 372 datos[field.name] = field.value; 373 }); 374 375 // datos.lng = _lng; 376 $('#formContactoKo').addClass('hidden'); 377 $('#formContactoCargando').removeClass('hidden'); 378 $('#formContacto').addClass('hidden'); 379 380 grecaptcha.ready(function() { 381 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 382 datos.captcha = token; 383 self.action('formularioContacto::actionFormularioConsejoPatrimonioHistorico', datos, function (data) { 384 if (data.ok) { 385 $('#formContactoCargando').addClass('hidden'); 386 $('#formContactoOk').removeClass('hidden'); 387 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 388 } else { 389 swal({title: 'Error', text: data.msg, type: 'warning'}); 390 console.log(data); 391 } 392 }, function (error) { 393 $('#formContactoCargando').addClass('hidden'); 394 $('#formContacto').removeClass('hidden'); 395 $('#formContactoKo').removeClass('hidden'); 396 }); 397 }); 398 }); 399 400 }; 401 402 Main.prototype.actionFormularioActividades = function (publicKey) { 403 404 var form = $('#formContacto'); 405 if (!form[0].checkValidity()) return form.addClass('was-validated'); 406 407 var datos = {}; 408 form.serializeArray().forEach(function (field) { 409 datos[field.name] = field.value; 410 }); 411 412 // datos.lng = _lng; 413 $('#formContactoKo').addClass('hidden'); 414 $('#formContactoCargando').removeClass('hidden'); 415 $('#formContacto').addClass('hidden'); 416 417 grecaptcha.ready(function() { 418 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 419 datos.captcha = token; 420 self.action('formularioContacto::actionFormularioActividades', datos, function (data) { 421 if (data.ok) { 422 $('#formContactoCargando').addClass('hidden'); 423 $('#formContactoOk').removeClass('hidden'); 424 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 425 } else { 426 swal({title: 'Error', text: data.msg, type: 'warning'}); 427 console.log(data); 428 } 429 }, function (error) { 430 $('#formContactoCargando').addClass('hidden'); 431 $('#formContacto').removeClass('hidden'); 432 $('#formContactoKo').removeClass('hidden'); 433 }); 434 }); 435 }); 436 437 }; 438 439 Main.prototype.actionFormularioConsejoJuventud = function (publicKey) { 440 441 var form = $('#formContacto'); 442 if (!form[0].checkValidity()) return form.addClass('was-validated'); 443 444 var datos = {}; 445 form.serializeArray().forEach(function (field) { 446 datos[field.name] = field.value; 447 }); 448 449 // datos.lng = _lng; 450 $('#formContactoKo').addClass('hidden'); 451 $('#formContactoCargando').removeClass('hidden'); 452 $('#formContacto').addClass('hidden'); 453 454 grecaptcha.ready(function() { 455 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 456 datos.captcha = token; 457 datos.documento = documento; 458 self.action('formularioContacto::actionFormularioConsejoJuventud', datos, function (data) { 459 if (data.ok) { 460 $('#formContactoCargando').addClass('hidden'); 461 $('#formContactoOk').removeClass('hidden'); 462 gtag('event', 'form', {'event_category': 'att-ciudadano', 'event_label': 'Formularo enviado'}); 463 } else { 464 swal({title: 'Error', text: data.msg, type: 'warning'}); 465 console.log(data); 466 } 467 }, function (error) { 468 $('#formContactoCargando').addClass('hidden'); 469 $('#formContacto').removeClass('hidden'); 470 $('#formContactoKo').removeClass('hidden'); 471 }); 472 }); 473 }); 474 475 }; 476 477 Main.prototype.cambiarIdioma = function (lng) { 478 479 if (lng != _lng) { 480 self.action('main::actionCambiarIdioma', { lng: lng, url: _url }, function (data) { 481 window.location = data.location; 482 }); 483 } 484 } 485 486 487 488 function detectMedia() { 489 490 if (!_detectMedia) { 491 _detectMedia = $('<div id="media-detect"/>'); 492 $('body').append(_detectMedia); 493 } 494 return _detectMedia; 495 } 496 497 498 Main.prototype.xs = function () { return detectMedia().css('width') === '0px'; } 499 Main.prototype.sm = function () { return detectMedia().css('width') === '768px'; } 500 Main.prototype.md = function () { return detectMedia().css('width') === '992px'; } 501 Main.prototype.lg = function () { return detectMedia().css('width') === '1200px'; } 502 503 504 Main.prototype.init = function (options) { 505 506 // if (options.lng) _lng = options.lng; 507 // if (options.path) _path = options.path; 508 // if (options.url) _url = options.url; 509 // Opción para marcar como active el elemento del menú que queramos. (Podéis ver como está en azulcasiblanco. 510 // if (options.active) $ ('#menu-superior-' + options.active).addClass('active'); 511 512 // miga(); 513 if (options.buscar) _urlBuscar = options.buscar; 514 $('.js-buscar').keyup (function (event) { if (event.keyCode == '13') self.buscar($(event.target).val()); }); 515 516 } 517 518 519 function miga() { 520 521 $('.breadcrumb-item').each(function (index, item) { 522 if (!$(item).children().length) { 523 var pan = $(item).html(); 524 if (pan.length > 50) { 525 $(item).html(pan.substring(0, 50) + '...'); 526 } 527 } 528 }); 529 } 530 531 532 Main.prototype.ventanaEnlacesInteres = function() { 533 Modal.open ('plantillas/tpls/ventana-enlaces-interes', { }, function () { 534 535 }); 536 }; 537 538 ////////////////////////////////////// 539 ////////////////////////////////////// 540 ////////////////////////////////////// 541 542 543 Main.prototype.initMenu = function () { 544 545 $('.menu__principal > .menu-nivel1').tabdrop({ text: 'Inicio ' }); 546 547 $('.menu__movil .enlace-padre').click(function (e) { 548 e.preventDefault(); 549 $(this).toggleClass('abierto'); 550 }); 551 552 $('.menu__principal > .enlace-padre').click(function (e) { 553 e.stopPropagation(); 554 }); 555 556 } 557 558 559 560 561 Main.prototype.lng = function () { return _lng; } 562 563 Main.prototype.suscribirBoletin = function () { 564
565 var form = Forms.validate('formBoletin'); 566 if (form.ok) { 567 if (!$('#aceptoBoletin').is(':checked')) { 568 swal({ title: '', text: t.t232, type: 'warning' }); 569 } else { 570 571 self.action('main::suscribirBoletin', { email: form.data.s_emailBoletin }, 572 function (data) { 573 if (data.ok) { 574 $('#formBoletin').hide(); 575 $('#mensajeBoletin').show(); 576 } 577 } 578 ); 579 } 580 } else { 581 $('#s_emailBoletin').focus(); 582 } 583 }; 584 585 586 function verGaleria(full, n) { 587 588 $('#galeria-full').show(); 589 590 full.enterFullscreen(); 591 full.goTo(n - 1); 592 593 full.ev.on('rsExitFullscreen', function () { 594 $('#galeria-full').hide(); 595 }); 596 } 597 598 599 600 function prepareFullScreen(contenedor) { 601 602 var full = $('#galeria-full'); 603 var slider = {}; 604 605 contenedor.find('.item img').each(function (i) { 606 607 var img = $(this); 608 var enlace = $('<a/>'); 609 var imagen = $('<img/>') 610 var src = img.attr('src'); 611 612 imagen.addClass('rsTmb').attr('src', src); 613 614 enlace.addClass('rsImg'); 615 enlace.attr('href', /\?/.test(src) ? src + '&original' : src + '?original'); 616 617 enlace.append(imagen); 618 full.append(enlace); 619 }) 620 621 622 full.royalSlider({ 623 controlNavigation: 'thumbnails', 624 usePreloader: false, 625 fullscreen: { 626 enabled: true, 627 nativeFS: false 628 }, 629 }); 630 631 slider = full.data('royalSlider'); 632 633 $('#zoom').click(function (e) { 634 verGaleria(slider, $(this).data('current-item')); 635 }); 636 } 637 638 639 Main.prototype.initGaleria = function (contenedor, galeria) { 640 641 642 galeria = galeria ? JSON.parse(galeria) : {}; 643 if (galeria.fotos && galeria.fotos.length) { 644 for (var i = 0; i < galeria.fotos.length; i++) { 645 var item = contenedor.find('.item:first').clone(); 646 var img = item.find('img:first'); 647 var src = '/photo/' + galeria.carpeta + '/' + galeria.id + '-' + galeria.fotos[i].index + '/' + galeria.version + '/' + galeria.fotos[i].clearName; 648 649 img.attr('src', src); 650 contenedor.append(item); 651 } 652 prepareFullScreen(contenedor); 653 654 contenedor.owlCarousel({ 655 loop: true, 656 nav: false, 657 autoplayTimeout: 8000, 658 margin: 15, 659 stagePadding: 0, 660 autoplayHoverPause: true, 661 items: 1, 662 autoplay: true, 663 }); 664 665 contenedor.on('changed.owl.carousel', function (property) { $('#zoom').data('current-item', property.item.index); }); 666 } else prepareFullScreen(contenedor); 667 } 668 669 670 Main.prototype.votar = function (voto, contenido, id) { 671 672 self.action('main::votar', { voto: voto, tabla: contenido, id: id }, function (data) { 673 var $element = voto > 0 ? $('#js-voto-positivo-' + id) : $('#js-voto-negativo-' + id); 674 $element.addClass('active'); 675 $('.js-votar').removeAttr('href'); 676 }); 677 }; 678 679 Main.prototype.clickBanner = function (id) { 680 681 self.action('banner::actionAumentarClicks', { id: id }, function (data) { 682 683 }); 684 }; 685 686 Main.prototype.clickSlider = function (id) { 687 688 self.action('slider::actionAumentarClicks', { id: id }, function (data) { 689 690 }); 691 }; 692 693 694 Main.prototype.galeria = function (id) { 695 galeria($('#' + id), 0); 696 } 697 698 699 function galeria (contenedor, indice)Â { 700 701 var slider; 702 var full = $ ('<div/>'); 703 $('body').append(full); 704 full.addClass('royalSlider rsDefault'); 705 706 $('.js-royal', contenedor).each(function () { 707 708 var img = $ (this).find('img'); 709 710 var element = $('<div/>'); 711 var thumb = $ ('<img/>'); 712 var imagen = $ ('<img/>') 713 714 thumb.addClass ('rsTmb').attr ('src', img.attr('src')); 715 imagen.addClass('rsImg').attr ('src', $(this).attr('href')); 716 717 element.append(thumb); 718 element.append(imagen); 719 720 full.append (element); 721 }); 722 723 full.royalSlider({ 724 fullscreen: { 725 enabled: true, 726 nativeFS: false 727 }, 728 controlNavigation: 'thumbnails', 729 autoScaleSlider: true, 730 autoScaleSliderWidth: 500, 731 autoScaleSliderHeight:300, 732 loop: false, 733 imageScaleMode: 'fit', 734 navigateByClick: true, 735 numImagesToPreload:2, 736 keyboardNavEnabled: true, 737 fadeinLoadedSlide: true 738 }); 739 740 slider = full.data('royalSlider'); 741 slider.enterFullscreen(); 742 slider.goTo(indice); 743 744 slider.ev.on('rsExitFullscreen', function() { 745 slider.destroy(); 746 full.remove(); 747 }); 748 749 }; 750 751 752 Main.prototype.actionConsultaMesaElectoral = function (publicKey) { 753 754 let form = $('#form'); 755 let datos = {}; 756 if (!form[0].checkValidity()) return form.addClass('was-validated'); 757 758 759 $('#formCargando').removeClass('hidden'); 760 $ ('#formKo').addClass ('hidden'); 761 $ ('#noCenso').addClass ('hidden'); 762 $ ('#censo').addClass ('hidden'); 763 764 datos.nif = $ ('#nif').val (); 765 766 grecaptcha.ready(function() { 767 grecaptcha.execute(publicKey, {action: 'contacto'}).then(function(token) { 768 datos.captcha = token; 769 770 self.action('censo::actionMesa', datos, function (data) { 771 console.log (data); 772 $ ('#formCargando').addClass ('hidden'); 773 $ ('#form').removeClass ('hidden'); 774 if (data.ok) { 775 datosCenso (data); 776 } else {
777 if (data.msg == 'NOCENSO') { 778 $ ('#noCenso').removeClass ('hidden'); 779 $ ('#nif').val (data.nif); 780 } else { 781 $ ('#formKo').removeClass ('hidden'); 782 $ ('#msgError').html (data.msg); 783 } 784 } 785 }, function (error) { 786 $('#formCargando').addClass('hidden'); 787 $('#form').removeClass('hidden'); 788 }); 789 }); 790 }); 791 792 }; 793 794 795 function datosCenso (data) { 796 797 $ ('#censo').removeClass ('hidden'); 798 799 $ ('.js-colegio').html (data.colegio); 800 $ ('.js-direccion').html (data.direccion); 801 $ ('.js-distrito').html (data.distrito); 802 $ ('.js-seccion').html (data.seccion); 803 $ ('.js-mesa').html (data.mesa); 804 $ ('.js-latitud').html (data.latitud); 805 $ ('.js-longitud').html (data.longitud); 806 $ ('#js-link').attr ("href", "http://www.google.com/maps/place/" + data.latitud + "," + data.longitud + ""); 807 808 809 if (_mapa) { 810 _mapa.off (); 811 _mapa.remove (); 812 } 813 814 _mapa = L.map ('mapa').setView (new L.LatLng (data.latitud, data.longitud), 17); 815 816 // L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoiZXhpc3RvIiwiYSI6ImNqdm56cW91MjFnYmE0Ym9mMzJibzNqengifQ.7DelDlntZPFk9nbs4Un_RA', { 817 // maxZoom: 18, 818 // id: 'mapbox.streets' 819 // }).addTo(mapa); 820 821 _mapa.scrollWheelZoom.disable(); 822 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 823 maxZoom: 18 824 }).addTo (_mapa); 825 826 var marker = L.marker([data.latitud, data.longitud]).addTo (_mapa); 827 marker.bindPopup ("<b>" + data.colegio + "</b><br>" + data.direccion); 828 829 } 830 831 832 function setValidityIban(msg) { 833 // document.getElementById('iban').setCustomValidity(msg); 834 // document.getElementById('iban1').setCustomValidity(msg); 835 // document.getElementById('iban2').setCustomValidity(msg); 836 // document.getElementById('iban3').setCustomValidity(msg); 837 // document.getElementById('iban4').setCustomValidity(msg); 838 // document.getElementById('iban5').setCustomValidity(msg); 839 // document.getElementById('iban6').setCustomValidity(msg); 840 document.getElementById('iban').setCustomValidity(msg); 841 } 842 843 844 function uploadDocumento (file) { 845 console.log(file); 846 documento.target_name = file.target_name; 847 documento.clear_name = file.clear_name; 848 documento.name = file.name; 849 documento.ext = file.ext; 850 documento.size = file.size; 851 $ ('#nombreAdjunto').val (file.name); 852 $ ('#validate-adjunto').val (file.name); 853 } 854 855 856 function uploadDocumentoLista (file) { 857 858 console.log(file); 859 var documento = {}; 860 documento.target_name = file.target_name; 861 documento.clear_name = file.clear_name; 862 documento.name = file.name; 863 documento.ext = file.ext; 864 documento.size = file.size; 865 documentos.push(documento); 866 listAdjuntos(); 867 validateAdjuntos(); 868 } 869 870 function listAdjuntos() { 871 var list = $('#listUploadDocumento') 872 list.empty(); 873 for (var i = 0; i < documentos.length; i++) { 874 var documento = documentos[i]; 875 var li = $('<li></li>').html(documento.name); 876 li.append('<button class="btn btn-sm ml-md" onclick="Main.deleteAdjunto(' + i + ')"><i class="fa fa-trash"></i></button>'); 877 list.append(li); 878 } 879 } 880 881 Main.prototype.deleteAdjunto = function (i) { 882 console.log(i); 883 documentos.splice(i, 1); 884 listAdjuntos(); 885 validateAdjuntos(); 886 } 887 888 889 function validateAdjuntos() { 890 if (documentos.length) $('#validate-adjunto').val(JSON.stringify(documentos)); 891 else $('#validate-adjunto').val(''); 892 } 893 894 function validateAdjunto() { 895 if (documentos.name != '') $('#validate-adjunto').val(JSON.stringify(documento)); 896 else $('#validate-adjunto').val(''); 897 } 898 899 900 901 Main.prototype.initUpload = function() { 902 console.log('entra'); 903 documento = {}; 904 // Upload.init ({ 905 // button: 'btnUploadDocumento', 906 // // fileList: 'filelistDocumentos', 907 // exts: ['*'], 908 // uploaded: function (uploader, file) { 909 // uploadDocumento (file); 910 // } 911 // }); 912 var uploader = new ss.SimpleUpload({ 913 multiple: false, 914 multipleSelect: false, 915 maxSize: 10240, 916 button: 'btnUploadDocumento', 917 url: '/lib/simple-ajax-uploader/upload.php', 918 name: 'uploadfile', 919 responseType: 'json', 920 // allowedExtensions: ['*'], 921 onSubmit: function(filename, extension) { 922 console.log('entra'); 923 console.log(filename); 924 }, 925 onComplete: function(filename, response) { 926 console.log(response); 927 if (response.success) { 928 uploadDocumento(response.file); 929 validateAdjunto(); 930 } else { 931 swal({ title: 'Error', text: response.msg, type: 'error'}) 932 } 933 }, 934 onError: function(filename, type, status, statusText, response, uploadBtn, size) { 935 console.log('error'); 936 }, 937 onSizeError: function () {
938 swal({ title: 'Error', text: 'El tamaño del archivo excede el lÃmite (10MB)', type: 'warning' }); 939 } 940 }); 941 } 942 943 function validarDni(control) { 944 if (!validarNif(control) && !validarPasaporte(control)) { 945 control[0].setCustomValidity('Inválido'); 946 return false; 947 } else { 948 control[0].setCustomValidity(''); 949 return true; 950 } 951 } 952 953 954 function validarPasaporte(control) { 955 var val = $.trim (control.val()); 956 val = val.toUpperCase (); 957 val = val.replace (/[^A-Z0-9]/g, ''); 958 959 if (val == '') { 960 return true; 961 } 962 963 var pasaporte = /^[A-Z]{2}\d{7}$/; 964 if (!pasaporte.test(val)) { 965 return false; 966 } else { 967 return true; 968 } 969 } 970 971 972 function validarNif (control) { 973 974 var dc = 'TRWAGMYFPDXBNJZSQVHLCKE'; 975 var dni = /^\d{7,8}[A-Z]$/; // Los dni antiguos tienen 7 digitos 976 var nie = /^[XYZ]\d{7}[A-Z]$/; 977 var val = $.trim (control.val ()); 978 979 val = val.toUpperCase (); 980 val = val.replace (/[^A-Z0-9]/g, ''); 981 control.val (val); 982 if (val == '') { 983 return true; 984 } 985 986 if (dni.test (val)) { 987 var letra = val.charAt (val.length - 1); 988 var dni = val.substring (0, val.length -1); 989 if (dc.charAt (dni % 23) != letra) { 990 return false; 991 } else { 992 return true; 993 } 994 } 995 996 if (nie.test (val)) { 997 var letra = val.charAt (val.length - 1); 998 if (val.charAt (0) == 'X') dni = val.substring (1, val.length -1); 999 else if (val.charAt (0) == 'Y') dni = '1' + val.substring (1, val.length -1); 1000 else if (val.charAt (0) == 'Z') dni = '2' + val.substring (1, val.length -1); 1001 if (dc.charAt (dni % 23) != letra) { 1002 return false; 1003 } else { 1004 return true; 1005 } 1006 } 1007 1008 return false; 1009 } 1010 1011 1012 1013 1014 function validarIban(element, required) { 1015 1016 let IBAN = $.trim (element.val()); 1017 if (required && !IBAN) setValidityIban('Iban requerido'); 1018 else if (!IBAN || !required) { 1019 setValidityIban(''); 1020 return true; 1021 } 1022 1023 //Se pasa a Mayusculas 1024 IBAN = IBAN.toUpperCase(); 1025 //Se quita los blancos de principio y final. 1026 IBAN = IBAN.trim(); 1027 IBAN = IBAN.replace(/\s/g, ""); //Y se quita los espacios en blanco dentro de la cadena 1028 element.val(IBAN); 1029 1030 var letra1,letra2,num1,num2; 1031 var isbanaux; 1032 var numeroSustitucion; 1033 //La longitud debe ser siempre de 24 caracteres 1034 if (IBAN.length != 24) { 1035 setValidityIban('Longitud incorrecta'); 1036 return false; 1037 } 1038 1039 // Se coge las primeras dos letras y se pasan a números 1040 letra1 = IBAN.substring(0, 1); 1041 letra2 = IBAN.substring(1, 2); 1042 num1 = getnumIBAN(letra1); 1043 num2 = getnumIBAN(letra2); 1044 //Se sustituye las letras por números. 1045 isbanaux = String(num1) + String(num2) + IBAN.substring(2); 1046 // Se mueve los 6 primeros caracteres al final de la cadena. 1047 isbanaux = isbanaux.substring(6) + isbanaux.substring(0,6); 1048 1049 //Se calcula el resto, llamando a la función modulo97, definida más abajo 1050 var resto = modulo97(isbanaux); 1051 if (resto == 1) { 1052 setValidityIban(''); 1053 return true; 1054 } else { 1055 setValidityIban('Iban incorrecto'); 1056 return false; 1057 } 1058 } 1059 1060 function modulo97(iban) { 1061 var parts = Math.ceil(iban.length/7); 1062 var remainer = ""; 1063 1064 for (var i = 1; i <= parts; i++) { 1065 remainer = String(parseFloat(remainer+iban.substr((i-1)*7, 7))%97); 1066 } 1067 1068 return remainer; 1069 } 1070 1071 function getnumIBAN(letra) { 1072 var ls_letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 1073 return ls_letras.search(letra) + 10; 1074 } 1075 1076 1077 win.Main = new Main(); 1078 1079}(window));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.