//checks an airport for new gates
        public static void CheckForExtendGates(Airport airport)
        {
            int minYearsBetweenExpansions = 5;

            if (airport.Terminals.getOrdereredGates() == 0 && GameObject.GetInstance().GameTime.AddYears(-minYearsBetweenExpansions) > airport.LastExpansionDate)
            {
                Terminal minTerminal = airport.Terminals.AirportTerminals.OrderBy(t => t.Gates.NumberOfGates).First();

                Boolean newTerminal = minTerminal.Gates.NumberOfGates > 50;
                //extend existing
                if (!newTerminal)
                {
                    int numberOfGates = Math.Max(5, minTerminal.Gates.NumberOfGates);
                    int daysToBuild = numberOfGates * 10 + (newTerminal ? 60 : 0);

                    long price = numberOfGates * airport.getTerminalGatePrice() + (newTerminal ? airport.getTerminalPrice() : 0);
                    price = price / 3 * 4;

                    if (airport.Income > price)
                    {

                        for (int i = 0; i < numberOfGates; i++)
                            minTerminal.Gates.addGate(new Gate(GameObject.GetInstance().GameTime.AddDays(daysToBuild)));

                        airport.Income -= price;
                        airport.LastExpansionDate = GameObject.GetInstance().GameTime;
                    }

                }
                //build new terminal
                else
                {

                    int numberOfGates = airport.Terminals.getTerminals()[0].Gates.NumberOfDeliveredGates;

                    int daysToBuild = numberOfGates * 10 + (newTerminal ? 60 : 0);

                    long price = numberOfGates * airport.getTerminalGatePrice() + (newTerminal ? airport.getTerminalPrice() : 0);
                    price = price / 3 * 4;

                    if (airport.Income > price)
                    {

                        Terminal terminal = new Terminal(airport, null, "Terminal", numberOfGates, GameObject.GetInstance().GameTime.AddDays(daysToBuild));

                        airport.addTerminal(terminal);
                        airport.Income -= price;
                        airport.LastExpansionDate = GameObject.GetInstance().GameTime;
                    }
                }
            }
        }