{{-- Creado por Fabian Sanchez, 16/11/2017.
--}}
@php
    use App\Libraries\ejLib;
    $var = ejLib::getInstance();

    $usuario = $_SESSION['operador'];
    $Centro_Sal = $var->desencriptar_AES($usuario['centro_sal'], $usuario['x']);
    $Centro_Sal = trim($Centro_Sal);

@endphp
@extends('layouts.app')

@section('title', 'Actualizar Datos de Paciente')
@section('breadcrumb')
    <li class="active">Buscar Paciente</li>
@endsection
@section('styles')
    <link href="css/bootstrap-timepicker.min.css" rel="stylesheet">
    <style>
        .text-red {
            color: red;
        }

        .error {
            color: red;
        }

        .form-control.error {
            border-color: red;
        }

        .page-header {
            border-bottom: 1px solid #3c8cbc;
        }

        #prueba, #prueba2 {
            margin-bottom: 5px;
        }

        .multi {
            padding: 4px;
            border: 1px solid #d2d6d3;
            border-radius: 3px;
            position: absolute;
            z-index: 11;
            background: white;
            width: 90%;
            -webkit-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.75);
            -moz-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.75);
            box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.75);
        }
    </style>
@endsection
@section('content')
    <div class="row">
        <div id="searchContainer" class="col-sm-12">
        </div>
        <div id="editContainer" class="col-sm-12 hidden">
            <form id="registroForm" action="">
                <input id="centro_sal" name="Centro_Sal" type="hidden" value="{{$Centro_Sal}}">
                <input id="clave_pac" name="clave_pac" type="hidden" value="">
                <div class="row">
                    <div class="col-md-12">
                        <!-- Profile Image -->
                        <div class="box box-primary">
                            <div class="box-body">
                                <h2 class="page-header" id="generales_title">
                                    Datos Generales
                                </h2>

                                <h2 class="page-header" id="afiliacion_title">
                                    Datos De Afiliación
                                </h2>

                                <h2 class="page-header" id="domicilio_title">
                                    Domicilio
                                </h2>
                            </div>
                            <div class="box-footer">
                                <a href="{{url('editPaciente')}}" class="btn btn-sm btn-danger">Regresar</a>
                                <p class="pull-right">
                                    <button type="submit" class="btn btn-sm btn-primary">Guardar</button>
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </form>
            <!-- Modal -->
            <div class="modal fade" id="defaultModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog modal-lg" role="document">
                    <div id="modalContent" class="modal-content">

                    </div>
                </div>
            </div>
        </div>
    </div>

@endsection
@section('scripts')
    <script src="js/jquery.inputmask.js"></script>
    <script src="js/jquery.inputmask.date.extensions.js"></script>
    <script src="js/modules/archivo.js"></script>
    <script>
        var jqGetAjax = function (php_url_post, objetoHTML, array_datos) {
            Pace.restart();
            var request = $.ajax({url: php_url_post, method: "POST", data: array_datos, dataType: "html"});
            request.done(function (msg) {
                $("#" + objetoHTML).html(msg);
            });
            request.fail(function (jqXHR, textStatus) {
                $("#" + objetoHTML).html("Request failed: " + textStatus);
            });
        };
        function getView(php_url_post, objetoHTML, array_datos) {
            Pace.restart();
            var request = $.ajax({url: php_url_post, method: "POST", data: array_datos, dataType: "html"});
            request.done(function (msg) {
                $("#" + objetoHTML).append(msg);
            });
            request.fail(function (jqXHR, textStatus) {
                $("#" + objetoHTML).append("Request failed: " + textStatus);
            });
        }
        getView("asignarcama-busqueda2", "searchContainer", {
            definirFuncion: 0,
            nocama: '',
            descripcioncama: '',
            tiposervicio: '',
            idtiposervicio: '',
            idespecialidad: '',
            especialidad: '',
            Centro_Sal: '{{$Centro_Sal}}'
        });
        var anySelected = false;
        function seleccionarPaciente(object) {
            if (!anySelected) {
                anySelected = true;
                var currentRow = $(object);
                var clave_pac = currentRow.find(".clave_pac").html();
                $('#searchContainer').html('');
                $('#editContainer').removeClass('hidden');
                loadGenerales(clave_pac);
            }

        }

        function loadPaciente(clave_pac) {
            var opciones = {
                method: 'post',
                url: '{{url('BuscarPaciente_getLstPorClavePac')}}',
                data: {clave_pac: clave_pac}
            };
            $.ajax(opciones)
                .done(function (data) {
                    //console.log(data.respuesta);
                    $.each(data.respuesta, function (index, value) {
                        if (typeof value == 'object')
                            data.respuesta[index] = '';
                    });
                    var datos = data.respuesta;
                    //datos generales
                    $('#EntidadNac').val(datos.claveentidadnac).change();
                    $('#Nacionalidad').val(datos.nacionalidad).change();
                    $('#Nombre').val((datos.nombre));
                    $('#PrimerAp').val(datos.primer_ap);
                    $('#SegundoAp').val(datos.segundo_ap);
                    $('#NExp').val(datos.numero_expe);
                    $('#Curp').val(datos.curp);
                    $('#FechaNac').val(datos.fecha_nac);
                    $('#HoraNac').val(datos.hora);
                    $('#CUN').val(datos.certificadonac);
                    $('#Sexo').val(datos.sexo).change();
                    $('#GSanguineo').val(datos.tiposangre).change();
                    $('#Religion').val(datos.tiporeligion).change();
                    $('#TipoBeneficiario').val(datos.tipo_beneficiario).change();
                    $('#OcupacionHab').val(datos.ocuphabitual).change();
                    if (datos.prospera == "1") {
                        $('#prospera').prop('checked', true);
                    } else {
                        $('#prospera').prop('checked', false);
                    }
                    if (datos.indigena == "1") {
                        $('#indigena').prop('checked', true);
                    } else {
                        $('#indigena').prop('checked', false);
                    }
                    if (datos.migrante == "1") {
                        $('#migrante').prop('checked', true);
                    } else {
                        $('#migrante').prop('checked', false);
                    }

                    $("input[name=lengua_indigena][value='" + datos.habla_ind + "']").prop("checked", true);

                    $('#LenguaIndigena').val(datos.tipolenguaind).change();
                    $('#folio_prospera').val(datos.folioprospera);
                    $('#ConsecutivoProspera').val(datos.consecutivo_prosp);
                    $('#clave_pac').val(datos.clave_pac);
                    //datos afiliacion
                    $('#derechohabiencia').val(datos.tipoderechohabiencia).change();
                    $('#folio').val(datos.folioafil);
                    $('#folio_otro').val(datos.folioafil);
                    $('#ConsecutivoDerechoHab').val(datos.consecutivo_segp);
                    $('#inicio_vigencia').val(datos.vigenciaini);
                    $('#fin_vigencia').val(datos.vigenciafin);
                    $('#EntidadAfiliacion').val(datos.entidadafiliacion).change();
                    $('#DependenciaAfiliacion').val(datos.clave_dep).change();
                    $('#programa').val(datos.clave_programa).change();
                    //datos domicilio
                    if (datos.visitadom == "1") {
                        $('#AceptaVisitaDom').prop('checked', true);
                    } else {
                        $('#AceptaVisitaDom').prop('checked', false);
                    }
                    $('#CalleResidencia').val(datos.calledomicilio);
                    $('#NumeroExtResidencia').val(datos.numext);
                    $('#LetraExtResidencia').val(datos.letraext);
                    $('#NumeroIntResidencia').val(datos.numint);
                    $('#LetraIntResidencia').val(datos.letraint);
                    $('#EntreCallesResidencia').val(datos.entre_calles);
                    $('#ClaveCatastralResidencia').val(datos.clave_catastral);
                    $('#TelefonoResidencia').val(datos.telpart);
                    $('#TelefonoCelularResidencia').val(datos.telcel);
                    $('#EmailPaciente').val(datos.email);
                    $('#pais_loc').val(datos.pais_residencia).change();
                    $('#entidad_loc').val(datos.entfed).change();
                    $('#tipo_vialidad_loc').val(datos.tipo_vialidad).change();
                    getMunicipiosSetDefault($('#entidad_loc').val(), $('#municipio_loc'), datos.municipio, function () {
                        getCodigosPostalesSetDefault($('#entidad_loc').val(), $('#municipio_loc').val(), $('#postal_loc'), datos.codigopostal);
                        getLocalidadesSetDefault($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc'), datos.localidad, function () {
                            getAsentamientosSetDefault($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc').val(), $('#asentamiento_loc'), datos.asentamiento, function () {
                                var type = $('#asentamiento_loc').find(":selected").data('tipo');
                                $('#tipo_asentamiento_loc').val(type).change();
                            });
                        });
                    });
                    //datos emergencia
                    $('#pais_eme').val(datos.paisemergencia).change();
                    $('#entidad_eme').val(datos.entidademergencia).change();
                    $('#tipo_vialidad_eme').val(datos.tipovialidad_emerg).change();
                    $('#NombreEmergencia').val(datos.nombreemerg);
                    $('#PrimerApEmergencia').val(datos.appaterno_emerg);
                    $('#SegundoApEmergencia').val(datos.apmaterno_emerg);
                    $('#ParentescoEmergencia').val(datos.claveparentescoemerg).change();
                    $('#CalleEmergencia').val(datos.calleemerg);
                    $('#NumeroExtEmergencia').val(datos.numextemerg);
                    $('#LetraExtEmergencia').val(datos.letraextemerg);
                    $('#NumeroIntEmergencia').val(datos.numintemerg);
                    $('#LetraIntEmergencia').val(datos.letraintemerg);
                    $('#TelefonoEmergencia').val(datos.telpartemerg);
                    $('#TelefonoCelularEmergencia').val(datos.telcelemerg);
                    $('#EmailEmergencia').val(datos.emailemerg);
                    getMunicipiosSetDefault($('#entidad_eme').val(), $('#municipio_eme'), datos.municipioemergencia, function () {
                        getCodigosPostalesSetDefault($('#entidad_eme').val(), $('#municipio_eme').val(), $('#postal_eme'), datos.codigoemergencia);
                        getLocalidadesSetDefault($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme'), datos.localidademergencia, function () {
                            getAsentamientosSetDefault($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme').val(), $('#asentamiento_eme'), datos.asentamientoemerg, function () {
                                var type = $('#asentamiento_eme').find(":selected").data('tipo');
                                $('#tipo_asentamiento_eme').val(type).change();
                                inicializarDomicilio();
                            });
                        });
                    });
                })
                .fail(function (error) {
                    $.notify("Ha ocurrido un problema", "error");
                });
        }

        function loadGenerales(clave_pac) {
            var opciones = {
                method: 'post',
                url: '{{url('addNewPaciente_generales')}}',
                data: {edit: 0}
            };
            $.ajax(opciones)
                .done(function (data) {
                    $('#generales_title').after(data);
                    inicializarGenerales();
                    loadAfilicacion(clave_pac);
                })
                .fail(function (error) {
                    $.notify("Ha ocurrido un problema", "error");
                });
        }

        function loadAfilicacion(clave_pac) {
            var opciones = {
                method: 'post',
                url: '{{url('addNewPaciente_afiliacion')}}',
                data: {edit: 0}
            };
            $.ajax(opciones)
                .done(function (data) {
                    $('#afiliacion_title').after(data);
                    inicializarAfiliacion();
                    loadDomicilio(clave_pac);
                })
                .fail(function (error) {
                    $.notify("Ha ocurrido un problema", "error");
                });
        }

        function loadDomicilio(clave_pac) {
            var opciones = {
                method: 'post',
                url: '{{url('addNewPaciente_domicilio')}}',
                data: {edit: 0}
            };
            $.ajax(opciones)
                .done(function (data) {
                    $('#domicilio_title').after(data);
                    //inicializarDomicilio();
                    loadPaciente(clave_pac);
                })
                .fail(function (error) {
                    $.notify("Ha ocurrido un problema", "error");
                });
        }

        function inicializarGenerales() {
            $('#openModal').on('click', function () {
                $('#modalContent').html('');
                $('#defaultModal').modal('show');
                var opciones = {
                    method: 'get',
                    url: '{{url('curpModal')}}',
                    data: {}
                };
                $.ajax(opciones)
                    .done(function (data) {
                        $('#modalContent').html(data);
                    })
                    .fail(function (error) {
                        console.log(error);
                    });
            });
            $('input[type=radio][name=lengua_indigena]').change(function () {
                if (this.value == '1') {
                    $('#LenguaIndigena').removeClass('hidden');
                }
                else {
                    $('#LenguaIndigena').addClass('hidden');
                }
            });

            $('input[type=checkbox][name=prospera]').change(function () {
                if (this.checked) {
                    $('#prosperaDiv').removeClass('hidden');
                }
                else {
                    $('#prosperaDiv').addClass('hidden');
                }
            });

            //$('#FechaNac').datepick({dateFormat: 'dd/mm/yyyy'});
            $('#FechaNac').inputmask('dd/mm/yyyy', {'placeholder': 'dd/mm/aaaa'})
            $('#LenguaIndigena').addClass('hidden');
            //Timepicker
            $('.timepicker').timepicker({
                showInputs: false,
                showSeconds: false,
                showMeridian: false,
                defaultTime: false
            });
        }

        function inicializarAfiliacion() {
            $('#openModalConsecutivos').on('click', function () {
                var folio = $('#folio').val();
                $('#folio').removeClass('error');
                if (folio == '' || folio.length < 10) {
                    $.notify('El Folio no es válido', 'error');
                    $('#folio').addClass('error');
                } else {
                    var opciones = {
                        method: 'post',
                        url: '{{url('archivo/consecutivos')}}',
                        data: {'folio': folio}
                    };
                    $.ajax(opciones)
                        .done(function (data) {
                            if (data.error == 1) {
                                $.notify(data.mensaje, 'error');
                            } else {
                                $('#modalContent').html(data);
                                $('#defaultModal').modal('show');
                            }
                        })
                        .fail(function (error) {
                            console.log(error);
                        });
                }
            });
            $('#DependenciaAfiliacion').on('change', function () {
                if ($(this).val() != '001') {
                    $('#programa').val('').change();
                } else {
                    $('#programa').val('001').change();
                }
            });
            $('#derechohabiencia').on('change', function () {
                if (this.value == 1 || this.value == 2 || this.value == 3) {
                    $('#seguroAfiliacionDiv').addClass('hidden');
                    $('#otroAfiliacionDiv').addClass('hidden');
                    $('#imssAfiliacionDiv').removeClass('hidden');
                } else if (this.value == 15 || this.value == 0) {
                    $('#seguroAfiliacionDiv').removeClass('hidden');
                    $('#otroAfiliacionDiv').addClass('hidden');
                    $('#imssAfiliacionDiv').addClass('hidden');
                } else {
                    $('#seguroAfiliacionDiv').addClass('hidden');
                    $('#otroAfiliacionDiv').removeClass('hidden');
                    $('#imssAfiliacionDiv').addClass('hidden');
                }
                if (this.value == 0 || this.value == 15) {
                    $('#inicio_vigencia').removeAttr('disabled');
                    $('#fin_vigencia').removeAttr('disabled');
                } else {
                    $('#inicio_vigencia').attr('disabled', 'disabled');
                    $('#fin_vigencia').attr('disabled', 'disabled');
                }
            });

            $('#fin_vigencia').datepick({dateFormat: 'dd/mm/yyyy'});
            $('#inicio_vigencia').datepick({dateFormat: 'dd/mm/yyyy'});
            //$('#DependenciaAfiliacion').val('001').change();
            //$('#EntidadAfiliacion').val('06').change();
        }

        function inicializarDomicilio() {
            $('#entidad_eme').on('change', function () {
                getCodigosPostales($('#entidad_eme').val(), $('#municipio_eme').val(), $('#postal_eme'));
                getAsentamientos($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme').val(), $('#asentamiento_eme'));
                getMunicipios($('#entidad_eme').val(), $('#municipio_eme'));
            });
            $('#municipio_eme').on('change', function () {
                getCodigosPostales($('#entidad_eme').val(), $('#municipio_eme').val(), $('#postal_eme'));
                getAsentamientos($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme').val(), $('#asentamiento_eme'));
                getLocalidades($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme'));
            });
            $('#localidad_eme').on('change', function () {
                getAsentamientos($('#entidad_eme').val(), $('#municipio_eme').val(), $('#localidad_eme').val(), $('#asentamiento_eme'));
            });
            $('#asentamiento_eme').on('change', function () {
                var type = $('#asentamiento_eme').find(":selected").data('tipo');
                $('#tipo_asentamiento_eme').val(type).change();
            });
            $('#entidad_loc').on('change', function () {
                getCodigosPostales($('#entidad_loc').val(), $('#municipio_loc').val(), $('#postal_loc'));
                getAsentamientos($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc').val(), $('#asentamiento_loc'));
                getMunicipios($('#entidad_loc').val(), $('#municipio_loc'));
            });
            $('#municipio_loc').on('change', function () {
                getCodigosPostales($('#entidad_loc').val(), $('#municipio_loc').val(), $('#postal_loc'));
                getAsentamientos($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc').val(), $('#asentamiento_loc'));
                getLocalidades($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc'));
            });
            $('#localidad_loc').on('change', function () {
                getAsentamientos($('#entidad_loc').val(), $('#municipio_loc').val(), $('#localidad_loc').val(), $('#asentamiento_loc'));
            });
            $('#asentamiento_loc').on('change', function () {
                var type = $('#asentamiento_loc').find(":selected").data('tipo');
                $('#tipo_asentamiento_loc').val(type).change();
            });

            /*$('#entidad_loc').val('06').change();
             $('#entidad_eme').val('06').change();
             $('#pais_eme').val('484').change();
             $('#pais_loc').val('484').change();
             $('#tipo_asentamiento_eme').val('').change();
             $('#tipo_asentamiento_loc').val('').change();
             $('#tipo_vialidad_loc').val('5').change();
             $('#tipo_vialidad_eme').val('5').change();*/
            $('#tipo_asentamiento_eme').prop("disabled", true);
            $('#tipo_asentamiento_loc').prop("disabled", true);
        }

        $("#registroForm").submit(function (event) {
            event.preventDefault();
            $('.error').removeClass('error');
            console.log('valdiated');
            $('#tipo_asentamiento_eme').prop("disabled", false);
            $('#tipo_asentamiento_loc').prop("disabled", false);
            $formulario = $("#registroForm");
            var opciones = {
                method: 'post',
                url: 'Archivo_UpFiliacion',
                data: $formulario.serialize()
            };
            console.log(opciones.data);
            if (validarForm())
                $.ajax(opciones)
                    .done(function (data) {
                        if (data.respuesta.error == 0) {
                            console.log(data);
                            //$('#registroForm').trigger("reset");
                            $.notify('Paciente Actualizado Correctamente', 'success');
                            //$('#ActualizarModal').html('');
                        }
                        else {
                            $.notify(data.respuesta.tituloerror, 'error');
                            console.log(data);
                        }
                        $('#tipo_asentamiento_eme').prop("disabled", true);
                        $('#tipo_asentamiento_loc').prop("disabled", true);
                    })
                    .fail(function () {
                        $.notify('Por favor intenta de nuevo', 'error')
                    });
        });

        function validarForm() {
            var result = true;

            //valdiar campos requeridos
            var campos = [
                ['localidad_loc', 'Localidad']
                //['localidad_eme', 'Localidad del contacto de emergencia'],
                //['NombreEmergencia', 'Nombre del contacto de emergencia'],
                //['PrimerApEmergencia', 'Primer Apellido del contacto de emergencia']
            ];
            if (!validarReqeridos(campos))
                result = false;

            //valdiacion propera
            if ($('#prospera').prop('checked')) {
                campos = [
                    ['folio_prospera', 'Folio prospera'],
                    ['ConsecutivoProspera', 'Concecutivo prospera']
                ];
                if (!validarReqeridos(campos))
                    result = false;
            }

            //validacion afiliciacion
            var derechoha = $('#derechohabiencia').val();
            //imss
            if (derechoha == 1) {
                var folio = $('#folio_imss').val();
                if (folio != '' && (folio.length < 5 || folio.length > 11)) {
                    $.notify('Longitud Mínima de 5 Digitos y Maxima de 11 para el folio.', 'error');
                    $('#folio_imss').addClass('error');
                    result = false;
                }
            } else if (derechoha == 2 || derechoha == 3) {//issste
                var folio = $('#folio_imss').val();
                if (folio != '' && (folio.length < 10 || folio.length > 13)) {
                    $.notify('Longitud Mínima de 10 Digitos y Maxima de 13 para el folio.', 'error');
                    $('#folio_imss').addClass('error');
                    result = false;
                }
            } else if (derechoha == 15 || derechoha == 0) {//popular
                campos = [
                    ['folio', 'Folio del Seguro Popular'],
                    ['inicio_vigencia', 'Inicio de Vigencia'],
                    ['fin_vigencia', 'Fin de Vigencia']
                ];
                if (!validarReqeridos(campos))
                    result = false;
                else {
                    var folio = $('#folio').val();
                    if (folio.length < 10) {
                        $.notify('Longitud Mínima de 10 Digitos para el folio', 'error');
                        $('#folio').addClass('error');
                        result = false;
                    }
                }
            }


            return result;
        }



    </script>
@endsection