function getCidades(estado)
{
	uf = $(estado).val();
	cidades = $(estado).parent().next().children('select')
		.empty()
		.append($('<option>'));
	
	$.post(
		"index.php", 
		{
			action: 'getCidades', 
			uf : uf
		}, 
		function(data){
			$.each(data, function(i, item) {
				$('<option>')
					.attr('value', item.id)
					.text(item.nome)
					.appendTo(cidades);
			}
		)},'json'
	);
}

function reset(form)
{
	form.reset();
}

function toggleResorts()
{
	$('#listaProdutos .resorts').toggle();
}

function getProdutos(uf)
{
//	$('#divProdutos').hide();
	$('.btVoltar').remove();
	$('#nomeUF').text('Carregando...');
	$('#listaProdutos').empty();
		
	$.get(
		WEB_ROOT + "pub/json/getProdutosBrasil.php", 
		{
			"makeSearchUF" : 1,
			"uf" : uf
		}, 
		function(data){
			if (!data.error) {
				$('#nomeUF').text(data.estado);
				
				$.each(data.categorias, function(i, categoria){
					lista = $('<li><h4>'+categoria.nome+'</h4></li>')
						.appendTo('#listaProdutos')
						.append('<ul>');
					
					hasCombinados = false;
					$.each(categoria.produtos, function(i, item) {
						link = $("<a>"+item.nome+(item.num_noites > 0 ? " - "+item.num_noites+" noites" : "")+"</a>")
							.attr('href', item.link)
							//.attr('target', '_blank');
							
						$('<li>')
							.append(link)
							.appendTo($('ul', lista));
					})
				})
				
				if (data.combinados.length > 0) {
					lista = $('<li><h4>Combinado com outras capitais</h4></li>')
						.appendTo('#listaProdutos')
						.append('<ul>');
					
					hasCombinados = false;
					$.each(data.combinados, function(i, item) {
						link = $("<a>"+item.nome+(item.num_noites > 0 ? " - "+item.num_noites+" noites" : "")+"</a>")
							.attr('href', item.link);
							
						$('<li>')
							.append(link)
							.appendTo($('ul', lista));
					})
				}
				
				if (data.resortsRecomendados.length > 0) {
					lista = $('<li class="recomendados"><h4>Resorts Recomendados pela Marsans</h4></li>')
						.appendTo('#listaProdutos')
						.append('<ul>');
					
					hasCombinados = false;
					$.each(data.resortsRecomendados, function(i, item) {
						link = $("<a>"+item.nome+(item.num_noites > 0 ? " - "+item.num_noites+" noites" : "")+"</a>")
							.attr('href', item.link)
							//.attr('target', '_blank');
							
						$('<li>')
							.append(link)
							.appendTo($('ul', lista));
					})
				}
				
				if (data.hasResorts) {
					if (data.resortsRecomendados.length > 0) {
						title = "<a href='#'>+ Outros Resorts</a>";
					} else {
						title = "Resorts";
					}
					lista = $('<li class="expand"><h4>'+title+'</h4></li>')
						.appendTo('#listaProdutos')
						.append('<ul class="resorts">');
				
					$('a', lista)
						.click(function(){
							toggleResorts();
							return false;
						});
					
					if (data.outrosResorts.length > 0) {
						hasCombinados = false;
						$.each(data.outrosResorts, function(i, item) {
							link = $("<a>"+item.nome+(item.num_noites > 0 ? " - "+item.num_noites+" noites" : "")+"</a>")
								.attr('href', item.link)
								//.attr('target', '_blank');
								
							$('<li>')
								.append(link)
							.appendTo($('ul', lista));
						})
					}
				}
				
				$('#divProdutos').show();
			}
			
			if (data.hasResorts && data.resortsRecomendados.length > 0) {
				toggleResorts();
			}
			
		},'json'
	);
}

/*
function getResorts(uf, nomeUF)
{
//	$('#divProdutos').hide();
	$('.btVoltar').remove();
	$('#nomeUF').text('Carregando...');
	$('#listaProdutos').empty();
	
	$.get(
		WEB_ROOT + "pub/json/getResortsBrasil.php", 
		{
			"uf" : uf
		}, 
		function(data){
			if (!data.error) {
				switch (data.uf) {
					case 'AC' : // Acre
					case 'AM' : // Amazonas
					case 'AP' : // Amapá
					case 'CE' : // Ceará
					case 'DF' : // Distrito Federal
					case 'ES' : // Espírito Santo
					case 'MA' : // Maranhão
					case 'MS' : // Mato Grosso do Sul
					case 'MT' : // Mato Grosso
					case 'PA' : // Pará
					case 'PI' : // Piauí
					case 'PR' : // Paraná
					case 'RJ' : // Rio de Janeiro
					case 'RN' : // Rio Grande do Norte
					case 'RS' : // Rio Grande do Sul
						palavra = 'no'; break;
					case 'AL' : // Alagoas
					case 'GO' : // Goiás
					case 'MG' : // Minas Gerais
					case 'PE' : // Pernambuco
					case 'RO' : // Rondônia
					case 'RR' : // Roraima
					case 'SC' : // Santa Catarina
					case 'SE' : // Sergipe
					case 'SP' : // São Paulo
					case 'TO' : // Tocantis
						palavra = 'em'; break;
					case 'BA' : // Bahia
					case 'PB' : // Paraíba
						palavra = 'na'; break;
					default : // Others
						palavra = 'em'; break;
				}
				$('#nomeUF').text('Resorts ' + palavra + ' '+nomeUF);
				
				flagRecomendado = false;
				$.each(data.produtos, function(i, item) {
					if (!flagRecomendado && item.recomendado == 1) {
						flagRecomendado = true;
						$('<div>Recomendados pela Marsans</div>')
							.css("font-weight", '800')
							.appendTo('#listaProdutos');
					}
					
					if (flagRecomendado && item.recomendado == 0) {
						flagRecomendado = false;
						$('<div>Outros Resorts</div>')
							.css("font-weight", '800')
							.appendTo('#listaProdutos');
					}
						
					link = $("<a>"+item.nome+" - "+item.num_noites+" noites</a>")
						.attr('href', item.link)
							//.attr('target', '_blank');
						
					$('<li>')
						.append(link)
						.appendTo('#listaProdutos');
				})
				
				$('#divProdutos').show();
			}
		},'json'
	);
	
	$("<a>&laquo;&laquo;Voltar</a>")
		.attr('href', '#')
		.addClass('btVoltar')
		.click(function(){
			getProdutos(uf);
			$(this).remove();
			return false;
		})
		.appendTo('#listaProdutos');
}
*/

function doSearch(isSubmit)
{
		
	search = $('#search').val();
	categorias = [];
	$("input[name='categoriaId[]']:checked").each(function() {
		categorias[categorias.length] = $(this).val();
	})
	
	if (!(search != '' || categorias.length > 0)) {
		if (isSubmit) alert("Entre com pelo menos um critério de busca.");
		return false;
	} else if (search.length > 0 && search.length < 3) {
		if (isSubmit) alert("A palavra chave deve ter ao menos 3 caracteres.");
		return false;
	}
	
	// Adicionado dia 25/03/2009 para considerar a opção Todas
	$("input[name='categoriaId[]']:checked").each(function() {
		if (!$(this).val())
			categorias = [];
	})
	//_________________________________________________________
	
	$('.btVoltar').remove();
	$('#nomeUF').text('Buscando...');
	$('#listaProdutos').empty();
	
	$.get(
		WEB_ROOT + "pub/json/getSearchBrasil.php", 
		{
			"makeSearch"	: 1,
			"search"		: search,
			"categoriaId[]"	: categorias
		}, 
		function(data){
			$('#listaProdutos').empty();
			if (!data.error) {
				$('#nomeUF').text('Resultado da busca');
				
				if (data.produtos.length == 0) {
					link = $("<span>Nenhum resultado encontrado.</span>")
						.appendTo('#listaProdutos');
				} else {
					$.each(data.produtos, function(i, item) {
						descricao = item.nome + (parseInt(item.num_noites) > 0 ? " - "+item.num_noites+" noites" : "");
						link = $("<a>"+descricao+"</a>")
							.attr('href', item.link);
//							.attr('target', '_blank');
							
						$('<li>')
							.append(link)
							.appendTo('#listaProdutos');
					});
				}
				
				$('#divProdutos').show();
			}
		},'json'
	);
}

function setObservacoes(categoria) {
	fieldId = '#info_observacoes';
	
	optCat = $('option:selected', categoria);
	
	if (optCat.hasClass('fretamento')) {
		$(fieldId).val(''
			+ 'Os voos poderão ou não ter escalas e serão realizados com equipamentos disponíveis por cada cia. aérea, dependendo da data de embarque e destino escolhido.\n'
			+ 'O Voo Fretado, não sendo serviço de transporte público regular e estando vinculado a uma excursão de turismo, pode ter suas datas e os horários de chegada e partida, sem prejuízo da excursão, alterados. Nos casos em que ocorrer a supressão de algum serviço ou diminuição no período de hospedagem em decorrência da alteração dos horários ou data dos vôos, será reembolsado o valor correspondente aos serviços não prestados ou noites não usufruídas.\n'
			+ 'A parte aérea da programação é de total responsabilidade da Transportadora que opera os vôos contratados de acordo com o Código Brasileiro de Aeronáutica e normas dele decorrentes, em especial as específicas para fretamento, sendo sua a responsabilidade legal e contratual pelo cumprimento do contrato de transporte.\n'
			+ 'O passageiro observará as datas de partida e chegada e cumprirá os horários estabelecidos, devendo apresentar-se no aeroporto para embarque com a antecedência indicada pela Operadora no voucher, portando os documentos obrigatórios para viagem, identidade nos vôos domésticos, passaporte e visto nos vôos internacionais.\n'
			+ 'O embarque será feito mediante a apresentação do voucher ao atendente MARSANS no aeroporto. O voucher só é válido para a data e horário estabelecidos para a partida.\n'
			+ 'Pela perda do vôo, seja qual for o motivo — por se tratar de fretamento e, ainda, por estar a parte terrestre ligada à aérea — não haverá qualquer devolução de importâncias já pagas e não eximirá o cliente de pagar eventual saldo devedor.\n'
			+ 'A Operadora, nem por mera liberalidade, poderá acomodar o passageiro em um próximo vôo, pois o assento vago no vôo perdido é irrecuperável e já foi pago à Transportadora.\n'
			+ 'O Voo Fretado não permite aproveitamento, reaproveitamento, desdobramento, transferência, reembolso de trecho não voado ou prolongamento de trecho, devido as condições especiais de contrato entre a Operadora e a Transportadora e disposições regulamentares aplicáveis.\n'
			+ 'Eventuais atrasos causados pela TRANSPORTADORA são de sua inteira responsabilidade, principalmente, se repercutirem na parte terrestre da viagem.\n'
			+ 'As conexões utilizadas para chegar ao aeroporto de embarque do Vôo Fretado, quando adquiridas ou programadas sem o conhecimento ou interveniência da Operadora, são de inteira responsabilidade do passageiro, e não excluem qualquer das responsabilidades assumidas.\n'
			+ 'A ordem dos passeios incluídos e opcionais mencionados no descritivo pode sofrer alteração de acordo com a programação do receptivo local.'
		);
	} else {
		$(fieldId).val(''
			+ 'Os vôos poderão ou não ter escalas e serão realizados com equipamentos disponíveis por cada cia. aérea, dependendo da data de embarque e destino escolhido.\n'
			+ 'O roteiro poderá ser alterado de acordo com as condições climáticas e/ou por motivos alheios a nossa vontade.\n'
			+ 'A ordem dos passeios incluídos e opcionais mencionados no descritivo pode sofrer alteração de acordo com a programação do receptivo local.'
		);
	}
}