// JavaScript Document
/*
	* "#" - Numeros
	* "A" - Letras UpperCase
	* "a" - Letras LowerCase
	* "Z" - Letras
	* "*" - Qualquer Caracter
	* "/", ".", "-", " ", ":" - Caracteres Fixos
*/
function Mascara(objeto, evt, mask) {
	var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
	var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var Numeros = '0123456789';
	var Fixos  = '().-:/ ';
	var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
	var so;
	
	evt = (evt) ? evt : (window.event) ? window.event : "";
	var value = objeto.value;
	
	if (evt) {
		var ntecla = (evt.which ? evt.which : evt.keyCode ? evt.keyCode : evt.charCode);
		tecla = Charset.substr(ntecla - 32, 1);
		//Filtro para outras teclas TAB, BACKSPACE, DEL
		if (ntecla < 32) return true;
		var tamanho = value.length;
		if (tamanho >= mask.length) {
			if (so) evt.keyCode=0;
			return false;
		}
		var pos = mask.substr(tamanho,1);
		while (Fixos.indexOf(pos) != -1) {
			value += pos;
			tamanho = value.length;
			if (tamanho >= mask.length) {
				if (so) evt.keyCode=0;
				return false;
			}
			pos = mask.substr(tamanho,1);
		}
		switch (pos) {
			case '#' : 
				if (Numeros.indexOf(tecla) == -1) return false; 
			break;
			case 'A' : 
				if (LetrasU.indexOf(tecla) == -1) return false; 
			break;
			case 'a' : 
				if (LetrasL.indexOf(tecla) == -1) return false; 
			break;
			case 'Z' : 
				if (Letras.indexOf(tecla) == -1) return false;  
			break;
			case '*' : 
				objeto.value = value; 
				return true; 
			break;
			default : 
				return false; 
			break;
		}
	}
	objeto.value = value;
	return true;
}
function MaskCEP(objeto, evt) {
	return Mascara(objeto, evt, '#####-###');
}
function MaskTelefone(objeto, evt) {
	return Mascara(objeto, evt, '(##) ####-####');
}
function MaskCPF(objeto, evt) {
	return Mascara(objeto, evt, '###.###.###-##');
}
function MaskCNPJ(objeto, evt) {
	return Mascara(objeto, evt, '##.###.###/####-##');
}
function MaskPlacaCarro(objeto, evt) {
	return Mascara(objeto, evt, 'AAA-####');
}
function MaskABETA(objeto, evt) {
	return Mascara(objeto, evt, '####');
}

function MaskSONum(objeto, evt) {
	return Mascara(objeto, evt, '##########');
}


function MaskHorario(objeto, evt) {
	return Mascara(objeto, evt, '##:##');
}


function MaskMoedaReal(z){  
	v = z.value;
	v=v.replace(/\D/g,"")  //permite digitar apenas n�meros
	v=v.replace(/[0-9]{12}/,"inválido")   //limita pra m�ximo 999.999.999,99
	//v=v.replace(/(\d{1})(\d{8})$/,"$1.$2")  //coloca ponto antes dos �ltimos 8 digitos
	//v=v.replace(/(\d{1})(\d{5})$/,"$1.$2")  //coloca ponto antes dos �ltimos 5 digitos
	v=v.replace(/(\d{1})(\d{1,2})$/,"$1,$2")    //coloca virgula antes dos �ltimos 2 digitos
	z.value = v;
}