var error_c =0, error_t=0,error_d=0; //errores igualados a0 
$.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')     
  }
}); 
// onsubmit para  el modulo addcompras
//************************************
function create_contable(i){
  $.animation('form');
  var action = $(i).attr('action');
  $.ajax({
     type:'POST',
     url:action,
     dataType:'json',
     data:$(i).serialize(),
     success:function(data){
        $.animationoff('form');
        //$('.conten-compra-detalle').fadeIn('200');
        if(jQuery.isEmptyObject(data.error)){
          $('.response-data').removeClass('alert alert-danger').addClass('alert alert-success').html(data.success).show(500);
          if (jQuery.isEmptyObject(data.noreload)) {
              $(i).trigger("reset"); 
          }
          if (!jQuery.isEmptyObject(data.url)) {
              location.href=data.url;
          }
        }else{
          $('.response-data').html('');
          $.each( data.error, function( key, value ) {
            $('.response-data').removeClass('alert alert-success').addClass('alert alert-danger').append(`<p>* ${value}</p>`).show(500);
          });
        }
        $('html, body').animate({scrollTop:0}, 'slow'); 
     },
      error: function(jqXHR, textStatus, errorThrown) 
      { 


      }
  });
}
// Obtener modal para  crear y  actualizar
//*******************************************
function modals_show(i){
  $.ajaxblock();
  var modal = $(i).attr('data-modal'),actions = $(i).attr('data-action'),data='';
  let glosa = $('#glosa_concept').val();
  $(i).attr('disabled', 'true');
  data = (actions == 'updateModal') ?  {'action':actions,'modal':modal,'id_value':$(i).data('valueid'),'identida':$(i).data('identidad'),'id':$(i).data('id')} : {'action':actions,'modal':modal,'id':$(i).data('id'),'identida':$(i).data('idn')};
  $.ajax({
    url: modalsurl,
    type: 'POST',
    data: data,
  })
  .done(function(data) {
    $('.response-ajax').html(data);
    $('#glosa_add').val(glosa);
    //tipdocajax();
    change_divisa();
    if (actions !== 'updateModal') {
      percentc();
    }
    $('#'+actions).modal('toggle');
    $(i).removeAttr('disabled');
    $.ajaxunblock();
  })
}
// onsubmit para  el modulo addcompras update
//*******************************************
function update_contable(i){
  var action = $(i).attr('action');
  $.ajax({
     type:'PATCH',
     url:action,
     dataType:'json',
     data:$(i).serialize(),
      beforeSend:function(){
        $('form').block({ 
            message: '<i class="icon-spinner2 spinner"></i>',
            overlayCSS: {
                backgroundColor: '#fff',
                opacity: 0.8,
                cursor: 'wait',
                'box-shadow': '0 0 0 1px #ddd'
            },
            css: {
                border: 0,
                padding: 0,
                backgroundColor: 'none'
            }
        }); 
     },
     success:function(data){
        $('form').unblock();
        if(jQuery.isEmptyObject(data.error)){
          $('.response-data').removeClass('alert alert-danger').addClass('alert alert-success').html(data.success).show(500);
          if (!jQuery.isEmptyObject(data.url)) {
              location.href=data.url;
          }
          //Si la actualizacion tuvo exito recargamos las lineas nuevamente
          get_lineas();
          $('#updateModal').modal('toggle');
          $.noty_success(data.success);

        }else{
          $('.response-data').html('');
          $.each( data.error, function( key, value ) {
            $('.response-data').removeClass('alert alert-success').addClass('alert alert-danger').append('<p>* '+value+'</p>').show(500);
          });
        }
        //$('html, body').animate({scrollTop:0}, 'slow'); 
     },
      error: function(jqXHR, textStatus, errorThrown) 
      { 


      }
  });
}
//Eliminar  una linea 
//*******************
function delete_line(i){
  var id = $(i).attr('data-id');
  swal({
    title: "Estas seguro ?",
    text: "Vas a eliminar el registro seleccionado",
    icon: "warning",
    buttons: true,
    dangerMode: true,
    closeModal: false,
  }).then((willDelete) => {
    if (willDelete) {
      $.ajax({
           type:'DELETE',
           url:$(i).attr('data-url'),
           success:function(data){
              if(jQuery.isEmptyObject(data.error)){
                $('.fila-lineas-'+id).hide(200);
                swal({title:"Registro eliminado con exito...",icon:"success"});
                get_lineas();
              }else{
                alert(data);
              }
            },
            error: function(jqXHR, textStatus, errorThrown) 
            { 
              
            }
        });
    }
  });
}
//Obtener el cambio actual por la fecha actual
//********************************************
function cambious(){
  var fecha = $('#emision').val();
  $.ajax({
    url: cambiourl,
    type: 'POST',
    dataType: 'json',
    data: {'action': 'getcambio','fecha':fecha},
  })
  .done(function(data) {
      if(jQuery.isEmptyObject(data.error)){
        $('#cambioinput').val(data.cambio);
      }else{
        alert(data.error);
      }
  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    console.log("error");
    if (jqXHR.status === 200) {
      error_c +=1;
      if (error_c > 3) {
        alert('Existe un error en la ruta contacte al administrador');
      }else{
        console.log("error:"+error_c);
        cambious();
      }
    }
  })
  .always(function() {
    console.log("complete");
  }); 
  calcula_valor();
  if(typeof calcular_valor_art === 'function') {
      calcular_valor_art();
  }
}
//Busqueda para obtener la entidad en compras
//*******************************************
function search_razon(i){
	var action = $(i).attr('data-action');
	var tipe = $(i).attr('data-tipe');
	var value = $(i).val();
  $.ajax({
     type:'POST',
     url:action,
     dataType:'json',
     data:{'search':value,'action':'search'},
     success:function(data){
        if(tipe == 'articulo'){
          $('.article-search').html('');
          if(jQuery.isEmptyObject(data.error)){
            $.each(data, function(i, item) {
              $('.article-search').fadeIn().append('<a href="#" onclick="auto_complet(this); return false" data-tipe="articulo"  data-nombre="'+item.nombre+'" data-codigo="'+item.codigo+'" data-cantidad="'+item.cantidad+'" data-precio="'+item.precio+'" data-um="'+item.um+'"><div class="item-1">'+item.codigo+' - '+item.nombre+'</div></a>');
            });
          }else{

          }
        }else{
          $('.entidad-search').html('');
          if(jQuery.isEmptyObject(data.error)){
            $.each(data, function(i, item) {
              $('.entidad-search').fadeIn().append('<a href="#" onclick="auto_complet(this); return false" data-tipe="entidad" data-nombre="'+item.nombre1+'" data-nsocial="'+item.nsocial+'" data-ruc="'+item.numero+'" data-identidad="'+item.identidad_document_id+'"><div class="item-1">'+item.numero+' - '+item.nsocial+'</div></a>');
            });
          }else{
             $('.entidad-search').fadeOut('');
               
           
          }
        }
    	},
      error: function(jqXHR, textStatus, errorThrown) 
      {	

      }
  });
}
//Auto completar  nombre  y seleccionar  su tipo de  documento en compra
//**********************************************************************
function auto_complet(i){
  if($(i).attr('data-tipe') == 'articulo'){
    $('#article_search').val($(i).attr('data-nombre'));
    $('#codigo_art').val($(i).attr('data-codigo'));
    $('#um_art').val($(i).attr('data-um'));
    $('.content-search').fadeOut(100);
  }else{
    var nombre = $(i).attr('data-nsocial'),nsocial = $(i).attr('data-nsocial'), ruc = $(i).attr('data-ruc'),identidad = $(i).attr('data-identidad'),numero='1';
    if (identidad == 4) {
      numero = 'RUC';
    }else if (identidad == 2) {
      numero = 'DNI';
    }
    $("#identidad_select option").each(function() {     
      $(this).removeAttr('selected');
      if (identidad == $(this).attr('data-id')) {
        $(this).attr('selected','selected');
      }     
    });
    $('.identidad_txt').html(numero);
    $('.mynombre').val(nombre);
    $('.identidad_numero').val(ruc);
    $('.content-search').fadeOut(100);
  }
}
//funcion al cambiar la divisa  USD
//*********************************
function change_divisa(i){
  var divisa = $('#divisa_change').find(':selected').attr('data-divisa'),soles,soles_totales,i;
  soles = ["precio_soles", "descuento_soles","imp_soles","igv_soles"];
  soles_totales = ["inafecto_soles", "afecto_soles", "descuento_soles","vcompra_soles","impuesto_soles","subtotal_soles","percepcion_soles","total_soles"];
  if (divisa == 'US' || divisa == 'USD') {
    $('.section_sol').fadeIn(100);
    for (i = 0; i < soles.length; i++) {
      if ( $("#"+soles[i]).length ) {
        $('#'+soles[i]).attr({
          'required': '',
          'name': soles[i],
        });
      }
    }
    for (i = 0; i < soles_totales.length; i++) {
      $('#'+soles_totales[i]).attr({
        'required': '',
        'name': soles_totales[i],
      });
    }
  }else{
    for (i = 0; i < soles_totales.length; i++) {
      $('#'+soles_totales[i]).removeAttr('required').removeAttr('name');

    }
    for (i = 0; i < soles.length; i++) {
      $('#'+soles[i]).removeAttr('required').removeAttr('name');
    }
    $('.section_sol').fadeOut(100);
  }
}

//Funcion para validar si es un obsequio
//**************************************
function change_p_articulo(i){
  if( $(i).is(':checked') ){
    $('.cuentas_articulos').fadeOut(100);$('#cuenta_articulo').removeAttr('name').removeAttr('required').selectpicker('refresh');
    $('#cuenta_obsequio').removeAttr('disabled').attr({'name': 'plan_cuentas_id','required':'required' }).selectpicker('refresh');
  }else{
    $('.cuentas_articulos').fadeIn(100);$('#cuenta_articulo').attr({'name': 'plan_cuentas_id','required':'required' }).selectpicker('refresh');
    $('#cuenta_obsequio').attr('disabled','disabled').removeAttr('name').removeAttr('required').selectpicker('refresh');
  }
}


//Funcion para obtener el ultimo codigo o numero de registro por fecha
//********************************************************************
function change_number(){
  $.ajax({
    url: url_local,
    type: 'POST',
    dataType: 'json',
    data: {'action': 'change_number','fecha':$('#fecha_number').val()},
  })
  .done(function(data) {
    $('.content-numbers').html('');
    if (data > 0) {
      var content =data+1;
      $('.content-numbers').append('<input type="hidden" name="codigo_num" value="'+content+'">');
    }else{
      $('.content-numbers').append('<input type="hidden" name="codigo_num" value="1">');
    }
  })
  .fail(function() {
    console.log("error");
  })
  .always(function() {
    console.log("complete");
  });
}
//validacion para  tipo de  documento relacional y no relacional 
//**************************************************************
function tipdocajax(){
  var id = $('#tipdocs_campo').val(),descor = $('#tipdocs_campo').find(':selected').attr('data-cambio') , sig = $('#tipdocs_campo').find(':selected').attr('data-descor');
  $('.content-cuentas').html('').append('<input type="hidden" name="tipdocs_id" value="'+id+'"> <input type="hidden" name="doc_cod" value="'+descor+'"> <input type="hidden" name="doc_sig" value="'+sig+'">');
}
function tipdocs(i){
  tipdocajax();
  var doc = $(i).find(':selected').attr('data-cambio'), relacional = $(i).find(':selected').attr('data-relacional'),descor = $(i).find(':selected').attr('data-descor');
  if ($(i).attr('data-relacion')) {
      //$('#docserie_relacional').val($(i).val());
  }else{
    if (relacional == 1) { 
      $('.relacional-content').fadeIn(100);
      $('#relacional_select').attr({
        'name': 'tipdoc_relacional',
        'required': 'required'
      });
      $('#docserie_relacional').attr({
        'name': 'serie_relacional',
        'required': 'required'
      });
      $('#docnumero_relacional').attr({
        'name': 'numero_relacional',
        'required': 'required'
      });
    }else{
      $('.relacional-content').fadeOut(100);
      $('#relacional_select').removeAttr('name').removeAttr('required');
      $('#docserie_relacional').removeAttr('name').removeAttr('required');
      $('#docnumero_relacional').removeAttr('name').removeAttr('required');
    }
    //$('#docserie').val(doc);
  }
  if (descor == 'FEX') {
    $('.igv_no').fadeIn(100);
  }else{
    $('.igv_no').fadeOut(100);
  }
}

//onsubmit cuentas sacar cuentas
function change_cuecc(i){
  let codigo = $(i).find(':selected').data('codigo'),descripcion =$(i).find(':selected').data('description'), select = $(i).data('select');
  $('.content-'+select+'-lineas').html('').append('<input type="hidden" name="'+select+'_codigo" value="'+codigo+'"> <input type="hidden" name="'+select+'_descripcion" value="'+descripcion+'">');
}
//agregar detalle, concepto o articulos a las compras
//***************************************************
var count_concepto =0;
function addconcepto(i){
  $('form.concepto-form').block({ 
      message: '<i class="icon-spinner2 spinner"></i>',
      overlayCSS: {
          backgroundColor: '#fff',
          opacity: 0.8,
          cursor: 'wait',
          'box-shadow': '0 0 0 1px #ddd'
      },
      css: {
          border: 0,
          padding: 0,
          backgroundColor: 'none'
      }
  }); 
  count_concepto+=1;
  $.ajax({
    url: url_local,
    type: 'POST',
    dataType: 'json',
    data: $(i).serialize(),
  })
  .done(function(data) {
    // linea  principal 
    $('form.concepto-form').unblock();
    //valido los resultados del servidor
    if(jQuery.isEmptyObject(data.error)){
      $('.response-data').removeClass('alert alert-danger').addClass('alert alert-success').html(data.success).show(500);
      $(i).trigger("reset"); 
      $('#createModal').modal('toggle');
      $.noty_success(data.success);
    }else{
      $('.response-data').html('');
      $.each( data.error, function( key, value ) {
        $('.response-data').removeClass('alert alert-success').addClass('alert alert-danger').append('<p>* '+value+'</p>').show(500);
      });
    }
    //recargamos las lineas
    get_lineas();
  })
  .fail(function() {
    alert('error recargando evento');
    console.log("error");
  })
  .always(function() {
    console.log("complete");
  });  
}

function locks_reg(){
  let icon = $('#lock_reg').find('i');
  let status = $('#lock_reg').data('status');
  if (status === 1) {
    $('button').attr('disabled', 'disabled').fadeOut(100);
    $('.buttons-contables').attr('disabled', 'disabled').fadeOut(100);
  }else{
    $('button').removeAttr('disabled').fadeIn(100);
    $('.buttons-contables').removeAttr('disabled').fadeIn(100);
  }

}
//**************************************************************************
// Agregados JQUERY
//Jquery ajax para obtener una factura relacionada con entidad
$(function() {
  $(document).on('change',"#cuenta_id",function (event) {
      var pcuenta = $('#cuenta_id').val();
      if (pcuenta !== '') {
        var codigo_c = $('#cuenta_id').find(':selected').attr('data-codigo'), codigosub = codigo_c.substr(0,3);
        
          if (codigosub == '422' || codigosub == '122') {
            $('#entidadf').removeAttr('disabled');
          }else{
            $('#entidadf').attr('disabled', 'true');;
          }
        }
  });
  $(document).on('blur',"#numero_serie",function (event) {
      let value = $(this).val();
      if (value.substring(0,3) !== '000') {
        $(this).val(`000${value}`);
      }
  });
  $(document).on("click","#item_f_relacional",function(e){
    $.ajaxblock();e.preventDefault();var id = $(this).data('id');
    $.ajax({
      url: url_local,
      type: 'POST',
      dataType: 'json',
      data: {id:id,action:'get_item_c'},
    })
    .done(function(data) {
      $('.content-relacional').html('').append('<input type="hidden" name="compras_id_relacional" value="'+id+'">');
      $('#precio_venta').val(data.vcompra);
      if (data.igvpercent != 0) {
        $('#igvpercent').val(data.igv_percent);
        $('#igvpercent2').val(data.impuesto);
      }
      if (data.descuento != 0) {
        $('#desc_2').val(data.descuento);
      }
      calcula_valor();
      $('#document_f_relacional').attr({
        'name': 'document_f_relacional',
      }).val($('.item_f_document'+id).html());
      $('#modalEntidad').modal('toggle');
      $.ajaxunblock();
    })
    .fail(function() {
      console.log("error");
    })
  });
  $(document).on("click","#lock_reg",function(e){
      e.preventDefault();
      let locks = $(this);
      let icon = $(this).find('i');
      $.ajax({
        url: url_local,
        type: 'POST',
        data: {action: 'lock', id: $(this).data('id'),status:$(this).data('status')},
      })
      .done(function(data) {
        if(jQuery.isEmptyObject(data.error)){
          locks.attr('data-status',data.success);
          if (data.success === 1) {
            icon.removeClass('icon-unlocked').addClass('icon-lock4');
            $('button').attr('disabled', 'disabled').fadeOut(100);
            $('.buttons-contables').attr('disabled', 'disabled').fadeOut(100);
          }else{
            icon.removeClass('icon-lock4').addClass('icon-unlocked');
            $('button').removeAttr('disabled').fadeIn(100);
            $('.buttons-contables').removeAttr('disabled').fadeIn(100);
          }
        }
        get_lineas();
      })
      .fail(function() {
        console.log("error");
      })
      .always(function() {
        console.log("complete");
      });
      
  });
});