PageSourceSearch

https://www.morondelafrontera.es/lib/js/main.js?

js morondelafrontera.es collected 2026-10-03 00:37:01 UTC 29,737 bytes, 1,079 lines download raw bytes

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&nbsp;&nbsp;' });
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.