function upperTextoNome(e, numero) {
	var ret = false;

	if (document.all) {// Internet Explorer
		var tecla = event.keyCode;
	}
	else if(document.layers) {// Nestcape
		var tecla = e.which;
	}

	ret = this.upperTexto(e, numero);

	if (tecla == 46) { // Ponto
		return false;
	} else if (tecla == 45) { // Traço
		return false;
	} else if (tecla == 64) { // Arroba
		return false;
	} else if (tecla == 95) { // Sublinhado
		return false;
	} else {
		return ret; // Alfabeto maiusculo
	}
}

function upperTexto(e, numero) {
	if (document.all) {// Internet Explorer
		var tecla = event.keyCode;
	}
	else if(document.layers) {// Nestcape
		var tecla = e.which;
	}

	if (tecla > 96 && tecla < 123 && numero < 2) { // Letras minusculas
		event.keyCode = tecla - 32;
	} else if (tecla > 64 && tecla < 91 && numero == 2) {
		event.keyCode = tecla + 32;
	} else if (tecla > 64 && tecla < 91 && numero < 2) { // Letras maiusculas
		return true;
	} else if (tecla > 96 && tecla < 123 && numero == 2) { // Letras maiusculas
		return true;
	} else if (numero >= 1 && tecla > 47 && tecla < 58) { // Números
		return true;
	} else if (tecla == 64) { // Arroba
		return true;
	} else if (tecla == 45) { // Traço
		return true;
	} else if (tecla == 46) { // Ponto
		return true;
	} else if (tecla == 95) { // Sublinhado
		return true;
	} else if (tecla == 32) { // Espaço
		return true;
	} else {
		return false;
	}
}

function formatarCep(campo){ // Formata o CEP
	var key = event.keyCode;
	var cep = campo.value;
	var cepOrigem = cep;
	var set = 0;
	cepOrigem = replace(cepOrigem, " ", "");
	cepOrigem = replace(cepOrigem, ".", "");
	cepOrigem = replace(cepOrigem, "-", "");

	if(cepOrigem.length == 8){
		cep = cepOrigem.substring(0, 5) + "-" + cepOrigem.substring(5, 8);
		set = 1;
	}
	else {
		if (cep.length == 5 && cep.substring(5, 6) != "-") {
			cep += "-";
		}
	}
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+cep+"'");
		return true;
	}
	else{
		return false;
	}
}

function formatarCampoNumerico(){ // Deixa escrever apenas números
	var key = event.keyCode;
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key >= 48 && key <= 57)|| 
		(key == 8  || key == 37 || 
		 key == 39 || key == 35 ||
		 key == 36 || key == 45)) {

		return true;
	}
	else{
		return false;
	}
}


function formatarCpf(campo){ // Formata o CPF
	var key = event.keyCode;
	var cpf = campo.value;
	var cpfOrigem = cpf;
	var set = 0;

	cpfOrigem = replace(cpfOrigem, " ", "");
	cpfOrigem = replace(cpfOrigem, ".", "");
	cpfOrigem = replace(cpfOrigem, "-", "");

	if (cpfOrigem.length == 11) {
		cpf = cpfOrigem.substring(0, 3) + "." + cpfOrigem.substring(3, 6) + "." + cpfOrigem.substring(6, 9) + "-" + cpfOrigem.substring(9,11);
		set = 1;
	}
	else {
		if (cpfOrigem.length == 3 && cpf.substring(3, 4) != ".") {
			cpf += ".";
		}
		else if (cpfOrigem.length == 6 && cpf.substring(7, 8) != ".") {
			cpf += ".";
		}
		else if (cpfOrigem.length == 9 && cpf.substring(11, 12) != "-") {
			cpf += "-";
		}
	}

	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/

	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+cpf+"'");
		return true;
	}
	else {
		return false;
	}
}


function formatarData(campo){ // Formata o campo data
	var key = event.keyCode;
	var data = campo.value;
	var dataOrigem = data;
	var set = 0;
	dataOrigem = replace(dataOrigem, " ", "");
	dataOrigem = replace(dataOrigem, "/", "");

	if(dataOrigem.length == 8){
		data = dataOrigem.substring(0, 2) + "/" + dataOrigem.substring(2, 4) + "/" + dataOrigem.substring(4, 8);
		set = 1;
	}
	else {
		if (data.length == 2 && data.substring(2, 3) != "/") {
			data += "/";
		}
		else if (data.length == 5 && data.substring(4, 5) != "/") {
			data += "/";
		}
	}
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+data+"'");
		return true;
	}
	else{
		return false;
	}
}

function formatarHora(campo){ // Formata o campo Hora
	var key = event.keyCode;
	var hora = campo.value;
	var horaOrigem = hora;
	var set = 0;
	horaOrigem = replace(horaOrigem, " ", "");
	horaOrigem = replace(horaOrigem, ":", "");

	if(horaOrigem.length == 5){
		hora = horaOrigem.substring(0, 2) + ":" + horaOrigem.substring(3, 5);
		set = 1;
	}
	else {
		if (hora.length == 2 && hora.substring(2, 3) != ":") {
			hora += ":";
		}
	}
	
	/* Descricao dos keyCodes
	* 8 = backspace
	* 35 = end
	* 36 = home
	* 37 = seta esqueda
	* 39 = seta direita
	* 45 = insert
	* 48 - 57 = numeros no teclado alfabetico
	*/
	if ((key != 8 && key != 37 && key != 39 && key != 35 && key != 36 && key != 45 && key >= 48 && key <= 57) || set == 1) {
		eval("document.all."+campo.name+".value = '"+hora+"'");
		return true;
	}
	else{
		return false;
	}
}


/****
<input type='text' OnKeyUp='return formatarMoeda(this)' onKeyPress='return formatarCampoNumerico()'>
*****/
function formatarMoeda(campo){ // Formata o Moeda
	var key = event.keyCode;
	var valor = campo.value;
	var valorOrigem = valor;
	var set = 0;

	valorOrigem = replace(valorOrigem, " ", "");
	valorOrigem = replace(valorOrigem, ".", "");
	valorOrigem = replace(valorOrigem, ",", "");
	if (valorOrigem.length > 2) {
		tam = valorOrigem.length;
		valor = valorOrigem.substring(0, tam-2) + "," + valorOrigem.substring(tam-2, tam);
		set = 1;
	}
	if (valorOrigem.length > 5) {
		tam = valorOrigem.length;
		valor = valorOrigem.substring(0, tam-5) + "." + valorOrigem.substring(tam-5, tam-2) + "," + valorOrigem.substring(tam-2, tam);
	}
	if (valorOrigem.length > 8) {
		tam = valorOrigem.length;
		valor = valorOrigem.substring(0, tam-8) + "." + valorOrigem.substring(tam-8, tam-5) + "." + valorOrigem.substring(tam-5, tam-2) + "," + valorOrigem.substring(tam-2, tam);
	}
	if (valorOrigem.length > 11) {
		tam = valorOrigem.length;
		valor = valorOrigem.substring(0, tam-11) + "." + valorOrigem.substring(tam-11, tam-8) + "." + valorOrigem.substring(tam-8, tam-5) + "." + valorOrigem.substring(tam-5, tam-2) + "," + valorOrigem.substring(tam-2, tam);
	}
	if (valorOrigem.length > 13) {
		return false;
	} else {
		eval("document.all." + campo.name + ".value = '" + valor + "'");
		return true;	
	}
}

function formatarMoeda2(campo,teclapres) {
	var tecla  = teclapres.keyCode;
	var tammax = 17;
	vr = 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 <= 2 ){ 
	 		campo.value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		campo.value = 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 ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		campo.value = 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 ) ;}
	}
}

function Mascara(campo,mascara,event) {
	var BACKSPACE= 8; 
	var key; 
	var tecla; 
	CheckTAB=true; 
	var tamanho=campo.value.length;
 
	if(navigator.appName.indexOf("Netscape")!= -1) 
	    tecla= event.which; 
 		else 
		tecla= event.keyCode; 
	key = String.fromCharCode(tecla); 

	if(mascara.charAt(tamanho)==9){
	    var numValidos="0123456789";
		if(numValidos.indexOf(key)==-1)
		    return false;
		campo.value=campo.value+key;
	}else if(mascara.charAt(tamanho)=='A'){
	    var numValidos="0123456789,:.-/\\";
		if(numValidos.indexOf(key)>-1)
		    return false;
		campo.value=campo.value+key;
	}else if(mascara.charAt(tamanho)=='X'){
		campo.value=campo.value+key;
	}else{
	    if(mascara.charAt(tamanho)==key)
		    campo.value=campo.value+key;  
	}
	var simValidos=":,.-/\\() ";
	var simbolo=mascara.charAt(tamanho+1);
	if(simValidos.indexOf(simbolo)==-1)
	    return false;
	campo.value=campo.value+simbolo;
	
	if ( tecla == 13 ) 
 		return false; 
	if ( tecla == BACKSPACE ) 
		return true; 

	return false; 
}

function replace(texto, antes, depois){
	while(texto.indexOf(antes) != -1){
		texto = texto.replace(antes, depois);
	}
	return texto;
}