

//function GM_AplicaMascara_Moeda(vElement){  
//    var vAplicaMascara = vElement.value;
//    vAplicaMascara = vAplicaMascara.replace(/\D/g,"")  //permite digitar apenas números
//    vAplicaMascara = vAplicaMascara.replace(/[0-9]{10}/,"inválido")   //limita pra máximo 999.999.999,99
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{6})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{3})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{1,2})$/,"$1,$2")    //coloca virgula antes dos últimos 2 digitos
//    vElement.value = vAplicaMascara;
//}

//GM_AplicaMascara_Peso
//function GM_AplicaMascara_Moeda(vElement){  
//    var vAplicaMascara = vElement.value;
//    vAplicaMascara = vAplicaMascara.replace(/\D/g,"")  //permite digitar apenas números
//    vAplicaMascara = vAplicaMascara.replace(/[0-9]{13}/,"inválido")   //limita pra máximo 999.999.999,99
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos últimos 8 digitos
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{6})$/,"$1.$2")  //coloca ponto antes dos últimos 5 digitos
//    vAplicaMascara = vAplicaMascara.replace(/(\d{1})(\d{2,3})$/,"$1,$2")    //coloca virgula antes dos últimos 2 digitos
//    vElement.value = vAplicaMascara;
//}


function criaMascara(_RefObjeto, _Modelo){

var valorAtual = _RefObjeto.value;
var valorNumerico = '';
var nIndexModelo = 0;
var nIndexString = 0;
var valorFinal = '';
var adicionarValor = true;
 

// limpa a string valor atual para verificar
// se todos os caracteres são números
for (i=0;i<_Modelo.length;i++){
  if (_Modelo.substr(i,1) != '#'){
    valorAtual = valorAtual.replace(_Modelo.substr(i,1),'');
}}
 
// verifica se todos os caracteres são números
for (i=0;i<valorAtual.length;i++){
  if (!isNaN(parseFloat(valorAtual.substr(i,1)))){
    valorNumerico = valorNumerico + valorAtual.substr(i,1);
}}
 
// aplica a máscara ao campo informado usando
// o modelo de máscara informado no script
for (i=0;i<_Modelo.length;i++){
 
  if (_Modelo.substr(i,1) == '#'){
    if (valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + valorNumerico.substr(nIndexModelo,1);
      nIndexModelo++;nIndexString++;
    }
      else {
        adicionarValor = false;
  }}
 
    else {
      if (adicionarValor && valorNumerico.substr(nIndexModelo,1) != ''){
      valorFinal = valorFinal + _Modelo.substr(nIndexString,1)
      nIndexString++;
    }}
}
 
_RefObjeto.value = valorFinal
 
}

function SohNumeros(valor){
 chars= "0123456789,.";
 e = String.fromCharCode(window.event.keyCode);
 if (e == ""){
     if (valor.indexOf(e)==-1){
    	 return;
     }
     window.event.keyCode=0;
 }
 if(chars.indexOf(e)==-1){
     window.event.keyCode=0;
 }
}
// modelo input: onfocus="criaMascara(this,'##.###.###/####-##');" onkeypress="criaMascara(this,'##.###.###/####-##');" onkeyup="criaMascara(this,'##.###.###/####-##');" onblur="criaMascara(this,'##.###.###/####-##');"


function ValidaCNPJ(NroCNPJ){

    if(NroCNPJ!='00.000.000/0000-00'){
        if ((NroCNPJ.length != 18) )
        {
          return false;
        }

        NroCNPJ = replace(NroCNPJ,"/","");
        NroCNPJ = replace(NroCNPJ,".","");
        NroCNPJ = replace(NroCNPJ,"-","");

        var dig1=0;
        var dig2=0;
        var x;
        var Mult1 = '543298765432';
        var Mult2 = '6543298765432';

        for(x=0; x<=11; x++) 
        {
          dig1 = dig1 +(parseInt(NroCNPJ.slice(x,x+1)) * parseInt(Mult1.slice(x,x+1)) ) ;
        }
        for(x=0; x<=12; x++) 
        {
          dig2 = dig2 + (parseInt(NroCNPJ.slice(x, x+1)) * parseInt(Mult2.slice(x,x+1)) );
        }


        dig1 = (dig1 * 10)%11;
        dig2 = (dig2 * 10)%11;

        if (dig1 == 10) {dig1 = 0;}
        if (dig2 == 10) {dig2 = 0;}

        if (dig1 != parseInt(NroCNPJ.slice(12, 13))) 
        {
          return false;
        } 
        else 
        {
          if (dig2 != parseInt(NroCNPJ.slice(13, 14))) 
          {
            return false;
          } 
          else 
          {
            return true;
          }
        }
    }
    else{
       return false;
    }
    
  }
////////////////////////////////////////  
  function replace(string,text,by) 
  {
    // Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);

    if ((!i) && (text != string.substring(0,txtLength))) return string;
        if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
  }
