
/*Atendimento*/
$(function() { 
	
	validaCampos("input#inputNome, input#inputUltNome, input#inputEmail, input#inputTel_1, input#inputEnd, input#inputCEP, select#uf, select#cidade, input#inputAssunto, textarea#inputMsg");

	if($("body#perguntasFrequentes").length > 0){
		toggleViewFaq();
	}

	$("#inputCEP").mask("99999-999",{placeholder:" "});
	$("#inputCPF").mask("999.999.999-99",{placeholder:" "});
	$("#inputCNPJ").mask("99.999.999/9999-99",{placeholder:" "});


	
	$("input#inputEmail").blur(function(){
		validaEmail(this);					 
	});
	

	$("input.txt").keypress(function(e){
		return naoPermiteNumero(e);
	});
	
	$("input.num").keypress(function(e){
		return apenasNumero(e);
	});

	$("select#uf").change(function(){
		cidadesJSON($(this));
	});


});


function toggleViewFaq(){
	var btPergunta = $( 'p.pergunta' );
	var corpo = document.body;
	
	btPergunta.click( function(){
		$(this).next().toggleClass('on');
		$(this).toggleClass('ativo');
	});
	
	$("form .boxRespostas input[@id^=sim]").click(function(){
		$(this).parents(".resposta").toggleClass("on");
		$(this).parents(".resposta").prevAll("pergunta").toggleClass("ativo");
	});
}

function validaCampos(campos){
	var elems = $(campos);
	var label;
	$("a.btEnviarResposta").click(function(){
		var prob = "";
		$this = $(this);
		for(i=0; i< elems.length; i++){
			label = $(elems[i]).parent("li").children("label").text().replace(/(:)|(\*)/gi,"");
			label = "<li>O campo: \""+label+"\" é de preenchimento obrigatório;</li>";
			if(prob.indexOf(label) == -1 && elems[i].value == ""){
				prob += label;
			}
			if($(elems[i]).attr("id") == "inputEmail"){
			    	var txt = $(elems[i]).val();
				if ((txt.length != 0) && ((txt.indexOf("@") < 1) || (txt.indexOf('.') < 1))){
			          prob += "<li>O campo: \"E-mail\" está incorreto;</li>";
				}
			}

		}
		if(prob.length > 0){
			//prob = "Corrija os seguintes erros:"+ prob.substr(0,prob.length-2);
			prob = "<p>Ocorreram alguns erros:</p><ul>"+ prob.substr(0) +"</ul>";
			modalAvisoMsg({tipo:'erro', titulo:'Erro no envio da mensagem', mensagem: prob});
		} else {
			var str = $("a.btEnviarResposta").parents("form#formAtendimento").serialize();
			$.ajax({
			   type: "POST",
			   url: "/opencms/atendimento/EmailAtendimento.html",
			   data: str,
			   success: function(){
				   	msg = '<p>Sua carta-proposta foi enviado com sucesso e será analisada por nossa equipe responsável. Aguarde nosso contato por intermédio de e-mail ou telefone.</p>';
					modalAvisoMsg({tipo:'sucesso', titulo: 'Carta enviada com sucesso!', mensagem: msg});
			   }
			});
		}
		return false;
	});
}

function validaEmail(campo){
  var txt = $(campo).val();
  if ((txt.length != 0) && ((txt.indexOf("@") < 1) || (txt.indexOf('.') < 1)))
  {
	modalAvisoMsg({tipo:'erro', titulo: 'Erro', mensagem: "<p>O e-mail deve ser preenchido corretamente. Exemplo: nome@email.com.br</p>"});
	return false;
  }
}

function naoPermiteNumero(e){
	var keynum;
	var keychar;
	var numcheck;
	if(window.event){
	  keynum = e.keyCode;
	}
	else if(e.which){
	  keynum = e.which;
	}
	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	return !numcheck.test(keychar);
}

function apenasNumero(e){
	var keychar;

	if(window.event){
	  keychar = e.keyCode;
	}
	else if(e.which){
	  keychar = e.which;
	}

	keychar = String.fromCharCode(keychar);
	if(e.keyCode == 8 || e.keyCode == 9 ||e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46){
		return true;
	}else{
		return !isNaN(keychar);	
	}
}

function cidadesJSON(referencia){
	
	var id = $(referencia).children("option:selected").val();
	var uf = $(referencia).children("option:selected").text();

	//debug		
	window.cacheCidades = window.cacheCidades ? window.cacheCidades : new Array();
	
	//cache
	if( !(cacheCidades[uf]) ){
		$.ajax({
			url:"/opencms/system/modules/br.com.cooperforte.instituto.site.restrito/elements/loadCidade.jsp",
			data: {idEstado: id},
			dataType: "json",
			success: function(resp){
				cacheCidades[uf] = resp;
				carregaCidades(resp);
			}
		});
	}else{
		carregaCidades(cacheCidades[uf]);
	}
}


function carregaCidades(resp){
	$("select#cidade").html("<option selected='selected'>aguarde...</option>");

	var options = '';
	for (var i = 0; i < resp.length; i++) {
		options += '<option value="' + resp[i].optionValue + '">' + resp[i].optionDisplay + '</option>';
	}
	$("select#cidade").html(options);
	$('select#cidade option:first').attr('selected', 'selected');
}


