/*///////////////////////////////////////////////////////////////////////////
//formata valor para moeda                                                  /
//onKeyDown="FormataValor('campo', 17, event)"                              /
//nescessária a funcção rV e mV                            /
///////////////////////////////////////////////////////////////////////////*/
function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = rV('',campo);
	vr = vr.replace(/\D/g,"")  
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
	if (tam <= tammax){ 	
		if ( tam <= 2 ){
	 		mV('',campo,vr);
		}
	 	if ( (tam > 2) && (tam <= 5) ){
	 		vr = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam );
			mV('',campo,vr);
		}
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		vr = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
			mV('',campo,vr);
		}
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		vr = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); 
			mV('',campo,vr);
		}
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		vr = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
			mV('',campo,vr);
		}
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		vr = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;
			mV('',campo,vr);
		}
	}
}

/////////////////////////////////////////////////////////////////////////////
//formata valor para Percentual                                             /
//onKeyDown="FormataPercentual('campo', 10, event)"                         /
/////////////////////////////////////////////////////////////////////////////
function FormataPercentual(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.form[campo].value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 3 ){ 
	 		document.form[campo].value = vr ; }
	 	if ( (tam > 3) && (tam <= 6) ){
	 		document.form[campo].value = vr.substr( 0, tam - 3 ) + ',' + vr.substr( tam - 3, tam ) ; }
	}		
	
}

/////////////////////////////////////////////////////////////////////////////
//formata o campo com as máscaras a seguir                                  /
//onKeyDown="mascara(this,cpf)"                                             /
//onKeyDown="mascara(this,ie)"                                              /
//onKeyDown="mascara(this,soNumeros)"                                       /
//onKeyDown="mascara(this,telefone)"                                        /
//onKeyDown="mascara(this,cep)"                                             /
//onKeyDown="mascara(this,decimal)"                                         /
//onKeyDown="mascara(this,data)"                                            /
//onKeyDown="mascara(this,cnpj)"                                            /
//onKeyDown="mascara(this,romanos)"                                         /
//onKeyDown="mascara(this,hora)"                                         /
/////////////////////////////////////////////////////////////////////////////
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}
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
}
function soNumeros(v){
    return v.replace(/\D/g,"")
}
function placa(v){
    v=v.replace(/(\w{3})(\d{4})/,"$1-$2")  
    return v
}
function telefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca hífen entre o quarto e o quinto dígitos
    return v
}
function hora(v){
    v=v.replace(/\D/g,"")
    v=v.replace(/^(\d{2})(\d)/,"$1:$2")
    return v
}
function ip(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")
    return v
}
function cpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}
function ie(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d)/,"$1.$2") 		 //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}
function cep(v){
    v=v.replace(/\D/g,"")                //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
    return v
}
function decimal(v){
	v=v.replace(/\D/g,"")
	if(v.length < 3){
		v=v;
	}else if(v.length == 3){
		v=v.replace(/(\d{1})(\d)/,"$1,$2")
	}else if(v.length == 4){
		v=v.replace(/(\d{2})(\d)/,"$1,$2")
	}else if(v.length == 5){
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 6){
		v=v.replace(/(\d{1})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 7){
		v=v.replace(/(\d{2})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 8){
		v=v.replace(/(\d{3})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 9){
		v=v.replace(/(\d{1})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 10){
		v=v.replace(/(\d{2})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}else if(v.length == 11){
		v=v.replace(/(\d{3})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1.$2")
		v=v.replace(/(\d{3})(\d)/,"$1,$2")
	}
    return v
}
function data(v){
    v=v.replace(/\D/g,"")
    v=v.replace(/^(\d\d)(\d)/g,"$1/$2")
	v=v.replace(/(\d{2})(\d)/,"$1/$2")
    return v
}
function cnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que não é dígito
    v=v.replace(/^(\d{3})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{3})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto dígitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um hífen depois do bloco de quatro dígitos
    return v
}
function romanos(v){
    v=v.toUpperCase()             //Maiúsculas
    v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que não for I, V, X, L, C, D ou M
    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
}
function linhaDigitavel(v){
    alert('fazer...');
}

