PageSourceSearch

https://consulta.bonocovid.cl/COVID-Consulta/js/afper.js

js bonocovid.cl collected 2026-09-30 17:48:42 UTC 53,605 bytes, 1,218 lines download raw bytes

1/**
2 * 
3 */
4(function(window){
5	window.afper = {
6		validezEste: 0,
7		skipValidation: false,
8		tokenForm: "",
9        excepcionMINDES: false,
10		sinCausantes: false,
11		idReclamos: null,
12		refNombreBenef: '#nombreBen',
13        rutCausanteActivo: null,
14        urlIngresoReclamo: 'ingresarReclamos',
15		refMsgNumSerieNoValido: '#msg-numero-serie-no-valido',
16		refFormIngresoReclamo: '#formIngresoReclamo',
17		urlValidarNumeroSerie: 'validarNumeroSerie',
18		urlBuscarDetalleReclamo: 'buscarDetalleReclamo',
19		refFormularioConsulta: '#form1',
20		refFormularioLogin: '#loginForm',
21		refFormularioSessionExpirada: '#sessionExpirada',
22		refUsername: "#username",
23		refPassword: "#password",
24		refRutUsername: "#rut",		
25		refFechaNacimiento: "#fechaNacimiento",
26		refNumReclamo: '#numReclamo',
27		//refGoogleCaptchaResponse: '#g-recaptcha-response',
28		refCaptchaResponse: '#captchaResponse',
29		refFormularioCaptcha: '#formularioCaptcha',
30		refMsgDatosIncorrectos: '#msgDatosIncorrectos',
31		refEspaciosMsgError: '#espaciosMsgError',
32		refDetalleReclamo: '#grupo-info',
33		refDetalleExclusiones: '#grupo-info2',
34		urlObtieneRegiones          : 'getRegiones',
35        refRegion                   : '#region-reclamo',
36        urlObtieneComunasRegion     : 'getComunasRegion',
37		templateImprimible:'<div class="row"><div class="col-xs-4"><p><strong>N&uacute;mero reclamo</strong></p></div><div class="col-xs-6"><p>{0}</p></div></div>'+
38		'<div class="row"><div class="col-xs-4"><p><strong>Fecha</strong></p></div><div class="col-xs-6"><p id="esta-fecha"></p>'+
39		'<script>var fecha = new Date; document.getElementById("esta-fecha").innerHTML = fecha.toLocaleDateString()</script></div></div>'+
40		'<div class="row"><div class="col-xs-4"><p><strong>RUN</strong></p></div><div class="col-xs-6"><p>{1}</p></div></div>'+
41		'<div class="row"><div class="col-xs-4"><p><strong>Nombre</strong></p></div><div class="col-xs-6"><p>{2}</p></div></div>'+
42		'<div class="row"><div class="col-xs-4"><p><strong>Comuna</strong></p></div><div class="col-xs-6"><p>{3}</p></div></div>'+
43		'<div class="row"><div class="col-xs-4"><p><strong>Direcci&oacute;n</strong></p></div><div class="col-xs-6"><p>{4}</p></div></div>'+
44		'<div class="row"><div class="col-xs-4"><p><strong>Tel&eacute;fono</strong></p></div><div class="col-xs-6"><p>{5}</p></div></div>'+
45		'<div class="row"><div class="col-xs-4"><p><strong>Email</strong></p></div><div class="col-xs-6"><p>{6}</p></div></div>',
46		templateHeaderExclusion:'<div class="panel panel-collapse">{0}</div>',
47		templateDetalleLineaExclusion:'<div class="{0}"><p id="exclusion0">{1}</p></div>',
48		templateDetalleLineaReclamo: '<div class="panel"><div class="panel-heading" id="heading{0}"><h4 class="panel-title">' + 
49		'<a class="list-group-item" data-toggle="collapse" data-parent="#grupo-info" href="#collapse{0}" aria-expanded="true" aria-controls="collapse{0}"> Fecha: {3}' +
50		'</a></h4></div>' +
51		'<div id="collapse{0}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headgrupoing{0}" aria-expanded="true">' +
52		'<div class="panel-body"><p id="exclusion{0}">{1}</p></div><div class="panel-footer"><h5>Respuesta</h5><p id="respuesta{0}">{2}</p></div>' +
53		'<div class="clearfix"></div></div></div>',
54
55		templateDetalleRespuestaMindes: '<div class="panel"><div class="panel-heading" id="heading{0}"><h4 class="panel-title">' +
56			'<a class="list-group-item" data-toggle="collapse" data-parent="#grupo-info" href="#collapse{0}" aria-expanded="true" aria-controls="collapse{0}"> Fecha: {1}' +
57			'</a></h4></div>' +
58			'<div id="collapse{0}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headgrupoing{0}" aria-expanded="true">' +
59			'<div class="panel-body">Estimado/a usuario/a:<br><br>De acuerdo con lo informado por el Ministerio de Desarrollo Social y Familia, su reclamo no ha sido acogido porque:<br><br>'+
60			'{2}<br><br>Informamos que la Ley N°21.225, que regula el Bono de Emergencia COVID, señaló como beneficiarios a quienes pertenecían a los siguientes grupos:<br>' +
61			'a) Familias beneficiarias del <strong>Subsidio Familiar</strong> al 29 de febrero de 2020 (SUF).<br>' +
62			'b) Familias que son parte del <strong>Sistema Seguridades y Oportunidades</strong> al 29 de febrero de 2020.<br>' +
63			'c) Hogares que al 1 de abril de 2020 pertenezcan al <strong>60% más vulnerable</strong>, según el Registro Social de Hogares, que además no tengan ingresos formales por trabajo ni por pensión y que no sean beneficiarias por sus cargas o causantes de Subsidio Familiar o Asignación Familiar, y no formen parte del sistema de Seguridades y Oportunidades.<br>' +
64			'<br><br><br>INSTITUTO DE PREVISIÓN SOCIAL</div><div class="clearfix"></div></div></div>',
65
66		templateExclusion: '<tr><td><label for="check-{0}" class="sr-only">Check Box {0}</label>'+
67							 '<input type="checkbox" class="checkbox-cargas" id="check-{0}" value="{1};{2};{3};{4};{5};{6};{7};{8}">'+
68							'</td><td class="run-causal">{9}</td>'+
69							'<td stylee="display:none">
69<a onclick="afper.mostrarDetalleExclusiones(\'{9}\',\'{10}\',\'{11}\')" class="icon margin-right-0-5" data-toggle="modal" data-target="#modal-exclusiones"><span class="fa fa-search"></span>Detalle Exclusión</a></td>'+
70							'</tr>',
71		refCausalesTH: "#causalesth",
72		templateLineaReclamo: '<tr data-anno="{0}"><td  class="sorting_1" >{1}</td><td>{2}</td><td>{3}</td><td><time datetime="{4}">{4}</time></td><td>{6}</td>{5}</tr>',
73		templateColumnaSUSESO: '<td><a onclick="afper.consultarDetalleReclamo({0},{1});" class="icon margin-right-0-5" data-toggle="modal" data-target="#modal-causales">'+'<span class="fa fa-search"></span>Detalle</a></td>',
74		templateTablaReclamo: '<table class="table table-custom tabla-reclamos-generados"><thead><tr><th>RUN carga</th><th>Folio N&ordm;</th><th>Estado</th><th>Fecha de ingreso</th><th>Entidad Administradora</th><th>Ver</th></tr></thead><tbody>{0}</tbody></table>',
75		refListaReclamos: "#lista-reclamos",
76		// INGRESAR RECLAMO
77        ingresarReclamo: function () {
78            //valida y consulta reclamo por rut
79        	mostrarCargando();
80            var datosConsulta = afper.validarDatosFormConsulta();
81
82//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
83		    var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)            
84            
85            if($(".val-correo.form-control.validar-excluyente").val().length == 0 && ignorarCorreo == 0){
86                    var mensaje2 = 	"<div class='lb-alerta'>" +
87                                        "<h3>No se ha ingresado correo electrónico</h3>" +
88                                       "<p>" +
89                                            "Hemos detectado que no ha ingresado un correo electrónico para contacto. Recuerde que este es el medio" +
90                                            " por el cual se le notificarán los estados de avance de su reclamo. Le solicitamos ingresar un correo de contacto." +
91                                       "</p>" +
92                                       '<div style="text-align: center;margin-top: 14px;">' +
93                                            '<button type="button" class="btn btn-primary btn-con-correo btn-cerrar" style="display: inline-block;margin-right: 10px;">Agregar correo</button>' +
94                                            '<button type="button" class="btn btn-primary btn-gris-oscuro btn-sin-correo btn-cerrar" style="display: inline-block;">Continuar sin correo</button>' +
95                                       '</div>' +
96                                   '</div>';
97                    
98                    
99    			     //alertCustom(mensaje2, "No ha ingresado su correo", "warning");
100                    generarLightbox(mensaje2, ".btn-cerrar");
101
102                    
103                   
104
105                    $(".btn-sin-correo").on("click", function(){
106                        ignorarCorreo = 1;
107                        //$(".panel-nuevo-reclamo .btn-listo").trigger("click");
108
109
110
111                        $(this).closest(".alert.alert-dismissible.alert-custom").find("button.close").trigger("click");
112                       $(".no-requerido").removeClass("no-requerido");
113
114                        $.ajax({
115                            headers: {
116                                'Accept': 'application/json',
117                                'Content-Type': 'application/json',
118                                'X-CSRF-Token': tokenValue
119                            },
120                            dataType: 'json',
121                            async: true,
122                            type: 'POST',
123                            url: afper.urlIngresoReclamo,
124                            data: JSON.stringify(datosConsulta.data),
125                            success: afper.mostrarRespuestaFormReclamos,
126                            error: afper.manejarErrorConsulta
127                        });
128
129                       setTimeout(function(){
130                            ignorarCorreo = 0;
131                        }, 500)
132                    });
133                    $(".btn-con-correo").on("click", function(){
134                       ignorarCorreo = 0;
135                       $(this).closest(".alert.alert-dismissible.alert-custom").find("button.close").trigger("click");
136                        eliminarCargando();
137                    });
138
139            }else {
140                    ignorarCorreo = 0;
141                    $.ajax({
142		                headers: {
143		                    'Accept': 'application/json',
144		                    'Content-Type': 'application/json',
145		                    'X-CSRF-Token': tokenValue
146		                },
147		                dataType: 'json',
148		                async: true,
149		                type: 'POST',
150		                url: afper.urlIngresoReclamo,
151		                data: JSON.stringify(datosConsulta.data),
152		                success: afper.mostrarRespuestaFormReclamos,
153		                error: afper.manejarErrorConsulta
154		            });
155            }
156        },
157        
158        manejarErrorFrmReclamo: function () {
159            $("#errorMsgReclamo").show();
160        },
161        // INGRESAR RECLAMO OK!
162        mostrarRespuestaFormReclamos: function (result, textStatus, jqXHR) {
163        	
164        	//if(result.length > 0){
165        	//	var res = result[0];
166            if (result.status === 'success') {
167            	//	cerrar form
168                	$(".panel-group").first().find(".panel-title a").trigger("click");
169                $('input[type=checkbox][class=checkbox-cargas]:checked').each(function (){
170                    var cargas= cargas + $(this).val() + "|";
171                    $(this).remove();
172                });
173            		eliminarCargando();
174	                var numeroReclamo = result.reclamo.nroFolio;
175	               	                
176	                var reclamosi = result.reclamosIngresados;
177	               
178	                //Codigo disenio
179	                	
180	                	var botonIngresar = '';
181	                	
182	                	if(result.reclamo.ultimoReclamo){              		
183	                		
184	                		$(".panel-body").html("<p>Usted registra un reclamo ingresado, el que se enviar&aacute; a la entidad que corresponda para su resoluci&oacute;n.</p>");
185	                		$(".panel-footer").hide();
186	                	}
187	                		
188	                	botonIngresar = "<div class='col-xs-12 col-md-5 margin-bottom-0-5'>" +
189	                         "<button type='button' class='btn btn-primary btn-block btn-accion' id='ingresar-nuevo-reclamo'>Ingresar reclamo por otra carga</button>" +
190	                         	"</div>";
191	                	
192	                	var mensajeFolios = "El reclamo folio N&ordm; " + numeroReclamo + " ha sido ingresado con éxito";
193
194	                	         
195	                	if(!(typeof reclamosi === "undefined") && reclamosi.length > 1){
196	                		
197	                		var folios = '';
198	                		var folio = '';
199	                		
200	                		for (var i=0; i< reclamosi.length ; i++){	            				
201	                			folio = reclamosi[i];	                		
202	            				if(i == 0){	            					
203	            					folios = folio;
204	            				}else{	            					
205	            					folios += ', '+folio;	            					
206	            				}
207	                		
208	                		}
209	                		
210	            			mensajeFolios = "Los reclamos con folios N&ordm; " + folios + " han sido ingresados con éxito";
211	                	}
212	                	
213	                    var mensaje = 	mensajeFolios + 
214	                                    "<div class='row margin-top-1 modal-post-reclamo'>" +botonIngresar + 
215	                                        "<div class='col-xs-12 col-md-5 margin-bottom-0-5'>" +
216	                                            "<a href='desplegarPDF' target='_blank' ><button  class='btn btn-primary btn-block btn-gris-oscuro btn-imprimir-2'>Imprimir reclamo</button></a>" +
217	                                        "</div>" +
218	                                        "<div class='col-xs-12 col-md-2 margin-bottom-0-5'>" +
219	                                            "<button type='button' class='btn btn-primary btn-block btn-gris-oscuro' id='cerrar-mensaje-exito' onclick=\"ga('send', 'event', 'Navegacion', 'reclamo-exitoso', 'AFP2016');\">Cerrar</button>" +
220	                                        "</div>" +
221	                                    "</div>";
222	                    alertCustom(mensaje, "Reclamo ingresado exitosamente", "success");
223
224	                    $(".modal-post-reclamo").closest(".alert.alert-success").find("button.close[data-dismiss]").attr("onclick", "ga('send', 'event', 'Navegacion', 'reclamo-exitoso', 'AFP2016');");
225
226	                    //funciones para alerta
227	                    $("#cerrar-mensaje-exito").off("click");
228	                    $("#cerrar-mensaje-exito").on("click", function(){
229	                        $(this).closest(".alert.alert-custom.fade").find("button.close").trigger("click");
230	                    });
231	                    $("#ingresar-nuevo-reclamo").off("click");
232	                    $("#ingresar-nuevo-reclamo").on("click", function(){
233	                        $(this).closest(".alert.alert-custom.fade").find("button.close").trigger("click");
234	                        $(".panel-group").first().find(".panel-title a").trigger("click");
235	                    });
236	                    
237	                    //resetear valores
238	                    $(".check-todos").prop("checked", false);
239	                    $(".checkbox-cargas").prop("checked", false);
240	                    $("#declaracion").prop("checked", false);
241	                    $("select.codigo-area-2").val("seleccione");
242
243	                    $(".validar-excluyente").val("");
244	                    $(".rut-agregado").val("");
245	                    $(".codigo-area").val("seleccione");
246	                    $(".completar-run, .completar-run-2").val("");
247
248	                    $(".con-error").removeClass("con-error");
249	                    $(".form-group.temp-group").removeClass("temp-group");
250	                    $("p.mensaje-error").remove();
251	                    
252	                    if( $("body").hasClass("form-reclamo-grupo-familiar") == false 
253	                    		&& $("body").hasClass("form-reclamo-3") == false &&
254	                    		$('input[type=checkbox][class=checkbox-cargas]').length > 0){
255	                      //  $(".panel-nuevo-reclamo .btn-listo").attr("disabled", "");
256	                    }
257	                    /*
258	                    if($(".rut-agregado").length > 0){
259	                        $(".rut-agregado").val("");
260	                        for(k=0; k<$(".rut-agregado").length; k++){
261	                            if(k>0){
262	                                $(".rut-agregado").eq(k).closest("tr").addClass("temp-delete");
263	                            }
264	                        }
265	                        $(".temp-delete").remove();
266	                    }*/
267	                    
268	                    
269	                    
270	                    
271	                    $(".no-requerido").removeClass("no-requerido");
272	                    
273	                    $(this).closest(".panel-group").find(".panel-title a").trigger("click");
274///////////////////////////////////////////////////////////////77	                
275	                //}
276	                
277	                if( $(".panel-nuevo-reclamo .run-carga input").length == 0 ){
278	    				//var fecha = new Date();
279	    				//añadir fila con datatables
280	                    /*var separador = fecha.toLocaleDateString().indexOf("-") != -1 ? "-" : "/";
281	                    for(var ii = 0; ii < listaReclamos.length; ii++){
282	                    	var nTr = table.row.add( [
283		    					listaReclamos[ii].rut+"-"+listaReclamos[ii].dv,
284		    					listaReclamos[ii].idReclamo,
285		    					listaReclamos[ii].estadoReclamo,
286		    					(anadirCero(2, fecha.toLocaleDateString().split(separador)[0]) + "-" + anadirCero(2, fecha.toLocaleDateString().split(separador)[1]) + "-" + fecha.toLocaleDateString().split(separador)[2]),
287		    					'<a href="#" class="icon margin-right-0-5" data-toggle="modal" data-target="#modal-causales"><span class="fa fa-search"></span>Detalle</a>'
288		    				] ).draw(false);
289		    				var esteTr = table.row(nTr).node();
290		    				$(esteTr).attr("data-anno", 2016);
291	                    }
292	    				
293	    				if (table.page.info().pages < 2) {
294	    					$('#DataTables_Table_0_paginate').hide();
295	    				} else {
296	    					$('#DataTables_Table_0_paginate').show();
297	    				};
298	    				table.order([3, 'des']).draw();*/
299	    			}
300	                afper.refrescarListaReclamos(result.listaReclamos, result.reclamo.rut);
301	                //Fin codigo disenio
302	                
303	                /* Agregar variables a ventana de print */
304	                $('#numReclamo').text(numeroReclamo);
305	                $('#p_fono').text(result.reclamo.tlf);
306	                $('#p_email').text(result.reclamo.email);
307	                $('#p_direccion').text(result.reclamo.direccion);
308	                
309	                /* Mostrar tabla cuando es suseso
310	                if(result.reclamo.tipoReclamo=='SUSESO'){
311						$('.modal-body').show();
312					}else{
313						$('.modal-body').hide();
314					} */
315                 // afper.pedirToken();
316                  afper.validarNumeroSerie();
317	            } else {
318	            	eliminarCargando();
319	            	generarLightbox("<section class='modal-error'><h1>Error inesperado</h1><ul><li>Error al intentar guardar el reclamo, intente nuevamente.</li></ul></section>")
320				    afper.validarNumeroSerie();
321	            }
322        	//}
323        },
324
325        refrescarToken: function(result, textStatus, jqXHR){
326            //$("#tokenFormRandomString").val(result.randomNumber);
327			afper.tokenForm = result.randomNumber;
328            afper.skipvalidation = false;
329		},
330
331		pedirToken: function(){
332            afper.skipvalidation = true;
333            var rut = $("#input-rut-reclamo").val();
334            var dv = $("#input-rut-dv").val();
335            var serie = $("#input-numero-serie").val();
336            var tipoReclamo = $("#input-tipo-reclamo").val();
337            var anioPeriodo = $("#input-periodo-reclamo").val();
338            $("#msg-numero-serie-error-inesperado").hide();
339//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
340            var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)
341
342            var datosConsulta = {
343                rut : rut,
344                dv : dv,
345                serie: serie,
346                tipoReclamo: tipoReclamo,
347                anioPeriodo: anioPeriodo
348            };
349            $.ajax({
350                headers: {
351                    'Accept': 'application/json',
352                    'Content-Type': 'application/json',
353                    'X-CSRF-Token': tokenValue
354                },
355                dataType : 'json',
356                async : true,
357                type: 'POST',
358                url: afper.urlValidarNumeroSerie,
359                data: JSON.stringify(datosConsulta),
360                success: afper.refrescarToken,
361                error: afper.manejarErrorNumeroSerie
362            });
363		},
364
365        habilitarBotonEnviar: function(){
366			// Deshabilitado.
367            if (afper.anyRutChecked()){
368                $(".btn-listo").removeAttr("disabled").removeAttr("title");
369            } else {
370                //   console.log("Deshabilitando botón");
371                $(".btn-listo").attr("disabled", "").attr("title", "Seleccione al menos una carga para continuar");
372            }
373            return;
374
375
376          /*  console.log("Cambió");
377            console.log(afper.declaracionChecked());
378            console.log(afper.anyRutChecked());
379            console.log(afper.regionComunaChecked());
380            console.log(afper.mailOrPhoneValid());
381            console.log(afper.direccionValida());
382            if (afper.declaracionChecked() && afper.anyRutChecked() && afper.regionComunaChecked() && afper.mailOrPhoneValid() && afper.direccionValida() && afper.nombreValido()){
383              //  console.log("Hablitando el botón");
384                $(".btn-listo").removeAttr("disabled").removeAttr("title");
385            } else {
386             //   console.log("Deshabilitando botón");
387                $(".btn-listo").attr("disabled", "").attr("title", "Seleccione al menos una carga para continuar");
388            }
389            */
390        },
391
392		/*
393		nombreValido: function() {
394            var valorDireccion = $("#nombre-reclamo").val();
395            return valorDireccion != null && valorDireccion.length > 0;
396		},
397
398        direccionValida: function(){
399            var valorDireccion = $("#run-direccion-reclamo").val();
400            return valorDireccion != null && valorDireccion.length > 0;
401        },
402
403        mailOrPhoneValid: function(){
404            var correo = $("#correo-reclamo").val();
405            var correoNoNulo = correo != null;
406
407
408            if (correoNoNulo){
409                var correoNoVacio = correo.length > 0;
410                if (correoNoVacio){
411                    return true;
412                }
413			}
414            var telefonoNormal = $("#telefono-reclamo2").val();
415            var codigoNormal = $("#codigo-area-2").val();
416            var codigoYtelefonoNoNulos = codigoNormal != null && telefonoNormal 
416!= null;
417            if (codigoYtelefonoNoNulos){
418                var telefonoYCodigoNoVacio = telefonoNormal.length > 0 && codigoNormal.length > 0;
419                var codigoBueno = codigoNormal != "seleccione";
420                if (telefonoYCodigoNoVacio && codigoBueno){
421                    return true;
422                }
423            }
424            return false;
425        },
426
427        declaracionChecked: function() {
428            return $("#declaracion").prop("checked");
429        },
430        */
431
432        anyRutChecked: function(){
433            var elem = $(".tabla-causales tbody input[type=checkbox]"),
434                ctos = elem.length,
435                checked = 0;
436            console.log("ctos" +ctos);
437            for(i=0; i < ctos; i++){
438                if( elem.eq(i).prop("checked") == true ){
439                    checked++;
440                }
441            }
442            console.log("checked"+checked);
443            return checked > 0 || afper.excepcionMINDES || afper.sinCausantes;
444        },
445
446		/*
447        regionComunaChecked: function(){
448           // console.log("Region reclamo es: ");
449            //console.log($("#region-reclamo").val());
450            var notCheckedRegion =  $("#region-reclamo").val() == null || $("#region-reclamo").val() == "seleccione";
451            //console.log(notCheckedRegion);
452            //console.log("Comuna reclamo es: ");
453            //console.log($("#comuna-reclamo").val());
454            var notCheckedComuna =  $("#comuna-reclamo").val() == null || $("#comuna-reclamo").val() == "seleccione";
455            //console.log(notCheckedComuna);
456            return !(notCheckedRegion || notCheckedComuna);
457
458        },*/
459
460        refrescarListaReclamos1: function(reclamos, rut){
461			var listaReclamos = [''];
462			var filaReclamo = null;
463			var reclamo = null;
464			var tipoReclamo = null;
465			var nombreEntAdm = '';
466			var totalCheckboxes = $('input[type=checkbox][class=checkbox-cargas]').length;
467			for (var i=0; i< reclamos.length ; i++){
468				
469				reclamo = reclamos[i];
470				
471
472				tipoReclamo = reclamo.entidadOrigen;
473
474				var idReclamo = reclamo.idReclamo;
475				var estadoReclamo = reclamo.estadoReclamo;
476				var fechaIngreso = reclamo.fechaIngresoF;
477				var anno = reclamo.anno;
478				nombreEntAdm = reclamo.entidadAdm;
479				
480			
481				//if(rut==reclamo.rut && totalCheckboxes == 0){
482				if(totalCheckboxes == 0){
483            		$(".panel-body").html("<p>Usted registra un reclamo ingresado, el que se enviar&aacute; a la entidad que corresponda para su resoluci&oacute;n.</p>");
484            		$(".panel-footer").hide();
485            	}
486				
487				var colVerDetalle = '';
488				var colRUN;
489
490				if(tipoReclamo=='SUSESO'){
491
492					colRUN = reclamo.rutEnmascarado;
493					//colVerDetalle = afper.formatearMensaje(afper.templateColumnaSUSESO, idReclamo);
494					//$('.modal-body').show();
495				}else{
496					if(tipoReclamo=='MINDES'){
497						colRUN = 'Grupo Familiar';
498
499					}else{
500						colRUN = reclamo.rutEnmascarado;
501
502					}
503					//$('.modal-body').hide();
504				}
505				colVerDetalle = afper.formatearMensaje(afper.templateColumnaSUSESO, rut, idReclamo);
506				filaReclamo = afper.formatearMensaje(afper.templateLineaReclamo, anno, colRUN, idReclamo, estadoReclamo, fechaIngreso, colVerDetalle, nombreEntAdm);
507				listaReclamos.push(filaReclamo);
508			}
509			
510			var contenido = listaReclamos.join('');
511            reclamo = reclamos[i];
512			var contenidoFinal = afper.formatearMensaje(afper.templateTablaReclamo,contenido);
513			
514			$(afper.refListaReclamos).html(contenidoFinal);
515			$(afper.refDetalleReclamo).show();
516			$('#seleccionar-anno').val(reclamo.anno+'').change();
517			
518        },
519        refrescarListaReclamos: function(reclamos, rut){
520			var reclamo = null;
521			var tipoReclamo = null;
522			var nombreEntAdm = '';
523			var totalCheckboxes = $('input[type=checkbox][class=checkbox-cargas]').length;
524			////////////////////////////////////
525			var tablaReclamos = $('#DataTables_Table_0').DataTable();
526			tablaReclamos.clear();
527			for (var i=0; i< reclamos.length ; i++){
528				
529				reclamo = reclamos[i];
530				
531				tipoReclamo = reclamo.entidadOrigen;
532
533				var idReclamo = reclamo.idReclamo;
534				var estadoReclamo = reclamo.estadoReclamo;
535				var fechaIngreso = reclamo.fechaIngresoF;
536				var anno = reclamo.anno;
537//				var periodo = reclamo.periodo;
538				var nroFolio = reclamo.nroFolio;
539				nombreEntAdm = reclamo.nombreEntAdm;
540				
541				if(totalCheckboxes == 0){
542            		$(".panel-body").html("<p>Usted registra un reclamo ingresado, el que se enviar&aacute; a la entidad que corresponda para su resoluci&oacute;n.</p>");
543            		$(".panel-footer").hide();
544            	}
545				
546				
547				var colVerDetalle = '';
548
549				if(tipoReclamo=='SUSESO'){					
550					colRUN = reclamo.rutEnmascarado;
551
552				}else{
553					if(tipoReclamo=='MINDES'){
554						colRUN = 'Grupo Familiar';
555
556					}else{
557						colRUN = reclamo.rutEnmascarado;
558
559					}
560				}
561				colVerDetalle = afper.formatearMensaje(afper.templateColumnaSUSESO, rut, idReclamo);
562				
563				var rowNode = tablaReclamos
564				    .row.add( [ colRUN, nroFolio, estadoReclamo, fechaIngreso, nombreEntAdm, anno, colVerDetalle ]  )
565				    .draw(false)
566				    .node();
567				 
568				$(rowNode)
569					.attr('data-anno', anno);
570			
571			}
572            reclamo = reclamos[0];
573			$('#seleccionar-anno').val(reclamo.anno+'').change();
574			///////////////////////////////////
575						
576        },
577        validarDatosFormConsulta: function () {
578            console.log('validar informacion del formulario extranet');
579            // Prepara un objeto con el resultado de la validacion y los datos de la consulta a enviar al servidor                   
580            var respuesta = {
581                datosValidos: false
582            };
583
584            try {
585                // Valida el RUT ingresado y obtiene sus partes
586                var rutCompleto = $("#run-reclamo").val();
587                var partesRut = rutCompleto.split('-');
588                var rut = partesRut[0].replace(/\./g, '');
589                var dv = partesRut[1];
590                
591                rutCompleto = $("#run-reclamo-carga").val();
592                partesRut = rutCompleto.split('-');
593                var rutCarga = partesRut[0].replace(/\./g, '');
594                var dvCarga = partesRut[1];
595              
596                var cargas = "";
597                $('input[type=checkbox][class=checkbox-cargas]:checked').each(function (){
598                     cargas= cargas + $(this).val() + "|";
599                     console.log("cargas"+cargas);
600                   // $(this).remove();
601                });
602                
603             
604
605                cargas = cargas.substr(0, cargas.length - 1);
606                console.log("CARGAS" +cargas);
607                respuesta.data = {
608                    rut         : rut,
609                    dv          : dv,
610                    nombre      : $("#nombre-reclamo").val(),
611                    fechaNacimiento: $("#fecha-nacimiento").val(),
612                    runCarga    : rutCarga,
613                    dvCarga     : dvCarga,
614                    nombreCarga : $("#nombre-reclamo-carga").val(),
615                    fechaNacimientoCarga:  $("#fecha-nacimiento-carga").val(),
616                    direccion   : $("#run-direccion-reclamo").val(),
617                    comuna      : $("#comuna-reclamo").find(":selected").val(),
618                    comunaDesc  : $("#comuna-reclamo").find(":selected").text(),
619                    tlf         : $("#telefono-reclamo").val(),
620                    email       : $("#correo-reclamo").val(),
621                    region      : $("#region-reclamo").val(),
622                    cargas: cargas,
623                    tipoReclamo: $("#tipo-reclamo").val(),
624                    ultimoReclamo: $("#ultimo-reclamo").val(),
625                    periodo: $("#input-periodo-reclamo").val()  ,
626			//		randomNumber: $("#tokenFormRandomString").val()
627                    randomNumber: afper.tokenForm
628                };
629
630                var totalCheckboxes = $('input[type=checkbox][class=checkbox-cargas]').length;
631                console.log("totalCheckboxes" +totalCheckboxes);
632                
633                if(totalCheckboxes == 0 ){
634 
635                	$("#ultimo-reclamo").val("true");
636                //	$("btn-enviar-form").removeAttr("disabled").removeAttr("title");
637                	$(afper.refCausalesTH).html('<tr><th></th><th>'+rutCompleto+'</th></tr>');
638					$("#causales").hide();
639					
640                }
641                // Indica que se aprobaron todas las validaciones
642                respuesta.datosValidos = true;
643            } catch (err) {
644                //console.log('Error: ' + err);
645                // Nothing
646            }
647
648            return respuesta;
649        },
650        ////////////////////////////////////////////////////////////////////////////
651		
652		validarNumeroSerie: function () {
653			mostrarCargando();
654			var rut = $("#input-rut-reclamo").val();
655			var dv = $("#input-rut-dv").val();
656			var serie = $("#input-numero-serie").val();
657			var tipoReclamo = $("#input-tipo-reclamo").val();
658			var anioPeriodo = $("#input-periodo-reclamo").val();
659			$("#msg-numero-serie-error-inesperado").hide();
660//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
661		    var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)
662			
663			var datosConsulta = {
664					rut : rut,
665					dv : dv,
666					serie: serie,
667					tipoReclamo: tipoReclamo,
668					anioPeriodo: anioPeriodo
669			};
670            console.log(datosConsulta);
671			// Envía los datos de consulta al servidor
672			$.ajax({
673				headers: { 
674			        'Accept': 'application/json',
675			        'Content-Type': 'application/json',
676			        'X-CSRF-Token': tokenValue
677			    },
678			    dataType : 'json',
679			    async : true,
680				type: 'POST', 
681				url: afper.urlValidarNumeroSerie,
682				data: JSON.stringify(datosConsulta),
683				success: afper.mostrarFormularioReclamo,
684				error: afper.manejarErrorNumeroSerie
685			});
686
687			return true;
688		},
689		manejarErrorNumeroSerie: function(){
690			
691			//console.log('manejarErrorNumeroSerie');
692			afper.validezEste = 0;
693			$("#msg-numero-serie-error-inesperado").show();
694		    $("#input-numero-serie").addClass("con-error");
695		    eliminarCargando();
696		    afper.skipValidation = false;
697		},
698		mostrarFormularioReclamo: function (result, textStatus, jqXHR) {
699            //console.log('Respuesta: ' + JSON.stringify(result));
700            $('#input-periodo-reclamo').prop('disabled', 'disabled');
701
702            if (result.status === 'success') {
703                //console.log("succes");
704               	if (result.code == 4){
705                    //console.log("fail 4");
706            		$("#msg-numero-serie-error-inesperado").show();
707            	}else {
708                    afper.skipValidation = true;
709
710                    $(afper.refRegion).val($("#p_idregion").text()).change().click();
711                    setTimeout(function () {
712                        $("#comuna-reclamo").val($("#p_idcomuna").text());
713                    }, 1000);
714
715
716                    if ($("#codigo-area-2").val() != null
717                        && $("#telefono-reclamo2").val() != null
718                        && $("#correo-reclamo").val() != null) {
719
720                        if ($("#codigo-area-2").val().length > 0 || $("#telefono-reclamo2").val().length > 0 || $("#correo-reclamo").val().length > 0) {
721                            $("#codigo-area-2").trigger("focusout");
722                            $("#telefono-reclamo2").trigger("focusout");
723                            $("#correo-reclamo").trigger("focusout");
724                        }
725
726                    }
727
728                    afper.idReclamos = {};
729                    var benef = result.beneficiario;
730
731                    if (benef != null) {
732                        if ($("#nombre-reclamo").val().trim() == '') {
733                            $(afper.refNombreBenef).html(afper.formatearNombreCompleto(benef.nombres, benef.apellidoPaterno, benef.apellidoMaterno));
734                            $("#nombre-reclamo").val(afper.formatearNombreCompleto(benef.nombres, benef.apellidoPaterno, benef.apellidoMaterno));
735                        }
736                        if ($("#fecha-nacimiento").val().trim() == '') {
737                            $("#fecha-nacimiento").val(benef.fechaNacimiento);
738                        }
739
740                    }
741
742                    if ($.trim($("#nombre-reclamo").val()) != '') {
743                        $("#nombre-reclamo").attr("readonly", true);
744                        $("#nombre-reclamo").removeClass("val-nombre-completo");
745                    } else {
746                        $("#nombre-reclamo").removeAttr("readonly");
747                        $("#nombre-reclamo").addClass("val-nombre-completo");
748                    }
749
750                    $("#ultimo-reclamo").val(result.ultimoReclamo);
751                    var mindes = $("#esMindes").val();
752                    if (mindes == "true") {
753                        afper.excepcionMINDES = true;
754                        $(".btn-listo").removeAttr("disabled").removeAttr("title");
755
756
757                    } else{
758                        afper.excepcionMINDES = false;
759                    }
760                    // $("#tokenFormRandomString").val(result.randomNumber);
761					afper.tokenForm = result.randomNumber;
762	                
763	                var data = result.ciudadanos;
764
765	            	var tablasExclusion = [''];
766					var tablaExclusion = null;
767					var i = 0;
768
769					if (data.length == 0){
770                        afper.sinCausantes = true;
771                        $(".btn-listo").removeAttr("disabled").removeAttr("title");
772
773					}
774					else{
775						afper.sinCausantes = false;
776					}
777	
778	                $.each(data, function (val, text) {
779	                         
780	                     var rutcausante = text.rut;
781	                     var dvcausante = text.dv;
782	                     var fullRut = rutcausante + '-' + dvcausante;
783	                     var rutEnmasc = text.rutEnmascarado;
784	                     
785	                     var nombre = afper.formatearNombreCompleto(text.nombres, text.apellidoPaterno, text.apellidoMaterno)
786	                     var fechanac = text.fechaNacimiento;
787	                     var entAdmin = text.codigoEntidad;
788                       	 var excl = text.exclusiones;
789                       	 var fecRecCausante = text.fechaReconocimientoS;
790                       	 var entAdminD = text.nombreEntidadAdm;
791                       	 var fecExtincion = text.fechaExtincionS;
792                       	 var tipoBeneficio = 0;
793                       	 if(text.datosBeneficio != null){
794                       		tipoBeneficio = text.datosBeneficio.tipoBeneficio; 
795                       	 }
796                       	 
797                       	 var causales = '';
798						 var causalesD = '';
799	                       	
800	                       	$.each(excl, function (val1, text) {
801	                       		if(val1==0 ){
802	                       			causales = text.codigo;
803									causalesD = text.descripcion;
804	                       		}else{
805	                       			causales += ',' + text.codigo ;
806									causalesD += '|' + text.descripcion;
807								}
808	                       	});
809	            			tablaExclusion = afper.formatearMensaje(afper.templateExclusion, i,fullRut,nombre,fechanac,entAdmin, fecRecCausante, tipoBeneficio, fecExtincion, causales, rutEnmasc, causalesD, entAdminD);
810	            			tablasExclusion.push(tablaExclusion);
811	            			i++; 
812	                }); // fin del each 
813	                
814	                var mensajeFinal = tablasExclusion.join(''); 				
815					$("#causales").html(mensajeFinal);
816					if(i>0){
817						// si tiene causantes coloca el check de obligatorio
818						$(afper.refCausalesTH).html('<th><label for="check-todos" class="sr-only">Seleccionar todos</label><input type="checkbox" id="check-todos" class="check-todos"></th><th>RUN</th>');
819						$("#tablaCausales").show();
820						$("#causales").show();
821						$(".panel-nuevo-reclamo .btn-listo").attr("disabled", "disabled");
822						$(".check-todos").on("change", function(){
823							if( $(this).prop("checked") == true ){
824								$(".checkbox-cargas").prop("checked", true);
825								//$(".btn-listo").removeAttr("disabled").removeAttr("title");
826							} else {
827								$(".checkbox-cargas").prop("checked", false);
828								$(".check-todos").prop("checked", false);
829							//	$(".btn-listo").attr("disabled", "").attr("title", "Seleccione al menos una carga para continuar");
830							}
831						});
832						$(".tabla-causales tbody input.checkbox-cargas").on("change", function(){
833							var elem = $(".tabla-causales tbody input[type=checkbox]"),
834								ctos = elem.length,
835								checked = 0;
836							for(i=0; i < ctos; i++){
837								if( elem.eq(i).prop("checked") == true ){
838									checked++;
839								}
840							}
841							if(checked < ctos){
842								$(".check-todos").prop("checked", false);
843							} else if(checked == ctos){
844								$(".check-todos").prop("checked", true);
845							}
846
847							if(checked > 0 ){
848								//$(".btn-listo").removeAttr("disabled").removeAttr("title");
849							} else {
850								//$(".btn-listo").attr("disabled", "").attr("title", "Seleccione al menos una carga para continuar");
851							}
852						});
853
854					}else{
855
856			    	$("#ultimo-reclamo").val("true");
857			    	$(afper.refCausalesTH).html('<tr><th></th><th>'+$("#run-reclamo").val()+'</th></tr>');
858					$("#causales").hide();
859	
860					}
861					
862					
863					$(".panel-nuevo-reclamo .btn-numero-serie").closest(".numero-serie-new").css("position", "absolute").fadeOut();
864					$(".panel-nuevo-reclamo .btn-numero-serie").closest(".panel-group").find(".panel-footer, .ocultar-temporal").fadeIn();
865					setTimeout(function(){ $(".panel-nuevo-reclamo .btn-numero-serie").closest(".numero-serie").remove(); }, 1000);
866                    afper.skipValidation = false;
867            	}
868            
869            	eliminarCargando();
870                $("#correo-reclamo").focus();
871            } else {
872            	
873            	if (result.code == 7){
874            		// con reclamos por defecto
875            		$(".panel-body").html("<p>Usted registra un reclamo ingresado, el que se enviar&aacute; a la entidad que corresponda para su resoluci&oacute;n.</p>");
876            		//$("#msg-error-numero-limite-reclamos").show();  
877            		$("#btn-ingresar-reclamo").html('');
878            		afper.validezEste = 0;
879        		    eliminarCargando();
880            	}
881            	else if(result.code == 77){
882					// con reclamos en tramite y MINDES
883					$(".panel-body").html("<p>Su reclamo ha sido derivado al Ministerio de Desarrollo Social y Familia, organismo que debe determinar si procede o no el pago del Bono Covid-19.</p>");
884					//$("#msg-error-numero-limite-reclamos").show();
885					$("#btn-ingresar-reclamo").html('');
886					afper.validezEste = 0;
887					eliminarCargando();
888				}
889            	else{
890            		if (result.code == 5){
891                		$("#msg-error-pagos-asociados").show();    
892                		$("#btn-ingresar-reclamo").html('');
893                		afper.validezEste = 0;
894            		    eliminarCargando();
895                	}else{
896            			if (result.code == 2){
897                    		$("#msg-numero-serie-error-inesperado").show();
898                    		afper.validezEste = 0;
899                		    eliminarCargando();
900                    	}else{
901                    		if (result.code == 3){
902                        		$("#msg-numero-serie-no-valido").show();
903                        		afper.validezEste = 0;
904                    		    eliminarCargando();
905                        	}else{
906                        		if (result.code == 6){
907
908                            		var causantes = result.ciudadanos;
909                            		if(causantes.length>0){
910
911                            			var causante = causantes[0];
912                            			if(causante != null){
913                            			     $(afper.refNombreBenef).html(afper.formatearNombreCompleto(causante.nombres, causante.apellidoPaterno, causante.apellidoMaterno));
914                            			}
915                            		}
916                            		$("#msg-error-es-causante").show();
917                            		$("#btn-ingresar-reclamo").html('');
918                            		afper.validezEste = 0;
919                        		    eliminarCargando();
920                            	}else{
921                            		afper.manejarErrorNumeroSerie();
922                        		}
923                    		}
924                		}
925
926                	}
927            		
928            	}
929				
930			}
931
932        },
933		
934			
935		consultarDetalleReclamo: function(rut, numreclamo){
936			// Envía los datos de consulta al servidor
937//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
938		    var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)
939			var datosConsulta = {
940					rut        : rut,
941					numReclamo : numreclamo
942			};
943			$(afper.refNumReclamo).html(numreclamo);		    
944			$.ajax({
945				headers: { 
946			        'Accept': 'application/json',
947			        'Content-Type': 'application/json',
948			        'X-CSRF-Token': tokenValue
949			    },
950			    dataType : 'json',
951				type: 'POST', 
952				url: afper.urlBuscarDetalleReclamo,
953				data: JSON.stringify(datosConsulta),				
954				success: afper.mostrarRespuestaConsulta,
955				error: afper.manejarErrorConsulta
956			});
957		},
958		mostrarRespuestaConsulta: function(result, textStatus, jqXHR){			// Verifica la accion a seguir en caso de respuesta exitosa
959			 
960			if (result.status === 'success'){
961				afper.mostrarDetalleReclamo(result.detalle);
962			} else {
963				afper.procesarErrorRespuesta();
964			}
965		},
966		procesarErrorRespuesta: function(){
967			$(afper.refDetalleReclamo).hide();
968		},
969		manejarErrorConsulta: function(jqXHR, textStatus, error){
970			/*console.log('Error en la consulta de detalle Reclamo.');
971			console.log('jqXHR: ' + JSON.stringify(jqXHR));
972			console.log('textStatus: ' + textStatus);
973			console.log('error: ' + error);*/
974			eliminarCargando();
975		},
976		mostrarDetalleReclamo: function(detalles){
977				var tablasExclusion = [''];
978				var tablaExclusion = null;
979				var detalle = null;
980				console.log("desplegando la tabla de exclusiones");
981				
982				for (var i=0; i< detalles.length ; i++) {
983
984					detalle = detalles[i];
985					console.log(detalle);
986					var causal = detalle.causalExclusion;
987					var mensaje = detalle.explicacionExclusion;
988
989					var fecha = detalle.fechaModificacionF;
990					var explicacionExclusionId = detalle.explicacionExclusionId;
991
992					if (explicacionExclusionId != null && parseInt(explicacionExclusionId) > 100) {
993						console.log("Respuesta MINDES");
994						console.log("template:");
995						console.log(afper.templateDetalleRespuestaMindes);
996						console.log("-----");
997						console.log("ahora con el texto insertado:");
998						mensajeFormateado = afper.templateDetalleRespuestaMindes
999							.replaceAll('{0}', i)
1000							.replaceAll('{1}', fecha)
1001							.replaceAll('{2}', mensaje);
1002						console.log(mensajeFormateado);
1003						console.log("-----");
1004						tablasExclusion = [''];
1005						tablasExclusion.push(mensajeFormateado);
1006						break;
1007					} else {
1008						console.log("No es respuesta MINDES");
1009						tablaExclusion = afper.formatearMensaje(afper.templateDetalleLineaReclamo, i + "", causal, mensaje, fecha);
1010						tablasExclusion.push(tablaExclusion);
1011					}
1012				}
1013				
1014				var mensajeFinal = tablasExclusion.join(''); 
1015				
1016				
1017				
1018				$(afper.refDetalleReclamo).html(mensajeFinal);
1019
1020			
1021		},
1022		consultarBeneficio: function(){
1023			//$(afper.refCaptchaResponse).val($(afper.refGoogleCaptchaResponse).val());
1024			
1025        	// Llena fechaNacimiento de inputs dia, mes y anno
1026			var anno = "1900";
1027			var mes = "01";
1028			var dia = "01";
1029			if( parseInt($("#anno").val()) >= 1900 ){
1030				anno = $("#anno").val();
1031			} 
1032			if( parseInt($("#mes").val()) < 10 ){
1033				mes = "0"+$("#mes").val();
1034			} else {
1035				mes = $("#mes").val();
1036			}
1037			if( parseInt($("#dia").val()) < 10 ){
1038				dia = "0"+$("#dia").val();
1039			} else {
1040				dia = $("#dia").val();
1041			}
1042
1043			$(afper.refFechaNacimiento).val(anno+mes+dia);
1044			$(afper.refFormularioConsulta).submit();
1045			
1046		},
1047		consultarBeneficioLog: function(){
1048
1049			$(afper.refUsername).val("key");
1050			$(afper.refPassword).val("foobar");
1051			$(afper.refFormularioLogin).submit();
1052			
1053		},
1054		sessionExpirada: function(){
1055
1056			$(afper.refFormularioSessionExpirada).submit();
1057			
1058		},
1059		mostrarMensajeDatosInvalidos: function(){
1060			
1061			afper.mostrarMsgDatosIncorrectos();
1062			
1063			
1064		},
1065		mostrarMensajeCaptcha: function(){
1066			afper.mostrarCaptcha();
1067						
1068		},	
1069	
1070		mostrarMsgDatosIncorrectos: function(){
1071			$(afper.refMsgDatosIncorrectos).show();
1072		}
1073		,
1074		
1075		mostrarCaptcha: function(){
1076			//grecaptcha.reset();
1077			$("#error-2").show(); // antes estaba esta linea al final
1078			$(afper.refFormularioCaptcha).show(); // esta linea antes estaba al principio
1079		},
1080		formatearNombreCompleto: function (nombres, appPaterno, appMaterno) {
1081            nombres = (nombres) ? nombres : '';
1082            appPaterno = (appPaterno) ? appPaterno : '';
1083            appMaterno = (appMaterno) ? appMaterno : '';
1084            return afper.escaparHtml(nombres + ' ' + appPaterno + ' ' + appMaterno);//afp.escaparHtml(nombres + " " + appPaterno + " " + appMaterno).trim();
1085        },
1086        escaparHtml: (function () {
1087            var entityMap = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': '&quot;', "'": '&#39;', "/": '&#x2F;'};
1088            return function (string) {
1089                return String(string).replace(/[&<>"'\/]/g, function (s) {
1090                    return entityMap[s];
1091                });
1092            };
1093        })(),
1094		formatearMensaje : (function() {
1095			var pattern = /\{\{|\}\}|\{(\d+)\}/g;
1096			return function () {
1097				var parameters = arguments;
1098				return parameters[0].replace(pattern, function (match, group) {
1099					var value;
1100					if (match === "{{")
1101						return "{";
1102					if (match === "}}")
1103						return "}";
1104					value = parameters[parseInt(group, 10) + 1];
1105					return value ? value.toString() : "";
1106				});
1107			};
1108		})(),
1109		obtenerRegiones: function () {
1110//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
1111		    var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)
1112
1113            $.ajax({
1114                headers: {
1115                    'Accept': 'application/json',
1116                    'Content-Type': 'application/json',
1117                    'X-CSRF-Token': tokenValue
1118                },
1119                dataType: 'json',
1120                type: 'GET',
1121                url: afper.urlObtieneRegiones,
1122                success: afper.mostrarRespuestaRegiones,
1123                error: afper.manejarErrorRegiones
1124            });
1125
1126        },
1127        mostrarRespuestaRegiones: function (result, textStatus, jqXHR) {
1128
1129            //console.log('Respuesta: ' + JSON.stringify(result));
1130
1131            if (result.status === 'success') {
1132
1133                var data = result.regiones;
1134                $("#region-reclamo").find("option:gt(0)").remove();
1135                $.each(data, function (val, text) {
1136                    if(text.nombre!=0) {
1137                        $("#region-reclamo").append($('<option></option>').val(text.codigo).html(text.nombre));
1138                    }
1139                });
1140
1141            } else {
1142                //console.debug('respuesta error');
1143            }
1144
1145        },
1146        manejarErrorRegiones: function (jqXHR, textStatus, error) {
1147            //console.debug('manejando error obtiene regiones');
1148        },
1149        obtenerComunas: function () {
1150
1151            //console.debug('obtener comunas');
1152
1153            var datosObtieneComuna = {
1154                "codigo": $("#region-reclamo").val()
1155            };
1156//			var headerName = $("meta[name='_csrf_header']").attr("content"); // (1)
1157		    var tokenValue = $("meta[name='_csrf']").attr("content"); // (2)
1158
1159            //console.debug('data : ' + JSON.stringify(datosObtieneComuna.data));
1160
1161            $.ajax({
1162                headers: {
1163                    'Accept': 'application/json',
1164                    'Content-Type': 'application/json',
1165                    'X-CSRF-Token': tokenValue
1166                },
1167                dataType: 'json',
1168                type: 'POST',
1169                url: afper.urlObtieneComunasRegion,
1170                data: JSON.stringify(datosObtieneComuna),
1171                success: afper.mostrarRespuestaComunas,
1172                error: afper.manejarErrorComunas
1173            });
1174        },
1175        mostrarRespuestaComunas: function (result, textStatus, jqXHR) {
1176
1177            //console.log('Respuesta: ' + JSON.stringify(result));
1178
1179            if (result.status === 'success') {
1180
1181                var data = result.comunas;
1182                $("#comuna-reclamo").find("option:gt(0)").remove();
1183                $.each(data, function (val, text) {
1184                    $("#comuna-reclamo").append($('<option></option>').val(text.codigo).html(text.nombre));
1185                });
1186
1187            } else {
1188                //console.debug('respuesta error');
1189            }
1190
1191        },
1192        manejarErrorComunas: function (jqXHR, textStatus, error) {
1193            //console.debug('manejando error obtiene regiones');
1194        },
1195		mostrarDetalleExclusiones: function(rut ,exclusiones, entidad){
1196				var tablasExclusion = [''];
1197				var tablaExclusion = null;
1198				var detalle = null;
1199				var detalles = exclusiones.split("|");
1200				
1201				for (var i=0; i< detalles.length ; i++){					
1202					detalle = detalles[i];
1203					if( i%2 == 0 ){
1204						tablaExclusion = afper.formatearMensaje(afper.templateDetalleLineaExclusion, 'panel-body', detalle);
1205					}else{
1206						tablaExclusion = afper.formatearMensaje(afper.templateDetalleLineaExclusion, 'panel-footer', detalle);
1207					}				
1208					tablasExclusion.push(tablaExclusion);
1209				}							
1210				var mensajeFinal = afper.formatearMensaje(afper.templateHeaderExclusion,tablasExclusion.join(''));
1211				$("#modal-exclusion-label").html("Detalle de Exclusi&oacute;n ("+rut+")");
1212				$("#modal-entadmin-label").html("("+ entidad +")");
1213				$(afper.refDetalleExclusiones).html(mensajeFinal);
1214
1215			
1216		},
1217	};
1218})(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.