PageSourceSearch

https://www.logronodeporte.es/reservas/js/modulo_reservas.js

js logronodeporte.es collected 2026-10-04 18:44:06 UTC 18,381 bytes, 581 lines download raw bytes

1jQuery.noConflict();
2jQuery(function() {
3
4
5	jQuery('#transferir_reserva').on('click', function(){
6		jQuery('#row_email_reserva_transferida').toggle();
7		jQuery('#row_email_reserva').toggle();
8		jQuery('#row_nombre_reserva_transferida').toggle();
9		jQuery('#row_apellidos_reserva_transferida').toggle();
10		jQuery('#row_telefono_reserva_transferida').toggle();
11		jQuery('#div_reserva_transferida_datos').toggle();
12
13		if(jQuery('#transferir_reserva').prop('checked')){
14			jQuery('#text_email_reserva').rules('remove');
15			if(jQuery('#cell_datos_validados').html() !== '')
16				jQuery('#tr_abonado_validado').show();
17			console.log('rules add');
18			jQuery('#text_email_reserva_transferida').rules('add', {
19				required: true,
20				email: true,
21				messages: {
22					required: 'Obligatorio',
23					email: 'Debe ser un email válido',
24				}
25			});
26			jQuery('#reserva_nombre, #reserva_apellidos, #reserva_telefono').each(function(){
27				jQuery(this).rules('add', {
28					required: true,
29					messages: {
30						required: 'Obligatorio',
31					}
32				});
33			});
34		}
35		else{
36			jQuery('#tr_abonado_validado').hide();
37			console.log('rules remove');
38			jQuery('#text_email_reserva_transferida').rules('remove');
39			jQuery('#reserva_nombre').rules('remove');
40			jQuery('#reserva_apellidos').rules('remove');
41			jQuery('#reserva_telefono').rules('remove');
42			jQuery('#text_email_reserva').rules('add', {
43				required: true,
44				email: true,
45				messages: {
46					required: 'Obligatorio',
47					email: 'Debe ser un email válido',
48				}
49			});
50		}
51	});
52
53	setTimeout(function(){
54
55		if(jQuery('#text_email_reserva').length > 0){
56			jQuery('#text_email_reserva').rules('add', {
57				required: true,
58				email: true,
59				messages: {
60					required: 'Obligatorio',
61					email: 'Debe ser un email válido',
62				}
63			});
64		}
65
66
67	//SPINNER
68	//Jquery ui spinner: contador de plazas                            
69    //Creamos spinner definiendo un rango de 1 a 20
70	if (jQuery( "#spinner" ).length > 0){
71		console.log("s4");
72	jQuery( "#spinner" ).spinner({
73		spin:   function( event, ui ){
74			 
75					var usuarios = ui.value > 20 ? 1 : (ui.value < 1 ? 20: ui.value);
76					jQuery( this ).spinner( "value", usuarios);
77					
78					
79					/****************************************************************
80					 * Cambio de opciones según el número de plazas seleccionadas
81					 * Cambio de horas: las disponibles según el número de usuarios
82					 * *************************************************************/
83					var actividad = jQuery('#actividadSeleccionada').val(); //Actividad seleccionada
84					var instalacion = jQuery('#instalacionSeleccionada').val(); //Instalación seleccionada
85					if(jQuery('#servicioSeleccionado').val() == null) //Servicio seleccionado
86					{
87						var servicio = jQuery('#Servicios').val(); 
88					}
89					else
90					{
91						var servicio = jQuery('#servicioSeleccionado').val();
92					}
93					var fecha = jQuery('#Fechas').val(); //Fecha seleccionada
94					
95					if(fecha == 0) //Si no han seleccionado una fecha antes
96					{ 
97						//alert('Seleccione primero una actividad y una fecha'); 
98					}
99					else
100					{
101					
102						jQuery('#OpcionesMarcadas').html('<input type="hidden" id="actividadSeleccionada" name="actividadSeleccionada" value="'+ actividad +'"><input type="hidden" id="instalacionSeleccionada" value="'+ instalacion +'"><input type="hidden" id="servicioSeleccionado" value="'+ servicio +'"><input type="hidden" id="fechaSeleccionada" name="fechaSeleccionada" value="'+ fecha +'">');    
103						
104						
105						//HORAS disponibles para los usuarios seleccionados
106						jQuery.ajax({
107							type: 'POST',
108							url: ROOT +'/reservas/ajax/horas.php',
109							data: { 
110									"instalacionServicio": instalacion,
111									"actividadSeleccionada": actividad,
112									"servicioFecha": servicio,
113									"fecha_usuarios": fecha,
114									"usuarios": usuarios
115								  },
116							beforeSend: function () {
117								jQuery("#Horas").html('<option selected="selected" value="0">Cargando...</option>');
118								jQuery("#ValidarPlazas").html('');
119								jQuery("#ValidarPlazas").hide();
120							},
121							success: function(response){       
122								jQuery('#Horas').html(response);     
123								jQuery('#OpcionesMarcadas').html('<input type="hidden" id="actividadSeleccionada" name="actividadSeleccionada" value="'+ actividad +'"><input type="hidden" id="instalacionSeleccionada" value="'+ instalacion +'"><input type="hidden" id="servicioSeleccionado" value="'+ servicio +'"><input type="hidden" id="fechaSeleccionada" name="fechaSeleccionada" value="'+ fecha +'">');    
124						
125								/*if (instalacion == 4 && (servicio == 292 || servicio == 351)){
126									jQuery("#ValidarPlazas").html('Desde el 30 de Agosto al 14 de Septiembre ambos incluidos esta actividad se realizará en el C.D.M. Las Gaunas');
127									jQuery("#ValidarPlazas").show();
128								}*/
129							}
130						});
131					}
132	
133					return false;
134				}
135	}); 
136	}
137	
138	
139	
140	//Spinner para el cambio de opción a "compra" o "reserva" en el módulo
141	if (jQuery("#spinner_cambioopcion").length > 0){
142		// console.log("s3");
143		
144		// ---------------------------
145		function auxSpinner(){
146			// console.log("ejecutarSpinner");
147			var spin = jQuery("#spinner_cambioopcion").spinner({max: 20, min: 1});
148			jQuery( "#spinner_cambioopcion" ).spinner({
149				spin:   function( event, ui ){
150			 
151					var usuarios = ui.value > 20 ? 1 : (ui.value < 1 ? 20: ui.value);	
152					spin.spinner( "value", usuarios);
153					
154						
155					/****************************************************************
156					 * Cambio de opciones según el número de plazas seleccionadas
157					 * Cambio de horas: las disponibles según el número de usuarios
158					 * *************************************************************/
159					var actividad = jQuery('#actividadSeleccionada').val(); //Actividad seleccionada
160					var instalacion = jQuery('#instalacionSeleccionada').val(); //Instalación seleccionada
161					if(jQuery('#servicioSeleccionado').val() == null) //Servicio seleccionado
162					{
163						var servicio = jQuery('#Servicios').val(); 
164					}
165					else
166					{
167						var servicio = jQuery('#servicioSeleccionado').val();
168					}
169					var fecha = jQuery('#Fechas').val(); //Fecha seleccionada
170					
171					
172					if(fecha == 0)
173					{ 
174						//alert('Seleccione primero una actividad y una fecha'); 
175					}
176					else
177					{
178
179						jQuery('#OpcionesMarcadas').html('<input type="hidden" id="actividadSeleccionad
179a" name="actividadSeleccionada" value="'+ actividad +'"><input type="hidden" id="instalacionSeleccionada" value="'+ instalacion +'"><input type="hidden" id="servicioSeleccionado" value="'+ servicio +'"><input type="hidden" id="fechaSeleccionada" name="fechaSeleccionada" value="'+ fecha +'">');    
180
181
182						//HORAS disponibles para los usuarios seleccionados
183						jQuery.ajax({
184							type: 'POST',
185							url: ROOT +'/reservas/ajax/horas.php',
186							data: { 
187									"instalacionServicio": instalacion,
188									"actividadSeleccionada": actividad,
189									"servicioFecha": servicio,
190									"fecha_usuarios": fecha,
191									"usuarios": usuarios
192								  },
193							beforeSend: function () {
194								jQuery("#Horas").html('<option selected="selected" value="0">Cargando...</option>');
195								jQuery("#ValidarPlazas").html('');
196								jQuery("#ValidarPlazas").hide();
197							},
198							success: function(response){       
199								jQuery('#Horas').html(response);     
200								jQuery('#OpcionesMarcadas').html('<input type="hidden" id="actividadSeleccionad
200a" name="actividadSeleccionada" value="'+ actividad +'"><input type="hidden" id="instalacionSeleccionada" value="'+ instalacion +'"><input type="hidden" id="servicioSeleccionado" value="'+ servicio +'"><input type="hidden" id="fechaSeleccionada" name="fechaSeleccionada" value="'+ fecha +'">');    
201								
202								/*if (instalacion == 4 && (servicio == 292 || servicio == 351)){
203									jQuery("#ValidarPlazas").html('Desde el 30 de Agosto al 14 de Septiembre ambos incluidos esta actividad se realizará en el C.D.M. Las Gaunas');
204									jQuery("#ValidarPlazas").show();
205								}*/
206							}
207						});
208					}
209				}
210		
211			});
212			
213		}
214		// ---------------------------
215		
216		if ( jQuery.isFunction(jQuery.fn.spinner) ) {
217			// console.log("existe");
218			auxSpinner();
219		}else{
220			// console.log("no existe");
221			
222			function auxSpinnerLoadScript(){
223				// console.log("Cargar script");
224				jQuery.getScript('//code.jquery.com/ui/1.10.2/jquery-ui.js')
225					.done(function( script, textStatus ) {
226						auxSpinner();
227				})
228					.fail(function( jqxhr, settings, exception ) {
229						auxSpinnerLoadScript();
230				});
231			}
232			auxSpinnerLoadScript();
233		}
234	
235	}
236	}, 1000);
237	
238	
239	
240	
241	
242	
243	
244	
245
246
247	/*********** CARGA DE ACTIVIDADES SEGÚN URL EN EL CASO DE INSTALACIONES *********/
248	
249	var url_instalaciones = jQuery("base").attr('href');
250	
251	//Compruebo si hay id actividades
252	var compraActividades = jQuery("#Actividades").attr("id");
253	 
254	//Sólo las cargo si estoy en compra
255	if(compraActividades != null)
256	{
257		
258		jQuery.ajax({
259			type: 'POST',
260			url: ROOT +'/reservas/ajax/actividades.php',
261			data: {
262					"url": url_instalaciones,
263					"es_movil": jQuery("#es_movil").val()
264				 },
265			cache :false	
266		}).done(function(response){
267			
268			jQuery('#Actividades').html(response);
269			//Marco opción de compra por defecto
270			var url = window.location.href;
271			if(url.indexOf("programa-depor-pop") < 0) {
272				jQuery("#OpcionComprar").addClass("compraMarcada");
273			}
274			
275			
276			
277			
278			/************ COMPROBACIÓN DE ACTIVIDADES SIN HORARIOS *******/
279			//Comprobación de actividades sin horarios en los próximos 7 días
280			// para que no puedan clicar en ella
281			/*jQuery.ajax({
282				type: 'POST',
283				dataType : 'json',
284				url: ROOT +'/reservas/ajax/actividades_sinhorarios.php',
285				data: {
286						"url": url_instalaciones
287					 },
288				cache :false	
289			}).done(function(sin_horarios){
290				
291				jQuery.each(sin_horarios, function(clave,valor){
292					jQuery('#ActividadMarcada'+valor).removeAttr('onclick');
293					//console.log(valor);
294					
295				});
296			
297				return false;
298				
299			});*/
300			
301			
302			
303			
304				
305			
306	
307			/**************** MARCAR OPCIÓN MÓDULO SEGÚN MENÚ *******************/
308			
309			var url = window.location.href;
310			//Balneario
311			if(url.indexOf("hidrotermal") != -1) 
312			{
313				
314				jQuery("#ActividadMarcada1").addClass("actividadMarcada");
315				jQuery("#ActividadMarcada1").trigger('click');
316
317			}
318			//Masajes
319			if(url.indexOf("masaje") != -1) 
320			{
321				
322				jQuery("#ActividadMarcada3").addClass("actividadMarcada");
323				jQuery("#ActividadMarcada3").trigger('click');
324
325			}
326			//Horas Valle
327			if(url.indexOf("valle") != -1)
328			{
329				
330				jQuery("#ActividadMarcada4").addClass("actividadMarcada");
331				jQuery("#ActividadMarcada4").trigger('click');
332				
333				
334				//Pongo el carrusel en la siguiente posición que es donde
335				// está la actividad de horas valle
336				jQuery('.carrousel_right').trigger('click');
337				jQuery('.carrousel').attr('data-pos',1);
338				jQuery('.carrousel_left').removeClass('left_inactive');
339				
340			 
341			}
342			//Pistas de pádel
343			if(url.indexOf("padel") != -1)
344			{
345				
346				jQuery("#ActividadMarcada5").addClass("actividadMarcada");
347				jQuery("#ActividadMarcada5").trigger('click');
348				
349				
350				//Pongo el carrusel en la siguiente posición que es donde
351				// está la actividad de horas valle
352				jQuery('.carrousel_right').trigger('click');
353				jQuery('.carrousel').attr('data-pos',1);
354				jQuery('.carrousel_left').removeClass('left_inactive');
355				
356			 
357			}
358			//Otros frontones
359			if(url.indexOf("fronton") != -1)
360			{
361				
362				jQuery("#ActividadMarcada6").addClass("actividadMarcada");
363				jQuery("#ActividadMarcada6").trigger('click');
364				
365				
366				//Pongo el carrusel en la siguiente posición que es donde
367				// está la actividad de horas valle
368				jQuery('.carrousel_right').trigger('click');
369				jQuery('.carrousel').attr('data-pos',1);
370				jQuery('.carrousel_left').removeClass('left_inactive');
371				
372			}
373			//Otros frontones
374			if(url.indexOf("otros-frontones") != -1)
375			{
376				
377				jQuery("#ActividadMarcada12").addClass("actividadMarcada");
378				jQuery("#ActividadMarcada12").trigger('click');
379				
380				
381				//Pongo el carrusel en la siguiente posición que es donde
382				// está la actividad de horas valle
383				jQuery('.carrousel_right').trigger('click');
384				jQuery('.carrousel_right').trigger('click');
385				jQuery('.carrousel_right').trigger('click');
386				jQuery('.carrousel').attr('data-pos',3);
387				jQuery('.carrousel_left').removeClass('left_inactive');
388			 
389			}
390			//Pistas de tenis
391			if(url.indexOf("tenis") != -1)
392			{
393				
394				jQuery("#ActividadMarcada7").addClass("actividadMarcada");
395				jQuery("#ActividadMarcada7").trigger('click');
396				
397				
398				//Pongo el carrusel en la siguiente posición que es donde
399				// está la actividad de horas valle
400				jQuery('.carrousel_right').trigger('click');
401				jQuery('.carrousel_right').trigger('click');
402				jQuery('.carrousel').attr('data-pos',2);
403				jQuery('.carrousel_left').removeClass('left_inactive');
404				
405			}
406			//Baloncesto
407			if(url.indexOf("baloncesto") != -1)
408			{
409				
410				jQuery("#ActividadMarcada9").addClass("actividadMarcada");
411				jQuery("#ActividadMarcada9").trigger('click');
412				
413				
414				//Pongo el carrusel en la siguiente posición que es donde
415				// está la actividad de horas valle
416				jQuery('.carrousel_right').trigger('click');
417				jQuery('.carrousel_right').trigger('click');
418				jQuery('.carrousel').attr('data-pos',2);
419				jQuery('.carrousel_left').removeClass('left_inactive');
420				
421			}
422			//Balonmano
423			if(url.indexOf("balonmano") != -1)
424			{
425				
426				jQuery("#ActividadMarcada10").addClass("actividadMarcada");
427				jQuery("#ActividadMarcada10").trigger('click');
428				
429				
430				//Pongo el carrusel en la siguiente posición que es donde
431				// está la actividad de horas valle
432				jQuery('.carrousel_right').trigger('click');
433				jQuery('.carrousel_right').trigger('click');
434				jQuery('.carrousel').attr('data-pos',2);
435				jQuery('.carrousel_left').removeClass('left_inactive');
436				
437			}
438			//Fútbol Sala
439			if(url.indexOf("sala") != -1)
440			{
441				
442				jQuery("#ActividadMarcada11").addClass("actividadMarcada");
443				jQuery("#ActividadMarcada11").trigger('click');
444				
445				
446				//Pongo el carrusel en la siguiente posición que es donde
447				// está la actividad de horas valle
448				jQuery('.carrousel_right').trigger('click');
449				jQuery('.carrousel_right').trigger('click');
450				jQuery('.carrousel_right').trigger('click');
451				jQuery('.carrousel').attr('data-pos',3);
452				jQuery('.carrousel_left').removeClass('left_inactive');
453				
454			}
455			//Pista de hielo
456			if(url.indexOf("hielo") != -1)
457			{
458				
459				jQuery("#ActividadMarcada2").addClass("actividadMarcada");
460				jQuery("#ActividadMarcada2").trigger('click');
461
462			}
463			//Pista de hielo
464			if(url.indexOf("bonos") != -1 || url.indexOf("bono") != -1)
465			{
466				
467				jQuery("#ActividadMarcada17").addClass("actividadMarcada");
468				jQuery("#ActividadMarcada17").trigger('click');
469				
470				//Pongo el carrusel en la siguiente posición que es donde
471				// está la actividad de horas valle
472				jQuery('.carrousel_right').trigger('click');
473				jQuery('.carrousel_right').trigger('click');
474				jQuery('.carrousel_right').trigger('click');
475				jQuery('.carrousel').attr('data-pos',3);
476				jQuery('.carrousel_left').removeClass('left_inactive');
477
478			}
479			//Resto de urls, marco "balneario" por defecto
480			if((url.indexOf("valle") == -1) && (url.indexOf("masaje") == -1) && (url.indexOf("hidrotermal") == -1) && (url.indexOf("hielo") == -1) 
481				&& (url.indexOf("tenis") == -1) && (url.indexOf("fronton") == -1) && (url.indexOf("padel") == -1) && (url.indexOf("otros-frontones") == -1)
482				&& (url.indexOf("baloncesto") == -1) && (url.indexOf("balonmano") == -1) && (url.indexOf("sala") == -1) && (url.indexOf("bonos") == -1)
483				&& (url.indexOf("bono") == -1))
484			{
485				jQuery("#ActividadMarcada2").addClass("actividadMarcada");
486				jQuery("#ActividadMarcada2").trigger('click');
487				
488				jQuery("#adsCarrusel").find("select").trigger("change");
489			}
490	
491			
492			return false;
493		});
494		
495	}
496	
497	
498	
499			
500			
501	 
502	
503
504	
505   
506	
507
508
509	/*************** CAMBIO IMÁGENES OPCIONES MÓDULO *********************/
510	
511	//COMPRAR
512	jQuery("#OpcionComprar").click(function(){
513		jQuery(this).addClass('compraMarcada'); 
514		
515		jQuery("#OpcionReservar").removeClass('reservaMarcada');  
516		jQuery("#OpcionModificar").removeClass('modificarMarcada');  
517		jQuery("#OpcionAnular").removeClass('anularMarcada');  
518		jQuery("#OpcionImprimirTicket").removeClass('imprimirMarcada');    
519	});
520	
521	//RESERVAR
522	jQuery("#OpcionReservar").click(function(){
523		jQuery(this).addClass('reservaMarcada');   
524		
525		jQuery("#OpcionComprar").removeClass('compraMarcada');  
526		jQuery("#OpcionModificar").removeClass('modificarMarcada');  
527		jQuery("#OpcionAnular").removeClass('anularMarcada');  
528		jQuery("#OpcionImprimirTicket").removeClass('imprimirMarcada');   
529	});
530	
531	//MODIFICAR
532	jQuery("#OpcionModificar").click(function(){
533		jQuery(this).addClass('modificarMarcada');   
534		
535		jQuery("#OpcionComprar").removeClass('compraMarcada');  
536		jQuery("#OpcionReservar").removeClass('reservaMarcada');   
537		jQuery("#OpcionAnular").removeClass('anularMarcada');  
538		jQuery("#OpcionImprimirTicket").removeClass('imprimirMarcada');   
539	});
540	
541	//ANULAR
542	jQuery("#OpcionAnular").click(function(){
543		jQuery(this).addClass('anularMarcada');   
544		
545		jQuery("#OpcionComprar").removeClass('compraMarcada');  
546		jQuery("#OpcionReservar").removeClass('reservaMarcada');   
547		jQuery("#OpcionModificar").removeClass('modificarMarcada');  
548		jQuery("#OpcionImprimirTicket").removeClass('imprimirMarcada'); 
549		
550	});
551	
552	//IMPRIMIR
553	jQuery("#OpcionImprimirTicket").click(function(){
554		jQuery(this).addClass('imprimirMarcada');   
555		
556		jQuery("#OpcionComprar").removeClass('compraMarcada');  
557		jQuery("#OpcionReservar").removeClass('reservaMarcada');   
558		jQuery("#OpcionModificar").removeClass('modificarMarcada');  
559		jQuery("#OpcionAnular").removeClass('anularMarcada'); 
560	});
561	
562	/*var url = window.location.href;
563			
564	if(url.indexOf("programa-depor-pop") != -1) 
565	{
566		jQuery("#OpcionReservar").trigger('click');
567	}*/
568
569});
570
571jQuery(function() {
572	jQuery(document).ajaxStart(function() {
573		//jf_mouseshowLoading();
574	});
575
576	jQuery(document).ajaxStop(function() {
577		//if (jQuery('#jf_circleX') .is(':not(:hidden)')) {
578		//	jQuery('#jf_circleX').fadeOut(500);
579		//}
580	});
581});

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.