function getVia(origin, destination) {
	var language = $('#language').val();
	
	$.ajax({
		type: 'GET',
		url: 'php/earn/search_via.php?language='+language,
		data: ({ 
			'origin': origin,
			'destination': destination
		}),  
		success: function(response){
			if (response == "") top.location.href = "http://www.meilenrechner.de/version_jquery/maintenance.php";

			var parsed = response.split('|');  
	   		var connection = parsed[0];  
			var number_via = parsed[1];  
			var via = parsed[2];  
			var html_radios = parsed[3];  
			var html_select = parsed[4];  
			var text_direct = parsed[5];  
			var text_transfer = parsed[6];  
			var text_in = parsed[7];  
			
			// je nach Verbindung Radiobuttons und Pulldown aktivieren bzw. deaktivieren			
			
			// nur Direktflug möglich
			if (connection == "direct_only") {
				$('#connectiontype').hide();
				$('#flightdescription').html(text_direct);
				$('#flightdescription').show();
			}
			
			// nur Umsteigeverbindung möglich
			else if (connection == "indirect_only") {
				$('#connectiontype').hide();
				$('#flightdescription').html(text_transfer + " " + html_select + ".");
				$('#flightdescription').show();
			}
			
			// sowohl Direktflug als auch Umsteigeflug möglich
			else {
				$('#flightdescription').hide();
				
				// Verbindungsart aktivieren und einblenden
				$('#direct').attr('checked','checked');
				$('#connectiontype').show();
				
				// Text bzw. Pulldown 'via' befüllen
				if (number_via == 1) {
					var temp = $('#selection_connectiontype label:last-child').html().split(" ");
					$('#selection_connectiontype label:last-child').html(temp[0]);
					$('#selection_connectiontype label:last-child').append(" " + text_in + " " + html_select);
					$('#via').hide();
				}
				else {
					$('#selection_via').html(html_select);
					$('#via').attr('disabled','disabled');
				}
			}
			
			if (connection == "both" || connection == "direct_only" || (connection == "indirect_only" && number_via == 1)) {
				if (number_via == 1 && connection == "both") {
					getAirlines(origin, destination, '', number_via, connection); 
					$('#airportcode_via_single').val(via);
				}
				else {
					getAirlines(origin, destination, via, number_via, connection); 
				}
			}
			
			// Verbindung und Anzahl der Zwischenstop-Moeglichkeiten in hidden fields schreiben
			$('#connection').val(connection);
			$('#number_via').val(number_via);
			$('#airportcode_via').val(via);
		
			$('#connectiondetails').show();
		}
	});

	piwik_most_searched_routes_earn(origin, destination);
}


function getAirlines(origin, destination, via, number_via, connectiontype) {
	var language = $('#language').val();
	
	$.ajax({
		type: 'GET',
		url: 'php/earn/search_airline.php?language='+language,
		data: ({ 
			'origin': origin,
			'destination': destination,
			'via': via, 
			'num_via': number_via
		}),  
		success: function(response) {
			if (response == "") top.location.href = "http://www.meilenrechner.de/version_jquery/maintenance.php";

			if (response != "") {
				// Response in Einzelteile zerlegen
				var parsed = response.split('|');  
				var airline_leg1 = parsed[0]; 
				var airline_leg2 = parsed[1];  
				var html = parsed[2];  
				var number_airline_leg1 = parsed[3];
				var number_airline_leg2 = parsed[4];
				var performed_by = parsed[5];
				
				// in hidden fields schreiben
				$('#airline_leg1').val(airline_leg1);
				$('#airline_leg2').val(airline_leg2);
				
				// Text 'ausgeführt von' anhängen
				if ($('#connection').val() == "direct_only" && number_airline_leg1 == 1) {
					$('#flightdescription').html($('#flightdescription').html().substring(0, $('#flightdescription').html().length-1));
					$('#flightdescription').append(" " + performed_by + " " + html + ".");
					$('#airlines').hide();
				}
				// 'Ausführende Airline' einblenden
				else {
					$('#selection_airline').html(html);
					$('#airlines').show();
				}
				
				// wenn nur eine Airline für Teilstrecke 1 oder je nur eine Airline für Teilstrecke 1 und Teilstrecke 2 
				if (number_airline_leg1 == 1 && number_airline_leg2 < 2) {
					getBookingclasses(origin, destination, via, airline_leg1, airline_leg2, number_airline_leg1, number_airline_leg2);
				}
				// wenn mehrere Airlines für Teilstrecke 1 --> Buchungsklassen deaktivieren
				else {
					disableRadiobuttonsBookingclass();
					disableAccordion();
				} 
			}
		}
	});
}


function getBookingclasses(origin, destination, via, airline_leg1, airline_leg2, number_airline_leg1, number_airline_leg2) {
	if ((airline_leg1 != "" && airline_leg2 != "") || (airline_leg1 != "" && number_airline_leg2 == 0)) {

		// 'Buchungsklasse bekannt' auf 'nein' zuruecksetzen
		$('#no').attr('checked','checked');
		$('#explanation_bookingclasses').show();
		$('#selection_bookingclass').hide();
		
		// Block 'Buchungsklasse bekannt' aktivieren
		$('#no,#yes').removeAttr('disabled');
		$('#no_label,#yes_label').removeClass();
		$('#explanation_bookingclasses').hide();
		
		resetServiceclassDescription();
		
		var language = $('#language').val();
		
		$.ajax({
			type: 'GET',
			url: 'php/earn/search_bookingclass.php?language='+language,
			data: ({ 
				'origin': origin,
				'destination': destination,
				'via': via,
				'airline_leg1': airline_leg1,
				'airline_leg2': airline_leg2
			}),  
			success: function(response) {
				if (response == "") top.location.href = "http://www.meilenrechner.de/version_jquery/maintenance.php";
			
				$('#selection_bookingclass').html(response);
				$('#bookingclasses').show();
				getPromotions(origin, destination, via, airline_leg1, airline_leg2, '', '');
			}
		});
	}
}


function getPromotions(origin, destination, via, airline_leg1, airline_leg2, bookingclass_leg1, bookingclass_leg2) {
	// alle Promotion-Felder ausblenden
	$('#promotion,#promotion_economy,#promotion_business,#promotion_first').hide();
					
	var language = $('#language').val();
	
	$.ajax({
		type: 'GET',
		url: 'php/earn/get_promotions.php?language='+language,
		data: ({ 
			'origin': origin,
			'destination': destination
		}),  
		success: function(response) {
			if (response != "") {
				$('#promotion').html(response).show();
				getMiles(origin, destination, via, airline_leg1, airline_leg2, '', '', 'yes');
				$('#promotion_available').val('yes');
			}
			else {
				getMiles(origin, destination, via, airline_leg1, airline_leg2, '', '', 'no');
				$('promotion_available').val('no');
			}
		}
	});
}



function getMiles(origin, destination, via, airline_leg1, airline_leg2, bookingclass_leg1, bookingclass_leg2, promotion) {
	$('#airportcode_via').val(via);
	$('#bookingclass_leg1').val(bookingclass_leg1);
	$('#bookingclass_leg2').val(bookingclass_leg2);

	$('#notification').hide();
	if (document.meilenrechner.bookingclass_known[0].checked || ($('#leg1').length > 0 && bookingclass_leg1 != "" && $('#leg2').length == 0) || ($('#leg2').length > 0 && bookingclass_leg2 != "")) {
		activateAccordion('earn');
	}
	
	if (document.meilenrechner.flighttype[0].checked) {
		var flighttype = "oneway";
	}
	else if (document.meilenrechner.flighttype[1].checked) {
		var flighttype = "return";
	}
	
	var language = $('#language').val();

	$.ajax({
		type: 'GET',
		url: 'php/earn/update_miles.php?language='+language,
		data: ({ 
			'flighttype': flighttype,
			'origin': origin,
			'destination': destination,
			'via': via,
			'airline_leg1': airline_leg1,
			'airline_leg2': airline_leg2,
			'bookingclass_leg1': bookingclass_leg1,
			'bookingclass_leg2': bookingclass_leg2
		}),  
		success: function(response) {
			if (response == "") top.location.href = "http://www.meilenrechner.de/version_jquery/maintenance.php";
			
			var parsed = response.split('|');
			if (promotion == 'yes') {
				$('#promotion').show();
				$('#promotion_available').val('yes');
			}			

			// wenn Buchungsklassen bekannt
			if (parsed.length == 10) {
				// Wording für Serviceklassen festlegen
				if (parsed[2].substring(0,3) == 'eco') {
					serviceclass_leg1 = parsed[4];
				}
				else if (parsed[2] == 'business') {
					serviceclass_leg1 = parsed[5];
				}
				else if (parsed[2] == 'first') {
					serviceclass_leg1 = parsed[6];
				}
				
				if (parsed[3].substring(0,3) == 'eco') {
					serviceclass_leg2 = parsed[4];
				}
				else if (parsed[3] == 'business') {
					serviceclass_leg2 = parsed[5];
				}
				else if (parsed[3] == 'first') {
					serviceclass_leg2 = parsed[6];
				}

				// wenn Buchungsklasse Economy
				if ((parsed[2].substring(0,3) == 'eco' || parsed[3].substring(0,3) == 'eco') && parsed[2] != 'business' && parsed[2] != 'first' && parsed[3] != 'business' && parsed[3] != 'first') {
					// Überschriften nicht klickbar machen
					$('#hl_business,#hl_first').removeClass();
					$('#tr_business,#tr_first').hide();
					
					$('#hl_economy').addClass('clickable');
					
					if (parsed[2] == 'economy1') { 
						$('#miles_economy1').html(parsed[0]);
						$('#miles_economy1_exec').html(parsed[1]);
						$('#miles_economy1_desc').html(bookingclass_leg1);
						if (bookingclass_leg2 && bookingclass_leg2 != 'undefined') {
							$('#miles_economy1_desc').append(" / " + bookingclass_leg2);
						}
						$('#tr_economy1').show();
						$('#tr_economy2,#tr_economy3').hide();
					}
					else if (parsed[2] == 'economy2') { 
						$('#miles_economy2').html(parsed[0]);
						$('#miles_economy2_exec').html(parsed[1]);
						$('#miles_economy2_desc').html(bookingclass_leg1);
						if (bookingclass_leg2 && bookingclass_leg2 != 'undefined') {
							$('#miles_economy2_desc').append(" / " + bookingclass_leg2);
						}
						$('#tr_economy2').show();
						$('#tr_economy1,#tr_economy3').hide();
					}
					else if (parsed[2] == 'economy3') { 
						$('#miles_economy3').html(parsed[0]);
						$('#miles_economy3_exec').html(parsed[1]);
						$('#miles_economy3_desc').html(bookingclass_leg1);
						if (bookingclass_leg2 && bookingclass_leg2 != 'undefined') {
							$('#miles_economy3_desc').append(" / " + bookingclass_leg2);
						}
						$('#tr_economy3').show();
						$('#tr_economy1,#tr_economy2').hide();
					}
					
					
					if ($('#promotion_available').val() == 'yes') {
						$('#miles_promotion_economy_desc').html(parsed[7]);
						$('#miles_promotion_economy').html(parsed[8]);
						$('#miles_promotion_economy_exec').html(parsed[9]);
						$('#tr_economy3').removeClass();
						$('#promotion_economy').show();
					}	 
					
					$('#wrapper_business,#wrapper_first').hide();
					
					openAccordion('economy');
				}
				// wenn Buchungsklasse Business
				else if ((parsed[2] == 'business' || parsed[3] == 'business') && parsed[2] != 'first' && parsed[3] != 'first') {
					$('#miles_business').html(parsed[0]);
					$('#miles_business_exec').html(parsed[1]);
					
					$('#wrapper_business').show();
					
					// berschriften nicht klickbar machen
					$('#hl_economy').removeClass();
					$('#tr_economy1,#tr_economy2,#tr_economy3').hide();
 					$('#hl_first').removeClass();
					$('#tr_first').hide();
					
					// Buchungsklassentext anpassen
					if (parsed[2] != parsed[3] && parsed[3] != '') {
						$('#miles_business_desc').html(serviceclass_leg1 + " " + bookingclass_leg1);
						$('#miles_business_desc').append(" / " + serviceclass_leg2 + " " + bookingclass_leg2);
					} 
					else {
						$('#miles_business_desc').html(bookingclass_leg1);
						if (bookingclass_leg2 && bookingclass_leg2 != 'undefined') {
							$('#miles_business_desc').append(" / " + bookingclass_leg2);
						}
					}
					
					if ($('#promotion_available').val() == 'yes') {
						$('#miles_promotion_business_desc').html(parsed[7]);
						$('#miles_promotion_business').html(parsed[8]);
						$('#miles_promotion_business_exec').html(parsed[9]);
						$('#tr_business').removeClass();
						$('#promotion_business').show();
					}	 
					
					$('#wrapper_economy,#wrapper_first').hide();
						
					// Accordionelement 'Business' öffnen
					$('#hl_business').addClass('clickable');
					$('#tr_business').show();
					openAccordion('business');
				}
				// wenn Buchungsklasse First
				else if (parsed[2] == 'first' || parsed[3] == 'first') {
					$('#miles_first').html(parsed[0]);
					$('#miles_first_exec').html(parsed[1]);

					$('#wrapper_first').show();
					
					// Überschriften nicht klickbar machen
					$('#hl_economy,#hl_business').removeClass();
					$('#tr_economy1,#tr_economy2,#tr_economy3,#tr_business').hide();
					
					// Buchungsklassentext anpassen
					if (parsed[2] != parsed[3] && parsed[3] != '') {
						$('#miles_first_desc').html(serviceclass_leg1 + " " + bookingclass_leg1);
						$('#miles_first_desc').append(" / " + serviceclass_leg2 + " " + bookingclass_leg2);
					} 
					else {
						$('#miles_first_desc').html(bookingclass_leg1);
						if (bookingclass_leg2 && bookingclass_leg2 != 'undefined') {
							$('#miles_first_desc').append(" / " + bookingclass_leg2);
						}
					}
					if ($('#promotion_available').val() == 'yes') {
						$('#miles_promotion_first_desc').html(parsed[7]);
						$('#miles_promotion_first').html(parsed[8]);
						$('#miles_promotion_first_exec').html(parsed[9]);
						$('#tr_first').removeClass();
						$('#promotion_first').show();
					}	 
					
					$('#wrapper_economy,#wrapper_business').hide();
					
					// Accordionelement 'First' ffnen
					$('#hl_first').addClass('clickable');
					$('#tr_first').show();
					openAccordion('first');
				}						
			}
			// wenn Buchungsklassen nicht bekannt
			else {
				$('#miles_economy1').html(parsed[0]);
				$('#miles_economy1_exec').html(parsed[1]);
	 			$('#miles_economy2').html(parsed[2]);
				$('#miles_economy2_exec').html(parsed[3]);
	 			$('#miles_economy3').html(parsed[4]);
				$('#miles_economy3_exec').html(parsed[5]);
	 			$('#miles_business').html(parsed[6]);
				$('#miles_business_exec').html(parsed[7]);
	 			$('#miles_first').html(parsed[8]);
				$('#miles_first_exec').html(parsed[9]);
				
				//refreshAccordion('economy');
				
				$('#tr_economy1,#tr_economy2,#tr_economy3,#tr_business,#tr_first').show();
				
				if (airline_leg2 != '' && $('input[type=radio][name="bookingclass_known"]')[1].checked) {
					if (bookingclass_leg1 != '' && bookingclass_leg2 != '') {
						//activateAccordion('earn');
						openAccordion('economy');
					}
				}
				else {
					//activateAccordion('earn')
					openAccordion('economy');
				}
			}
			
			// keine First Class
			if (parsed[8] == 0 || parsed[11] == "domestic" || parsed[11] == "crossborder" || parsed[12] == "domestic" || parsed[12] == "crossborder") {
				$('#no_first_class').html(parsed[10]);			
				$('#tr_first').hide();
				$('#hl_first').removeClass();
			}
			
			if (parsed[11] == "worldwide" || parsed[12] == "worldwide") {
				$('#no_first_class').html('');
				$('#tr_first').show();
				$('#hl_first').addClass('clickable');
			}
			
			
			// spezielle Meldung wenn eine Teilstrecke worldwide, die andere domestic oder crossborder
			if ((parsed[11] == "worldwide" && (parsed[12] == "domestic" || parsed[12] == "crossborder")) || (parsed[12] == "worldwide" && (parsed[11] == "domestic" || parsed[11] == "crossborder"))) {
				$('#no_first_class').html(parsed[13]);			
			}
		}    
	});
}


function disableRadiobuttonsBookingclass() {
	$('#no,#yes').attr('disabled', 'disabled');
	$('#no_label,#yes_label').addClass('disabled');
	$('#explanation_bookingclasses').show();
	$('#selection_bookingclass').hide();
}

function resetServiceclassDescription() {
	$.ajax({
		type: 'GET',
		url: 'php/earn/getServiceclassDescriptions.php?language='+$('#language').val(),
		success: function(response) {
			var parsed = response.split('|');
			$('#miles_economy1_desc').html(parsed[0]);
			$('#miles_economy2_desc').html(parsed[1]);
			$('#miles_economy3_desc').html(parsed[2]);
			$('#miles_business_desc').html(parsed[3]);
			$('#miles_first_desc').html(parsed[4]);
		}
	});
}


function resetFields(mode) {
	if (mode == 'all') {
		// Felder bei Neuladen der Seite zuruecksetzen	
		for(i=0;i<document.getElementsByTagName('input').length;i++) {
			if(document.getElementsByTagName('input')[i].type == 'hidden' && document.getElementsByTagName('input')[i].id != 'language') {
				document.getElementsByTagName('input')[i].value = '';
			}
		}
	}
	$('input[type=radio][name="radio_via"]:eq(0)').attr('checked', 'checked');
	$('input[type=radio][name="bookingclass_known"]:eq(0)').attr('checked', 'checked');
	disableRadiobuttonsBookingclass();
	
	if (mode == 'details') {
		
		// NEU
		$('#connectiondetails').hide();
		//$('#airlines').css('display', 'none');
		
		closeAccordion('economy');
		closeAccordion('business');
		closeAccordion('first');
	}
}	
