PageSourceSearch

https://convocatoria.spf.gob.mx/index.php/Convocatoria/guardia

html spf.gob.mx collected 2026-10-08 01:27:12 UTC 63,461 bytes, 1,786 lines download raw bytes

1<!doctype html>
2<html lang="es">
3
4<head>
5  <meta charset="utf-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7  <meta name="description" content="">
8  <meta name="author" content="">
9
10  <title>Convocatoria Guardia 2025 - Servicio de Protección Federal</title>
11
12  <link rel="icon" type="image/x-icon" href="https://convocatoria.spf.gob.mx/assets/img/favicon.ico" />
13
14
15  <!-- Bootstrap core CSS -->
16  <link href="https://convocatoria.spf.gob.mx/assets/css/bootstrap.min.css" rel="stylesheet">
17  <link href="https://convocatoria.spf.gob.mx/assets/css/styles_reclutamiento_v2.css" rel="stylesheet">
18  <!-- Full Calendar -->
19  <link href='https://convocatoria.spf.gob.mx/assets/css/fullcalendar.css' rel='stylesheet' />
20  <link href='https://convocatoria.spf.gob.mx/assets/css/fullcalendar.print.css' rel='stylesheet' media='print' />
21
22</head>
23<style>
24      body.contenedor-body, html {
25        margin: 0 !important;
26        padding: 0 !important;
27        border: 0 !important;
28        outline: 0 !important;
29    }
30  .navbar {
31 /*  background-color: #350a04; */
32  background-color: #611232;
33  position: fixed;
34  top: 0;
35  width: 100%;
36  z-index: 1000;
37}
38
39.header-content {
40  display: flex;
41  align-items: center;
42  height: 70px;
43  padding: 0 24px;
44}
45
46/* --- DIVISIONES --- */
47.header-left {
48  flex: 5 0 auto;
49}
50
51.header-center {
52  margin-left: 760px; /* ≈ 10 cm */
53}
54
55.header-right {
56  margin-left: auto;
57}
58
59/* LOGOS */
60.header-left img,
61.header-right img {
62  max-height: 40px;
63}
64
65/* MENÚ */
66.navbarB {
67  display: flex;
68  gap: 18px;
69  list-style: none;
70  margin: 0;
71  padding: 0;
72}
73
74.menu-link {
75  color: #fff;
76  text-decoration: none;
77  font-size: 14px;
78  white-space: nowrap;
79}
80
81/* BOTÓN HAMBURGUESA */
82.menu-toggle {
83  display: none;
84  background: none;
85  border: none;
86  color: #fff;
87  font-size: 26px;
88  margin-left: 16px;
89}
90
91
92/* -------- RESPONSIVE -------- */
93@media (max-width: 992px) {
94
95  .header-center {
96    margin-left: 0;
97  }
98
99  .menu-toggle {
100    display: block;
101  }
102
103  .navbarB {
104    position: absolute;
105    top: 70px;
106    left: 0;
107    width: 100%;
108    background: #350a04;
109    flex-direction: column;
110    padding: 10px 20px;
111    display: none;
112  }
113
114  .navbarB.active {
115    display: flex;
116  }
117}
118@media (max-width: 1092px) {
119
120  .header-center {
121    margin-left: 0;
122  }
123
124  .menu-toggle {
125    display: block;
126  }
127
128  .navbarB {
129    position: absolute;
130    top: 70px;
131    left: 0;
132    width: 100%;
133    background: #350a04;
134    flex-direction: column;
135    padding: 10px 20px;
136    display: none;
137  }
138
139  .navbarB.active {
140    display: flex;
141  }
142}
143/* PANTALLAS GRANDES (Full HD o más) */
144@media (min-width: 1600px) {
145  .header-center {
146    margin-left: 760px;
147  }
148}
149
150/* LAPTOPS GRANDES */
151@media (max-width: 1599px) and (min-width: 1280px) {
152  .header-center {
153    margin-left: 500px;
154  }
155}
156
157/* LAPTOPS / TABLETS HORIZONTALES */
158@media (max-width: 1279px) and (min-width: 1024px) {
159  .header-center {
160    margin-left: 300px;
161  }
162}
163
164/* TABLET Y MÓVIL */
165@media (max-width: 992px) {
166  .header-center {
167    margin-left: 0;
168  }
169}
170</style>
171<body base_url="https://convocatoria.spf.gob.mx/">
172   <!-- HEADER CON LOGO -->
173      <header class="navbar">
174  <div class="container-fluid header-content">
175
176    <!-- IZQUIERDA: LOGO GOB -->
177    <div class="header-left">
178      <a href="https://www.gob.mx/">
179        <img src="https://convocatoria.spf.gob.mx/assets/img/logoheader.svg" alt="Gobierno de México">
180      </a>
181    </div>
182
183    <!-- CENTRO: MENÚ -->
184    <nav class="header-center">
185      <ul class="navbarB">
186        <li><a href="https://convocatoria.spf.gob.mx/index.php/" class="menu-link">Inicio</a></li>
187        <li hidden><a href="https://convocatoria.spf.gob.mx/index.php/Convocatoria/guardia" class="menu-link">Pre-registro</a></li>
188        <li hidden><a href="#" data-toggle="modal" data-target=".modal-tutorial" class="menu-link">Cómo registrarse</a></li>
189        <li><a href="https://www.gob.mx/proteccionfederal" class="menu-link">Página del SPF</a></li>
190        <li><a href="#section-redes" class="menu-link">Redes sociales</a></li>
191      </ul>
192    </nav>
193
194    <!-- DERECHA: LOGO SPF -->
195    <div class="header-right">
196      <a href="https://www.gob.mx/proteccionfederal">
197        <img src="https://convocatoria.spf.gob.mx/assets/img/logoblanco.png" alt="SPF">
198      </a>
199    </div>
200
201    <!-- BOTÓN MOBILE -->
202    <button class="menu-toggle">☰</button>
203
204  </div>
205</header>
206  
207 <!--  <header class="navbar">
208    <div class="container-fluid">
209      <div class="header-content">
210        <div>
211          <a href="https://www.gob.mx/">
212            <img src="https://convocatoria.spf.gob.mx/assets/img/logoheader.svg" height="40" alt="Gobierno de México">
213          </a>
214        </div>
215        <div class="logo-spf">
216          <a href="https://www.gob.mx/proteccionfederal">
217            <img src="https://convocatoria.spf.gob.mx/assets/img/logoblanco.png" alt="SPF" width="140">
218          </a>
219        </div>
220        <ul class="navbarB">
221          <li class="menu-item">
222            <a href="https://convocatoria.spf.gob.mx/index.php/" class="menu-link">Inicio</a>
223          </li>
224          <li class="menu-item">
225            <a href="#convocatoria-guardia" class="menu-link active">Pre-registro</a>
226          </li>
227          <li class="menu-item">
228            <a href="#" data-toggle="modal" data-target=".modal-tutorial" class="menu-link">Cómo registrarse</a>
229          </li>
230          <li class="menu-item">
231            <a href="https://www.gob.mx/proteccionfederal" class="menu-link">Página del SPF</a>
232          </li>
233          <li class="menu-item">
234            <a href="#section-redes" class="menu-link">Redes sociales</a>
235          </li>
236        </ul>
237      </div>
238    </div>
239  </header> -->
240
241  
242  <!-- Header navigation -->
243 <!--  <header id="section-guardia">
244    <nav class="navbar navbar-expand-md header-nav--bg">
245      <div class="logo-gob">
246        <a href="https://www.gob.mx/" class="navbar-brand"><img src="https://convocatoria.spf.gob.mx/assets/img/logo_gob.svg" height="40px" class="d-inline-block align-top"></a>
247      </div>
248    </nav>
249    <nav id="nav-container" class="nav-menu">
250      <div class="main-nav">
251        <a href="https://convocatoria.spf.gob.mx/index.php/" class="logo"><img src="https://convocatoria.spf.gob.mx/assets/img/logo_spf_hrz.png" alt="" width="200"></a>
252        <button class="menu-toggle" aria-label="Menú">☰</button>
253        <ul class="navbarB">
254          <li class="menu-item">
255            <a href="https://convocatoria.spf.gob.mx/index.php/" class="menu-link">Inicio</a>
256          </li>
257          <li class="menu-item">
258            <a href="#convocatoria-guardia" class="menu-link active">Pre-registro</a>
259          </li>
260          <li class="menu-item">
261            <a href="#" data-toggle="modal" data-target=".modal-tutorial" class="menu-link">Cómo registrarse</a>
262          </li>
263          <li class="menu-item">
264            <a href="https://www.gob.mx/proteccionfederal" class="menu-link">Página del SPF</a>
265          </li>
266          <li class="menu-item">
267            <a href="#section-redes" class="menu-link">Redes sociales</a>
268          </li>
269        </ul>
270      </div>
271    </nav>
272  </header> -->
273
274  <!-- main-->
275  <main>
276
277    <!-- MENÚ LATERAL fijo-->
278
279    <!-- termina MENÚ LATERAL FIJO-->
280
281
282
283    <!-- "CONVOCATORIA GUARDIA" -->
284    <section class="bg_gradient">
285      <div class="convocatoria-guardia" id="convocatoria-guardia" title="Guardia">
286        <div class="container container-spf" style="margin-top: 3.33rem;">
287          <div class="row" style="height: 100%;">
288            <div class="col convocatoria_col">
289              <div class="convocatoria-registro__box-guardia">
290                <div>
291                  <h4>Guardia</h4>
292                  <p class="mb-4">Si tienes entre 18 y 65 años, escolaridad secundaria y tu estatura es igual o mayor a 1.50mts.
293                    (mujeres) o 1.60mts
294                    (hombres), regístrate aquí.</p>
295                  <p class="mb-4">Percepción mensual neto: <strong class="text-white">$13,607.11</strong></p>
296                  <a href="https://preregistro.spf.gob.mx/Convocatoria/guardia" class="btn-registro__perfil">
297                    Regístrate aquí
298                  </a>
299                </div>
300              </div>
301            </div>
302            <div class="col convocatoria-logo__box-policia">
303            </div>
304          </div>
305        </div>
306      </div>
307    </section>
308
309
310
311
312
313
314    <!-- FUNCIONES Y DOCUMENTACIÓN -->
315    <div class="contenedor-grid">
316      <div class="funciones-box contenderor-padding color-grey-green" >
317        <h4 class="title-secciones">Prestaciones</h4>
318        <div class="prestaciones-lista">
319
320          <div class="prestaciones-lista__item">
321            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_seguro_proteccion.svg" alt="" class="d-block" width="36">
322            </div>
323            <p>Seguro de protección médica por riesgo</p>
324          </div>
325
326          <div class="prestaciones-lista__item">
327            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_seguro_vida.svg" alt="" class="d-block" width="36">
328            </div>
329            <p>Seguro de vida</p>
330          </div>
331          <div class="prestaciones-lista__item">
332            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_issste.svg" alt="" class="d-block" width="36">
333            </div>
334            <p>Seguridad social
335              (ISSSTE)</p>
336          </div>
337          <div class="prestaciones-lista__item">
338            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_fovissste.svg" alt="" class="d-block" width="36">
339            </div>
340            <p>Crédito hipotecario
341              (FOVISSSTE)</p>
342          </div>
343          <div class="prestaciones-lista__item">
344            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_prima_vacacional.svg" alt="" class="d-block" width="36">
345            </div>
346            <p>Prima
347              vacacional</p>
348          </div>
349          <div class="prestaciones-lista__item">
350            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_vales.svg" alt="" class="d-block" width="36">
351            </div>
352            <p>Vales de despensa
353              a fin de año</p>
354          </div>
355          <div class="prestaciones-lista__item">
356            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_licencia_maternidad.svg" alt="" class="d-block" width="36">
357            </div>
358            <p>Licencia de
359              maternidad y
360              paternidad</p>
361          </div>
362          <div class="prestaciones-lista__item">
363            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_crecimiento.svg" alt="" class="d-block" width="36">
364            </div>
365            <p>Crecimiento y
366              desarrollo personal
367              y profesional</p>
368          </div>
369          <div class="prestaciones-lista__item">
370            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_certificaciones.svg" alt="" class="d-block" width="36">
371            </div>
372            <p>Certificaciones
373              en seguridad</p>
374          </div>
375          <div class="prestaciones-lista__item">
376            <div class="prestaciones-icon"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_viaticos.svg" alt="" class="d-block" width="36">
377            </div>
378            <p>Viáticos cubiertos
379              en caso de
380              movilidad</p>
381          </div>
382        </div>
383      </div>
384      <div class="documentacion-box contenderor-padding">
385        <h4 class="title-secciones">Documentación</h4>
386        <ol>
387          <li>
388            <p>
388Acta de Nacimiento</p>
389          </li>
390          <li>
391            <p>Comprobante de último grado de estudios(Mínimo Secundaria)</p>
392          </li>
393          <li>
394            <p>Comprobante de domicilio actual</p>
395          </li>
396          <li>
397            <p>Cartilla de Servicio Militar Nacional Liberada(cartilla y hoja de liberación en la misma fotocopia) para
398              el caso
399              de los hombres.</p>
400          </li>
401          <li>
402            <p>Credencial para votar vigente expedida por el INE</p>
403          </li>
404          <li>
405            <p>Currículo con fotografía vigente</p>
406          </li>
407          <li>
408            <p>Constancia de situación fiscal actualizada</p>
409            <!-- <p>Registro Federal de Contribuyente(RFC)</p> -->
410          </li>
411          <li>
412            <p>Clave Única de Registro de Población(CURP)</p>
413          </li>
414          <li>
415            <p>Referencias: Dos personales, Dos familiares y Dos Laborales (No son cartas de recomendación)</p>
416          </li>
417          <li>
418            <p>Una fotografía tamaño infantil reciente</p>
419          </li>
420        </ol>
421      </div>
422    </div>
423    <!-- termina FUNCIONES Y DOCUMENTACIÓN -->
424
425    <!-- PRESTACIONES -->
426    <div class=""title="Funciones">
427      <div class="funciones-box-2">
428        <div class="funciones-text">
429          <h4 class="title-secciones">Funciones</h4>
430          <p class=""><strong> Protección, custodia, vigilancia y seguridad de personas, bienes e instalaciones son servicios que se ofrecen a las dependencias y entidades de la Administración Pública Federal, así como a los órganos de carácter federal de los Poderes Legislativo y Judicial.</strong> </p>
431          <p>Estos servicios también se brindan a los organismos autónomos que existen en el país. Además, las instituciones públicas también pueden solicitar estos servicios para su protección y seguridad.</p>
432        </div>
433      </div>
434    </div>
435
436
437    <!-- REQUISITOS -->
438    <div class="requisitos">
439      <div class="container container-spf">
440        <div class="row px-md-5">
441          <div class="col">
442            <h2 class="title-secciones text-center" id="section-requisitos" style="margin-bottom: 3rem">Requisitos</h2>
443            <div class="requisitos-lista">
444              <div class="requisitos-lista__item">
445                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_cambio.png">
446                <h3>Disponibilidad de cambio</h3>
447                <p>Disponibilidad permanente para cambio
448                  de residencia a cualquier parte de la
449                  República Mexicana</p>
450              </div>
451              <div class="requisitos-lista__item">
452                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_condicion.png">
453                <h3>Condición óptima</h3>
454                <p>Tener una condición de salud óptima
455                  que no imposibilite el desempeño de las
456                  actividades propias de la vacante y
457                  ponga el riesgo la vida.</p>
458              </div>
459              <div class="requisitos-lista__item">
460                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_militar.png">
461                <h3>Servicio militar</h3>
462                <p>Haber cumplido con el Servicio Militar Nacional,
463                  para el caso de los hombres</p>
464              </div>
465              <div class="requisitos-lista__item">
466                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_mental.png">
467                <h3>Buen estado de salud</h3>
468                <p>Gozar de buen estado de salud física y
469                  mental</p>
470              </div>
471              <div class="requisitos-lista__item">
472                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_lentes.png">
473                <h3>Uso de anteojos si es requerido</h3>
474                <p>En caso de requerir uso de anteojos, el
475                  aspirante deberá llevarlos puestos en
476                  las revisiones y/o evaluaciones que se le
477                  realicen.</p>
478              </div>
479              <div class="requisitos-lista__item">
480                <img src="https://convocatoria.spf.gob.mx/assets/img/icon_req_information.png">
481                <h3>Información importante</h3>
482                <p>En el <abbr title="Servicio de Protección Federal">SPF</abbr> está prohibido solicitar certificado médico de embarazo y prueba de VIH como requisito para el ingreso, permanencia o promoción</p>
483              </div>
484            </div>
485          </div>
486        </div>
487      </div>
488    </div>
489
490
491
492
493    <!-- SECCIÓN formulario preinscripción -->
494
495    <div class="container container-spf my-5" id="section-registro">
496      <div class="row pb-5 px-md-5 preinscripcion">
497        <div class="col">
498          <h2 class="text-center title-secciones mb-2">Pre-registro</h2>
499
500          <p class="p-important text-center" style="vertical-align: middle;">
501
502            Te invitamos a realizar el registro de preinscripción para el proceso de reclutamiento y selección en
503            la
504            vacante de
505            “Guardia del SPF”.
506            <a hidden href="#" data-toggle="modal" data-target=".modal-tutorial" style="font-weight: 600; text-decoration: none; margin-top: -5px;">Ver
507              tutorial. </a>
508
509          </p>
510
511          <!-- MODAL VIDEO TUTORIAL -->
512          <div class="modal fade modal-tutorial" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
513            <div class="modal-dialog modal-dialog-centered modal
513-lg" role="document">
514              <div class="modal-content">
515                <div class="modal-header">
516
517                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
518                    <span aria-hidden="true">&times;</span>
519                  </button>
520                </div>
521                <div class="modal-body" style="margin: 0 auto;">
522                  <h5 class="modal-title text-center" id="exampleModalLabel"><strong>Tutorial</strong> ¿cómo registrarme en la convocatoria?</h5>
523                  <video width="100%" controls style="margin: 0 auto;">
524                    <source src="https://convocatoria.spf.gob.mx/assets/video/tutorial_preregistro.mp4" type="video/mp4">
525                    Your browser does not support the video tag.
526                  </video>
527                </div>
528                <div class="modal-footer">
529                  <button type="button" class="btn btn-primary" data-dismiss="modal">Cerrar</button>
530
531                </div>
532              </div>
533            </div>
534          </div>
535
536          <!-- termina modal videotutorial -->
537          <div class="alert-spf texto-columnas-2 color-grey-green" role="alert">
538
539            <ul>
540              <li>Es necesario que tus datos sean registrados correctamente de acuerdo a los rubros solicitados, una vez
541                llenado el
542                formulario deberás enviar tu registro para poder contactarte. Es importante que al momento de tu
543                registro
544                corrobores que
545                la cuenta de correo electrónico esté activa, ya que es fundamental para tu proceso de reclutamiento y
546                selección.</li>
547              <li>Antes de iniciar tu proceso de convocatoria deberás tener a la mano la siguiente lista de documentos:
548                cartilla
549                militar(en el caso de hombres), acta de nacimiento, CURP, RFC, certificado médico, comprobante de último
550                grado de
551                estudios, comprobante de domicilio, identificación oficial</li>
552              <li><strong>Esta convocatoria es exclusivamente para guardias de nuevo
553                  ingreso.</strong></li>
554              <li><strong> IMPORTANTE:</strong> El pre-registro no garantiza tu ingreso a la institución, se deberá
555                cumplir
556                con trámites posteriores.</li>
557              <li>Todos los campos son obligatorios</li>
558            </ul>
559            <p>
560
561          </div>
562
563
564            <div class="row salto_linea_3" id="buttonCita" style="display:none">
565              <div class="col-md-12 text-center">
566                <!-- <h4>Indique la fecha de la cita</h4> -->
567                <button type="submit" class="boton_c3" id="btn_mostrar_calendario_citas1">Enviar</button>
568              </div>
569            </div>
570            <br>
571          </form>
572
573        </div>
574      </div>
575    </div>
576    </div>
577    </div>
578
579
580
581
582    <!-- MODAL PARA ENVIAR EL REGISTRO -->
583
584    <div class="modal fade" tabindex="-1" id="enviar_modal">
585      <div class="modal-dialog modal-lg">
586        <div class="modal-content contenido_modal">
587          <div class="modal-header encabezado_modal">
588            <h3 class="modal-title titulo_encabezado_modal" id="myModalLabeFurt">Enviar Formulario del Registro</h3>
589            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
590              <span aria-hidden="true">x</span>
591            </button>
592          </div>
593          <div class="modal-body cuerpo_modal text-center">
594            <form id="enviarform" onSubmit="return false;">
595              <div class="row salto_linea_3" style="width: 100%;">
596                <div class="col-md-12">
597                  <div class="div_folio_2">
598                    <!-- <h5><p><b>FOLIO:</b> 
599<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
600
601<h4>A PHP Error was encountered</h4>
602
603<p>Severity: Notice</p>
604<p>Message:  Undefined variable: folio</p>
605<p>Filename: views/convocatoria_guardia.php</p>
606<p>Line Number: 598</p>
607
608
609	<p>Backtrace:</p>
610	
611		
612	
613		
614	
615		
616			<p style="margin-left:10px">
617			File: /Disco2/html/virtual/sitioconvocatoria/application/views/convocatoria_guardia.php<br />
618			Line: 598<br />
619			Function: _error_handler			</p>
620
621		
622	
623		
624	
625		
626	
627		
628			<p style="margin-left:10px">
629			File: /Disco2/html/virtual/sitioconvocatoria/application/controllers/Convocatoria.php<br />
630			Line: 25<br />
631			Function: view			</p>
632
633		
634	
635		
636	
637		
638			<p style="margin-left:10px">
639			File: /Disco2/html/virtual/sitioconvocatoria/index.php<br />
640			Line: 317<br />
641			Function: require_once			</p>
642
643		
644	
645
646</div></p></h5> -->
647                  </div>
648                </div>
649              </div>
650              <div class="row salto_linea_3" style="width: 100%;">
651                <div class="col-md-12">
652                  <div class="datos_gral text-center">
653
654                  </div>
655                </div>
656              </div>
657              <div class="row" style="width: 100%;">
658                <div class="col-md-12">
659                  <div class="enviar_div">
660                    <p>¿Está seguro de enviar el formulario?</p>
661                    <p>Una vez enviado no se podr&aacute; modificar.</p>
662                  </div>
663                </div>
664              </div><br>
665              <br><br>
666              <div class="text-right">
667                <button type="reset" class="btn btn-danger" id="cerrarmodals" data-dismiss="modal">Cancelar</button>
668                <button type="button" class="btn btn-success enviar" id="enviar" name="enviar" disabled id_zona="
669<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
670
671<h4>A PHP Error was encountered</h4>
672
673<p>Severity: Notice</p>
674<p>Message:  Undefined variable: datos_preinscripcion</p>
675<p>Filename: views/convocatoria_guardia.php</p>
676<p>Line Number: 620</p>
677
678
679	<p>Backtrace:</p>
680	
681		
682	
683		
684	
685		
686			<p style="margin-left:10px">
687			File: /Disco2/html/virtual/sitioconvocatoria/application/views/convocatoria_guardia.php<br />
688			Line: 620<br />
689			Function: _error_handler			</p>
690
691		
692	
693		
694	
695		
696	
697		
698			<p style="margin-left:10px">
699			File: /Disco2/html/virtual/sitioconvocatoria/application/controllers/Convocatoria.php<br />
700			Line: 25<br />
701			Function: view			</p>
702
703		
704	
705		
706	
707		
708			<p style="margin-left:10px">
709			File: /Disco2/html/virtual/sitioconvocatoria/index.php<br />
710			Line: 317<br />
711			Function: require_once			</p>
712
713		
714	
715
716</div>">Enviar</button>
717              </div>
718            </form>
719          </div><!-- end modal-body -->
720        </div><!-- /.modal-content -->
721      </div><!-- /.modal-dialog -->
722    </div><!-- /.modal -->
723
724    <div class="container mb-5" id="section-redes">
725      <div class="row">
726        <div class="col mb-5">
727          <h2 class="text-center title-secciones">
728            Nuestras redes sociales:
729          </h2>
730          <div class="d-flex justify-content-center flex-wrap mb-5" style="gap: 2rem">
731            <a href="https://x.com/spf_sspc" class="d-block filter-blue filtro_twitter" title="@spf_sspc"><img src="https://convocatoria.spf.gob.mx/assets/img/redes_x.svg" alt="" width="60" />
732              <span class="d-block">X</span>
733            </a>
734            <a href="https://www.youtube.com/@proteccionfederal2023" class="d-block filter-blue filtro_youtube" title="@proteccionfederal2023"><img src="https://convocatoria.spf.gob.mx/assets/img/redes_youtube.svg" alt="" width="60" />
735              <span class="d-block">Youtube</span></a>
736            <a href="https://www.facebook.com/Proteccionfederal1" class="d-block filter-blue filtro_facebook" title="@Proteccionfederal1"><img src="https://convocatoria.spf.gob.mx/assets/img/redes_facebook.svg" alt="" width="60" />
737              <span class="d-block">Facebook</span></a>
738            <a href="https://instagram.com/proteccionfederalmx" class="d-block filter-blue filtro_instagram" title="@proteccionfederalmx"><img src="https://convocatoria.spf.gob.mx/assets/img/redes_instagram.svg" alt="" width="60" />
739              <span class="d-block">Instagram</span></a>
740            <a href="https://www.tiktok.com/@proteccionfederal" class="d-block filter-blue filtro_tiktok" title="@proteccionfederal"><img src="https://convocatoria.spf.gob.mx/assets/img/redes_tiktok.svg" alt="" width="60" />
741              <span class="d-block">Tiktok</span></a>
742          </div>
743        </div>
744      </div>
745    </div>
746    <div class="row container">
747      <div class="col-md-10 col-md-offset-2"> </div>
748      <p>
749      <div class="alert alert-dark" role="alert">
750        <strong>Versión </strong>5.2.0 | <strong> 2026</strong>
751      </div>
752      </p>
753    </div>
754
755  </main>
756  <!-- MAIN principal TERMINA -->
757
758
759
760
761
762  <!-- CALENDARIO -->
763  <div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true" id="modal_calendario_citas">
764    <div class="modal-dialog modal-lg">
765      <div class="modal-content contenido_modal">
766        <div class="modal-header encabezado_modal">
767          <h5 class="modal-title" id="exampleModalLabel">Disponibilidad</h5>
768          <!--<button type="button" class="close" data-dismiss="modal" aria-label="Close">-->
769          <!--<span aria-hidden="true">&times;</span>-->
770          <!--</button>-->
771        </div>
772        <div class="modal-body cuerpo_modal text-center">
773          <div id='calendar' style="width: 100%;"></div>
774        </div>
775      </div>
776    </div>
777  </div>
778
779
780  <!-- HORARIOS DISPONIBLES -->
781  <div class="modal fade" id="modal_asignar_cita_dia_hora" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
782    <div class="modal-dialog" role="document">
783      <div class="modal-content">
784        <div class="modal-header">
785          <h5 class="modal-title" id="exampleModalLabel">
785Horarios Disponibles</h5>
786          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
787            <span aria-hidden="true">&times;</span>
788          </button>
789        </div>
790        <div class="modal-body">
791          <input id="id_preinscripcion" name="id_preinscripcion" value="" type="hidden">
792          <p id="fecha">Fecha asignada</p>
793          <input type="text" name="fecha_asignada" id="input_fecha_asignada" class="form-control date-pi clase_modifica" placeholder="" autocomplete="off" disabled>
794          <p id="fecha">Seleccionar hora</p>
795          <select required="required" class="form-control" name="servicio" id="select_horarios_disponible">
796            <option value="" selected="selected" disabled>Seleccione un horario</option>
797          </select>
798        </div>
799        <div class="modal-footer">
800          <button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
801          <button id="agendar_cita" type="button" class="btn boton_c3">Agendar y Enviar</button>
802        </div>
803      </div>
804    </div>
805  </div>
806
807
808  <!-- FOOTER EMPIEZA -->
809  <footer>
810    <div class="container">
811      <div class="row">
812        <div class="col-lg-3">
813          <img src="https://convocatoria.spf.gob.mx/assets/img/logo_footer.svg" alt="" width="200" class="footer-logo" />
814        </div>
815        <div class="col">
816          <span class="footer-title">Enlaces</span>
817          <ul>
818            <!-- <li><a  href="http://www.participa.gob.mx">Participa</a></li> -->
819            <li><a href="https://www.informegobierno.gob.mx/">Primer Informe de Gobierno</a></li>
820            <li><a href="https://datos.gob.mx/">Datos</a></li>
821            <li>
822              <a href="https://www.gob.mx/publicaciones" target="_blank" rel="noopener" title="Enlace abre en ventana nueva">Publicaciones
823              </a>
824            </li>
825
826            <li>
827              <a class="footer" href="https://transparencia.gob.mx/home.html" id="Transparencia" target="blank" title="Enlace abre en ventana nueva">Transparencia para el Pueblo</a>
828            </li>
829
830            <li>
831              <a class="footer" href="https://www.infomex.org.mx/gobiernofederal/home.action" id="PNT" target="blank" title="Enlace abre PNT en ventana nueva">PNT</a>
832            </li>
833
834            <li>
835              <a class="footer" href="http://www.inai.org.mx/" id="INAI" target="blank" title="Enlace abre sitio INAI en ventana nueva">INAI</a>
836            </li>
837
838            <li>
839              <a class="footer" id="INAI" href="http://alertadores.funcionpublica.gob.mx/" target="_blank" rel="alertadores">Alerta</a>
840            </li>
841            <li>
842              <a class="footer" id="SIDEC" href="http://sidec.funcionpublica.gob.mx/" target="_blank" rel="sidec">Denuncia</a>
843            </li>
844          </ul>
845        </div>
846        <div class="col-lg-4">
847          <span class="footer-title">¿Qué es gob.mx?</span>
848          <ul>
849            <p>
850              Es el portal único de trámites, información y participación
851              ciudadana.
852              <a href="https://www.gob.mx/que-es-gobmx">Leer más</a>:
853            </p>
854            <li><a href="https://www.gob.mx/temas">Temas</a></li>
855
856            <li>
857              <a href="https://www.gob.mx/accesibilidad">Declaración de Accesibilidad</a>
858            </li>
859            <li>
860              <a href="https://www.gob.mx/privacidadintegral">Aviso de privacidad</a>
861            </li>
862            <li>
863              <a href="https://www.gob.mx/privacidadsimplificado">Aviso de privacidad simplificado</a>
864            </li>
865            <li>
866              <a href="https://www.gob.mx/terminos">Términos y Condiciones
867              </a>
868            </li>
869            <li>
870              <a href="https://www.gob.mx/terminos#medidas-seguridad-informacion">Política de seguridad</a>
871            </li>
872            <li>
873              <a class="footer" id="Marco Juridico" href="http://www.ordenjuridico.gob.mx" target="_blank" rel="noopener" title="Enlace abre en ventana nueva">Marco jurídico</a>
874            </li>
875            <li><a href="https://www.gob.mx/sitemap">Mapa de sitio</a></li>
876          </ul>
877        </div>
878        <div class="col">
879          <span class="footer-title">Síguenos en:</span>
880          <a href="https://www.facebook.com/gobmexico"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_footer_facebook.svg" alt="" width="32" /></a>
881          <a href="https://twitter.com/GobiernoMX"><img src="https://convocatoria.spf.gob.mx/assets/img/ic_footer_twitter.svg" alt="" width="32" /></a>
882        </div>
883      </div>
884    </div>
885  </footer>
886  <!-- FOOTER TERMINA -->
887
888  
888<script src="https://convocatoria.spf.gob.mx/assets/js/jquery-3.3.1.js"></script>
888
889  
889<script src="https://convocatoria.spf.gob.mx/assets/js/jquery.validate.min.js"></script>
889
890  
890<script src="https://convocatoria.spf.gob.mx/assets/js/additional-methods.min.js"></script>
890
891  
891<script src="https://convocatoria.spf.gob.mx/assets/js/popper.min.js"></script>
891
892  
892<script src="https://convocatoria.spf.gob.mx/assets/bootstrap-4.0.0/js/bootstrap.min.js"></script>
892
893  
893<script src="https://convocatoria.spf.gob.mx/assets/js/sweetalert.min.js"></script>
893
894  
894<script src="https://convocatoria.spf.gob.mx/assets/js/jquery.blockUI.js"></script>
894
895  
895<script src="https://convocatoria.spf.gob.mx/assets/js/convocatoria.js?v=3.0.0"></script>
895
896
897  
897<script src='https://convocatoria.spf.gob.mx/assets/js/fullcalendar.min.js'></script>
897
898  <!--
898<script src="https://convocatoria.spf.gob.mx/assets/js/citas.js"></script>
898-->
899
900
901  <!-- 
901<script src='https://www.google.com/recaptcha/api.js?render=6Lcm1K4ZAAAAACuMFhb28yMdQb9sV1SpplB3-NX2>' 
902</script>
902-->
903
904
905  
905<script type="text/javascript">
906
907
908
909    $(document).ready(function () {
910
911
912      var today_click_calendar;
913
914      $("#preinscripcion_form").validate({
915        rules: {
916          nombre: {
917            required: true,
918            minlength: 3
919          },
920          apellidoPaterno: {
921            required: true,
922            minlength: 1
923          },
924          apellidoMaterno: {
925            required: true,
926            minlength: 1
927          },
928          estatura: {
929            required: true,
930            minlength: 3,
931            estaturaValidate: ""
932          },
933          peso: {
934            required: true,
935            minlength: 2,
936            pesoValidate: ""
937          },
938          nivelEstudio: {
939            required: true
940          },
941          /*medio_comunicacion: {
942              required: true
943          },*/
944          cat_tipo_medio: {
945            required: true
946          },
947          curp: {
948            //                curpValidate: "",
949            required: true,
950            minlength: 10,
951            maxlength: 20
952          },
953          telefonoLocal: {
954            required: true,
955            number: true,
956            telValidate: "" //validación de la longitud del número telefónico DKCV 25/05/2023
957          },
958          telefonoCelular: {
959            required: true,
960            number: true,
961            telValidate: "" //validación de la longitud del número telefónico DKCV 25/05/2023
962          },
963          telefonoCelular1: {
964            required: true,
965            number: true,
966            telValidate: "", //validación de la longitud del número telefónico DKCV 25/05/2023
967            NumNotEquals: ""
968          },
969          telefonoRecados: {
970            required: true,
971            number: true,
972            telValidate: "" //validación de la longitud del número telefónico DKCV 25/05/2023
973          },
974          correoElectronico1: {
975            required: true,
976            email: true
977          },
978          correoElectronico: {
979            required: true,
980            email: true,
981            EmailNotEquals: ""
982          },
983          estado: {
984            valueNotEquals: "",
985            required: true
986          },
987          municipio: {
988            valueNotEquals: "",
989            required: true
990          },
991          colonia: {
992            valueNotEquals: "",
993            required: true
994          },
995          fechaNac: {
996            required: true
997          },
998          id_genero: {
999            required: true
1000          },
1001          estadoCivil: {
1002            required: true
1003          },
1004          calle: {
1005            required: true
1006          },
1007          avisoPrivacidad: {
1008            required: true
1009          },
1010        },
1011        messages: {
1012          nombre: {
1013            required: "Ingrese su nombre(s)",
1014            min: "Ingrese un nombre válido"
1015          },
1016          apellidoPaterno: {
1017            required: "Ingrese su apellido paterno",
1018            minlength: "Ingrese un apellido paterno válido"
1019          },
1020          apellidoMaterno: {
1021            required: "Ingrese su apellido materno",
1022            minlength: "Ingrese un apellido materno válido"
1023          },
1024          estatura: {
1025            required: "Ingrese su estatura",
1026            minlength: "Ingrese una estatura válida",
1027            estaturaValidate: "Ingrese una estatura válida en centímetros (Solo números)"
1028          },
1029          peso: {
1030            required: "Ingrese su peso",
1031            minlength: "Ingrese un peso válido",
1032            estaturaValidate: "Ingrese un peso válido en Kilos (Solo números)"
1033          },
1034          nivelEstudio: {
1035            required: "Seleccione su nivel de estudios"
1036          },
1037          /*medio_comunicacion: {
1038              required: "Seleccione como se enteró de la convocatoria"
1039          },*/
1040          cat_tipo_medio: {
1041            required: "Seleccione como se enteró de la convocatoria"
1042          },
1043          curp: {
1044            //                curpValidate: "Ingrese un CURP válido",
1045            required: "Ingrese un RFC válido",
1046            minlength: "Ingrese un RFC válido",
1047            maxlength: "Ingrese un RFC válido"
1048          },
1049          telefonoLocal: {
1050            required: "Ingrese su número telefónico local",
1051            number: "Ingrese un número de télefono local válido",
1052            min: "Ingrese un número telefónico local correcto"
1053          },
1054          telefonoCelular: {
1055            required: "Ingrese su número telefónico celular",
1056            number: "Ingrese un número de télefono celular válido",
1057            min: "Ingrese un número telefónico celular correcto"
1058          },
1059          telefonoCelular1: {
1060            required: "Ingrese su número telefónico celular",
1061            number: "Ingrese un número de télefono celular válido",
1062            min: "Ingrese un número telefónico celular correcto",
1063            NumNotEquals: "Por favor corrobore su número celular"
1064          },
1065          telefonoRecados: {
1066            required: "Ingrese su número telefónico de recados",
1067            number: "Ingrese un número de télefono para recados válido",
1068            min: "Ingrese un número telefónico para recados correcto"
1069          },
1070          correoElectronico1: {
1071            required: "Ingrese un correo electr&oacute;nico",
1072            email: "Ingrese un correo con formato válido"
1073          },
1074          correoElectronico: {
1075            required: "Ingrese un correo electr&oacute;nico",
1076            email: "Ingrese un correo con formato válido",
1077            EmailNotEquals: "Por favor corrobore su correo electrónico"
1078          },
1079          estado: {
1080            required: "Seleccione un estado"
1081          },
1082          municipio: {
1083            required: "Seleccione un municipio"
1084          },
1085          colonia: {
1086            required: "Seleccione una colonia"
1087          },
1088          fechaNac: {
1089            required: "Ingrese su Fecha de Nacimiento"
1090          },
1091          id_genero: {
1092            required: "Seleccione un género"
1093          },
1094          estadoCivil: {
1095            required: "Ingrese su Estado Civil"
1096          },
1097          calle: {
1098            required: "Ingrese la calle en la que vive"
1099          },
1100          avisoPrivacidad: {
1101            required: "Por favor acepta los términos y condiciones."
1102          }
1103        },
1104        errorClass: "invalid",
1105        submitHandler: function (form, event) {
1106          event.preventDefault();
1107          //window.setTimeout(clickToday, 200);
1108          setTimeout(function () {
1109            window.location.reload();
1110          }, 10000)
1111          enviarPreInscripcion();
1112
1113        }
1114      });
1115
1116
1117      /*function clickToday() {
1118                  $('.fc-button-today').click();
1119                  $('#calendar').fullCalendar('removeEvents');
1120                  $('#calendar').fullCalendar('refetchEvents');
1121                  getCitasPorMes();
1122              }
1123              
1124                $('.fc-button-prev').click(function () {
1125                  $('#calendar').fullCalendar('removeEvents');
1126                  $('#calendar').fullCalendar('refetchEvents');
1127                  getCitasPorMes();
1128              });
1129      
1130              $('.fc-button-next').click(function () {
1131                  $('#calendar').fullCalendar('removeEvents');
1132                  $('#calendar').fullCalendar('refetchEvents');
1133                  getCitasPorMes();
1134              });
1135      */
1136
1137      var opcBlockUI = {
1138        message: '<img src="' + $('body').attr('base_url') + 'assets/img/loading.gif" width="50px" height="auto" /><br><br>Cargando...',
1139        baseZ: 2000,
1140        css: {
1141          border: 'none',
1142          padding: '24px',
1143          backgroundColor: '#000',
1144          '-webkit-border-radius': '10px',
1145          '-moz-border-radius': '10px',
1146          opacity: .5,
1147          color: '#fff'
1148        }
1149      };
1150
1151      $('#calendar').fullCalendar({
1152        lang: 'es',
1153        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
1154        monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
1155        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
1156        dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],
1157        height: 600,
1158        theme: false,
1159        weekends: false,
1160        header: {
1161          left: 'prev,next today',
1162          center: 'title',
1163          right: 'month'
1164        },
1165        editable: false,
1166        axisFormat: 'HH:mm',
1167        timeFormat: {
1168          agenda: 'H:mm{ - h:mm}'
1169        },
1170        events: [],
1171        eventDrop: function (event, delta, revertFunc) {
1172          if (event.start < currentDate) {
1173            revertFunc();
1174          }
1175        },
1176        dayRender: function (date, cell, event, moment) {
1177          var month = $('#calendar').fullCalendar('getDate');
1178          var month = month.getMonth();
1179          if (date.getMonth() === month) {
1180            cell.css("background-color", "#ecf0f1");
1181            cell.css("cursor", "pointer");
1182          } else {
1183            cell.css("cursor", "");
1184          }
1185        },
1186        dayClick: function (moment, date, cell) {
1187          var today = new Date();
1188          var day = new Date(moment).toString().slice(8, 10);
1189          var arrayMonth = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
1190          var fullCalendar = $('#calendar').fullCalendar('getDate');
1191          var month = fullCalendar.getMonth();
1192          var year = new Date(moment).toString().slice(11, 15);
1193          var today = [year, arrayMonth[month], day].join('-'); // FORMATO: yyyy-mm-dd
1194
1195          if (moment.getMonth() < month || moment.getMonth() > month) {
1196            return;
1197          }
1198          today_click_calendar = moment;
1199          getHorariosDisponiblesPorFecha(today_click_calendar);
1200        },
1201        eventClick: function (calEvent, jsEvent, view) {
1202          var today = new Date();
1203          var day = new Date(calEvent.start).toString().slice(8, 10);
1204          var arrayMonth = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
1205          var fullCalendar = $('#calendar').fullCalendar('getDate');
1206          var month = fullCalendar.getMonth();
1207          var year = new Date(calEvent.start).toString().slice(11, 15);
1208          var today = [year, arrayMonth[month], day].join('-'); // FORMATO: yyyy-mm-dd
1209
1210          if (calEvent.start.getMonth() < month || calEvent.start.getMonth() > month) {
1211            return;
1212          }
1213          today_click_calendar = calEvent.start;
1214          getHorariosDisponiblesPorFecha(today_click_calendar);
1215        }
1216      });
1217
1218      /*
1219       function getCitasPorMes(){
1220                  var tglCurrent = $('#calendar').fullCalendar('getDate');
1221                  var date = new Date(tglCurrent);
1222                  if(date == "Invalid Date"){
1223                      return;
1224                  }
1225                  var fecha = date.toISOString().slice(0, 10); // FORMATO: yyyy-mm-dd
1226                  $.blockUI(opcBlockUI);
1227                  $.ajax({
1228                     type: "POST",
1229                     url: $('body').attr('base_url')+'index.php/Convocatoria/getCitasPorMes',
1230                     data: {fecha:fecha},
1231                      success: function(data){
1232                          var json_response = JSON.parse(data);
1233                          $.unblockUI();
1234                          if(json_response.code === 200){
1235                              if(json_response.response.citas != null){
1236                                  $('#calendar').fullCalendar('addEventSource', json_response.response.citas);
1237                                  $('#calendar').fullCalendar('refetchEvents');
1238                              }
1239                          }else{
1240                              swal({
1241                                  icon: "error",
1242                                  text: json_response.response,
1243                                  buttons: {
1244                                      confirm: 'Aceptar'
1245                                  }
1246                              });
1247                          }
1248                      },
1249                      error: function (xhr, ajaxOptions, thrownError) {
1250                          $.unblockUI(); 
1251                          swal({
1252                              icon: "error",
1253                              text: 'Por favor, intentelo nuevamente.',
1254                              buttons: {
1255                                  confirm: 'Aceptar'
1256                              }
1257                          });
1258                      }
1259                  });
1260              }
1261      */
1262
1263      function enviarPreInscripcion(form) {
1264        var estadoInput = $('#estadoInput').val();
1265        $.blockUI(opcBlockUI);
1266        $.ajax({
1267          type: 'POST',
1268          url: $('body').attr('base_url') + 'index.php/Convocatoria/preInscripcion',
1269          data: $("#preinscripcion_form").serialize(),
1270          success: function (data) {
1271
1272            var json_response = JSON.parse(data);
1273            if (json_response.code === 200) {
1274
1275              $('#id_preinscripcion').val(json_response.response);
1276              // $('#modal_calendario_citas').modal('show');
1277              swal({
1278                icon: 'success',
1279                title: 'Tus datos se registraron correctamente.',
1280                content: content,
1281                //button: "Aceptar" 
1282                closeOnClickOutside: false,
1283                timer: 7000,
1284                button: false
1285
1286              });
1287            } else
1288              if (json_response.code === 300) {
1289                var content = document.createElement('div');
1290                content.innerHTML = '<p>¡Gracias por tu interés y compromiso en esta convocatoria!</p><br>';
1291                swal({
1292                  icon: 'success',
1293                  title: 'Tus datos se registraron correctamente.',
1294                  content: content,
1295                  //button: "Aceptar" 
1296                  closeOnClickOutside: false,
1297                  timer: 7000,
1298                  button: false
1299
1300                }).then(function (result) {
1301                  //$(".confirm").fadeIn(1500);                    
1302                  $.blockUI(opcBlockUI);
1303                  $('#nameInput').val('');
1304                  $('#apellidoPaternoInput').val('');
1305                  $('#apellidoMaternoInput').val('');
1306                  $('#curpInput').val('');
1307                  $('#telefonoCelularInput1').val('');
1308                  $('#telefonoCelularInput').val('');
1309                  $('#telefonoInput').val('');
1310                  $('#emailInput').val('');
1311                  $('#municipioInput').empty();
1312                  $('#municipioInput').prop('disabled', true);
1313                  $('#coloniaInput').empty();
1314                  $('#coloniaInput').prop('disabled', true);
1315                  $('#cpInput').val('');
1316                  var url = $('body').attr('base_url') + 'index.php';
1317                  $(location).attr('href', url);
1318                });
1319              } else if (json_response.code === 104) {
1320                var content = document.createElement('div');
1321                content.innerHTML = '...';
1322                swal({
1323                  icon: 'warning',
1324                  title: 'Ya has sido registrado/a previamente, Revise su correo electrónico.',
1325                  content: content,
1326                  closeOnClickOutside: false,
1327                  timer: 7000,
1328                  button: false
1329                  //button: "Aceptar" 
1330                }).then(function (result) {
1331                  // swal({
1332                  //     text: 'Tus datos se registraron correctamente',
1333                  //     button: 'Aceptar'
1334                  // });                 
1335                  $.blockUI(opcBlockUI);
1336                  $('#nameInput').val('');
1337                  $('#apellidoPaternoInput').val('');
1338                  $('#apellidoMaternoInput').val('');
1339                  $('#curpInput').val('');
1340                  $('#telefonoCelularInput1').val('');
1341                  $('#telefonoCelularInput').val('');
1342                  $('#telefonoInput').val('');
1343                  $('#emailInput').val('');
1344                  $('#municipioInput').empty();
1345                  $('#municipioInput').prop('disabled', true);
1346                  $('#coloniaInput').empty();
1347                  $('#coloniaInput').prop('disabled', true);
1348                  $('#cpInput').val('');
1349                  var url = $('body').attr('base_url') + 'index.php';
1350                  $(location).attr('href', url);
1351                });
1352              } else
1353                if (json_response.code === 201) {
1354                  var content = document.createElement('div');
1355                  content.innerHTML = '<p>¡Gracias por tu interés y compromiso en esta convocatoria!</p><br>';
1356                  swal({
1357                    icon: 'success',
1358                    title: 'Tus datos se registraron correctamente.',
1359                    content: content,
1360                    //button: "Aceptar" 
1361                    closeOnClickOutside: false,
1362                    timer: 7000,
1363                    button: false
1364
1365                  }).then(function (result) {
1366                    //$(".confirm").fadeIn(1500);                    
1367                    $.blockUI(opcBlockUI);
1368                    $('#nameInput').val('');
1369                    $('#apellidoPaternoInput').val('');
1370                    $('#apellidoMaternoInput').val('');
1371                    $('#curpInput').val('');
1372                    $('#telefonoCelularInput1').val('');
1373                    $('#telefonoCelularInput').val('');
1374                    $('#telefonoInput').val('');
1375                    $('#emailInput').val('');
1376                    $('#municipioInput').empty();
1377                    $('#municipioInput').prop('disabled', true);
1378                    $('#coloniaInput').empty();
1379                    $('#coloniaInput').prop('disabled', true);
1380                    $('#cpInput').val('');
1381                    var url = $('body').attr('base_url') + 'index.php';
1382                    $(location).attr('href', url);
1383                  });
1384                }
1385            $.unblockUI();
1386          },
1387          error: function (xhr, ajaxOptions, thrownError) {
1388            $.unblockUI();
1389            swal({
1390              title: "Error",
1391              text: 'Por favor, intentelo nuevamente.',
1392              buttons: true
1393            });
1394          }
1395        });
1396      }
1397
1398      $('#agendar_cita').click(function () {
1399        let id_preinscripcion = $('#id_preinscripcion').val();
1400        let id_horario = $('#select_horarios_disponible').val();
1401        let id_fecha = $('#select_horarios_disponible option:selected').attr('id_fecha');
1402        if (typeof id_horario !== 'undefined' && id_fecha != null) {
1403          swal({
1404            icon: "warning",
1405            text: '¿Deseas solicitar el día ' + $('#input_fecha_asignada').val() + ' a las ' + $('#select_horarios_disponible option:selected').text() + '?',
1406            buttons: {
1407              cancel: 'Cancelar',
1408              confirm: 'Aceptar'
1409            }
1410          }).then(function (result) {
1411            if (result) {
1412              agendarFecha(id_preinscripcion, id_horario, id_fecha);
1413            }
1414          });
1415        } else {
1416          swal({
1417            icon: "error",
1418            text: 'Selecione un horario',
1419            buttons: {
1420              confirm: 'Aceptar'
1421            }
1422          });
1423        }
1424      });
1425
1426
1427      function agendarFecha(id_preinscripcion, id_horario, id_fecha) {
1428
1429        $.blockUI(opcBlockUI);
1430        $.ajax({
1431          type: "POST",
1432          url: $('body').attr('base_url') + 'index.php/Convocatoria/agendarFechaPreinscripcion',
1433          data: {
1434            id_preinscripcion: id_preinscripcion,
1435            id_horario: id_horario,
1436            id_fecha: id_fecha,
1437            id_convocatoria: 4
1438          },
1439          success: function (data) {
1440            var json_response = JSON.parse(data);
1441            $.unblockUI();
1442            if (json_response.code === 200) {
1443              var content = document.createElement('div');
1444              content.innerHTML = '<p>¡Gracias por tu interés y compromiso en esta convocatoria!</p><br>';
1445              swal({
1446                icon: 'success',
1447                title: 'Tus datos se registraron correctamente.',
1448                content: content,
1449                closeOnClickOutside: false,
1450                timer: 7000,
1451                button: false
1452              }).then(function (result) {
1453                $.blockUI(opcBlockUI);
1454                $('#nameInput').val('');
1455                $('#apellidoPaternoInput').val('');
1456                $('#apellidoMaternoInput').val('');
1457                $('#curpInput').val('');
1458                $('#telefonoCelularInput1').val('');
1459                $('#telefonoCelularInput').val('');
1460                $('#telefonoInput').val('');
1461                $('#emailInput').val('');
1462                $('#municipioInput').empty();
1463                $('#municipioInput').prop('disabled', true);
1464                $('#coloniaInput').empty();
1465                $('#coloniaInput').prop('disabled', true);
1466                $('#cpInput').val('');
1467
1468                var url = $('body').attr('base_url');
1469                $(location).attr('href', url);
1470
1471              });
1472            } else {
1473              swal({
1474                icon: "error",
1475                text: json_response.response,
1476                buttons: {
1477                  confirm: 'Aceptar'
1478                }
1479              });
1480            }
1481          },
1482          error: function (xhr, ajaxOptions, thrownError) {
1483            $.unblockUI();
1484            swal({
1485              icon: "error",
1486              text: 'Por favor, intentelo nuevamente.',
1487              buttons: {
1488                confirm: 'Aceptar'
1489              }
1490            });
1491          }
1492        });
1493      }
1494
1495
1496      $('#btn_preinscripcion').click(function () {
1497        $('html, body').animate({
1498          scrollTop: $("#preinscripcion").offset().top
1499        }, 1000);
1500      });
1501
1502      function getHorariosDisponiblesPorFecha(fecha_formato) {
1503        $('#input_fecha_asignada').val(fecha_formato);
1504        $('#select_horarios_disponible').empty();
1505        $('#select_horarios_disponible').append('<option value="" selected="selected" disabled>Seleccione un horario</option>');
1506        $.blockUI(opcBlockUI);
1507        $.ajax({
1508          type: "POST",
1509          url: $('body').attr('base_url') + 'index.php/Convocatoria/getHorariosDisponiblesPorFecha',
1510          data: { fecha: fecha_formato },
1511          success: function (data) {
1512            var json_response = JSON.parse(data);
1513            if (json_response.code === 200) {
1514              if (json_response.response.horarios_disponibles != null) {
1515                for (var i = 0; i < json_response.response.horarios_disponibles.length; i++) {
1516                  $('#select_horarios_disponible').append('<option value="' + json_response.response.horarios_disponibles[i].id_hora + '" id_fecha="' + json_response.response.horarios_disponibles[i].id_fecha + '">' + json_response.response.horarios_disponibles[i].hora + '</option>');
1517                }
1518                $('#modal_asignar_cita_dia_hora').modal('show');
1519              } else {
1520                swal({
1521                  icon: "warning",
1522                  text: 'No se cuenta con horarios disponibles',
1523                  buttons: {
1524                    confirm: 'Aceptar'
1525                  }
1526                });
1527              }
1528              $.unblockUI();
1529            } else {
1530              $.unblockUI();
1531              swal({
1532                icon: "error",
1533                text: json_response.response,
1534                buttons: {
1535                  confirm: 'Aceptar'
1536                }
1537              });
1538            }
1539          },
1540          error: function (xhr, ajaxOptions, thrownError) {
1541            $.unblockUI();
1542            swal({
1543              icon: "error",
1544              text: 'Por favor, intentelo nuevamente.',
1545              buttons: {
1546                confirm: 'Aceptar'
1547              }
1548            });
1549          }
1550        });
1551      }
1552
1553
1554
1555
1556
1557      /*    $('#modal_calendario_citas').on('hidden.bs.modal', function (e) {
1558              today_click_calendar = null;
1559  
1560          });*/
1561    });
1562
1563
1564    $("#estadoInput").change(function () {
1565
1566      //                if( $(this).val()==9 || $(this).val()==17 || $(this).val()==12 || $(this).val()==21 || $(this).val()==29){
1567      $("#buttonCita").show();
1568      //                }else{
1569      //                     $("#buttonCita").hide(); 
1570      //                }
1571    });
1572
1573
1574
1575    $("#avisoPrivacidad").on("click", function () {
1576      var condiciones = $("#avisoPrivacidad").is(":checked");
1577      if (condiciones) {
1578        $("#enviarForm").prop('disabled', false);
1579      }
1580    });
1581    //valida cURP
1582    function validarInput(input) {
1583      var curp = input.value.toUpperCase(),
1584        resultado = document.getElementById("resultado"),
1585        valido = "No válido";
1586
1587      if (curpValida(curp)) {
1588        valido = "Válido";
1589        resultado.classList.add("ok");
1590        $('#nameInput').prop('readonly', false);
1591        $('#apellidoPaternoInput').prop('readonly', false);
1592        $('#apellidoMaternoInput').prop('readonly', false);
1593        $('#fechaNacInput').prop('readonly', false);
1594        if ($("#avisoPrivacidad").is(":checked")) {
1595          $("#enviarForm").prop('disabled', false);
1596        }
1597
1598      } else {
1599        $('#nameInput').prop('readonly', true);
1600        $('#apellidoPaternoInput').prop('readonly', true);
1601        $('#apellidoMaternoInput').prop('readonly', true);
1602        $('#fechaNacInput').prop('readonly', true);
1603        resultado.classList.remove("ok");
1604        $("#enviarForm").prop('disabled', true);
1605      }
1606
1607      resultado.innerText = "CURP: " + curp + "\nFormato: " + valido;
1608    }
1609
1610    function curpValida(curp) {
1611      var re = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0\d|1[0-2])(?:[0-2]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/,
1612        validado = curp.match(re);
1613
1614      if (!validado) {  //Coincide con el formato general?
1615        return false;
1616      }
1617      //Validar que coincida el dígito verificador
1618      function digitoVerificador(curp17) {
1619        //Fuente https://consultas.curp.gob.mx/CurpSP/
1620        var diccionario = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ",
1621          lngSuma = 0.0,
1622          lngDigito = 0.0;
1623        for (var i = 0; i < 17; i++)
1624          lngSuma = lngSuma + diccionario.indexOf(curp17.charAt(i)) * (18 - i);
1625        lngDigito = 10 - lngSuma % 10;
1626        if (lngDigito == 10)
1627          return 0;
1628        return lngDigito;
1629      }
1630      if (validado[2] != digitoVerificador(validado[1])) {
1631        return false;
1632      } else {
1633        return true; //Validado
1634      }
1635    }
1636
1637    $("#curpInput").on("change", function () {
1638
1639      var curp = $("#curpInput").val();
1640      var fecha = curp2date(curp);
1641
1642      $("#fechaNacInput").val(fecha);
1643      var cal = Edad(fecha);
1644      $('#edadInput').val(cal);
1645    });
1646    function curp2date(curp) {
1647      var m = curp.match(/^\w{4}(\w{2})(\w{2})(\w{2})/);
1648      //miFecha = new Date(año,mes,dia) 
1649      var anyo = parseInt(m[1], 10) + 1900;
1650      if (anyo < 1950) anyo += 100;
1651      var mes = parseInt(m[2], 10) - 1;
1652      var dia = parseInt(m[3], 10);
1653      return (new Date(anyo, mes, dia));
1654    }
1655
1656    Date.prototype.toString = function () {
1657      var anyo = this.getFullYear();
1658      var mes = this.getMonth() + 1;
1659      if (mes <= 9) mes = "0" + mes;
1660      var dia = this.getDate();
1661      if (dia <= 9) dia = "0" + dia;
1662      return anyo + "-" + mes + "-" + dia;
1663    }
1664
1665    function Edad(FechaNacimiento) {
1666
1667      var fechaNace = new Date(FechaNacimiento);
1668      var fechaActual = new Date()
1669
1670      var mes = fechaActual.getMonth();
1671      var dia = fechaActual.getDate();
1672      var año = fechaActual.getFullYear();
1673
1674      fechaActual.setDate(dia);
1675      fechaActual.setMonth(mes);
1676      fechaActual.setFullYear(año);
1677
1678      edad = Math.floor(((fechaActual - fechaNace) / (1000 * 60 * 60 * 24) / 365));
1679
1680      return edad;
1681    }
1682
1683
1684  </script>
1684
1685
1686  <style type="text/css">
1687    .fc-event-inner {
1688      cursor: pointer;
1689    }
1690
1691    .boton_c3_desactivado {
1692      border: 4px solid #BCBBBC;
1693      border-radius: 5px;
1694      background-color: #922948;
1695      color: #fff;
1696      padding: 5px 20px 5px 20px;
1697      opacity: 50%;
1698      cursor: context-menu;
1699    }
1700
1701    .boton_c3 {
1702      border: 4px solid #BCBBBC;
1703      border-radius: 5px;
1704      background-color: #922948;
1705      color: #fff;
1706      padding: 5px 20px 5px 20px;
1707      cursor: pointer;
1708    }
1709
1710    #resultado {
1711      color: #f57777;
1712    }
1713
1714    #resultado.ok {
1715      color: #64748b;
1716    }
1717
1718    .invalid {
1719      color: red;
1720    }
1721
1722    .user_block {
1723      background: #dddddd;
1724    }
1725
1726    .item {
1727      position: relative;
1728      float: center;
1729    }
1730
1731    .item #tiempo {
1732      text-align: center;
1733      position: absolute;
1734      line-height: 125px;
1735      width: 100%;
1736
1737      font-weight: bold;
1738      margin-bottom: 0;
1739      font-size: 2rem;
1740      margin-top: 1rem;
1741    }
1742
1743    svg {
1744      -webkit-transform: rotate(-90deg);
1745      transform: rotate(-90deg);
1746    }
1747
1748    .circle_animation {
1749      stroke-dasharray: 440;
1750      /* this value is the pixel circumference of the circle */
1751      stroke-dashoffset: 440;
1752      transition: all 1s linear;
1753    }
1754  </style>
1755  
1755<script>
1756    function stickyNav() {
1757      var headerHeight = document.querySelector("#convocatoria-guardia").offsetHeight / 4;
1758      var navbar = document.querySelector("#nav-container");
1759      var scrollValue = window.scrollY;
1760
1761      if (scrollValue > headerHeight) {
1762        navbar.classList.add("header-sticky");
1763      } else {
1764        navbar.classList.remove("header-sticky");
1765      }
1766    }
1767
1768    window.addEventListener("scroll", stickyNav);
1769
1770    document.querySelector(".menu-toggle").addEventListener("click", () => {
1771      document.querySelector(".navbarB").classList.toggle("activeb");
1772    });
1773
1774    // Ocultar menú al hacer click en un enlace (móvil)
1775    document.querySelectorAll(".navbarB a").forEach((link) => {
1776      link.addEventListener("click", () => {
1777        if (window.innerWidth <= 768) {
1778          document.querySelector(".navbarB").classList.remove("activeb");
1779        }
1780      });
1781    });
1782  </script>
1782
1783
1784</body>
1785
1786</html>

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.