$(function () {
    // Date picker
    $('#reservationdate').datetimepicker({
        format: 'L'
    });
});

/************************************************************************************
* Guardar asignacion --> AsignacionNuevo.blade.php
*************************************************************************************/
$("#btnGuardarAsignacion").click(function () {

    var ArrayInputs = [
        '#equi_serie',
        '#equi_id',
        '#equi_nombreTipoEquipo',
        '#equi_modelo',
        '#asig_usuario',
        '#asig_DNI',
        '#asig_accesorios',
        '#asig_fechaRegistro',
        '#asig_lote',
    ];

    var ResultadoValidacion = ValidarVista(ArrayInputs);

    if (ResultadoValidacion != false && ResultadoValidacion == true) {

        var proy_id                     = $("#proy_id option:selected").val();
        var asig_proyNombre	            = $("#proy_id option:selected").text();         
        var asig_TipoEquipo	            = $('#equi_nombreTipoEquipo').val();
        var asig_modelo                 = $('#equi_modelo').val();
        var equi_id                     = $('#equi_id').val();
        var asig_numeroserie            = $('#equi_serie').val();
        var asig_area                   = $("#asig_area option:selected").text();
        var asig_usuario                = $('#asig_usuario').val();
        var asig_DNI                    = $('#asig_DNI').val();
        var asig_accesorios             = $('#asig_accesorios').val();
        var asig_medio                  = $("#asig_medio option:selected").text();
        var asig_fechaRegistro          = $('#asig_fechaRegistro').val();
        var asig_observaciones          = $('#asig_observaciones').val();
        var asig_lote                   = $('#asig_lote').val();
        var asig_observacionesInternas  = $('#asig_observacionesInternas').val();
      

        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            type: "POST",
            url: '/GuardarAsignacion',
            data: {

                'proy_id' : proy_id,                      
                'asig_proyNombre' : asig_proyNombre,	          
                'asig_TipoEquipo' : asig_TipoEquipo,	          
                'asig_modelo' : asig_modelo,               
                'equi_id' : equi_id,                   
                'asig_numeroserie' : asig_numeroserie,                
                'asig_area' : asig_area,                 
                'asig_usuario' : asig_usuario,
                'asig_DNI' : asig_DNI,                 
                'asig_accesorios' : asig_accesorios,           
                'asig_medio' : asig_medio,                
                'asig_fechaRegistro' : asig_fechaRegistro,        
                'asig_observaciones' : asig_observaciones,        
                'asig_lote' : asig_lote,                 
                'asig_observacionesInternas' : asig_observacionesInternas,


            },

            success: function (data) {

                if (data == true){
                    
                    swal("Registrado con exito", {
                        icon: "success",

                      }).then(function() {
                        //alert(data);
                        window.location.href = "/ListarAsignacionEquipos";
                        });
                }else{
                    swal("Oops!", "Ocurrio un problema", "error");
                }
            },
            error: function (data) {
                //alert(data);
                swal("Uy!", "Creo que algo salio mal, vuelve a intentar", "error");
            },
        });

    }

});

/************************************************************************************
* Buscar por numero serie --> asignaEquipoNuevo.blade.php
*************************************************************************************/
$("#btnBuscarNumeroSerie").click(function () {
    

    var ArrayInputs = [        
        '#equi_serie',        
    ];

    var ResultadoValidacion = ValidarVista(ArrayInputs);

    if (ResultadoValidacion != false && ResultadoValidacion == true) {      

        var equi_serie = $('#equi_serie').val();              
        
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            type: "POST",
            url: '/BuscaPorNumeroSerie',                    
            data: {

                'equi_serie': equi_serie,                                            

            },

            success: function (data) {

                if (data.ResultadoTranssacion == 'true'){
                    var equipoJSON = JSON.parse(data.equipo);                 
                    
                     $('#equi_id').val(equipoJSON[0].equi_id);                     
                     $('#equi_nombreTipoEquipo').val(equipoJSON[0].equi_nombreTipoEquipo);
                     $('#equi_modelo').val(equipoJSON[0].equi_modelo);
                     $("#equi_serie").prop("readonly",true);

                     //Actualizar controles despues encontrar
                     $('#equi_serie').addClass('is-valid');
                     $('#equi_id').addClass('is-valid');
                     $('#equi_nombreTipoEquipo').addClass('is-valid');
                     $('#equi_modelo').addClass('is-valid');
                     $('#btnBuscarNumeroSerie').addClass('disabled');
                    
                }else if(data == "OCUPADO"){
                    
                    swal("Oops!","Se econtro el nùmero de serie pero esta ocupado o dado de baja", {
                        icon: "warning",

                      }).then(function() {                        
                        $('input').val('');
                        $("#equi_serie").focus();
                        //window.location.href = "/ListarEquipos";
                        });
                    
                }else{

                    swal("Oops!","No se econtraron resultados para el numero de serie", {
                        icon: "info",

                      }).then(function() {                        
                        $('input').val('');
                        $("#equi_serie").focus();
                        //window.location.href = "/ListarEquipos";
                        });
                }
            },
            error: function (data) {
                //alert(data);
                swal("Uy!", "Creo que algo salio mal, vuelve a intentar", "error");
            },
        });

    }

});
/************************************************************************************
* Actualizar Asignacion --> asignaEquipoEditar.blade.php
*************************************************************************************/
$("#btnActualizarAsignacion").click(function () {
    
  
    var ArrayInputs = [
        '#asig_accesorios',        
    ];

    var ResultadoValidacion = ValidarVista(ArrayInputs);

    if (ResultadoValidacion != false && ResultadoValidacion == true) {

        var asig_id = $('#asig_id').val();
        var asig_accesorios = $('#asig_accesorios').val();
        var asig_observaciones = $("#asig_observaciones").val();
        var asig_observacionesInternas = $('#asig_observacionesInternas').val()                

        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            type: "POST",
            url: '/EditarAsignacion',
            data: {

                'asig_id': asig_id,
                'asig_accesorios': asig_accesorios,
                'asig_observaciones': asig_observaciones,
                'asig_observacionesInternas': asig_observacionesInternas,                                

            },

            success: function (data) {

                if (data == true){

                    swal("Actualizado con exito", {
                        icon: "success",

                      }).then(function() {
                        //alert(data);
                        window.location.href = "/ListarAsignacionEquipos";
                        });
                }else{
                    swal("Oops!", "Ocurrio un problema", "error");
                }
            },
            error: function (data) {
                //alert(data);
                swal("Uy!", "Creo que algo salio mal, vuelve a intentar", "error");
            },
        });

    }

});
/************************************************************************************
* Liberar Equipo --> asignaEquipoEditar.blade.php
*************************************************************************************/
$("#btnLiberarEquipo").click(function () {
    
    var asig_id = $('#asig_id').val();

    
  
    swal({
        title: "¿Esta seguro?",
        text: "Se va a liberar el equipo y cerrar esta asignación",
        icon: "warning",
        buttons: true,
        dangerMode: true,
      })
      .then((willDelete) => {
        if (willDelete) {

            $.ajax({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                type: "POST",
                url: '/LiberarAsignacion',
                data: {
        
                    'asig_id': asig_id,
                },
        
                success: function (data) {
        
                    if (data == true){
        
                        swal("Listo! equipo liberado", {
                            icon: "success",
        
                          }).then(function() {
                            //alert(data);
                            window.location.href = "/ListarAsignacionEquipos";
                            });
                    }else{
                        swal("Oops!", "Ocurrio un problema", "error");
                    }
                },
                error: function (data) {
                    //alert(data);
                    swal("Uy!", "Creo que algo salio mal, vuelve a intentar", "error");
                },
            }); 
        } 
      });

});
/************************************************************************************
* Enviar alerta --> asignaEquipoEditar.blade.php
*************************************************************************************/
$("#btnEnviarAlerta").click(function () {
    
    var asig_id = $('#asig_id').val();
    var correo = "";

    
  
    swal({    
        title: "Confirmación",
        text: "Ingrese correo destino",
        content: "input",
        button: {
            text: "Enviar",
            closeModal: false,
        },     

      })
      .then((response) => {
        if (response) {            

                correo = response;
                
                if (validarEmail(correo)=="true") {  

                    $.ajax({
                        headers: {
                            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                        },
                        type: "POST",
                        url: '/EnviarAlertaAsignacion',
                        data: {
                
                            'asig_id': asig_id,
                            'correo':correo,
                        },

                        
                        success: function (data, textStatus, jqXHR) {
                            if (jqXHR.status == 200){ // Verifica el código de estado
                                swal("Correo enviado", {
                                    icon: "success",
                                }).then(function() {
                                    window.location.href = "/ListarAsignacionEquipos";
                                });
                            }else{
                                swal("Oops!", "Ocurrio un problema", "error");
                            }
                        },

                        error: function (data) {
                            console.log("Datos enviados:", {
                                'asig_id': asig_id,
                                'correo': correo,
                            });
                    
                            swal("Uy!", "Creo que algo salio mal, vuelve a intentar", "error");
                        },
                    }); 
                    
                }else{
                    swal("Formato no valido!", "Email no valido", "error");
        
                }     
        } 
      });

});
/************************************************************************************
* Funcion para validar estructura de correos
* Recibe un array de inputs
*************************************************************************************/
function validarEmail(valor) {
    re=/^([\da-z_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
	if(!re.exec(valor)){
		return "false";
	}
        return "true";
	
  }
/************************************************************************************
* Funcion para validar campos vacios en alguna vista
* Recibe un array de inputs
*************************************************************************************/
function ValidarVista(parametro) {

    var validacion = true;
    for (i = 0; i < parametro.length; i++) {
        //alert(parametro[i]);

        if ($(parametro[i]).val() == "") {
            $(parametro[i]).addClass("is-invalid");
            validacion = false;
        }
        else { $(parametro[i]).removeClass("is-invalid"); };
    }
    //alert(parametro);
    return validacion;
}
