function ClaveArticuloSearch(args) {
  var $articulo_clave = args.$articulo_clave
  var $articulo = args.$articulo
  var $modal_opciones = args.$modal_opciones

  function CargarArticulo( articulo_id, articulo_nombre, tipo_seguimiento){  
    $articulo.parent().find(".deck.div").attr('style','');
    $articulo.parent().find(".deck.div").html('<span class="div hilight" data-value="'+articulo_id+'"><span style="display: inline;" class="remove div">X</span>'+articulo_nombre+'</span>');
    $articulo.html('<option selected="selected" value="'+articulo_id+'"></option>');
    $("#articuloSeguimientoUnidadesId").val(tipo_seguimiento);
    $articulo.parent().find("input").hide();
    $articulo.trigger( "change" );
    $articulo.parent().show();
    $articulo.parent().parent().show();
    // if (manejarSeries == false) {
    //   $("#id_unidades").show();
    //   $("#id_unidades").focus();
    // }
  }
  // Carga las opciones de clave
  cargarOpciones = function(opciones){
    if (Object.keys(opciones).length > 0 ) {
      html_var = ''
      for (articulo in opciones)
      { 
        html_var = html_var + "<a href='#' class='clave_link'>" + articulo + "</a> " + opciones[articulo]+"<br>"
      }

      $("#opciones_clave_Modal").modal()
      $modal_opciones.find(".modal-body").html(html_var)
      $(".clave_link").on("click", function(){
        $articulo_clave.val($(this).text())
        $articulo_clave.trigger('change')
        $modal_opciones.modal('hide')
      })
    }
  }

  $articulo_clave.on("change", function(e){ 
    e.preventDefault()
    clave = $articulo_clave.val()
    if( clave != null && clave != '' ){
      $.ajax({
        url:'/inventarios/get_articulo_porclave/', 
        type : 'get', 
        data:{
          'clave': clave,
        }, 
        success: function(data){
            var opciones_clave =  data.opciones_clave;
            var articulo_nombre = data.articulo_nombre;
            var articulo_id = data.articulo_id;
            if (Object.keys(opciones_clave).length <= 0)
            {
              if (articulo_nombre == '')
              {
                alert('No se encontro ningun articulo con la clave');
              }
              else
              {
                CargarArticulo(articulo_id, articulo_nombre, 'N');
              }
            // Si hay opciones por mostrar
            }
            else
            {
              cargarOpciones(opciones_clave);
            }
        },
        error: function() {
          alert('fallo algo');
        },
      });
    }
    
  })
}

ClaveArticuloSearch({
  '$articulo_clave':$("#id_clave_articulo"),
  '$articulo':$("#id_articulo"),
  '$modal_opciones': $("#opciones_clave_Modal")
})