
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;
 }
}

function GM_AplicaMascara_Moeda(vElement){  
    var vAplicaMascara = vElement.value;
    vAplicaMascara = vAplicaMascara.replace(/\D/g,"")  //permite digitar apenas números
    vAplicaMascara = vAplicaMascara.replace(/[0-9]{12}/,"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{5})$/,"$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;
}
