function ajaxCompleto(c)
{
	if(cAjax=c)
		return true;
	else
		return false;
}

function blockPage(){
	$('.interno').block({message: null});
}
function unBlockPage(){
	$('.interno').unblock();
}
cAjax=0;
$(document).ready(function(){
	$(".form_cadastro").bind("submit", validaFormulario);
	$('#cpf').maskRvaz("999.999.999-99");
	$('#cep').maskRvaz("99999-999");
	$('#nasc').maskRvaz("99/99/9999");
	$('#numero').maskRvaz("9999999999");
	$('#telefone').maskRvaz("(99) 9999-9999");
	$('#cep').blur(function(){
		 // Se o campo CEP não estiver vazio  
		if($.trim($("#cep").val()) != ""){  
			 /* 
				 Para conectar no serviço e executar o json, precisamos usar a função 
				  getScript do jQuery, o getScript e o dataType:"jsonp" conseguem fazer o cross-domain, os outros 
				  dataTypes não possibilitam esta interação entre domínios diferentes 
				  Estou chamando a url do serviço passando o parâmetro "formato=javascript" e o CEP digitado no formulário 
				  http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val() 
			 */  
			$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){  
				  // o getScript dá um eval no script, então é só ler!  
				  //Se o resultado for igual a 1  
				if(resultadoCEP["resultado"]){  
					// troca o valor dos elementos  
					$("#logradouro").val(unescape(resultadoCEP["tipo_logradouro"])+" "+unescape(resultadoCEP["logradouro"]));  
					$("#bairro").val(unescape(resultadoCEP["bairro"]));  
					$("#cidade").val(unescape(resultadoCEP["cidade"]));  
					$("#uf").selectOptions(resultadoCEP["uf"]);
					if(resultadoCEP["logradouro"]!=''){
						$('#numero').focus();
					}else{
						$('#endereco').focus();
					}
				}else{  
						//alert("Endereço não encontrado");  
				 }  
			});  
		}  						
	});
});


function msgErro(erro){
	$('.msg_erro').html('<strong>As seguintes informaç&otilde;es parecem incorretas. Por favor, verifique:</strong><br/><br/>'+ erro).show('slow');
}
function erroBorda(campo){
	$(campo).addClass('erro_input');
}
function removeBorda(campo){
	$(campo).removeClass('erro_input');
}
	
function validaFormulario() {
	
	var erro	   = false;
	var txtErro    = new String;
	if($('#nome').val() == ''){
		txtErro = '- Seu nome<br/>';
		erroBorda($('#nome'));
		erro = true; 
	}else removeBorda($('#nome'));
	
	if($('#email').val() == ''){
		txtErro += '- Seu e-mail<br/>';
		erroBorda($('#email'));
		erro = true; 
	}else if ( !validaEmail($('#email').val()) ){
		txtErro += '- Seu e-mail<br/>';
		erroBorda($('#email'));
		erro = true; 
	}else removeBorda($('#email'));
	
	if($('#cpf').val() == ''){
		txtErro += '- Seu CPF<br/>';
		erroBorda($('#cpf'));
		erro = true; 
	}else if ( !Verifica_CPF($('#cpf').val()) ){
		txtErro += '- Seu CPF<br/>';
		erroBorda($('#cpf'));
		erro = true; 
	}else removeBorda($('#cpf'));
	
	if($('#telefone').val().length < 14){
		txtErro += '- Seu telefone<br/>';
		erroBorda($('#telefone'));
		erro = true; 
	}else removeBorda($('#telefone'));
	
//	if($('#rg').val() == ''){
//		txtErro += '- Seu RG<br/>';
//		erroBorda($('#rg'));
//		erro = true; 
//	}else removeBorda($('#rg'));
//	
//	if(($('#nasc').val()).length < 10){
//		txtErro += '- Sua data de nascimento<br/>';
//		erroBorda($('#nasc'));
//		erro = true; 
//	}else removeBorda($('#nasc'));
//	
//	if($('#cep').val() == ''){
//		txtErro += '- Seu CEP<br/>';
//		erroBorda($('#cep'));
//		erro = true; 
//	}else if($('#cep').val().length < 9){
//		txtErro += '- Seu CEP<br/>';
//		erroBorda($('#cep'));
//		erro = true; 
//	}else removeBorda($('#cep'));
//	
//	if($('#logradouro').val() == ''){
//		txtErro += '- Seu endereço<br/>';
//		erroBorda($('#logradouro'));
//		erro = true; 
//	}else removeBorda($('#logradouro'));
//	
//	if($('#numero').val() == ''){
//		txtErro += '- Seu número<br/>';
//		erroBorda($('#numero'));
//		erro = true; 
//	}else removeBorda($('#numero'));
//	
//	if($('#bairro').val() == ''){
//		txtErro += '- Seu bairro<br/>';
//		erroBorda($('#bairro'));
//		erro = true; 
//	}else removeBorda($('#bairro'));
//	
//	if($('#cidade').val() == ''){
//		txtErro += '- Sua cidade<br/>';
//		erroBorda($('#cidade'));
//		erro = true; 
//	}else removeBorda($('#cidade'));
//	
//	if($('#uf').val() == ''){
//		txtErro += '- Seu estado<br/>';
//		erroBorda($('#uf'));
//		erro = true; 
//	}else removeBorda($('#uf'));
	
	valida_senha = false;
	if($('#alterar_senha').length == 0 || $('#alterar_senha').is(':checked')){
		if($('#senha').val() == ''){
			txtErro += '- Sua senha<br/>';
			erroBorda($('#senha'));
			erroBorda($('#confirmar_senha'));
			valida_senha = false;
			erro = true; 
		}
		
		else if($('#senha').val().length < 6 && $('#senha').val() != ''){
			txtErro += '- Sua senha precisa ter no mínimo 6 caracteres<br/>';
			erroBorda($('#senha'));
			erroBorda($('#confirmar_senha'));
			valida_senha = false;
			erro = true; ;
		}else {removeBorda($('#senha')); valida_senha = true;}
	}
	
	if(valida_senha){
		if($('#confirmar_senha').val() != $('#senha').val()){
			txtErro += '- As senhas não parecem iguais<br/>';
			erroBorda($('#senha'));
			erroBorda($('#confirmar_senha'));
			erro = true; 
		}else {removeBorda($('#senha')); removeBorda($('#confirmar_senha'));}
	}
	var ajax = false;
	// verificação de existencia de campo duplicado no banco de dados
	if(validaEmail($('#email').val()) && Verifica_CPF($('#cpf').val())){
		ajax = true;
		blockPage();
		$.post(baseURL+'usuario/campoUnico',{email:$('#email').val(),cpf:$('#cpf').val()},function(data){
			data = eval("("+data+")");
			if(data.email=='1'){
				txtErro += '- Seu e-mail já está cadastrado<br/>';
				erroBorda($('#email'));
				erro = true;
			}
			if(data.cpf=='1'){
				txtErro += '- Seu CPF já está cadastrado<br/>';
				erroBorda($('#cpf'));
				erro = true;
			}
			unBlockPage();
			if(erro){
				msgErro(txtErro);
				return false;
			}else{$(".form_cadastro").unbind("submit",validaFormulario).submit();}
		});
	}
	//----------------------------------------------------------------------
	if(ajax == false){
		if(erro){
			msgErro(txtErro);
			return false;
		}	
	}
	return false;
}