    function init_flights(locations, searchParams)
    {
		$("#flight_departureAirport").attr('value',searchParams['departure']);
		$("#flight_arrivalAirport").attr('value',searchParams['destination']);
		$("#flight_departureAirport").autocomplete(locations, {'matchContains': true, 'width': 300, 'minChars': 4, 'allowLevenshteinDistance': 2, 'levenshteinPattern': /^[^(]+/});
		$("#flight_arrivalAirport").autocomplete(locations, {'matchContains': true, 'width': 300, 'minChars': 4, 'allowLevenshteinDistance': 2, 'levenshteinPattern': /^[^(]+/});

        setMonth("flight_departureMonth", searchParams['flight']['departure_month']);
        setMonth("flight_returnMonth", searchParams['flight']['return_month']);
        setDays("flight_departureDay", searchParams['flight']['departure_month'], searchParams['flight']['departure_day']);
        setDays("flight_returnDay", searchParams['flight']['return_month'], searchParams['flight']['return_day']);

		if (searchParams['CMP'] != '') $('#flight_CMP').attr('value', searchParams['CMP']);		
    }

    function flightSearchSubmit(color)    
    {
		var d = new Date();
    
		var loc;
		var code;
		if (color == null) color = 'black';		
		
		$('#OpodoQuickSearch label').css('color',color);
		
		loc = $('#flight_departureAirport').val();
		code = (loc.length == 3) ? loc : ((loc.match(/([A-Z]{3})/) != null) ? loc.match(/([A-Z]{3})/).shift() : null);
		if (code == null) 
		{
			showError("Please specify a valid departure location", 'flight_departureAirport');
			return false;
		}
		else $('#flight_departureAirportCode').attr('value', code);

		loc = $('#flight_arrivalAirport').val();
		code = (loc.length == 3) ? loc : (loc.match(/([A-Z]{3})/) != null) ? loc.match(/([A-Z]{3})/).shift() : null;
		if (code == null) 
		{
			showError("Please specify a valid arrival location", 'flight_arrivalAirport');
			return false;
		}
		else $('#flight_arrivalAirportCode').attr('value', code);
		
		var depDate = new Date($('#flight_departureMonth').val().substring(0,4), parseInt($('#flight_departureMonth').val().substring(4,6), 10) - 1, $('#flight_departureDay').val());

		if (depDate == "Invalid Date" || parseInt(depDate.getTime() / 86400) < parseInt(d.getTime() / 86400))
		{
			showError("Departure date is invalid", 'flight_departureDay');
			return false;
		}

		var retDate = new Date($('#flight_returnMonth').val().substring(0,4), parseInt($('#flight_returnMonth').val().substring(4,6), 10) - 1, $('#flight_returnDay').val());

		if (retDate == "Invalid Date" || parseInt(retDate.getTime() / 86400) < parseInt(d.getTime() / 86400) || depDate.getTime() > retDate.getTime())
		{
			showError("Return date is invalid", 'flight_returnDay');
			return false;
		}	
		$('#flightSearch').submit();
	}
		
	function setMaxInfants(num)
	{
		$('#flight_numberOfInfants').empty();
		for(var i=0;i<num;i++)
		{
			$('#flight_numberOfInfants').append('<option value="'+i+'">'+i+'</option>');
		}
    }

