// JavaScript Document
	
	function testaTipoPessoa(){
		var i;
    	var viado = document . getElementById("tipoPessoa");
    	if (viado != null) {
     		for (i=0; i<viado.length; i++){
		       if (viado[i].checked) {
					break;
		       }
		        
		    }
			var tipo_pessoa = viado[i].value;
     	}	    
		return tipo_pessoa;
	}
	
	/*Função Pai de Mascaras
		objeto = Objeto 
		funcao = Função
	*/
	function Mascara(objeto, funcao){
    	tipo_pessoa = testaTipoPessoa();
    	
    	if (objeto == document . getElementById("documento")) {
			if (tipo_pessoa == 'j') {
		    	funcao = Cnpj;
		    }
	    	if (tipo_pessoa == 'f') {
	    		funcao = Cpf;
			}
		}
		switch (funcao){
			case Nome:
				objeto . setAttribute('maxLength', 70);
			break;
			
			case Telefone:
				objeto . setAttribute('maxLength', 14);
			break;
			
			case TelefoneCall:
				objeto . setAttribute('maxLength', 13);
			break;
		
			case Cpf:
				objeto . setAttribute('maxLength', 14);
			break;
		
			case Cnpj:
				objeto . setAttribute('maxLength', 19);
			break;
			
			case Cep:
				objeto . setAttribute('maxLength', 9);
			break;
		
			case Data:
				objeto . setAttribute('maxLength', 10);
			break;
		}
        v_obj = objeto;
        v_fun = funcao;
        setTimeout("execmascara()", 1);
    }
    
    /*Função que Executa os objetos*/
    function execmascara(){
        v_obj . value = v_fun(v_obj . value);
    }
    
    /*Função que Determina as expressões regulares dos objetos*/
    function leech(v){
        v=v.replace(/o/gi,"0")
        v=v.replace(/i/gi,"1")
        v=v.replace(/z/gi,"2")
        v=v.replace(/e/gi,"3")
        v=v.replace(/a/gi,"4")
        v=v.replace(/s/gi,"5")
        v=v.replace(/t/gi,"7")
        return v
    }
    
    /*Função que padroniza nome*/
    function Nome(v){
    	/** ,<.>;:/?[{]}| **/
        v=v.replace(/[0-9'"!@#\$£%¢¨¬&\*\(\)-_=\+]/gi,"")
        return v
    }
    
    /*Função que padroniza Rg*/
    function Rg(v){
        v=v.replace(/\D/g,"")
		v=v.replace(/^(\d{3})(\d{3})(\d{3})(\d)/g,"$1.$2.$3-$4")
        return v
    }
    
    /*Função que permite apenas numeros*/
    function Integer(v){
        return v.replace(/\D/g,"")
    }
    
    /*Função que padroniza  telefone (11) 4184-1241*/
    function Telefone(v){
        v=v.replace(/\D/g,"")                 
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2") 
        v=v.replace(/(\d{4})(\d)/,"$1-$2")    
        return v
    }
    
    /*Função que padroniza telefone (11) 41841241*/
    function TelefoneCall(v){
        v=v.replace(/\D/g,"")                 
        v=v.replace(/^(\d\d)(\d)/g,"($1) $2")    
        return v
    }
    
    /*Função que padroniza CPF 123.456.789-01*/
    function Cpf(v){
        v=v.replace(/\D/g,"")                    
        v=v.replace(/(\d{3})(\d)/,"$1.$2")
        v=v.replace(/(\d{3})(\d)/,"$1.$2")       
                                                 
        v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") 
        return v
    }
    
    /*Função que padroniza CNPJ 12.345.678/9012-34*/
    function Cnpj(v){
        v=v.replace(/\D/g,"")                   
        v=v.replace(/^(\d{2})(\d)/,"$1.$2")     
        v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") 
        v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           
        v=v.replace(/(\d{4})(\d)/,"$1-$2")              
        return v
    }
    
    /*Função que padroniza CEP 12345-678*/
    function Cep(v){
        v=v.replace(/\D/g,"")                
        v=v.replace(/^(\d{5})(\d)/,"$1-$2")
        return v
    }
	
	/*Função que permite apenas numeros Romanos*/
    function Romanos(v){
        v=v.toUpperCase()             
        v=v.replace(/[^IVXLCDM]/g,"") 
        
        while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
            v=v.replace(/.$/,"")
        return v
    }
    
    /*Função que padroniza o Site*/
    function Site(v){
        v=v.replace(/^http:\/\/?/,"")
        dominio=v
        caminho=""
        if(v.indexOf("/")>-1)
            dominio=v.split("/")[0]
            caminho=v.replace(/[^\/]*/,"")
            dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
            caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
            caminho=caminho.replace(/([\?&])=/,"$1")
        if(caminho!="")dominio=dominio.replace(/\.+$/,"")
            v="http://"+dominio+caminho
        return v
    }

    /*Função que padroniza DATA*/
    function Data(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        v=v.replace(/(\d{2})(\d)/,"$1/$2") 
        return v
    }
    
    /*Função que padroniza Hora*/
    function Hora(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d{2})(\d)/,"$1:$2")  
        return v
    }
    
    /*Função que padroniza valor monétario*/
    function Valor(v){
        v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
        v=v.replace(/^([0-9]{3}\.?){3}-[0-9]{2}$/,"$1.$2");
        //v=v.replace(/(\d{3})(\d)/g,"$1,$2")
        v=v.replace(/(\d)(\d{2})$/,"$1.$2") //Coloca ponto antes dos 2 últimos digitos
        return v
    }
    
    /*Função que padroniza Inteiros*/
    function Inteiro(v){
        v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
        return v
    }
    
    /*Função que padroniza Area*/
    function Area(v){
        v=v.replace(/\D/g,"") 
        v=v.replace(/(\d)(\d{2})$/,"$1.$2") 
        return v
        
    }

