function Mascara(objeto, evt, mask) {
	var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
	var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var Numeros = '0123456789';
	var Fixos  = '().-:/ '; 
	var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
	
	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 '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 MaskCPF(objeto, evt) { 
return Mascara(objeto, evt, '###.###.###-##');
}

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

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

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


function validaCPF(elemento, myForm) {
	cpf = document.getElementById(elemento).value;
	//alert (cpf);
	cpf = cpf.replace("-" , "");
	cpf = cpf.replace("." , "");
	cpf = cpf.replace("." , "");
	//alert(cpf);
	erro = new String;
	if (cpf.length < 11) erro += "S%E3o necessarios 11 digitos para verifica%E7%E3o do CPF! \n\n"; 
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) erro += "A verifica%E7%E3o de CPF suporta apenas n%FAmeros! \n\n"; 
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		erro += "N%FAmero de CPF inv%E1lido!"
	}
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		   a[i] = cpf.charAt(i);
		   if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--); 
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		   erro +="CPF Inv%E1lido!";
	}
	if (erro.length > 0){
		   alert(unescape(erro));
		   return false;
	}
	myForm.target = '_blank';
	return true;
}

function validaCampos(frm){
	if(frm=='frmcontato'){
		if(document.frmcontato.nome.value.length==0){
			alert("O preenchimento do nome é obrigatório!");
			document.frmcontato.nome.focus();
			return false;
		}
		else
		if(document.frmcontato.foneres.value.length==0 && document.frmcontato.fonecom.value.length==0 && document.frmcontato.celular.value.length==0){
			alert("É obrigatório informar ao menos um telefone!");
			document.frmcontato.foneres.focus();
			return false;
		}
		else
		if(document.frmcontato.mensagem.value.length==0){
			alert("O preenchimento do campo mensagem é obrigatório!");
			document.frmcontato.mensagem.focus();
			return false;
		}
		else{
			return true;
		}
	}
	else
	if(frm=='frmcadastro'){
		if(document.frmcadastro.nome.value.length==0){
			alert("O preenchimento do nome é obrigatório!");
			document.frmcadastro.nome.focus();
			return false;
		}
		else
		if(!validaCPF('cpfcad', 'document.frmcadastro')){
			document.frmcadastro.cpf.focus();
			return false;
		}
		else
		if(document.frmcadastro.foneres.value.length==0 && document.frmcadastro.fonecom.value.length==0 && document.frmcadastro.celular.value.length==0){
			alert("É obrigatório informar ao menos um telefone!");
			document.frmcadastro.foneres.focus();
			return false;
		}
		else{
			return true;
		}
	}
	else
	if(frm=='frmaviso'){
		if(document.frmaviso.nome.value.length==0){
			alert("O preenchimento do nome é obrigatório!");
			document.frmaviso.nome.focus();
			return false;
		}
		else
		if(!validaCPF('cpfav', 'document.frmaviso')){
			document.frmaviso.cpfav.focus();
			return false;
		}
		else
		if(document.frmaviso.cnh.value.length==0){
			alert("O preenchimento do número de registro da CNH é obrigatório!");
			document.frmaviso.cnh.focus();
			return false;
		}
		else
		if(document.frmaviso.dtpricnh.value.length==0){
			alert("O preenchimento da data da primeira habilitação é obrigatório!");
			document.frmaviso.dtpricnh.focus();
			return false;
		}
		else
		if(document.frmaviso.dtvcto.value.length==0){
			alert("O preenchimento da data de vencimento da CNH é obrigatório!");
			document.frmaviso.dtvcto.focus();
			return false;
		}
		else
		if(document.frmaviso.foneres.value.length==0 && document.frmaviso.fonecom.value.length==0 && document.frmaviso.celular.value.length==0){
			alert("É obrigatório informar ao menos um telefone!");
			document.frmaviso.foneres.focus();
			return false;
		}
		else{
			return true;
		}	
	}
}
