function createPedido(id) {
	$.getJSON('rga?cmd=PedidoWeb&op=Create&id=' + id, null, function(pedido) {
		updatePedidoDescription(pedido);
	});
}

function updateHotel(id) {
	$.getJSON('rga?cmd=PedidoWeb&op=UpdateHotel&id=' + id, null, function(
			pedido) {
		updatePedidoDescription(pedido);
	});
}

function showQuartos() {

	var quantidade = $("#quantidadeQuartos").val();

	$
			.getJSON(
					'rga?cmd=PedidoWeb&op=CreateQuarto&quantidadeQuartos=' + quantidade,
					null, function(pedido) {

						$(".quarto").each(function() {
							$(this).hide();
						});

						for ( var i = 1; i <= quantidade; i++) {
							$("#quarto" + i).show();
							$("#quantidadeAdultos" + i).attr("value", "0");
							$("#quantidadeCriancas" + i).attr("value", "0");
							$("#select_crianca_1_" + i).attr("value", "0");
							$("#select_crianca_2_" + i).attr("value", "0");
							$("#select_crianca_3_" + i).attr("value", "0");
						}

						updatePedidoDescription(pedido);

					});
}

function createCriancas(quarto) {

	var quantidadeCriancas = $("#quantidadeCriancas" + quarto).val();

	$.getJSON('rga?cmd=PedidoWeb&op=CreateCrianca&quantidadeCriancas='
			+ quantidadeCriancas + "&quarto=" + quarto, null,

	function(pedido) {

		hideCriancas(quarto);

		if (validatePedido(pedido)) {

			showCriancas(quantidadeCriancas, quarto);

			updatePedidoDescription(pedido);
		}

	});
}

function showCriancas(quantidadeCriancas, quarto) {

	for ( var i = 1; i <= quantidadeCriancas; i++) {

		var criancaID = "#crianca_" + i + "_" + quarto;

		$(criancaID).show();
	}

}

function hideCriancas(quarto) {

	/* Esconde todas as idades das criancas */
	$(".crianca" + quarto).each(function() {
		$(this).hide();
	});

}

function updateQuarto(id) {

	var quantidadeAdultos = $("#quantidadeAdultos" + id).val();
	var quantidadeCriancas = $("#quantidadeCriancas" + id).val();
	var crianca1 = $("#select_crianca_1_" + id).val();
	var crianca2 = $("#select_crianca_2_" + id).val();
	var crianca3 = $("#select_crianca_3_" + id).val();

	var params = {
		quartoID : id,
		numeroAdultos : quantidadeAdultos,
		numeroCriancas : quantidadeCriancas,
		idadeCrianca1 : crianca1,
		idadeCrianca2 : crianca2,
		idadeCrianca3 : crianca3
	};

	$.getJSON('rga?cmd=PedidoWeb&op=UpdateQuarto', params, function(pedido) {

		hideCriancas(id);

		if (validatePedido(pedido)) {

			showCriancas(quantidadeCriancas, id);

			var quartos = pedido.quartos;
			var pacoteHotel = pedido.pacoteHotel;

			for ( var i = 1; i <= quartos.length; i++) {
				if (i > id) {

					/* Limpa os selects */
					$("#quantidadeAdultos" + i).html("");

					$("#quantidadeCriancas" + i).attr("value", "0");

					$("#quantidadeAdultos" + i).append(
							"<option value=\"0\">0</option>");

					if (pacoteHotel.quantidadeQuartoSingle > 0) {
						$("#quantidadeAdultos" + i).append(
								"<option value=\"1\">1</option>");
					}

					if (pacoteHotel.quantidadeQuartoDuplo > 0) {
						$("#quantidadeAdultos" + i).append(
								"<option value=\"2\">2</option>");
					}

					if (pacoteHotel.quantidadeQuartoTriplo > 0) {
						$("#quantidadeAdultos" + i).append(
								"<option value=\"3\">3</option>");
					}

					if (pacoteHotel.quantidadeQuartoQuadruplo > 0) {
						$("#quantidadeAdultos" + i).append(
								"<option value=\"4\">4</option>");
					}
				}
			}

			updatePedidoDescription(pedido);

		}

	}

	);

}

function validatePedido(pedido) {

	if (pedido.messageError != null) {
		alert(pedido.messageError);
		return false;
	} else {
		return true;
	}

}

function updatePedidoDescription(pedido) {

	/* Pega os objetos principais */
	var hotel = pedido.pacoteHotel.hotel;
	var quartos = pedido.quartos;
	var pacote = pedido.pacoteHotel.pacote;
	var voos = pacote.voos;

	/* Pega dados do pedido */
	var valorPessoa = pedido.valorPessoa.toFixed(2);
	var valorTotal = pedido.valorTotal.toFixed(2);

	/* Pega dados do hotel */
	var nomeHotel = hotel.nome;
	var classificacaoHotel = hotel.classificacao;
	var siteHotel = hotel.site;
	var regime = pedido.pacoteHotel.regime;

	/* Pega dados do pacote */
	var embarqueIda = new Date(pacote.dataEmbarqueIda);
	var transporteAereoCheck = pacote.transporteAereoCheck;
	var trasladoCheck = pacote.trasladoCheck;
	var assistenciaViagemCheck = pacote.assistenciaViagemCheck;
	var taxaEmbarqueCheck = pacote.taxaEmbarqueCheck;
	var taxaServicoCheck = pacote.taxaServicoCheck;
	var taxaSegurancaCheck = pacote.taxaSegurancaCheck;
	var taxaImigracaoCheck = pacote.taxaImigracaoCheck;
	var taxaOperacionalCheck = pacote.taxaOperacionalCheck;
	var valorTaxaEmbarque = pacote.valorTaxaEmbarque.toFixed(2);
	
	var moedaLocale;
	
	moedaLocale = "R$ ";
	
	if (valorTotal >= 0) {
		$("#valorTotalSpan").html(moedaLocale + valorTotal.replace('.', ',')+ " <span class=\"textoPadrao\"> total*</span>");
	}
	
	$("#nomeHotel").html(nomeHotel);

	var estrelas = "";
	for ( var i = 0; i <= classificacaoHotel; i++) {
		estrelas += "<img src=\"res/images/estrela.gif\" alt=\"\"> ";
	}
	$("#classificacaoHotel").html("Classificação: " + estrelas);
	$("#siteHotel").attr("href", siteHotel);
	$("#regimeHotel").html("Regime: " + regime);

	var listQuartos = "";

	for ( var i = 0; i < quartos.length; i++) {

		var quantidadeAdulto = getNumeroAdultos(quartos[i]);
		var quantidadeCrianca = getNumeroCriancas(quartos[i]);

		if (quantidadeAdulto == 0) {
			listQuartos += "Quarto " + (i + 1) + ": Aguardando<br/>";
		} else {
			listQuartos += "Quarto " + (i + 1)
					+ ": Ap. <span style=\"text-transform: lowercase;\">"
					+ quartos[i].tipoQuarto + "</span>: " + quantidadeAdulto
					+ " adulto(s) " + quantidadeCrianca + " criança(s)<br/>";
		}
	}

	$("#quartoHotel").html(listQuartos);

	
	/*
	 * Tratamento de voos
	 * */
	
	$("#voosPedido").html("");
	
	var dataEmbarque;
	var diaEmbarque;
	var mesEmbarque;
	var anoEmbarque;
	var horaEmbarque;
	var minutoEmbarque;
	
	var dataChegada;
	var diaChegada;
	var mesChegada;
	var anoChegada;
	var horaChegada;
	var minutoChegada;
	
	for ( var i = 0; i < voos.length; i++) {
	
		dataEmbarque = new Date(voos[i].dataEmbarque);
		diaEmbarque = dataEmbarque.getDate();
		mesEmbarque = dataEmbarque.getMonth() + 1;
		anoEmbarque = dataEmbarque.getFullYear();
		horaEmbarque = dataEmbarque.getHours();
		minutoEmbarque = dataEmbarque.getMinutes();
		
		dataChegada = new Date(voos[i].dataChegada);
		diaChegada = dataChegada.getDate();
		mesChegada = dataChegada.getMonth() + 1;
		anoChegada = dataChegada.getFullYear();
		horaChegada = dataChegada.getHours();
		minutoChegada = dataChegada.getMinutes();
		
		if (horaEmbarque < 10) {
			horaEmbarque = "0" + horaEmbarque;
		}

		if (minutoEmbarque < 10) {
			minutoEmbarque = "0" + minutoEmbarque;
		}

		if (horaChegada < 10) {
			horaChegada = "0" + horaChegada;
		}

		if (minutoChegada < 10) {
			minutoChegada = "0" + minutoChegada;
		}
		
		$("#voosPedido").append(
		
				"<p><span id=\"embarque\" class=\"enfase\">" + voos[i].airline.nome + " - " + voos[i].numeroVoo + "</span><br />" + 
				diaEmbarque + "/" + mesEmbarque + "/" + anoEmbarque + " - " + horaEmbarque + ":" + minutoEmbarque + " - " + voos[i].cidadeEmbarque.nome + " - (" + voos[i].cidadeEmbarque.sigla + ") <br />" +
				diaChegada + "/" + mesChegada + "/" + anoChegada + " - " + horaChegada + ":" + minutoChegada + " - " + voos[i].cidadeDestino.nome + " - (" + voos[i].cidadeDestino.sigla + ")<br /></p>"	
		);
		
	}

	$("#incluidos").html("");

	var image = "<img src=\"res/images/hotsites/" + pacote.hotsite.nome + "/internas/blt-incluido.gif\" alt=\"\"/>";

	if (pacote.transporteAereoCheck) {
		$("#incluidos").append(image + "Transporte Aéreo<br />");
	}

	if (pacote.trasladoCheck) {
		$("#incluidos").append(image + "Transporte Aéreo<br />");
	}

	if (pacote.assistenciaViagemCheck) {
		$("#incluidos").append(image + "Assitência Viagem<br />");
	}

	if (pacote.outrosServicosCheck) {

		var outros = pacote.outrosServicos.split(";");
		for ( var i = 0; i < outros.length; i++) {
			$("#incluidos").append(image + outros[i] + "<br />");
		}

	}

	$("#valorTaxaEmbarque").html(moedaLocale + valorTaxaEmbarque.replace('.', ','));

}

function getNumeroAdultos(quarto) {

	var passageiros = quarto.passageiros;
	var quantidade = 0;

	for ( var i = 0; i < passageiros.length; i++) {
		if (passageiros[i].adulto) {
			quantidade++;
		}
	}

	return quantidade;

}

function getNumeroCriancas(quarto) {

	var passageiros = quarto.passageiros;
	var quantidade = 0;

	for ( var i = 0; i < passageiros.length; i++) {
		if (!passageiros[i].adulto) {
			quantidade++;
		}
	}

	return quantidade;

}

function sendToFriend(printUrl) {
	
	$("#msgErro").hide();
	$("#msgSucesso").hide();
	$("#botaoEnviar").hide();
	$("#msgAguarde").show();

	$.get(printUrl, null, function(htmlPage) {

		var params = {
			html : htmlPage,
			nomeAmigo : $("#nomeAmigo").val(),
			nomeUsuario : $("#nomeUsuario").val(),
			emailAmigo : $("#emailAmigo").val(),
			emailUsuario : $("#emailUsuario").val()
		};

		$.post("rga?cmd=SendFriend", params, function(response) {

			if (response == "true") {

				$("#msgAguarde").hide();
				$("#msgSucesso").show();
				$("#botaoEnviar").show();
				setTimeout('redirect()', 4000)

			} else {

				$("#msgAguarde").hide();
				$("#msgErro").show();
				$("#botaoEnviar").show();

			}

		});

	});

}

function redirect(url) {
	history.back(-1);
}
