$(document).ready(function () {
  $("body").css("background", "none");
  var d = new Date();
  month = d.getMonth() + 1;
  y = d.getFullYear();
  day = d.getDate();
  d = (day < 10 ? "0" : "") + day;
  n = (month < 10 ? "0" : "") + month;
  f1 = "01-" + n + "-" + y;
  f2 = d + "-" + n + "-" + y;

  $(".fecha").datepicker({
    changeMonth: true,
    changeYear: true,
    monthNames: [
      "Enero",
      "Febrero",
      "Marzo",
      "Abril",
      "Mayo",
      "Junio",
      "Julio",
      "Agosto",
      "Septiembre",
      "Octubre",
      "Noviembre",
      "Diciembre",
    ],
    monthNamesShort: [
      "Ene",
      "Feb",
      "Mar",
      "Abr",
      "May",
      "Jun",
      "Jul",
      "Ago",
      "Sep",
      "Oct",
      "Nov",
      "Dic",
    ],
    dayNames: [
      "Domingo",
      "Lunes",
      "Martes",
      "Miercoles",
      "Jueves",
      "Viernes",
      "Sabado",
    ],
    dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
    yearRange: "-3:+0",

    beforeShow: function (input, inst) {
      var offset = $(input).offset();
      var height = $(input).height();
      window.setTimeout(function () {
        inst.dpDiv.css({
          top: offset.top + height - 25 + "px",
          left: offset.left + "px",
        });
      }, 1);
    },
  });
  $(".fecha").datepicker("option", "dateFormat", "dd-mm-yy");
  $(".fecha").attr("readonly", "readonly");

  $("#txtDatosDesde").val(f1);
  $("#txtDatosHasta").val(f2);
});

function cerrar_detalle() {
  $("#result_detalle").html("").hide();
  $(document).unbind("keyup", keyUpFunc);
  $(document).keyup(keyUpFunclista);
}
function keyUpFunc(e) {
  if (e.keyCode == 27) {
    cerrar_detalle();
  }
}

function cerrar_lista() {
  $("#result_datos").html("").hide();
  $(document).unbind("keyup", keyUpFunclista);
}

function cerrar_lista_remitos() {
  $(".mostrar_remitos").hide();
  $("#lista_dat_remitos").html("");
  $(".button_form_remito").html("");
  $(document).unbind("keyup", keyUpFunclista);
}

function imprimir_excel() {
  var usuario = _usuario_log["COD"];
  var desde = $("#txtDatosDesde").val();
  var hasta = $("#txtDatosHasta").val();
  var cc = $("#chkCc:checked").length;
  var remito = $("#chkRemito:checked").length;
  var contado = $("#chkContado:checked").length;
  var anulada = $("#chkAnulada:checked").length;
  var orden = $("#chkOrden:checked").length;
  var tipoana = $("input[name='tipoana']:checked").val();
  var empresa = $("#codEmp").val();
  $(".wait").show();

  $.ajax({
    url: _resumen_cuenta.URL + "/excel",
    data: {
      usuario: usuario,
      desde: desde,
      hasta: hasta,
      cc: cc,
      remito: remito,
      contado: contado,
      anulada: anulada,
      orden: orden,
      tipoana: tipoana,
      codEmp: empresa,
    },
    type: "post",
    success: function (data) {
      var A = new Date();
      var dia = A.getDate();
      dia = pad_with_zeroes(dia,2);
      var B = new Date();
      var año = B.getFullYear();

      var C = new Date();
      var mes = C.getMonth();
      mes++;
      mes = pad_with_zeroes(mes,2);

      var D = new Date();
      var hora = D.getHours();
      hora = pad_with_zeroes(hora,2);

      var E = new Date();
      var minutos = E.getMinutes();
      minutos = pad_with_zeroes(minutos,2);
      
      function pad_with_zeroes(number, length) {
        var my_string = '' + number;
        while (my_string.length < length) {
            my_string = '0' + my_string;
        }
    
        return my_string;
    }
      $(".wait").hide();
      if(tipoana == "resumen"){
      window.location.href = 'app_decode/resumen_cuenta/controller/ResumenCuenta'+usuario+'_'+año+'-'+mes+'-'+dia+'.xls';
      }else if(tipoana == "analisis"){
        window.location.href = 'app_decode/resumen_cuenta/controller/AnalisisDeuda'+usuario+'_'+año+'-'+mes+'-'+dia+'.xls';
      }
      
      setTimeout(function() {
        $.ajax({
          url: _resumen_cuenta.URL + "/limpiarExcel",
          type: "post",
          data: {
            usuario: usuario,
          },
        });
      }, 7000);
    },
  });
}
function keyUpFunclista(e) {
  if (e.keyCode == 27) {
    cerrar_lista();
  }
}

function enviar_formulario_datos() {
  console.log('enviar_formulario_datos');
  var usuario = _usuario_log["COD"];
  var desde = $("#txtDatosDesde").val();
  var hasta = $("#txtDatosHasta").val();
  var cc = $("#chkCc:checked").length;
  var remito = $("#chkRemito:checked").length;
  var contado = $("#chkContado:checked").length;
  var anulada = $("#chkAnulada:checked").length;
  var orden = $("#chkOrden:checked").length;
  var tipoana = $("input[name='tipoana']:checked").val();
  var empresa = $("#codEmp").val();
  var remitoPrecioActual = $("#chkRemPreAct:checked").length;

  if(!empresa){
    //NO HAY VALOR DE EMPRESA, PORQUE TRABAJA CON BO, entonces hacemos Ajax para buscarlo -- Inc608461
    $.ajax({
      url: _resumen_cuenta.URL + "/x_consultar_empresa_BO",
      type: "post",
      success: function (data) {
        // Verificar si data es un array y tiene al menos un objeto -- Inc608461
        if (Array.isArray(data) && data.length > 0) {
          var emp = data[0];

          // Valor de Empresa para BO 
          var empresa = emp.ZON;
        }

        _resumen_cuenta.enviar_datos( tipoana, usuario, desde, hasta, cc, remito, contado, anulada, orden, empresa, remitoPrecioActual);
        $("#tot_down").hide();
        return;
      }
    });
  }else{

    _resumen_cuenta.enviar_datos(
      tipoana,
      usuario,
      desde,
      hasta,
      cc,
      remito,
      contado,
      anulada,
      orden,
      empresa,
      remitoPrecioActual
    );
    $("#tot_down").hide();
  }

  /*    
        var msg = "";
        if (msg.length>0){
           
            $(".div_msg").html(msg).removeClass('exito_msg error_msg').addClass('error_msg').fadeIn(300);
            setTimeout(function(){
                $(".div_msg").html(msg).removeClass('exito_msg error_msg').fadeOut(300);
                $(".pop_changepass").find(":input").val("");
                $("#oldpass").select();
            },1500);
            return false;
        }
    */

  //validar fechas
  /*
    if (desde.length<=0){
        msg = "Ingrese Fecha Inicial.";
        $(".div_msg").html(msg).removeClass('exito_msg error_msg').addClass('error_msg').fadeIn(300);
        setTimeout(function(){
            $(".div_msg").html(msg).removeClass('exito_msg error_msg').fadeOut(300);
        },1500);
        return false;
    }
    if (hasta.length<=0){
        msg = "Ingrese Fecha Final.";
        $(".div_msg").html(msg).removeClass('exito_msg error_msg').addClass('error_msg').fadeIn(300);
        setTimeout(function(){
            $(".div_msg").html(msg).removeClass('exito_msg error_msg').fadeOut(300);
        },1500);
        return false;
    }
  */
 
}

_resumen_cuenta.enviar_datos = function (
  tipoana,
  usuario,
  desde,
  hasta,
  cc,
  remito,
  contado,
  anulada,
  orden,
  empresa,
  remitoPrecioActual
) {


  if (empresa == "") {
    alert("Debe seleccionar la empresa");
    $(".wait").hide();
    return;
  } else {
    $(".wait").show();
  }
  $.ajax({
    url: _resumen_cuenta.URL + "/x_enviar_datos",

    data: {
      usuario: usuario,
      desde: desde,
      hasta: hasta,
      cc: cc,
      remito: remito,
      contado: contado,
      anulada: anulada,
      orden: orden,
      tipoana: tipoana,
      codEmp: empresa,
      remitoPrecioActual: remitoPrecioActual
    },
    type: "post",
    success: function (data) {
      $("#result_datos").html(data).show();
      if (remito != 1) {
        $(".con").hide();
        $(".veh").hide();
      }
      $(".wait").hide();
      $(document).keyup(keyUpFunclista);

      $("#lista_dat ul li").on({
        mouseover: function () {
          $(this).addClass("over");
        },
        mouseout: function () {
          $(this).removeClass("over");
        },
        click: function () {
          var cod = $(this).data("cod");
          var tco = $(this).data("tco");
          var tip = $(this).data("tip");
          var suc = $(this).data("suc");
          var nco = $(this).data("nco");
          var emp = $(this).data("emp");
          var rem = $(this).data("remito");

          if (rem == 1) {
            $.ajax({
              url: _resumen_cuenta.URL + "/x_get_remitos",
              data: {
                suc: suc,
                nco: nco,
                tip: tip
              },
              type: "post",
              success: function (data) {
                data = $.parseJSON(data);
                $(".mostrar_remitos").show();
                data.forEach(function (remitos) {
                  console.log(remitos);
                  remitos[0].OBS = remitos[0].OBS == undefined ? '' : remitos[0].OBS;
                  remitos[0].VEN = remitos[0].VEN == 0 ? '' : remitos[0].VEN;
                  $("#lista_dat_remitos").append(
                    `<ul class="content">
                    <li id="lista_remitos" onmouseover="style='background-color: black; color:white;'" onmouseout="style='background-color: white; color:black;'" onclick="ver_factura('${remitos[0].COD}', '${remitos[0].TCO}', '${remitos[0].TIP}', '${remitos[0].SUC}', '${remitos[0].NCO}', '${remitos[0].EMP}', 1);">
                        <span class="fec"> ${remitos[0].FEC.date} </span>                    
                        <span class="comp">&nbsp;${remitos[0].TIP}00${remitos[0].SUC}-${remitos[0].NCO} </span>
                        <span class="fpa">&nbsp; ${remitos[0].FPA} </span>
                        <span class="tco">&nbsp; ${remitos[0].TCO}</span>
                        <span class="debr">${remitos[0].TOT}</span>                    
                        <span class="obs">&nbsp; ${remitos[0].OBS} </span>
                        <span class="venc">&nbsp; ${remitos[0].VEN}</span>
                    </li>
                </ul> `
                  );
              });
              },
            });
            $(".button_form_remito").append(
              `
              <button class="botones-inferiores" onclick="cerrar_lista_remitos();">Cerrar</button>
              <button class="botones-inferiores" onclick="ver_factura('${cod}', '${tco}', '${tip}', '${suc}', '${nco}', '${emp}', 0);">Factura</button>
              `
            );
          }else{
            ver_factura(cod, tco, tip, suc, nco, emp, 0);
          }
        },
      });
    },
  });
};

function ver_factura(cod, tco, tip, suc, nco, emp, rem){
  
  $.ajax({
    url: _resumen_cuenta.URL + "/x_get_detalle",
    data: {
      cod: cod,
      tco: tco,
      tip: tip,
      suc: suc,
      nco: nco,
      emp: emp
    },
    type: "post",
    success: function (data) {
      data = $.parseJSON(data);
      console.log(data);
      $("body").data("comprobante", data.data);
      $(document).unbind("keyup", keyUpFunclista);
      $(document).keyup(keyUpFunc);
      if (data == -1) alert("Este comprobante no se puede visualizar");
      else {
        $("#result_detalle").html(data.html).show();
      }
      $(".wait").hide();
      if (rem == 0) {
        cerrar_lista_remitos();
      }
      
    },
  });
  
}

function imprimir_detalle() {
  var url = window.location.href;
  var comprobante = $("body").data("comprobante");
  if(comprobante['detalle']['arr_conductor'] == ""){
    comprobante['detalle']['arr_conductor'] = "Sin datos adicionales";
  }
  var form = document.createElement("form");
  form.setAttribute("method", "post");
  form.setAttribute(
    "action",
    url.replace("main", "") + _resumen_cuenta.URL + "/x_imprimir_datos"
  );

  form.setAttribute("target", "view");
  var hiddenField = document.createElement("input");
  hiddenField.setAttribute("type", "hidden");
  hiddenField.setAttribute("name", "factura");
  hiddenField.setAttribute("value", JSON.stringify(comprobante));
  form.appendChild(hiddenField);
  document.body.appendChild(form);
  //window.open('', 'view');
  form.submit();
}

function imprimir_detalle_rec() {
  var url = window.location.href;
  var comprobante = $("body").data("comprobante");
  if(comprobante['detalle']['arr_conductor'] == ""){
    comprobante['detalle']['arr_conductor'] = "Sin datos adicionales";
  }
  var form = document.createElement("form");
  form.setAttribute("method", "post");
  form.setAttribute(
    "action",
    url.replace("main", "") + _resumen_cuenta.URL + "/x_imprimir_datos_rec"
  );

  form.setAttribute("target", "view");
  var hiddenField = document.createElement("input");
  hiddenField.setAttribute("type", "hidden");
  hiddenField.setAttribute("name", "factura");
  hiddenField.setAttribute("value", JSON.stringify(comprobante));
  form.appendChild(hiddenField);
  document.body.appendChild(form);
  //window.open('', 'view');
  form.submit();
}

function total_abajo() {
  $("#tot_up").hide();
  $("#tot_down").show();
}

function total_arriba() {
  $("#tot_up").show();
  $("#tot_down").hide();
}
