/*********************************************************************************************

ARQUIVO DE FUNCOES JAVASCRIPT E AJAX

*********************************************************************************************/





/* FUNCOES A SEREM EXECUTADAS QUANDO A PAGINA ESTIVER CARREGADA
*********************************************************************************************/
$(document).ready(function()
{
    // Ativa os banners da home
	$('.bannersHome_principais_lista').sliderMenu({interval:4000});
	
	// Retira a invisibilidade da div dos banners (evita o bug dos banners enquanto o javascript não é carregado) 
	$('.bannersHome_principais_lista').removeClass("invisivel"); 
	
	// Ativa o zoom da primeira imagem
	ativarZoom(0);
});





/* LIMPA O VALUE DO CAMPO INDICADO
*********************************************************************************************/
function limpaCampo(nomecmp)
{ $("#" + nomecmp).attr("value", ""); }





/* MUDA A IMAGEM DO PRODUTO QUANDO UM QUADRADO DE OUTRA COR E CLICADO
*********************************************************************************************/
function detalhes_TrocaImg(codpai, codigo, prodcor)
{
	// Exibindo a imagem de carregando nas partes substituídas via Ajax
	$("#website #conteudo #detalhes #detalhes_fotos #fotos_carregando").removeClass("oculto");
	$("#website #conteudo #detalhes div.info div#detalhes_valores p#valores_carregando").removeClass('oculto');
	
	// Obtem as fotos selecionadas e insere na div
	$.post('_secoes/detalhes/detalhes_fotos.php', { codpai: codpai, prodcor: prodcor }, 
		function(data) 
		{ 
			// Insere as novas fotos na div
			$('#detalhes_fotos').html(data);
			
			// Ativa o zoom da primeira imagem
			ativarZoom(0);
		}
	);
	
	// Atualiza o valor do produto para exibir o preço da cor
	$.post('_secoes/detalhes/detalhes_valores.php', {codpai: codpai, cor: prodcor}, 
		function (data)
		{ $('#detalhes_valores').html(data); }
	);
	
	// Oculta a seta indicando a seleção da cor
	$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeOut('300');
	
	// Seta o campo para informar a cor escolhida
	$('#detalhes_cor').attr('value', prodcor);
	
	// Remove a borda de todas as outras cores para garantir que não haverão duas selecionadas
	$('#website #conteudo #detalhes div.info #areacompra div.boxopt p.cores img').removeClass("selecionado");
	
	// Adiciona a borda em volta da cor selecionada 
	$('#cor_' + codigo).addClass("selecionado");
	
	// Libera o botão de compra se a cor e tamanho estiverem selecionados
	detalhes_liberaBtCompra();
}





/* ATIVA O ZOOM DA IMAGEM
*********************************************************************************************/
function ativarZoom(numimg)
{
	$('#foto_' + numimg + '_imagem').loupe({
	width: 300, // width of magnifier
	height: 300, // height of magnifier
	loupe: 'loupe' // css class for magnifier
	});
}





/* MUDA DE IMAGEM CLICANDO NA FIGURA MINIATURA
*********************************************************************************************/
function detalhes_VerImagem(numero)
{
	// Define todas as imagens como invisível
	$('#website #conteudo #detalhes div#detalhes_fotos div.fotoamp p').addClass("invisivel");
	
	// Define apenas a imagem indicada como visível
	$('#foto_' + numero).removeClass("invisivel");
	
	// Carrega o zoom da imagem indicada
	ativarZoom(numero);
}





/* DEFINE O TAMANHO DO PRODUTO A SER COMPRADO
*********************************************************************************************/
function detalhes_DefinirTamanho(tamanho)
{
	// Seta o campo para informar a cor escolhida
	$('#detalhes_tam').attr('value', tamanho);
	
	// Remove a borda de todas as outras cores para garantir que não haverão duas selecionadas
	$('#website #conteudo #detalhes div.info #areacompra div.boxopt p.tamanhos a').removeClass("selecionado");
	
	// Adiciona a borda em volta da cor selecionada 
	$('#tam_' + tamanho).addClass("selecionado");
	
	// Oculta a seta indicando a seleção do tamanho
	$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeOut('300');
	
	// Libera o botão de compra se a cor e tamanho estiverem selecionados
	detalhes_liberaBtCompra();
}





/* VERIFICA SE UMA COR E TAMANHO FORAM ESCOLHIDOS E ATIVA O BOTAO DE COMPRA
*********************************************************************************************/
function detalhes_liberaBtCompra()
{
	// Recupera o código pai do produto
	var codpai = $('#detalhes_codpai').attr('value');
	
	// Recupera valores da cor e tamanho selecionados
	var coresc = $('#detalhes_cor').attr('value');
	var tamesc = $('#detalhes_tam').attr('value');
	
	// Caso ambos foram selecionados...
	if (coresc != "" && tamesc != "")
	{
		// Esconde as setas caso estejam visíveis
		$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeOut('300');
		$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeOut('300');
		
		// Exibindo a imagem de carregando nas partes substituídas via Ajax
		$('#website #conteudo #detalhes div.info #areacompra #btcomprar #btcomprar_carregando').removeClass('oculto');
		$('#website #conteudo #detalhes div.info div#detalhes_valores p#valores_carregando').removeClass('oculto');
		
		
		// Verifica a disponibilidade do produto e insere o botão caso tenha em estoque
		$.post('_secoes/detalhes/detalhes_btcomprar.php', {codpai: codpai, cor: coresc, tam: tamesc}, 
			function (data)
			{ $('#btcomprar').html(data); }
		);
		
		// Verifica a disponibilidade do produto e insere o valor correto na página
		$.post('_secoes/detalhes/detalhes_valores.php', {codpai: codpai, cor: coresc, tam: tamesc}, 
			function (data)
			{ $('#detalhes_valores').html(data); }
		);
	}
}





/* FUNCAO PARA AVISAR O USUARIO QUE UM TAMANHO E COR DEVEM SER SELECIONADOS
*********************************************************************************************/
function detalhes_avisoSelecionarTamCor()
{
	// Recupera a cor e tamanho selecionados
	var coresc = $('#detalhes_cor').attr('value');
	var tamesc = $('#detalhes_tam').attr('value');
	
	// Exibe a mensagem informando para escolher uma cor e tamanho
	alert("Por favor escolha uma cor e tamanho antes de incluir o produto no carrinho");
	
	// Se apenas a cor não foi escolhida anima a seta
	if (coresc == "" && tamesc != "")
	{
		// Anima os títulos das caixas para indicar ao usuário
		$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeIn('300');
		
		for (cont = 1 ; cont < 3 ; cont++)
		{
			$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeOut('300');
			$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeIn('300');
		}
	}
	// Se apenas o tamanho não foi escolhido anima a seta
	else if (coresc != "" && tamesc == "")
	{
		// Anima os títulos das caixas para indicar ao usuário
		$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeIn('300');
		
		for (cont = 1 ; cont < 3 ; cont++)
		{
			$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeOut('300');
			$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeIn('300');
		}
	}
	// Se ambas as opções não foram escolhidas anima a seta
	else
	{
		// Anima os títulos das caixas para indicar ao usuário
		$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeIn('300');
		$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeIn('300');
		
		for (cont = 1 ; cont < 3 ; cont++)
		{
			$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeOut('300');
			$('#website #conteudo #detalhes div.info #areacompra #seta_cor').fadeIn('300');
			$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeOut('300');
			$('#website #conteudo #detalhes div.info #areacompra #seta_tam').fadeIn('300');
		}
	}
}





/* ADICIONA O PRODUTO NO CARRINHO
*********************************************************************************************/
function detalhes_adicionaProd(codprod)
{
	// Exibe o carregando no botão comprar
	$("#btcomprar_carregando").removeClass("oculto");
	
	// Chama via AJAX o script para adição no carrinho
	$.post('_scripts/ajax.php', {func: 'AdCarrinho', codprod: codprod}, 
	function (data)
	{ 
		// Se algo foi enviado via ajax imprime na tela
		if (data != "")
		{ 
			// Exibe a mensagem de "Adicionado ao carrinho"
			$("#areacompra").html(data); 
			
			
			// MODIFICA O NUMERO DE ITENS NO CARRINHO
			
			// Se não há item nenhum no carrinho modifica a frase adicionando 1 ao número
			if ($("#meucarrinho_qtde").text() == "")
			{ $("#meucarrinho_rotulo").html('<span id="meucarrinho_qtde">1</span> item(s)'); }
			
			// Caso já exista algum item no carrinho, ou seja, o número não está vazio adiciona +1
			else
			{ 
				$numatual = parseInt($("#meucarrinho_qtde").text());
				$("#meucarrinho_qtde").text($numatual + 1);
			}
		}
		
		// Caso ocorreu erro no envio das informações...
		else
		{
			// Informa o cliente
			alert("Desculpe-nos, infelizmente você já adicionou todo nosso estoque no carrinho, porém tente outra cor ou modelo!"); 
			
			// Retira o carregando do botão
			$("#btcomprar_carregando").addClass("oculto");
		}
	});
}





/* ENVIA A OPINIAO OU PERGUNTA POSTADA
*********************************************************************************************/
function detalhes_postarOpiniao()
{
	// Exibe o gif de carregando
	$("#opiniao_carregando").removeClass("oculto");
	
	// Obtém os valores dos campos
	var codprod = $("#opiniao_codprod").attr("value");
	var email = $("#opiniao_email").attr("value");
	var texto = $("#opiniao_texto").attr("value");
	
	
	// Envia via Ajax os dados do formulário
	$.post("_secoes/detalhes/detalhes_opinioes.php", {codprod: codprod, email: email, texto: texto}, 
	function (data)
	{
		// Se a postagem da opinião for duplicada
		if (data == "erro 1")
		{ 
			alert("Esta mesma mensagem já foi postada no site, por favor aguarde enquanto nós a revisamos e liberamos."); 
			$("#opiniao_carregando").addClass("oculto");
		}
		
		// Se algum campo estiver vazio
		else if (data == "erro 2")
		{ 
			alert("Os campos e-mail e mensagem não podem estar vazios, por favor preencha e envie novamente."); 
			$("#opiniao_carregando").addClass("oculto");
		}
		
		// Caso ocorra algum erro ao inserir a mensagem
		else if (data == "erro 3")
		{ 
			alert("Um erro ocorreu ao inserir a mensagem, por favor tente novamente mais tarde"); 
			$("#opiniao_carregando").addClass("oculto");
		}
		
		// Caso ocorra algum erro ao inserir a mensagem
		else if (data == "erro 4")
		{ 
			alert("Desculpe, por uma medida de segurança o número de opiniões postadas do seu computador/rede chegou ao máximo"); 
			$("#opiniao_carregando").addClass("oculto");
		}
		
		// Caso tudo tenha ocorrido normalmente
		else
		{ $("#detalhes_postar").html(data); }
	});
	
	// Retorna falso para evitar que o formulário seja enviado via post
	return false;
}





/* EXIBE OU OCULTA OS CAMPOS DE ENDEREÇO DE COBRANÇA NO PASSO 1 DO FECHAMENTO
*********************************************************************************************/
function fechamento_alternaEndCobranca()
{
	// Se o box do endereço de cobrança estiver visível...
	if ($("#boxEndCobranca").is(".oculto"))
	{ $("#boxEndCobranca").removeClass("oculto"); }
	
	// Caso ele esteja invisível... 
	else
	{ $("#boxEndCobranca").addClass("oculto"); }
}





/* ENVIA A MENSAGEM DE PEDIDO DE PRODUTO
*********************************************************************************************/
function busca_enviarMensagem()
{
	// Exibe o gif de carregando
	$("#busca_carregando").removeClass("oculto");

	// Obtém os valores dos campos
	var nome = $("#busca_nome").attr("value");
	var email = $("#busca_email").attr("value");
	var telefone = $("#busca_telefone").attr("value");
	var produto = $("#busca_produto").attr("value");


	// Envia via Ajax os dados do formulário
	$.post("_scripts/ajax.php", {func: 'busca_enviarMensagem', nome: nome, email: email, telefone: telefone, produto: produto}, 
	function (data)
	{
		// Se algum campo estiver vazio
		if (data == "camposvazios")
		{ 
			alert("Os campos nome e produto não podem estar vazios, por favor preencha e envie novamente."); 
			$("#busca_carregando").addClass("oculto");
		}
		
		// Se as informações de contato estiverem vazias
		else if (data == "contatosvazios")
		{ 
			alert("Os campos e-mail e telefone estão vazios, é necessário preencher pelo menos um deles."); 
			$("#busca_carregando").addClass("oculto");
		}
		
		// Se algum campo estiver vazio
		else if (data == "limiteatingido")
		{ 
			alert("Desculpe, infelizmente o limite diário de envios de mensagens à partir do seu computador foi alcançado."); 
			$("#busca_carregando").addClass("oculto");
		}

		// Caso tudo tenha ocorrido normalmente retorna a mensagem do script ajax
		else
		{ 
			$("#busca_naoencontrado").html(data); 
			$("#busca_carregando").addClass("oculto");
		}
	});

	// Retorna falso para evitar que o formulário seja enviado via post
	return false;
}





/* CONVERTE VALORES INTEIROS EM MONETARIOS (EX 1990 PARA 19,90)
*********************************************************************************************/
function converteDinheiro(valor) {
	
	// Converte o valor fornecido em uma string
	valor += "";
	
	// Caso o tamanho da string seja menor que 3 caracteres, acrescenta os zeros que faltam
	if (valor.length < 3) {
		
		// Calcula quantos caracteres faltam
		var qtdeCharFaltando = 3 - valor.length;
		
		// Acrescenta os zeros faltantes na string
		for ( cont = 1; cont <= qtdeCharFaltando; cont++ ) { valor = '0' + valor; }
		
	}
	
	
	// Pega todo o valor menos os dois últimos, que são os centavos
	var real = valor.substr(0, valor.length - 2);
	
	// Inclui a vírgula
	real += ',';
	
	// Pega os dois últimos números, que são os centavos
	real += valor.substr(-2);
	
	// Retorna o valor final
	return real;
	
}





/* CALCULA O NOVO VALOR TOTAL A SER EXIBIDO NO PASSO 3
*********************************************************************************************/
function calcTotalFinal(frete) {
	
	// Recupera o valor total parcial do pedido já convertendo em int
	var totalParcial = parseInt($("#totalParcial").attr("value"));
	
	// Converte o valor de frete no tipo monetário e soma o valor do frete com o total
	var freteDinheiro = converteDinheiro(frete);
	var totalFinal = converteDinheiro(frete + totalParcial);
	
	// Imprime o valor do frete e total final no passo 3
	$("#legenda_valorFrete").html(freteDinheiro);
	$("#legenda_totalFinal").html(totalFinal);
	
}






