/*
FEITO POR FERNANDO 29/06/2010
FUNÇÃO DE VALIDAR CAMPOS

*************@ idForm		= ID do form



---------------------CHAMADA-----------------

<script>
	$(document).ready(function(){
			$().mascara({idForm:'form'});
	})
</script>

-------------------FIM CHAMADA----------------


*/
(function($) {
	$.fn.mascara = function(params) {
	//INICIA AS OPÇÕES DA FUNÇÃO
	var opts = {
			idForm:''			
		}
	
	//SETA AS VARIAVEIS QUE SERÃO UTILIZADAS NA FUNÇÃO
	var op = $.extend(opts, params);
	$form = $('#'+op.idForm);
	var campos = $form.serializeArray();
	
	//LE TODOS OS CAMPOS PARA COLOCAR UMA POSSIVEL MASCARA SE EXISTIR
	$.each(campos,function(i,field){
		
    	if(field.name=='Telefone')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascTelefone(this,event);});
		}
		if(field.name=='cpf')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascCPF(this,event);});
		}
		if(field.name=='data')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascData(this,event);});
		}	
		if(field.name=='cep')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascCEP(this,event);});
		}		
		if(field.name=='rg')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascRG(this,event);});
		}	
		if(field.name=='cnpj')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascCNPJ(this,event);});
		}	
		if(field.name=='hora')
		{
			$('input[name='+field.name+']').keypress(function(event){ return MascHora(this,event);});
		}						
	})
	//QUANDO SUBMETER O FORMULARIO
	




}

})(jQuery);

//OUTRAS FUNÇÕES
function Mascara(objeto, evt, mask) {
 
var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var Numeros = '0123456789';
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 || ntecla == 46 || ntecla == 37 || ntecla == 39 ) 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 '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;
}

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

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

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

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

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

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

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

function MascChassi(objeto, evt){
return Mascara(objeto, evt, 'CCCCCCCCCCCCCCCCC')	
}

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

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

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

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

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