// JavaScript Document
function insereEventoCarrinho(){
	
	//Função para validar os dados a serem inseridos no carrinho
	var retorno = '';
	var campo = '';

	//Verificar se algum ingresso foi selecionado, pela quantidade escolhida no select respectivo	
	if($("select[name='numIngressos'][value!='0']").length == 0){
		retorno += '* Selecione ao menos um ingresso para finalizar o pedido.\n';
		if (campo == ''){campo = '#'+$("select[name='numIngressos']").attr('id');}
	}
	//Validar a forma de entrega
	if($("input[name='codEntrega']:checked").length == 0){
		retorno += '* Selecione uma forma de entrega para o(s) ingresso(s) selecionado(s).\n';
		if(campo == ''){campo = '#'+$("select[name='codEntrega']").attr('id');}
	}
	
	//Se ocorreu algum erro, retorno não será vazio
	if (retorno != ''){
		alert('Atenção!\n'+retorno);
		if(campo != ''){$(campo).focus();}
	}else{
		//Se todos os campos foram preenchidos correntamente, fazer requisição AJAX para inserir os dados no carrinho
		$.ajax({
			type:'post',
			cache:false,
			url:$('#frmCarrinho').attr('action'),
			data:$('#frmCarrinho').serialize(),
			beforeSend:function(){
				$('#imgWaitCarrinho').css('visibility','visible');
			},
			complete:function(){
				$('#imgWaitCarrinho').css('visibility','hidden');
			},
			success:function(response){
				//Se não ocorreu nenhum erro, direciona para a página do carrinho
				if(response == ''){
					window.open('carrinho.asp','_self');
				}else{
					alert('Atenção!\n'+response);
				}
			},
			error:function(){
				alert('Atenção!\nOcorreu um erro ao tentar enviar seu pedido para o carrinho.\nPor favor, tente novamente.');
			}
		});
	}
}

function alteraQuantidadeCarrinho(codigo){
	
	if(confirm('Atenção!\nConfirmar alteração da quantidade de ingressos para este pedido?')){
		//Se todos os campos foram preenchidos correntamente, fazer requisição AJAX para alterar a quantidade
		$.ajax({
			type:'get',
			cache:false,
			url:'inc/funcoes.carrinho.asp?link=upd',
			data:'cod='+$('#codIngresso_'+codigo).val()+'&qtde='+$('#numIngressos_'+codigo).val(),
			beforeSend:function(){
				$('#imgWaitCarrinho').css('visibility','visible');
			},
			complete:function(){
				$('#imgWaitCarrinho').css('visibility','hidden');
			},
			success:function(response){
				//Se não ocorreu nenhum erro, direciona para a página do carrinho
				if(response == ''){
					$('#imgWaitCarrinho').css('visibility','visible');
					window.location.reload();
				}else{
					alert('Atenção!\n'+response);
				}
			},
			error:function(){
				alert('Atenção!\nOcorreu um erro ao tentar enviar seu pedido para o carrinho.\nPor favor, tente novamente.');
			}
		});
	}
}

function confirmaExcluirCarrinho(codigo){
	
	if(confirm('Atenção!\nConfirmar exclusão deste ingresso?')){
		//Se todos os campos foram preenchidos correntamente, fazer requisição AJAX para excluir os dados no carrinho
		$.ajax({
			type:'get',
			cache:false,
			url:'inc/funcoes.carrinho.asp?link=del',
			data:'cod='+$('#codIngresso_'+codigo).val()+'&qtde='+$('#numIngressos_'+codigo).val(),
			beforeSend:function(){
				$('#imgWaitCarrinho').css('visibility','visible');
			},
			complete:function(){
				$('#imgWaitCarrinho').css('visibility','hidden');
			},
			success:function(response){
				//Se não ocorreu nenhum erro, direciona para a página do carrinho
				if(response == ''){
					$('#imgWaitCarrinho').css('visibility','visible');
					window.location.reload();
				}else{
					alert('Atenção!\n'+response);
					window.open('index.asp','_self');
				}
			},
			error:function(){
				alert('Atenção!\nOcorreu um erro ao tentar enviar seu pedido para o carrinho.\nPor favor, tente novamente.');
			}
		});
	}
}

function validaSelecionaOutroevento(){
	
	if(confirm('Atenção!\nAo selecionar outro evento, os dados existentes no carrinho atualmente serão perdidos,\npois apenas um evento pode ser selecionado por pedido.\nDeseja continuar?')){
		//Fazer uma chamada AJAX para limpar o carrinho atual. Ao final, direcionar para o index.asp
		$.ajax({
		type:'get',
			cache:false,
			url:'inc/funcoes.carrinho.asp?link=clean',
			data:'[]',
			beforeSend:function(){
				$('#imgWaitCarrinho').css('visibility','visible');
			},
			complete:function(){
				$('#imgWaitCarrinho').css('visibility','hidden');
			},
			success:function(response){				
				window.open('index.asp','_self');
			},
			error:function(){
				alert('Atenção!\nOcorreu um erro ao tentar enviar seu pedido para o carrinho.\nPor favor, tente novamente.');
			}	
		});
	}	
}

function iniciaAlteracaoEndereco(){
	
	//Função para exibir os dados de endereço do cliente, no carrinho.revisao, trocando os 
	//apagando (display:none) os span com classe = enderecoFinal, e exibindo (dispplay:'') 
	//os input com classe = inputPromocoes.
	//O link que contém a chamada para esta função será alterado para outro link, com texto e função diferentes (confirmar alteração)
	
	$('.enderecoFinal').css('display','none');
	$('.inputPromocoes').css('display','');
	//Alterar o link
	$('#btAlteraEndereco').replaceWith('<a href="#" id="btConfirmaEndereco" onclick="confirmaAlteracaoEndereco();">Confirmar novo endere&ccedil;o de entrega</a>');
	//Foco no campo de endereço
	$('#nomRuaEditar').focus();
}

function confirmaAlteracaoEndereco(){
	
	//Função para validar os dados informados para o novo endereço de entrega.
	//Se os dados forem válidos, transferir os valores para os respectivos hidden e span,
	//e trocar o link de confirmação de alteração pelo original, de alteração.
	
	var retorno = '';
	var campo = '';
	
	//Fazer a validação dos campos
	if($('#nomRuaEditar').val() == ''){
		retorno += '* Informe o seu endereço.\n';
		if(campo==''){campo = '#nomRuaEditar';}
	}
	//Número
	if($('#numRuaEditar').val() == ''){
		retorno += '* Informe o número de seu endereço.\n';
		if(campo==''){campo = '#numRuaEditar';}
	}
	//Número
	if($('#numRuaEditar').val() == ''){
		retorno += '* Informe o número de seu endereço.\n';
		if(campo==''){campo = '#numRuaEditar';}
	}
	//Bairro
	if($('#nomBairroEditar').val() == ''){
		retorno += '* Informe o nome do seu bairro.\n';
		if(campo==''){campo = '#nomBairroEditar';}
	}
	//Cidade
	if($('#nomCidadeEditar').val() == ''){
		retorno += '* Informe o nome de sua cidade.\n';
		if(campo==''){campo = '#nomCidadeEditar';}
	}
	//Estado
	if($('#sigUfEditar').val() == ''){
		retorno += '* Informe a sigla de seu estado.\n';
		if(campo==''){campo = '#sigUfEditar';}
	}
	//Telefone
	if($('#numTelefoneEditar').val() == ''){
		retorno += '* Informe seu telefone de contato.\n';
		if(campo==''){campo = '#numTelefoneEditar';}
	}else{
		if(!testaFone($('#numTelefoneEditar').val())){
			retorno += '* Número do telefone de contato inválido.\n';
			if(campo==''){campo = '#numTelefoneEditar';}
		}
	}
	//Celular
	if($('#numCelularEditar').val() == ''){
		retorno += '* Informe seu telefone celular.\n';
		if(campo==''){campo = '#numCelularEditar';}
	}else{
		if(!testaFone($('#numCelularEditar').val())){
			retorno += '* Número do telefone celular inválido.\n';
			if(campo==''){campo = '#numCelularEditar';}
		}
	}
	//Se a variável retorno não estiver vazia, houve erro
	if(retorno != ''){
		alert('Atenção!\n'+retorno);
		if(campo != ''){$(campo).focus();}
	}else{
		//Setar os valores dos input de edição para os respectivos span e hidden
		$('#numCep').val($('#numCepEditar').val());
		$('#spanNumCep').html($('#numCepEditar').val());
		$('#nomRua').val($('#nomRuaEditar').val());
		$('#spanNomRua').html($('#nomRuaEditar').val());
		$('#numRua').val($('#numRuaEditar').val());
		$('#spanNumRua').html($('#numRuaEditar').val());
		$('#desComplemento').val($('#desComplementoEditar').val());
		$('#spanDesComplemento').html($('#desComplementoEditar').val());
		$('#nomBairro').val($('#nomBairroEditar').val());
		$('#spanNomBairro').html($('#nomBairroEditar').val());
		$('#nomCidade').val($('#nomCidadeEditar').val());
		$('#spanNomCidade').html($('#nomCidadeEditar').val());
		$('#sigUf').val($('#sigUfEditar').val());
		$('#spanSigUf').html($('#sigUfEditar').val());
		$('#numTelefone').val($('#numTelefoneEditar').val());
		$('#spanNumTelefone').html($('#numTelefoneEditar').val());
		$('#numCelular').val($('#numCelularEditar').val());
		$('#spanNumCelular').html($('#numCelularEditar').val());
		
		//Exibir os campos span (fixos) e apagar os campos de edição
		$('.enderecoFinal').css('display','');
		$('.inputPromocoes').css('display','none');
		//Alterar o link
		$('#btConfirmaEndereco').replaceWith('<a href="#" id="btAlteraEndereco" onclick="iniciaAlteracaoEndereco();">Altere seu endere&ccedil;o de entrega</a>');
	}
}

function confirmaContrato(acao){
	
	//Função para verificar se o cliente concorda com o termo contratual ou não.
	//Se concorda (acao = s) exibe o botão de finalização do pedido.
	//Se não concorda (acao = n) apaga o botao, e exibe uma mensagem de aviso e retorna para o carrinho de compras.
	
	if(acao == 's'){
		$('#btConfirmaPedido').css('visibility','visible');
	}else{
		$('#btConfirmaPedido').css('visibility','hidden');
		if(confirm('Atenção!\nAo não concordar com o termo contratual, seu pedido não será finalizado e você será direcionado para a página de carrinho de compras.\nCaso deseje prosseguir com sua compra, clique em CANCELAR.\nCaso realmente não concorde com o termo contratual, clique em OK.')){
			window.open('carrinho.asp','_self');
		}
	}
}

function confirmaPedido(){
	
	//Função para validar a finalização do pedido e confirmar os dados no BD
	var retorno = '';
	var campo = '';
	
	//Os dados do endereço de entrega devem ser válidos
	
	//Rua
	if($('#nomRua').val() == ''){
		retorno += '* Informe o seu endereço.\n';
	}
	//Número
	if($('#numRua').val() == ''){
		retorno += '* Informe o número de seu endereço.\n';
	}
	//Número
	if($('#numRua').val() == ''){
		retorno += '* Informe o número de seu endereço.\n';
	}
	//Bairro
	if($('#nomBairro').val() == ''){
		retorno += '* Informe o nome do seu bairro.\n';
	}
	//Cidade
	if($('#nomCidade').val() == ''){
		retorno += '* Informe o nome de sua cidade.\n';
	}
	//Estado
	if($('#sigUf').val() == ''){
		retorno += '* Informe a sigla de seu estado.\n';
	}
	//Telefone
	if($('#numTelefone').val() == ''){
		retorno += '* Informe seu telefone de contato.\n';
	}else{
		if(!testaFone($('#numTelefone').val())){
			retorno += '* Número do telefone de contato inválido.\n';
		}
	}
	/*//Celular
	if($('#numCelular').val() == ''){
		retorno += '* Informe seu telefone celular.\n';
	}else{
		if(!testaFone($('#numCelular').val())){
			retorno += '* Número do telefone celular inválido.\n';
		}
	}*/
	
	//Formas de pagamento - ao menos uma deve ser selecionada
	if($("input[name='desPagamento']:checked").length == 0){
		retorno += '* Selecione uma forma de pagamento.\n';
	}
	
	//Verificar se todas as informações foram confirmadas
	if(retorno != ''){
		alert('Atenção!\n'+retorno);		
	}else{		
		//Substituir o botão de confirmar pelo wait para AJAX
		$('#btConfirmaPedido').replaceWith('<img id="imgWaitPedido" src="imagens/ajax-loader.gif" alt="Aguarde..." />');		
		//Fazer o submit do formulário
		$('#frmRevisao').submit();
	}
	
}