$(document).ready(function() {

  /*Bloqueia caracteretes não numéricos com Decimal*/
  function getKeyNumerosDecimais(e, s_locate) {
    var key = e.keyCode || e.which;
        key = String.fromCharCode( key );
        // var regex = /^[0-9\b]+$/;    // .indexOf(",") allow only numbers [0-9]
        var regex = /^[0-9,\b\n]+$/;    // .indexOf(",") allow only numbers [0-9] + a virgula

        var b_locate = s_locate.indexOf(",",0); // Indice da virgula

        var b_block = true; // Bloquear o retorno do campo ? Sim para todos

        /* Bloquear a segunda vírgula */
        if(e.which=="44" && b_locate!="-1"){
          b_block = true;
        /* Bloquear o que não está no Regex */
        }else{
          b_block = !regex.test(key);
        }

        /* Se bloqueio não retorna o campo */
        if( b_block==true) {
            e.returnValue = false;
            if(e.preventDefault) e.preventDefault();
          }

  }

  /*Bloqueia caracteretes não numéricos inteiros */
  function getKeyNumerosInteiros(e, s_locate) {
    var key = e.keyCode || e.which;
        key = String.fromCharCode( key );
        // var regex = /^[0-9\b]+$/;    // .indexOf(",") allow only numbers [0-9]
        var regex = /^[0-9\b\n]+$/;    // .indexOf(",") allow only numbers [0-9] + a virgula

        var b_locate = s_locate.indexOf(",",0); // Indice da virgula

        var b_block = true; // Bloquear o retorno do campo ? Sim para todos

        /* Bloquear a segunda vírgula */
        if(e.which=="44" && b_locate!="-1"){
          b_block = true;
        /* Bloquear o que não está no Regex */
        }else{
          b_block = !regex.test(key);
        }

        /* Se bloqueio não retorna o campo */
        if( b_block==true) {
            e.returnValue = false;
            if(e.preventDefault) e.preventDefault();
          }
  }

    function mascaraValor(valor) {
    valor = valor.toString().replace(/\D/g,"");
    valor = valor.toString().replace(/(\d)(\d{8})$/,"$1.$2");
    valor = valor.toString().replace(/(\d)(\d{5})$/,"$1.$2");
    valor = valor.toString().replace(/(\d)(\d{2})$/,"$1,$2");
    return valor
    }

      // Returns an array of numbers located in the string
    function get_numbers(input) {
       /*
        $(this).text(text.replace('dog', 'doll'));
        return input.match(/[0-9]+/g);
        */
       var st_limpo = input.replace(',', '.');
           st_limpo.match(/[0-9]+/g);
       return st_limpo;
    }

    
    /* Validar Somente números inteiros*/
    // $('input[name*=nr_quantidade').keypress(function(e){
    $('.sonumerointeiro').keypress(function(e){
      var s_name = $(this).prop('name');
      var s_text = $(this).val();

      return getKeyNumerosInteiros(e, s_text);
     });

    /* Validar Somente números decimais*/
    $('.sonumerodecimal').keypress(function(e){
      var s_name = $(this).prop('name');
      var s_text = $(this).val();

      return getKeyNumerosDecimais(e, s_text);
     });

    /* Capturar o código de barras e retornar os padrões via AJAX*/
    /*$('#id_produto').blur(function(e){
    // $('input[name*=id_produto]').blur(function(e){
      getValidarBarras();      
    });*/





    /* Calcular total do produto para incluir o item */
    $('#qt_pedido').on('keyup blur change', function(e){

      var s_qtde    = $(this).val().replace( ",", ".");
      var s_vl_unit = $('#vl_unitario').val().replace( ",", ".");
      var p_total   = parseFloat("0.00");

      if(s_qtde!="" && s_vl_unit!=""){
        p_nr_qtde = parseFloat(s_qtde).toFixed(4);

        p_vl_unit= parseFloat(s_vl_unit);

        p_total = parseFloat(p_nr_qtde * p_vl_unit).toFixed(2);  
      }

      $('#vl_total').val(p_total.toString().replace(",", "."));

    });

    


}(jQuery));
