// VALIDAÇÃO DE FORMULÁRIOS DO SITE --------------------------------------------------------------------------------------------------

// Valida Formulário de Cadastro
function ValidaFormCadastro() {
	var nascimento = document.formcadastro.dt_nascimento.value;
	var nome = document.formcadastro.ds_nomecomp.value.replace(/^\s*|\s*$/g,"");
	var login = document.formcadastro.ds_usuario.value.replace(/^\s*|\s*$/g,"");
	var senha = document.formcadastro.ds_senha.value.replace(/^\s*|\s*$/g,"");
	var confsenha = document.formcadastro.ds_confsenha.value.replace(/^\s*|\s*$/g,"");
	var cidade = document.formcadastro.ds_cidade.value.replace(/^\s*|\s*$/g,"");
	var estado = document.formcadastro.ds_estado.value.replace(/^\s*|\s*$/g,"");
	var pais = document.formcadastro.ds_pais.value.replace(/^\s*|\s*$/g,"");	
	var email = document.formcadastro.ds_email.value.replace(/^\s*|\s*$/g,"");
	var cpf = document.formcadastro.ds_cpf.value.replace(/^\s*|\s*$/g,"");
	var tamnome  = nome.length;
	var tamlogin = login.length;
	var tamsenha = senha.length;

	var reg3str = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reg3 = new RegExp(reg3str);
	if(!reg3.test(nascimento)){
		alert("Data inválida!! Formato dd/mm/aaaa");
		document.formcadastro.dt_nascimento.focus();
		return false;
	}else{
		if (tamnome < 8) {
			alert("O nome completo deve conter pelo menos 8 caracteres!");
			document.formcadastro.ds_nomecomp.focus();
			return false;
		} else {
			if (tamlogin < 5) {
				alert("O login deve conter pelo menos 5 caracteres!");
				document.formcadastro.ds_usuario.focus();
				return false;			
			} else {
				if (tamsenha < 5) {
					alert("A senha deve conter pelo menos 5 caracteres!");
					document.formcadastro.ds_senha.focus();
					return false;					
				} else {
					if (senha != confsenha) {
						alert("Confirmação de senha inválida!");
						document.formcadastro.ds_confsenha.focus();
						return false;	
					} else {
						if (cidade == "") {
							alert("Informe a Cidade!");
							document.formcadastro.ds_cidade.focus();
							return false;
						} else {
							if (estado == "") {
								alert("Informe o Estado!");
								document.formcadastro.ds_estado.focus();
								return false;
							} else {
								if (pais == "") {
									alert("Informe o Estado!");
									document.formcadastro.ds_pais.focus();
									return false;
								} else {
									if (cpf == "") {
										alert("Informe corretamente o CPF!");
										document.formcadastro.ds_cpf.focus();
										return false;
									} else {
										var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
										var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,2})(\\]?)$";
										var reg1 = new RegExp(reg1str);
										var reg2 = new RegExp(reg2str);
										if(!reg1.test(email) && !reg2.test(email)){
											alert("Endereço de e-mail inválido!");
											document.formcadastro.ds_email.focus();
											return false;
										} else {
					    			        checkBox = document.getElementById("fl_termos");  
					    			        if (!checkBox.checked ){  
												alert("Termos e condições não aceitas !");
												document.formcadastro.fl_termos.focus();
												return false;
											} else {
												document.formcadastro.submit();
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

// Valida Formulário de Alteração de Cadastro
function ValidaFormACadastro() {
	var nascimento = document.formacadastro.dt_nascimento.value;
	var nome = document.formacadastro.ds_nomecomp.value.replace(/^\s*|\s*$/g,"");
	var senha = document.formacadastro.ds_senha.value.replace(/^\s*|\s*$/g,"");
	var confsenha = document.formacadastro.ds_confsenha.value.replace(/^\s*|\s*$/g,"");
	var cidade = document.formacadastro.ds_cidade.value.replace(/^\s*|\s*$/g,"");
	var estado = document.formacadastro.ds_estado.value.replace(/^\s*|\s*$/g,"");
	var pais = document.formacadastro.ds_pais.value.replace(/^\s*|\s*$/g,"");	
	var email = document.formacadastro.ds_email.value.replace(/^\s*|\s*$/g,"");
	var tamnome  = nome.length;
	var tamsenha = senha.length;

	var reg3str = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reg3 = new RegExp(reg3str);
	if(!reg3.test(nascimento)){
		alert("Data inválida!! Formato dd/mm/aaaa");
		document.formacadastro.dt_nascimento.focus();
		return false;
	}
	if (tamnome < 8) {
		alert("O nome completo deve conter pelo menos 8 caracteres!");
		document.formacadastro.ds_nomecomp.focus();
		return false;
	} 
	if (tamsenha > 0) {
		if (tamsenha < 5) {
			alert("A nova senha deve conter pelo menos 5 caracteres!");
			document.formacadastro.ds_senha.focus();
			return false;					
		} else {
			if (senha != confsenha) {
				alert("Confirmação de senha inválida!");
				document.formacadastro.ds_confsenha.focus();
				return false;	
			}
		}
	}
	if (cidade == "") {
		alert("Informe a Cidade!");
		document.formacadastro.ds_cidade.focus();
		return false;
	} 
	if (estado == "") {
		alert("Informe o Estado!");
		document.formacadastro.ds_estado.focus();
		return false;
	} 
	if (pais == "") {
		alert("Informe o Estado!");
		document.formacadastro.ds_pais.focus();
		return false;
	} 	
	
	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
	var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,2})(\\]?)$";
	var reg1 = new RegExp(reg1str);
	var reg2 = new RegExp(reg2str);
	if(!reg1.test(email) && !reg2.test(email)){
		alert("Endereço de e-mail inválido!");
		document.formacadastro.ds_email.focus();
		return false;
	} 
	document.formacadastro.submit();
}

// Valida Formulário de Login
function ValidaLogin() {
	var login = document.formlogin.login.value.replace(/^\s*|\s*$/g,"");
	var senha = document.formlogin.senha.value.replace(/^\s*|\s*$/g,"");
	var tamlogin = login.length;
	var tamsenha = senha.length;
	if (tamlogin < 5) {
		alert("O login deve conter pelo menos 5 caracteres!");
		document.formlogin.login.focus();
		return false;
	} else {
		if (tamsenha < 5) {
			alert("A senha deve conter pelo menos 5 caracteres!");
			document.formlogin.senha.focus();
			return false;
		} else {
			document.formlogin.submit();
		}
	}
}
// Valida Formulário de Comentários
function ValidaFormComentarios() {
	var comentario = document.formcom.ds_comentario.value.replace(/^\s*|\s*$/g,"");
	var nome = document.formcom.ds_nome.value.replace(/^\s*|\s*$/g,"");
	var cidade = document.formcom.ds_cidade.value.replace(/^\s*|\s*$/g,"");
	//if (comentario == "") {
	//	alert("Por favor, escreva o comentário!");
	//	document.formcom.ds_comentario.focus();
	//	return false;
	//} else {
		if (nome == "") {
			alert("Por favor, preencha o nome!");
			document.formcom.ds_nome.focus();
			return false;
		} else {
			if (cidade == "") {
				alert("Por favor, preencha o cidade!");
				document.formcom.ds_cidade.focus();
				return false;
			} else {
				document.formcom.submit();
			}
		}
	//}
}

// Valida Formulário de Envio de Emails
function ValidaFormEnviaMail() {
	var snome = document.formenc.seu_nome.value.replace(/^\s*|\s*$/g,"");
	var semail = document.formenc.seu_email.value.replace(/^\s*|\s*$/g,"");
	var anome = document.formenc.nome_amigo.value.replace(/^\s*|\s*$/g,"");
	var aemail = document.formenc.email_amigo.value.replace(/^\s*|\s*$/g,"");
	var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
	var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,2})(\\]?)$";
	var reg1 = new RegExp(reg1str);
	var reg2 = new RegExp(reg2str);

	if (snome == "") {
		alert("Por favor, preencha o seu nome!");
		document.formenc.seu_nome.focus();
		return false;
	} else {
		if (anome == "") {
			alert("Por favor, preencha o nome de seu amigo!");
			document.formenc.nome_amigo.focus();
			return false;
		} else {
			if(!reg1.test(semail) && !reg2.test(semail)){
				alert("Seu endereço de e-mail é inválido!");
				document.formenc.seu_email.focus();
				return false;
			} else {
				if(!reg1.test(aemail) && !reg2.test(aemail)){
					alert("Endereço de e-mail de seu amigo é inválido!");
					document.formenc.email_amigo.focus();
					return false;
				} else {
					document.formenc.submit();
				}
			}
		}
	}
}

// Valida Busca
function ValidaBusca() {
	if ((document.formBusca.oqbuscar.value != "") && (document.formBusca.oqbuscar.value != "Busca")) {
		document.formBusca.submit();
	}else{
	    alert("Você precisa escrever uma palavra para fazer uma busca. Tente outra vez.");
	}
}

function ValidaFormRecupCadastro() {
	var login = document.formcadastro.ds_usuario.value.replace(/^\s*|\s*$/g,"");
	var email = document.formcadastro.ds_email.value.replace(/^\s*|\s*$/g,"");
	var tamlogin = login.length;

	if (tamlogin < 5) {
		alert("O login deve conter pelo menos 5 caracteres!");
		document.formcadastro.ds_usuario.focus();
	} else {
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,2})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		if(!reg1.test(email) && !reg2.test(email)){
			alert("Endereço de e-mail inválido!");
			document.formcadastro.ds_email.focus();
		} else {
			document.formcadastro.submit();
		}
	}
}

function ValidaFormArtigo() {
	var foto = document.formtexto.ds_foto.value.replace(/^\s*|\s*$/g,"");
	var titulo = document.formtexto.ds_titulo.value.replace(/^\s*|\s*$/g,"");
	var texto = "a"; //document.formtexto.ds_texto.value.replace(/^\s*|\s*$/g,"");
	var foto = document.formtexto.ds_foto.value.replace(/^\s*|\s*$/g,"");
	var autorfoto = document.formtexto.ds_autorfoto.value.replace(/^\s*|\s*$/g,"");
	var descricao = document.formtexto.ds_descricao.value.replace(/^\s*|\s*$/g,"");
	var idsessao = document.formtexto.id_sessao.value.replace(/^\s*|\s*$/g,"");
	if (idsessao == "0") {
		alert("Por favor, escolha a sessão para publicação!");
		document.formtexto.id_sessao.focus();
		return false;
	} else {
		if (titulo == ""){
			alert("Por favor, informe o titulo do artigo!");
			document.formtexto.ds_autorfoto.focus();
			return false;
		} else {
			if (texto == ""){
				alert("Por favor, insira o corpo do artigo!");
				document.formtexto.ds_autorfoto.focus();
				return false;
			} else {
				if (foto != "") {
					if (autorfoto == "") {
						alert("Por favor, informe o autor da foto!");
						document.formtexto.ds_autorfoto.focus();
						return false;
					}
					if (descricao == "") {
						alert("Por favor, informe a descrição da foto!");
						document.formtexto.ds_descricao.focus();
						return false;
					}
					if (autorfoto != "" && descricao != "") {
						document.formtexto.submit();
					}
				} else {
					document.formtexto.submit();
				}
			}
		}
	}
}

// Valida Formulário de Pré Inscrição
function ValidaFormPreInscricao() {
	var nascimento = document.formcadastro.nascimento.value;
	var nome = document.formcadastro.nome_completo.value.replace(/^\s*|\s*$/g,"");
	var cidade = document.formcadastro.cidade.value.replace(/^\s*|\s*$/g,"");
	var profissao = document.formcadastro.profissao.value.replace(/^\s*|\s*$/g,"");
	var estado = document.formcadastro.estado.value.replace(/^\s*|\s*$/g,"");
	var pais = document.formcadastro.pais.value.replace(/^\s*|\s*$/g,"");
	var email = document.formcadastro.emailp.value.replace(/^\s*|\s*$/g,"");
	var confemail = document.formcadastro.cemailp.value.replace(/^\s*|\s*$/g,"");
	var tamnome  = nome.length;

	var reg3str = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
	var reg3 = new RegExp(reg3str);
	if(!reg3.test(nascimento)){
		alert("Data invalida!! Formato dd/mm/aaaa");
		document.formcadastro.nascimento.focus();
		return false;
	}else{
		if (tamnome < 8) {
			alert("O nome completo deve conter pelo menos 8 caracteres!");
			document.formcadastro.nome_completo.focus();
			return false;
		} else {
			if (profissao == "") {
				alert("Informe a sua Profissao!");
				document.formcadastro.profissao.focus();
				return false;
			} else {
				if (cidade == "") {
					alert("Informe a Cidade!");
					document.formcadastro.cidade.focus();
					return false;
				} else {
					if (estado == "") {
						alert("Informe o Estado!");
						document.formcadastro.estado.focus();
						return false;
					} else {
						if (pais == "") {
							alert("Informe o Pais!");
							document.formcadastro.pais.focus();
							return false;
						} else {
							var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
							var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,2})(\\]?)$";
							var reg1 = new RegExp(reg1str);
							var reg2 = new RegExp(reg2str);
							if(!reg1.test(email) && !reg2.test(email)){
								alert("Endereco de e-mail invalido!");
								document.formcadastro.emailp.focus();
								return false;
							} else {
								if (email != confemail) {
									alert("Confirmacao de email invalida!");
									document.formcadastro.cemailp.focus();
									return false;	
								} else {
									document.formcadastro.submit();
								}
							}
						}
					}
				}
			}
		}
	}
}


// DEMAIS FUNÇOES JAVASCRIPT ------------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------
// Função Popup
function popUp(a, b, c, d) {
	var page = a;
	var lenX = b;
	var lenY = c;
	var scrl = d > 0 ? 'yes' : 'no';
	var posX = parseInt((screen.width / 2) - (lenX / 2));
	var posY = parseInt((screen.height / 2) - (lenY / 2));
	var name = 'POPUP';
	var attr = 'width=' + lenX + ',height=' + lenY + ',left=' + posX + ',top=' + posY + ',scrollbars=' + scrl;
	window.open(page, name, attr);
	void(0);
}
// Fim da Função Popup

// ------------------------------------------------------------------------------
// Função Remove Espaços em Branco 
function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}
// Fim da Função Remove Espaços em Branco 

// ------------------------------------------------------------------------------
// Função Máscara - Versão B
/*
    * "#" - Numeros
    * "A" - Letras UpperCase
    * "a" - Letras LowerCase
    * "Z" - Letras
    * "*" - Qualquer Caracter
    * "/", ".", "-", " ", ":" - Caracteres Fixos
	onkeypress="return MaskCPF(this, event)"
	onkeypress="return MaskTelefone(this, event)" 
*/
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 MaskCEP(objeto, evt) {
	return Mascara(objeto, evt, '##.###-###');
}

function MaskTurno(objeto, evt) {
	return Mascara(objeto, evt, '#');
}

function MaskPlacar(objeto, evt) {
	return Mascara(objeto, evt, '##');
}

function MaskUF(objeto, evt) {
	return Mascara(objeto, evt, 'AA');
}

function MaskAno(objeto, evt) {
	return Mascara(objeto, evt, '####');
}

function MaskHora(objeto, evt) {
	return Mascara(objeto, evt, '##:##:##');
}

function MaskData(objeto, evt) {
	return Mascara(objeto, evt, '##/##/####');
}

function MaskTelefone(objeto, evt) {
	return Mascara(objeto, evt, '(##) ####-####');
}

function MaskCPF(objeto, evt) {
	return Mascara(objeto, evt, '###.###.###-##');
}

function MaskPlacaCarro(objeto, evt) {
	return Mascara(objeto, evt, 'AAA-####');
}
function MaskAbrPais(objeto, evt) {
	return Mascara(objeto, evt, 'AAA');
}
// Fim da Função Máscara

// ------------------------------------------------------------------------------
// Função Valida CPF
function validaCPFCNPJ(objeto) {
	campo = eval (objeto);
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	var s;
	s = limpa_string(campo.value);
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(campo.value) == false ) {
			alert("O CPF inválido !");
			setTimeout('campo.focus()',100)			
			return false;	
		}
        vc1 = s.substr(0,3);
        vc2 = s.substr(3,3);
        vc3 = s.substr(6,3);
		vc4 = s.substr(9,2);
		vcampo = vc1+"."+vc2+"."+vc3+"-"+vc4
		campo.value = vcampo
    }
     
    // checa se é cnpj
	else if (s.length == 14) {
		if (valida_CNPJ(campo.value) == false ) {
			alert("O CNPJ inválido !");
			setTimeout('campo.focus()',100)			
			//campo.focus();
			return false;	
		}
        vc1 = s.substr(0,2);
        vc2 = s.substr(2,3);
        vc3 = s.substr(5,3);
		vc4 = s.substr(8,4);
		vc5 = s.substr(12,2);
		vcampo = vc1+"."+vc2+"."+vc3+"/"+vc4+"-"+vc5
		campo.value = vcampo
	} else {
		if (s.length != 0) {
			alert("O CPF/CNPJ não é válido !");
			setTimeout('campo.focus()',100)			
			return false;
		}
	}
}

function limpa_string(S){
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	
		}
	} 
	return temp
}

function valida_CPF(s)	{
	var i;
	s = limpa_string(s);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)	{
		d1 += c.charAt(i)*(10-i);
	}
    if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++)	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1)	{
		return false;
	}
    return true;
}

function valida_CNPJ(s){
	var i;
	s = limpa_string(s);
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}
	return true;
}

// --------------------------------------------------------------------------------------------------------
// Fim da Função Valida CPF


// Validar Caracteres no Login

function sem_acento(e,args)
{               
        if (document.all){var evt=event.keyCode;} // caso seja IE
        else{var evt = e.charCode;}     // do contrário deve ser Mozilla
        var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;      // criando a lista de teclas permitidas
        var chr= String.fromCharCode(evt);      // pegando a tecla digitada
        if (valid_chars.indexOf(chr)>-1 ){return true;} // se a tecla estiver na lista de permissão permite-a
        // para permitir teclas como <BACKSPACE> adicionamos uma permissão para 
        // códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20)
        if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}       // se a tecla estiver na lista de permissão permite-a
        return false;   // do contrário nega
}

