<!-- hide from JavaScript-challenged browsers
// definition of a country object
function countryObject(country, sub_id, name) {
     this.country = country; this.sub_id = sub_id; this.name = name;
}
// definition of an airport object
function airportObject(code, name, country, sub_id) {
     this.code = code; this.name = name; this.country = country; this.sub_id = sub_id;
}
// following code builds arrays of country and airport objects
var countryArray = new Array();
var ii;
var jj;
var country_from_chosen = "N";
var country_to_chosen = "N";
for (ii = 0, jj = 0; jj  < country_data.length; ii++, jj=jj+3)
{
        countryArray[ii] = new countryObject(country_data[jj], country_data[jj+1], country_data[jj+2]);
}
var airportArray = new Array();
for (ii = 0, jj = 0; jj  < airport_data.length; ii++, jj=jj+4)
{
        airportArray[ii] = new airportObject(airport_data[jj],airport_data[jj+1],airport_data[jj+2],airport_data[jj+3]);
}
// end of build

function set_from_country(country) {

        var x = country.split("/");

	for (j = 0; j < countryArray.length; ++j)
	{
		if (countryArray[j].country == x[0])
		{
			if (countryArray[j].sub_id == x[1])
			{
                		document.formAIRPORTS.fromCountry.options[j].selected = true;
                                update_airport(document.formAIRPORTS.fromCountry);
			}
		}
	}

}

function set_to_country(country) {

        var x = country.split("/");

	for (j = 0; j < countryArray.length; ++j)
	{
		if (countryArray[j].country == x[0])
		{
			if (countryArray[j].sub_id == x[1])
			{
                		document.formAIRPORTS.toCountry.options[j].selected = true;
                                update_airport(document.formAIRPORTS.toCountry);
			}
		}
	}

}

// Update country select box when an airport has been chosen
function update_country(select) {
        var i;
        var j;
        var k = 0;

        var selected_value = select.options[select.selectedIndex].value;

        if (select.name == "fromAirport" && country_from_chosen == "Y") return;
        if (select.name == "toAirport" && country_to_chosen == "Y") return;
        if (selected_value == "999") return;
        if (selected_value == "000") return;

        for (i = 0; i < airportArray.length; ++i)
        {
                if (airportArray[i].code == selected_value)
                {
                        document.formAIRPORTS.keyword.value = airportArray[i].name;
                        break;
                }
        }
        for (j = 0; j < countryArray.length; ++j)
        {
                if (countryArray[j].country == airportArray[i].country)
                {
                        if (countryArray[j].sub_id == airportArray[i].sub_id)
                        {
                                if (select.name == "fromAirport")
                                {
                                        document.formAIRPORTS.fromCountry.selectedIndex = j;
                                        // country_from_chosen = "Y";
                                        return;
                                }
                                else
                                {
                                        document.formAIRPORTS.toCountry.selectedIndex = j;
                                        // country_to_chosen = "Y";
                                        return;
                                }
                        }
                }
        }
}
// update airport select box when a country has been chosen.
function update_airport(select) {
        var x = select.options[select.selectedIndex].value.split("/");
        var j = 1;
        var i;

        document.formAIRPORTS.keyword.value = select.options[select.selectedIndex].text;

        if (select.name == "fromCountry")
        {
                if (x[0] == 999 || x[0] == 000)
                {
                        country_from_chosen = "N";
                        build_from_airports();
                        return;
                }
                country_from_chosen = "Y";
                document.formAIRPORTS.fromAirport.options.length=0;
                document.formAIRPORTS.fromAirport.options[0] = new Option("Qualsiasi aeroporto", "999");
                document.formAIRPORTS.fromAirport.options[0].selected = true;
                for (i=0; i < airportArray.length ; ++i)
                {
                        if (airportArray[i].country == x[0])
                        {
                                if (airportArray[i].sub_id == x[1] || x[1] == 1)
                                {
                                        document.formAIRPORTS.fromAirport.options[j] = new Option(airportArray[i].name + "  (" + airportArray[i].code + ") ", airportArray[i].code);
                                        j=j+1;
                                }
                        }
                }
        }
        else
        {
                if (x[0] == 999 || x[0] == 000)
                {
                        country_to_chosen = "N";
                        build_to_airports();
                        return;
                }
                country_to_chosen = "Y";
                document.formAIRPORTS.toAirport.options.length=0;
                document.formAIRPORTS.toAirport.options[0] = new Option("Qualsiasi aeroporto", "999");
                document.formAIRPORTS.toAirport.options[0].selected = true;
                for (i=0; i < airportArray.length ; ++i)
                {
                        if (airportArray[i].country == x[0])
                        {
                                if (airportArray[i].sub_id == x[1] || x[1] == 1)
                                {
                                        document.formAIRPORTS.toAirport.options[j] = new Option(airportArray[i].name + "  (" + airportArray[i].code + ") ", airportArray[i].code);
                                        j=j+1;
                                }
                        }
                }
        }
}
// build country select boxes
function build_country() {
        for (var z = 0; z  < countryArray.length; z++)
        {
                document.formAIRPORTS.fromCountry.options[z] = new Option(countryArray[z].name, countryArray[z].country + "/" + countryArray[z].sub_id);
                document.formAIRPORTS.toCountry.options[z] =   new Option(countryArray[z].name, countryArray[z].country + "/" + countryArray[z].sub_id);
        }
        document.formAIRPORTS.fromCountry.options[0].selected = true;
        document.formAIRPORTS.toCountry.options[0].selected = true;
}
// build airport select boxes
function build_airports() {

        var doc_opts_T = document.formAIRPORTS.toAirport.options;
        var doc_opts_F = document.formAIRPORTS.fromAirport.options;

        for (var z = 0; z  < airportArray.length; z++)
        {
                doc_opts_T[z] = new Option(airportArray[z].name + "  (" + airportArray[z].code + ") ", airportArray[z].code);
                doc_opts_F[z] = new Option(airportArray[z].name + "  (" + airportArray[z].code + ") ", airportArray[z].code);
        }
        doc_opts_T[0] = new Option("Selezionare l'aeroporto ..", "000");
        doc_opts_T[1] = new Option("Qualsiasi aeroporto", "999");
        doc_opts_T[0].selected = true;
        doc_opts_F[0] = new Option("Selezionare l'aeroporto ..", "000");
        doc_opts_F[1] = new Option("Qualsiasi aeroporto", "999");
        doc_opts_F[0].selected = true;

}
function build_to_airports() {

        var doc_opts = document.formAIRPORTS.toAirport.options;

        for (var z = 0; z  < airportArray.length; z++)
        {
                doc_opts[z] = new Option(airportArray[z].name + "  (" + airportArray[z].code + ") ", airportArray[z].code);
        }
        doc_opts[0] = new Option("Selezionare l'aeroporto ..", "000");
        doc_opts[1] = new Option("Qualsiasi aeroporto", "999");
        doc_opts[0].selected = true;
}
function build_from_airports() {

        var doc_opts = document.formAIRPORTS.fromAirport.options;

        for (var z = 0; z  < airportArray.length; z++)
        {
                doc_opts[z] = new Option(airportArray[z].name + "  (" + airportArray[z].code + ") ", airportArray[z].code);
        }
        doc_opts[0] = new Option("Selezionare l'aeroporto ..", "000");
        doc_opts[1] = new Option("Qualsiasi aeroporto", "999");
        doc_opts[0].selected = true;
}
function check_options()
{
        return true;
}


function alternate_from_airport(airport, noshow)
{
	var i;
	for (i = 0; i < document.formAIRPORTS.fromAirport.options.length; ++i)
	{
		if (document.formAIRPORTS.fromAirport.options[i].value == airport)
		{
			document.formAIRPORTS.fromAirport.selectedIndex = document.formAIRPORTS.fromAirport.options[i].index;
        	document.formAIRPORTS.fromAirport.options[document.formAIRPORTS.fromAirport.options[i].index].selected = true;
			update_country(document.formAIRPORTS.fromAirport);
			break;
		}
	}
	if (i == document.formAIRPORTS.fromAirport.options.length) 	// airport not found ?
	{																					// must be in a different country
		build_from_airports();											// re-build all airports
		for (i = 0; i < document.formAIRPORTS.fromAirport.options.length; ++i)
		{
			if (document.formAIRPORTS.fromAirport.options[i].value == airport)
			{
				document.formAIRPORTS.fromAirport.selectedIndex = document.formAIRPORTS.fromAirport.options[i].index;
        		document.formAIRPORTS.fromAirport.options[document.formAIRPORTS.fromAirport.options[i].index].selected = true;
				country_from_chosen = "N"
				update_country(document.formAIRPORTS.fromAirport);
				break;
			}
		}
	}
	if (!noshow)
	{
	sendDataToServer_2(document.formAIRPORTS.fromCountry, document.formAIRPORTS.toCountry, document.formAIRPORTS.fromAirport, document.formAIRPORTS.toAirport, document.formAIRPORTS.keyword);
	}
}
function alternate_to_airport(airport,noshow)
{
	var i;
	for (i = 0; i < document.formAIRPORTS.toAirport.options.length; ++i)
	{
		if (document.formAIRPORTS.toAirport.options[i].value == airport)
		{
			document.formAIRPORTS.toAirport.selectedIndex = document.formAIRPORTS.toAirport.options[i].index;
        	document.formAIRPORTS.toAirport.options[document.formAIRPORTS.toAirport.options[i].index].selected = true;
			update_country(document.formAIRPORTS.toAirport);
			break;
		}
	}
	if (i == document.formAIRPORTS.toAirport.options.length)		// airport not found?
	{																					// must be in a different country
		build_to_airports();
		for (i = 0; i < document.formAIRPORTS.toAirport.options.length; ++i)
		{
			if (document.formAIRPORTS.toAirport.options[i].value == airport)
			{
				document.formAIRPORTS.toAirport.selectedIndex = document.formAIRPORTS.toAirport.options[i].index;
        		document.formAIRPORTS.toAirport.options[document.formAIRPORTS.toAirport.options[i].index].selected = true;
				country_to_chosen = "N"
				update_country(document.formAIRPORTS.toAirport);
				break;
			}
		}
	}
	if (!noshow)
	{
	sendDataToServer_2(document.formAIRPORTS.fromCountry, document.formAIRPORTS.toCountry, document.formAIRPORTS.fromAirport, document.formAIRPORTS.toAirport, document.formAIRPORTS.keyword);
	}
}
// done hiding -->

