if ($('#listaConceptosCompra').data('tipo') == 1) {

  var conceptoscompra = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    prefetch: {
                    url: 'json-conceptos-compra.php',
                        prepare: function (settings) {
                        settings.type = "POST";
                        settings.contentType = "application/json; charset=UTF-8";
                        return settings;
                    },
                    remote: function (query, settings) {
                        settings.type = "POST";
                        settings.data = {q: query, foo: 'bar'}; // you can pass some data if you need to
                        return settings;
                    }
                }
  });
  conceptoscompra.initialize();
  var elt = $('#listaConceptosCompra');
  elt.tagsinput({
    itemValue: 'value',
    itemText: 'text',
    typeaheadjs: {
      name: 'conceptoscompra',
      displayKey: 'text',
      source: conceptoscompra.ttAdapter(),
      limit: 50
    }
  });
  $('#listaConceptosCompra').on('itemAdded', function(event) {
    $('#btnVerResultado').hide();
  });
  $('#listaConceptosCompra').on('itemRemoved', function(event) {
    $('#btnVerResultado').hide();
  });
  
  $('#btnLimpiarConceptosCompra').on('click', function () {
    $.confirm({
      title: 'Confirmar',
      content: '¿Elimina todos los conceptos cargados?',
      buttons: {
        Si: function () {
          $('#listaConceptosCompra').tagsinput('removeAll');
          $('#btnVerResultado').hide();
        },
        no: function () {
          //$.alert('Cancelado!');
        },
      }
    });
  });
}
else {
  $('#listaConceptosCompra').select2();
  $('#listaConceptosCompra').on("change", function (e) { $('#btnVerResultado').hide(); });
  $('#btnLimpiarConceptosCompra').on('click', function () {
    $.confirm({
      title: 'Confirmar',
      content: '¿Elimina todos los conceptos cargados?',
      buttons: {
        Si: function () {
          $('#listaConceptosCompra').val(null).trigger('change');
          $('#btnVerResultado').hide();
        },
        no: function () {
          //$.alert('Cancelado!');
        },
      }
    });
  });
  
  $('#btnTodosConceptosCompra').on('click', function () {
    $("#listaConceptosCompra option").each(function(i, item) {
      $("#listaConceptosCompra > option:contains('" + $(item).text() + "')").prop("selected", "selected");
    });
    $("#listaConceptosCompra").trigger("change");
    $('#btnVerResultado').hide();
  });
}

$('#btnSeleccionarConceptosCompra').on('click', function () {
  $.ajax({
    url: 'sel-conceptos-compra.php',
    type: 'POST',
    dataType: "text",
    cache: false,
    success: function (xResponse) {
      $('#conteSelConceptosCompra').html(xResponse);
      $(function () {
        $('[name=chkSelConceptosCompra]').iCheck({
          checkboxClass: 'icheckbox_square-blue',
          radioClass: 'iradio_square-blue',
          increaseArea: '20%' // optional
        });
      });
      if ( $.fn.DataTable.isDataTable( '#tablaResultado' ) ) {
        $('#tablaResultado').DataTable().destroy();
        $('#tablaResultado').remove();
      }
      tblAux = $('#tablaResultado').DataTable( {
        fixedHeader: false,
        scrollX: true,
        scrollY:        '44vh',
        bAutoWidth: true,
        ordering: false,
        paging: true,
        'columnDefs': [{
          'targets': 0,
          'searchable': false,
          'orderable': false,
          'className': 'dt-body-center',
          'render': function (data, type, full, meta){
            //alert($('<div/>').text(data).html());
            return '<input type="checkbox" name="chkSelConceptosCompra" ' + $('<div/>').text(data).html() + '>';
          }
        }],
        dom: '<"selConceptosCompraBotones">frtip',
        "fnDrawCallback": function( oSettings ) {
          $('[name=chkSelConceptosCompra]').iCheck({
            checkboxClass: 'icheckbox_square-blue',
            radioClass: 'iradio_square-blue',
            increaseArea: '20%' // optional
          });
        }
      });
      //Marco los que ya están seleccionados
      tblAux.$('input[type="checkbox"]').each(function(){
        auxItem = $(this);
          var str = $.trim($('#listaConceptosCompra').val());
          var res = str.split(",");
          $.each( res, function( key, value ) {
            if (auxItem.data('concepto') == value) {
              auxItem.iCheck('check');
            }
          });
      });

      $("div.selConceptosCompraBotones").html('<button style="width: 58px;margin-right:5px;border-radius: 0px !important;" type="button" class="btn btn-default" id="btnSelConceptosCompraTodos"><img src="imagenes/check.png" alt="check" height="22" width="22"></button><button style="width: 58px;border-radius: 0px !important;"  type="button" class="btn btn-default" id="btnSelConceptosCompraNinguno"><img src="imagenes/uncheck.png" alt="check" height="22" width="22"></button>');     
      $("#btnSelConceptosCompraTodos").click(function () {
        var rows = tblAux.rows({ 'search': 'applied' }).nodes();
        $('input[type="checkbox"]', rows).iCheck('check');
      });
      $("#btnSelConceptosCompraNinguno").click(function () {
        var rows = tblAux.rows({ 'search': 'applied' }).nodes();
        $('input[type="checkbox"]', rows).iCheck('uncheck');
      });
      $('#btnAceptarSeleccionConceptosCompra').click(function () {
        let auxAgregar = '';
        tblAux.$('input[type="checkbox"]').each(function(){
          if ($('#listaConceptosCompra').data('tipo') == 1) {
            if(this.checked){
              var value = { text: $(this).data('nombre'), value: $(this).data('concepto')};
              $('#listaConceptosCompra').tagsinput('add', value);
            }
          }
          else {
            if(this.checked){
              if (auxAgregar == '') {
                auxAgregar = $(this).data('concepto');
              }
              else {
                auxAgregar += ',' + $(this).data('concepto');
              }
            }
          }
        });
        if ($('#listaConceptosCompra').data('tipo') == 1) {
        }
        else {
          var str = auxAgregar;
          aux = str.split(",");
          $('#listaConceptosCompra').val(aux).trigger('change');
        }
        $('#conceptos_compra_modal').modal('hide');
      });

      $('#conceptos_compra_modal').modal('show');
    },
    error: function(xhr, status, error) {
      alert(error);
    }
  })
});
