/**  
  * Função Principal 
  * @param w - O elemento que será aplicado (normalmente this).
  * @param e - O evento para capturar a tecla e cancelar o backspace.
  * @param m - A máscara a ser aplicada.
  * @param r - Se a máscara deve ser aplicada da direita para a esquerda. Veja Exemplos.
  * @param a - 
  * @returns null  
  */
  
/* outros exemplos  
telefone: onkeyup="maskIt(this,event,'(##)####-####')"
dinheiro: onkeyup="maskIt(this,event,'###.###.###,##',true,{pre:'R$'})"
graus: onkeyup="maskIt(this,event,'###,#',true,{pre:'',pos:'º'})"
*/
function maskIt(w,e,m,r,a){
    
    // Cancela se o evento for Backspace
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    
    // Variáveis da função
    var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
    var mask = (!r) ? m : m.reverse();
    var pre  = (a ) ? a.pre : "";
    var pos  = (a ) ? a.pos : "";
    var ret  = "";

    if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;

    // Loop na máscara para aplicar os caracteres
    for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
        if(mask.charAt(x)!='#'){
            ret += mask.charAt(x); x++;
        } else{
            ret += txt.charAt(y); y++; x++;
        }
    }
    
    // Retorno da função
    ret = (!r) ? ret : ret.reverse()    
    w.value = pre+ret+pos;
}

// Novo método para o objeto 'String'
String.prototype.reverse = function(){
    return this.split('').reverse().join('');
};

//fim da funcao das mascaras

function mascaraTexto(evento, mascara){  
    var campo, valor, i, tam, caracter;  
    if (document.all) 
       campo = evento.srcElement;  
    else  
        campo= evento.target;  
          
    valor = campo.value;  
    tam = valor.length;  
      
    for(i=0;i<mascara.length;i++){  
       caracter = mascara.charAt(i);  
       if(caracter!="9")   
          if(i<tam & caracter!=valor.charAt(i))  
             campo.value = valor.substring(0,i) + caracter + valor.substring(i,tam);     
    }  
 }
 
function SaltaCampo(campo, prox, tammax, teclapres) { var tecla = teclapres.keyCode; var vr = campo.value; var tam = vr.length; if ((tecla != 9) && (tecla != 16)) { if (campo.value.length >= tammax) { campo.value = campo.value.substring(0, tammax); prox.focus(); } } };







