// JavaScript Document
/*
* Jet Sites - www.jetsites.com.br
* Autor: Thiago Augusto Matos Coelho
* 
*/

function Mascara(objeto, evt, mask) {
	// Letras Maiúsculas
 	var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	// Letras Minúsculas
	var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
	// Letras Maiúculas e Minúsculas
	var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var LetrasE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ';
	// Números
	var Numeros = '0123456789';
	// Números Negativos
	var Numeros2 = '0123456789-.';
	var NumChassi = 'ABCDEFGHJKLMNPRSTUVWXYZabcdefghjklmnprstuvwxyz0123456789-.'
	var Fixos  = '().-:/ '; 
	var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
	var Litragem = '0123456789,';

	evt = (evt) ? evt : (window.event) ? window.event : "";
	var value = objeto.value;
	if (evt) 
	{
		 var ntecla = (evt.which) ? evt.which : evt.keyCode;
		 tecla = Charset.substr(ntecla - 32, 1);
		 if (ntecla < 32) 
		 	return true;
 			 var tamanho = value.length;
			 if (tamanho >= mask.length) 
			 	return false;
			 	var pos = mask.substr(tamanho,1); 
			 	while (Fixos.indexOf(pos) != -1) 
				{
					  value += pos;
					  tamanho = value.length;
					  if (tamanho >= mask.length) 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 'E' : if (LetrasE.indexOf(tecla) == -1) return false; break;
					   case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
					   case 'X' : if (Numeros2.indexOf(tecla) == -1) return false; break;
					   case 'C' : if (NumChassi.indexOf(tecla) == -1) return false; break;
					   case 'L' : if (Litragem.indexOf(tecla) == -1) return false; break;
					   case '*' : objeto.value = value; return true; break;
					   default : return false; break;
				 }
	}
	objeto.value = value; 
	return true;
}

// CEP ----------------------------------------------------------------------------------------------
function MascCEP(objeto, evt) { 
	return Mascara(objeto, evt, '##.###-###');
}

function MascCEP2(objeto, evt) { 
	return Mascara(objeto, evt, '#####-###');
}


// RG ------------------------------------------------------------------------------------------------
function MascRG(objeto, evt) { 
	return Mascara(objeto, evt, '#########');
}

// TELEFONE ------------------------------------------------------------------------------------------
function MascTelefone(objeto, evt) { 
	return Mascara(objeto, evt, '(##)####-####');
}

function MascTelefone2(objeto, evt) { 
	return Mascara(objeto, evt, '####-####');
}

function MascDDD(objeto, evt) { 
	return Mascara(objeto, evt, '(##)');
}
// CPF -----------------------------------------------------------------------------------------------
function MascCPF(objeto, evt) { 
	return Mascara(objeto, evt, '###.###.###-##');
}

function MascCPF2(objeto, evt) { 
	return Mascara(objeto, evt, '#########-##');
}

// CRM-----------------------------------------------------------------------------------------------
function MascCRM(objeto, evt) { 
	return Mascara(objeto, evt, '#####/##');
}

function MascCRM2(objeto, evt) { 
	return Mascara(objeto, evt, '#####');
}

// CNPJ -----------------------------------------------------------------------------------------------
function MascCNPJ(objeto, evt) { 
	return Mascara(objeto, evt, '##.###.###/####-##');
}

function MascCNPJ2(objeto, evt) { 
	return Mascara(objeto, evt, '########/####-##');
}

// DATA ---------------------------------------------------------------------------------------
function MascData(objeto, evt){
	// formato (dd/mm/aaaa)
	return Mascara(objeto, evt, '##/##/####')	
}

function MascData2(objeto, evt){
	// formato (dd-mm-aaaa)
	return Mascara(objeto, evt, '##-##-####')	
}

function MascData3(objeto, evt){
	// formato (aaaa-mm-dd)
	return Mascara(objeto, evt, '####-##-##')	
}

function MascMesAno(objeto, evt){
	// formato (dd/aaaa)
	return Mascara(objeto, evt, '##/####')	
}


// HORAS ---------------------------------------------------------------------------------------
function MascHora(objeto, evt){
	// formato (hh:mm:ss)
	return Mascara(objeto, evt, '##:##:##')	
}

function MascHora2(objeto, evt){
	// formato (hh:mm)
	return Mascara(objeto, evt, '##:##')
}

// CARTÃO DE CRÉDITO ------------------------------------------------------------------------------
function MascCartaoCredito(objeto, evt){
	return Mascara(objeto, evt, '####.####.####.####')	
}

function MascCartaoCredito2(objeto, evt){
	return Mascara(objeto, evt, '################')	
}

function MascQuatroUltCartao(objeto, evt){
	return Mascara(objeto, evt, '####')
}

// UFS ----------------------------------------------------------------------------------------------
function MascEstados(objeto, evt){
	return Mascara(objeto, evt, 'ZZ');
}

// LETRAS MAIUSCULAS --------------------------------------------------------------------------------
function MascLetras(objeto, evt){
	return Mascara(objeto, evt, 'EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE')	
}

function MascLetrasMaiusculas(objeto, evt){
	return Mascara(objeto, evt, 'AAAAAAA')	
}

function MascLitragem(objeto, evt){
	return Mascara(objeto, evt, 'LLLLLLL')	
}

//
function MascNumeros(objeto, evt) { 
	return Mascara(objeto, evt, 'XXXXXXXXXXXXXXX');
}

// PLACAS DE CARROS ---------------------------------------------------------------------------------
function MascPlaca(objeto, evt){
	return Mascara(objeto, evt, 'ZZZ-####');
}

// CHASSI DE CARROS ---------------------------------------------------------------------------------
function MascChassi(objeto, evt){
	return Mascara(objeto, evt, 'CCCCCCCCCCCCCCCCC')	
}
