var tabla;

//funcion que se ejecuta al inicio
function init() {
  mostrarform(false);
  listar();

  $("#btnGuardar").on("click", function (e) {
    /* Evitamos el envío real del formulario */
    e.preventDefault();

    validar();
    var val = $("#validado").val();
    console.log(val);
    if (val == 1) {
      bootbox.confirm(
        "¿Esta seguro que quiere guardar los dato?",
        function (result) {
          if (result) {
            modificarValoresAnumerico();
            guardaryeditar(e);
          }
        }
      );
    }
  });

  $.post("controladores/zonaControlador.php?op=selectZona", function (r) {
    $("#idzona").html(r);
    $("#idzona").selectpicker("refresh");
  });

  /*  $.post("controladores/zonaControlador.php?op=selectZona", function (r) {
    $("#idzona2").html(r);
    $("#idzona2").selectpicker("refresh");
  }); */

  $.post("controladores/subzonaControlador.php?op=selectSubzona", function (r) {
    $("#idsubzona").html(r);
    $("#idsubzona").selectpicker("refresh");
  });

  $("#idcargo").change(function () {
    var cargo1 = document.getElementById("idcargo"); //El <select>
    var nombre1 = cargo1.options[cargo1.selectedIndex].innerText;
    $("#tipo_persona").val(nombre1);
    console.log("cargo1: " + nombre1);
    console.log("cargo.value: " + cargo1.value);

    //Para ocultar o habiltar el gerente
    //var select2 = document.getElementById("selectoculto");
    var select2Container = document.getElementById("select2-container");
    if (this.value === "1") {
      select2Container.classList.remove("hidden"); // Mostrar contenedor de select2
      mostrargerente();
    } else {
      select2Container.classList.add("hidden"); // Ocultar contenedor de select2
    }
  });

  $("#comisioncobranza1").keyup(function (event) {
    // skip for arrow keys
    if (event.which >= 37 && event.which <= 40) {
      event.preventDefault();
    }
    var value = $(this).val();
    $(this).val(decimal(value));
  });

  $("#comisioncobranza2").keyup(function (event) {
    // skip for arrow keys
    if (event.which >= 37 && event.which <= 40) {
      event.preventDefault();
    }
    var value = $(this).val();
    $(this).val(decimal(value));
  });

  $("#comisioncobranza3").keyup(function (event) {
    // skip for arrow keys
    if (event.which >= 37 && event.which <= 40) {
      event.preventDefault();
    }
    var value = $(this).val();
    $(this).val(decimal(value));
  });

  $("#comisioncobranza4").keyup(function (event) {
    // skip for arrow keys
    if (event.which >= 37 && event.which <= 40) {
      event.preventDefault();
    }
    var value = $(this).val();
    $(this).val(decimal(value));
  });

  $("#comisionventa1").keyup(function (event) {
    // skip for arrow keys
    if (event.which >= 37 && event.which <= 40) {
      event.preventDefault();
    }
    var value = $(this).val();
    $(this).val(decimal(value));
  });
}

//funcion limpiar
function limpiar() {
  $("#formulario").data("bootstrapValidator").resetForm(true);
  $("#nombre").val("");
  $("#num_documento").val("");
  $("#direccion").val("");
  $("#telefono").val("");
  $("#email").val("");
  $("#idvendedor").val("");
  $("#vehiculo").val("");
  $("#placa").val("");
  $("#idzona").val(0);
  $("#idzona").selectpicker("refresh");
  $("#idzona2").val(0);
  $("#idzona2").selectpicker("refresh");
  $("#idcargo").val(0);
  $("#idcargo").selectpicker("refresh");
  $("#idsubzona").val(0);
  $("#idsubzona").selectpicker("refresh");
  $("#comisionventa1").val("");
  $("#comisioncobranza1").val("");
  $("#comisioncobranza2").val("");
  $("#comisioncobranza3").val("");
  $("#comisioncobranza4").val("");
}

//funcion mostrar formulario
function mostrarform(flag) {
  limpiar();
  if (flag) {
    $("#listadoregistros").hide();
    $("#formularioregistros").show();
    $("#formularioregistros1").show();
    $("#btnGuardar").prop("disabled", false);
    $("#btnagregar").hide();
  } else {
    $("#listadoregistros").show();
    $("#formularioregistros").hide();
    $("#formularioregistros1").hide();
    $("#btnagregar").show();
  }
}

//cancelar form
function cancelarform() {
  limpiar();
  mostrarform(false);
}

function modificarValoresAnumerico() {
  $("#comisionventa1").val(numero($("#comisionventa1").val()));
  $("#comisioncobranza1").val(numero($("#comisioncobranza1").val()));
  $("#comisioncobranza2").val(numero($("#comisioncobranza2").val()));
  $("#comisioncobranza3").val(numero($("#comisioncobranza3").val()));
  $("#comisioncobranza4").val(numero($("#comisioncobranza4").val()));
}

//funcion listar
function listar() {
  tabla = $("#tbllistado")
    .dataTable({
      aProcessing: true, //activamos el procedimiento del datatable
      aServerSide: true, //paginacion y filrado realizados por el server
      dom: "Bfrtip", //definimos los elementos del control de la tabla
      buttons: ["copyHtml5", "excelHtml5", "csvHtml5", "pdf"],
      ajax: {
        url: "controladores/vendedorControlador.php?op=listarsales",
        type: "get",
        dataType: "json",
        error: function (e) {
          console.log(e.responseText);
        },
      },
      bDestroy: true,
      iDisplayLength: -1, //paginacion
      order: [[0, "desc"]], //ordenar (columna, orden)
    })
    .DataTable();
}
//funcion para guardaryeditar
function guardaryeditar(e) {
  e.preventDefault(); //no se activara la accion predeterminada
  $("#btnGuardar").prop("disabled", true);
  var formData = new FormData($("#formulario")[0]);

  $.ajax({
    url: "controladores/vendedorControlador.php?op=guardaryeditar",
    type: "POST",
    data: formData,
    contentType: false,
    processData: false,

    success: function (datos) {
      bootbox.alert(datos);
      mostrarform(false);
      tabla.ajax.reload();
    },
  });

  limpiar();
}

function mostrar(idvendedor) {
  $.post(
    "controladores/vendedorControlador.php?op=mostrar",
    { idvendedor: idvendedor },
    function (data, status) {
      data = JSON.parse(data);
      mostrarform(true);
      var select2Container1 = document.getElementById("select2-container");
      select2Container1.classList.add("hidden"); // Ocultar contenedor de select2
      $("#nombre").val(data.nombre);
      $("#tipo_documento").val(data.tipo_documento);
      $("#tipo_documento").selectpicker("refresh");
      $("#num_documento").val(data.num_documento);
      $("#direccion").val(data.direccion);
      $("#telefono").val(data.telefono);
      $("#email").val(data.email);
      $("#tipo_persona").val(data.tipo_persona);
      $("#idvendedor").val(data.idvendedor);
      $("#vehiculo").val(data.vehiculo);
      $("#placa").val(data.placa);
      $("#idzona").val(data.idzona);
      $("#idzona").selectpicker("refresh");
      $("#idzona2").val(data.idzona2);
      $("#idzona2").selectpicker("refresh");
      $("#idsubzona").val(data.idsubzona);
      $("#idsubzona").selectpicker("refresh");

      $("#comisionventa1").val(number_format(data.comisionventa1, 2));
      $("#comisionventa2").val(number_format(data.comisionventa2, 2));
      $("#comisionventa3").val(number_format(data.comisionventa3, 2));
      $("#comisionventa4").val(number_format(data.comisionventa4, 2));
      $("#comisionventa5").val(number_format(data.comisionventa5, 2));
      $("#comisioncobranza1").val(number_format(data.comisioncobranza1, 2));
      $("#comisioncobranza2").val(number_format(data.comisioncobranza2, 2));
      $("#comisioncobranza3").val(number_format(data.comisioncobranza3, 2));
      $("#comisioncobranza4").val(number_format(data.comisioncobranza4, 2));
      $("#comisioncobranza5").val(number_format(data.comisioncobranza5, 2));
      $("#diai1").val(number_format(data.diai1, 0));
      $("#diai2").val(number_format(data.diai2, 0));
      $("#diai3").val(number_format(data.diai3, 0));
      $("#diai4").val(number_format(data.diai4, 0));
      $("#diai5").val(number_format(data.diai5, 0));
      $("#diaf1").val(number_format(data.diaf1, 0));
      $("#diaf2").val(number_format(data.diaf2, 0));
      $("#diaf3").val(number_format(data.diaf3, 0));
      $("#diaf4").val(number_format(data.diaf4, 0));
      $("#diaf5").val(number_format(data.diaf5, 0));

      switch ($("#tipo_persona").val()) {
        case "Sub-Gerente":
          $("#idcargo").val(2);
          $("#idcargo").selectpicker("refresh");
          break;
        case "Gerente":
          $("#idcargo").val(3);
          $("#idcargo").selectpicker("refresh");
          select2Container.classList.add("hidden"); // Ocultar contenedor de select2
          break;
        case "Costurera":
          $("#idcargo").val(4);
          $("#idcargo").selectpicker("refresh");
          break;
        case "Sastre":
          $("#idcargo").val(5);
          $("#idcargo").selectpicker("refresh");
          break;
        default:
          $("#idcargo").val(1);
          $("#idcargo").selectpicker("refresh");
          select2Container1.classList.remove("hidden"); // Mostrar contenedor de select2
          mostrargerente(data.idgerente);
          break;
      }
    }
  );
}

function mostrargerente(idgerente = 0) {
  $.post(
    "controladores/vendedorControlador.php?op=selectGerente",
    function (r) {
      $("#idgerente").html(r);
      $("#idgerente").selectpicker("refresh");
      console.log("idgerente: ", idgerente);
      if (idgerente != 0) {
        $("#idgerente").val(idgerente);
        $("#idgerente").selectpicker("refresh");
      }
    }
  );
}

//funcion para desactivar
function eliminar(idvendedor) {
  bootbox.confirm("¿Esta seguro de eliminar este dato?", function (result) {
    if (result) {
      $.post(
        "controladores/vendedorControlador.php?op=eliminar",
        { idvendedor: idvendedor },
        function (e) {
          bootbox.alert(e);
          tabla.ajax.reload();
        }
      );
    }
  });
}

//funcion para desactivar
function desactivar(idvendedor) {
  bootbox.confirm("¿Esta seguro de desactivar este dato?", function (result) {
    if (result) {
      $.post(
        "controladores/vendedorControlador.php?op=desactivar",
        { idvendedor: idvendedor },
        function (e) {
          bootbox.alert(e);
          tabla.ajax.reload();
        }
      );
    }
  });
}

function activar(idvendedor) {
  bootbox.confirm("¿Esta seguro de activar este dato?", function (result) {
    if (result) {
      $.post(
        "controladores/vendedorControlador.php?op=activar",
        { idvendedor: idvendedor },
        function (e) {
          bootbox.alert(e);
          tabla.ajax.reload();
        }
      );
    }
  });
}

init();
