// Funções da página calculo
var geocoder, location1, location2, bandeira;
		
		$(document).ready(function(){
			$('#bandeira1').click(function(){
				bandeira = 1;
				document.getElementById("bandeira1").src= "imagens/bandeira-fosca.jpg";
				document.getElementById("bandeira2").src= "imagens/bandeira.jpg";
			});
			$('#bandeira2').click(function(){
				bandeira = 2;
				document.getElementById("bandeira1").src= "imagens/bandeira.jpg";
				document.getElementById("bandeira2").src= "imagens/bandeira-fosca.jpg";
			});
		});

		/**
		 * Envia valor da distancia do trajeto para pagina calculoRapido
		 * Recebe html da tabela de valores da corrida
		 * Monta tabela na página
		**/
		function retorno(teste){
			$.post('control/calculoRapido.php',{percurso: teste, bandeira: bandeira},function(response){
				$('#resultado').html(response);
			});
		};
		
		function initialize() {
			geocoder = new GClientGeocoder();
		};

		/**
		 * Mostra o mapa com a origem e destino estabelecidos
		 */
		function showLocation() {
				if(document.getElementById("saida").value == ""){
					var saida = document.getElementById("select_saida").value;
				}else{
					var saida = document.getElementById("saida").value;
				}
			geocoder.getLocations(saida, function (response)
			{
				if (!response || response.Status.code != 200)
				{
					alert("Endereço não localizado");
				}
				else
				{
					location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
					if(document.getElementById("destino").value == "")
					{
					   var destino = document.getElementById("select_destino").value;
					}
					else
					{
						var destino = document.getElementById("destino").value;
					}
					geocoder.getLocations(destino, function (response)
					{
						if (!response || response.Status.code != 200)
						{
							alert("Endereço não localizado");
						}
						else
						{
							location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
							calculateDistance();
						}
					});
				}
			});
		};

		/**
		 * Realiza calculo da distancia entre origem e destino
		 * Converte valor para kilometros
		 * Chama função retorno para enviar kilometragem por ajax e construir tabelas de valores
		**/
		function calculateDistance()
		{
			try
			{
				var glatlng1 = new GLatLng(location1.lat, location1.lon);
				var glatlng2 = new GLatLng(location2.lat, location2.lon);
				var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1);
				var kmdistance = (miledistance * 1.609344).toFixed(1);
				retorno(kmdistance);
			}
			catch (error)
			{
				alert(error);
			}
		};