//	Variável que receberá o objeto XMLHttpRequest

var req;

jQuery(document).ready(function($){

	// Atendimento

	$("#atend_perfil").change(function(){
		if($("#atend_perfil").val() == "Consumidor, tenho o cartão") {
			$("#lnCpf").slideDown("slow");
		} else {
			$("#lnCpf").slideUp();
		};
	});

	$(".formulario.atend input[type=submit]").click(function(){
		blnSubmit = true;

		// Nome
		if(!$("#atend_nome").val()) {
			$("#atend_nome").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else {
			$("#atend_nome").removeClass("noVld");
		}

		// CPF
		if ($("#atend_perfil").val() == "Consumidor, tenho o cartão") {
			if(!$("#atend_cpf").val()) {
				$("#atend_cpf").addClass("noVld");
				$("#bxVld").addClass("msgErro");
				blnSubmit = false;
			} else if (!$("#atend_cpf").val().isCPF()) {
				$("#atend_cpf").addClass("noVld");
				$("#bxVld").addClass("msgErro");
				blnSubmit = false;
			} else {
				$("#atend_cpf").removeClass("noVld");
			}
		}

		// E-mail
		var filterEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!$("#atend_email").val()) {
			$("#atend_email").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else if (!filterEmail.test($("#atend_email").val())) {
			$("#atend_email").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else {
			$("#atend_email").removeClass("noVld");
			$("#bxVld").removeClass("msgErro");
		}

		// Telefone
		var filterTel = /^([0-9])+$/;

		// ddd
		if(!$("#atend_telefone_ddd").val()) {
			$("#atend_telefone_ddd").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else if (!filterTel.test($("#atend_telefone_ddd").val())) {
			$("#atend_telefone_ddd").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else {
			$("#atend_telefone_ddd").removeClass("noVld");
			$("#bxVld").removeClass("msgErro");
		}
		
		// Número
		if(!$("#atend_telefone").val()) {
			$("#atend_telefone").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else if (!filterTel.test($("#atend_telefone").val())) {
			$("#atend_telefone").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else {
			$("#atend_telefone").removeClass("noVld");
			$("#bxVld").removeClass("msgErro");
		}

		// Mensagem
		if(!$("#atend_mensagem").val()) {
			$("#atend_mensagem").addClass("noVld");
			$("#bxVld").addClass("msgErro");
			blnSubmit = false;
		} else {
			$("#atend_mensagem").removeClass("noVld");
			$("#bxVld").removeClass("msgErro");
		}
		return blnSubmit;
	});

	
	// Adesão - Interface
	$(".btnVoltar").click(function () { 
		history.go(-1);
	});

	$(".btnAlterar").click(function () { 
		history.go(-1);
	});



// Passo 3


	// Para Conjuge

	var radioStatus = $("#conjuge").attr("checked");
	if(radioStatus == true) {
		$("#conj01").slideDown("slow");
	}

	$("#conjuge").focus(function () {
		var radioStatus = $("#conjuge").attr("checked");
		$("#conj01").slideDown("slow");
	});

	

	// Para Titular

	var titularStatus = $("#titular").attr("checked");
	if(titularStatus == true) {
		$("#conj01").slideUp();
	}

	$("#titular").focus(function () {
		var titularStatus = $("#titular").attr("checked");
		$("#conj01").slideUp();
	});

});



function validaPasso3(){

// 
	arrFields = new Array('cartao_pro_cargo', 'cartao_renda_mensal', 'cartao_pro_endereco','cartao_pro_endereco_numero','cartao_pro_bairro','cartao_pro_cep', 'cartao_pro_cidade');
	var dados = jQuery('.proposta-adesao input[name=cartao_dados_profissionais]:checked').val();
	if (dados == 'Conjuge') {
		arrFields.push('cartao_conjuge_nome');
		arrFields.push('cartao_conjuge_cpf');
	} 
	
	var tipoEmprego = jQuery('.proposta-adesao input[name=cartao_pro_tipo]:checked').val();
	if (tipoEmprego != 'Aposentado/Pensionista'){
		arrFields.push('cartao_pro_empresa');
		arrFields.push('cartao_pro_telefone_ddd');
		arrFields.push('cartao_pro_telefone');
	}

	blnSubmit = true;
	
	for(xF=0;xF<arrFields.length;xF++){
		if (!validarDados(arrFields[xF], document.getElementById(arrFields[xF]).value)){
			blnSubmit = false;
		}
	}

	if (!jQuery("#cartao_confirmacao_dados").attr('checked') && blnSubmit){
		alert('É necessário você aceitar os termos de adesão.');
		return false;
	}

	return blnSubmit;

}


function validaPasso2(){

	arrFields = new Array('cartao_endereco', 'cartao_numero', 'cartao_bairro', 'cartao_cep', 'cartao_cidade', 'cartao_tempo_na_residencia_anos', 'cartao_ddd', 'cartao_telefone');
	blnSubmit = true;

	for(xF=0;xF<arrFields.length;xF++){
		if (!validarDados(arrFields[xF], document.getElementById(arrFields[xF]).value)){
			blnSubmit = false;
		}
	}

	return blnSubmit;
}	

function validaPasso1(){

	arrFields = new Array('cartao_email', 'cartao_email_2', 'cartao_nome', 'cartao_cpf', 'cartao_doc_numero', 'cartao_nome_mae');
	blnSubmit = true;
	for(xF=0;xF<arrFields.length;xF++){
		if (!validarDados(arrFields[xF], document.getElementById(arrFields[xF]).value)){
			blnSubmit = false;
		}
	}
	return blnSubmit;
}



function marcaValidacao(campo) {

	var classTemp = document.getElementById(campo + '').className;
	document.getElementById(campo + '').className = classTemp + " noVld";

	var classTemp2 = document.getElementById('bxVld').className;
	document.getElementById('bxVld').className = classTemp2 + " msgErro";

}


function removeValidacao(campo,classe) {

	document.getElementById(campo + '').className = classe;
}



function validarDados(campo, valor) {

	//passo 01 // Verificando o campo CPF

	if (campo == "cartao_cpf") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!valor.isCPF()) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	//passo 01 // Verificando o campo E-mail 2

	if (campo == "cartao_email") {
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!filter.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	if (campo == "cartao_email_2") {
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!filter.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			var tempEmail = document.getElementById('cartao_email').value;
			var tempEmail2 = document.getElementById('cartao_email_2').value;
			if (tempEmail == tempEmail2) {
				removeValidacao(campo,'ip01');
			} else {
				marcaValidacao(campo);
				return false;
			}
		}
	}

	

	//passo 01 // Verificando o campo Nome

	if (campo == "cartao_nome") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	//passo 01 // Verificando o campo CPF

	if (campo == "cartao_cpf") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!valor.isCPF()) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	//passo 01 // Verificando o campo Nº de documentos
	reDoc = new RegExp("\\d*[0-9]$", "g");
	if (campo == "cartao_doc_numero") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	//passo 01 // Verificando o campo Nº de documentos
	if (campo == "cartao_doc_numero_digito") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			document.getElementById('campo_' + campo + '').innerHTML = ("Digite apenas números!");
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	//passo 01 // Verificando o campo Nome da mãe
	if (campo == "cartao_nome_mae") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	//passo 01 // Verificando o campo Nº de dependentes

	
	/*

	if (campo == "cartao_dependentes") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		}else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}
	*/

	//PASSO 01

	

	//PASSO 02
	if (campo == "cartao_endereco") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_numero") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	
	if (campo == "cartao_bairro") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	if (campo == "cartao_cep") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if ((valor == "00000000") || (valor == "11111111") || (valor == "22222222") || (valor == "33333333") ||	(valor == "44444444") || (valor == "55555555") ||  (valor == "66666666") || (valor == "77777777") || (valor == "88888888") || (valor == "99999999")) {
			marcaValidacao(campo);
			return false;
		} else if (valor == "01000000") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_cidade") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_tempo_na_residencia_anos") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	/*
	if (campo == "cartao_tempo_na_residencia_meses") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}
	*/

	
	if (campo == "cartao_ddd") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_telefone") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	//PASSO 02

	

	//PASSO 03
	
	if (campo == "cartao_conjuge_nome") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	//passo 01 // Verificando o campo CPF

	if (campo == "cartao_conjuge_cpf") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!valor.isCPF()) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_pro_empresa") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	
	if (campo == "cartao_pro_cargo") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_renda_mensal") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (valor < 400) {
			marcaValidacao(campo);
			alert ("Renda deve ser maior ou igual a R$400,00"); 
			document.getElementById('cartao_renda_mensal').setFocus;
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_pro_endereco") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	
	if (campo == "cartao_pro_endereco_numero") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

    
	if (campo == "cartao_pro_bairro") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_pro_cep") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if ((valor == "00000000") || (valor == "11111111") || (valor == "22222222") || (valor == "33333333") ||	(valor == "44444444") || (valor == "55555555") ||  (valor == "66666666") || (valor == "77777777") || (valor == "88888888") || (valor == "99999999")) {
			marcaValidacao(campo);
			return false;
		} else if (valor == "01000000") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	if (campo == "cartao_pro_cidade") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_pro_telefone_ddd") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		}else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	

	if (campo == "cartao_pro_telefone") {
		if (valor == "") {
			marcaValidacao(campo);
			return false;
		} else if (!reDoc.test(valor)) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_referencia_telefone_ddd") {
		 if ((!reDoc.test(valor)) && (valor != '')) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_referencia_telefone") {
		if ((!reDoc.test(valor)) && (valor != '')) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}

	if (campo == "cartao_referencia_telefone_ddd_2") {
		 if ((!reDoc.test(valor)) && (valor != '')) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}


	if (campo == "cartao_referencia_telefone_2") {
		if ((!reDoc.test(valor)) && (valor != '')) {
			marcaValidacao(campo);
			return false;
		} else {
			removeValidacao(campo,'ip01');
		}
	}



	//PASSO 03
	return true;
	

	//Validacao JS

	// Verificar o Browser
	// Firefox, Google Chrorme, Safari e outros

	/*
	if(window.XMLHttpRequest) {
		req	= new XMLHttpRequest();
	}
	// Internet Explorer
	else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	// Aqui vão os valores, caso haja mais de um, e o nome do campo que pediu a requisição.
	var url = "/site/wp-content/themes/cartaomais/validacao.php?campo="+campo+"&valor="+valor;
	
	// Chamada do método open para processar a requisição
	req.open("Get", url, true); 

    // Quando o objeto recebe o retorno, chamamos a função callback();
	req.onreadystatechange = function() {

		// Exibindo mensagem de carregar
		if(req.readyState == 1) {
			document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
		}
	
		// Verifica se o Ajax realizou todas as operações corretamente (essencial)
		if(req.readyState == 4 && req.status == 200) {

			// Resposta retornada pelo executor.php
			var resposta = req.responseText;
		
			// Abaixo colocamos a resposta na div do campo que fez a requisição
			document.getElementById('campo_'+ campo +'').innerHTML = resposta;
		}
	}

	req.send(null);

	*/

}



String.prototype.isCPF = function(){
    var c = this;
    if((c = c.replace(/[^\d]/g,"").split("")).length != 11) return false;
    if(new RegExp("^" + c[0] + "{11}$").test(c.join(""))) return false;
    for(var s = 10, n = 0, i = 0; s >= 2; n += c[i++] * s--);
    if(c[9] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    for(var s = 11, n = 0, i = 0; s >= 2; n += c[i++] * s--);
    if(c[10] != (((n %= 11) < 2) ? 0 : 11 - n)) return false;
    return true;
};
