<?php

namespace Faker\Provider\uk_UA;

class Person extends \Faker\Provider\Person
{
    protected static $maleNameFormats = array(
        '{{firstNameMale}} {{middleName}} {{lastName}}',
        '{{lastName}} {{firstNameMale}} {{middleName}}',
    );

    protected static $femaleNameFormats = array(
        '{{lastName}} {{firstNameFemale}} {{middleName}}',
        '{{firstNameFemale}} {{middleName}} {{lastName}}',
    );

    protected static $firstNameMale = array(
        'Євген', 'Адам', 'Александр', 'Алексей', 'Анатолий', 'Андрей', 'Антон', 'Артем', 'Артур', 'Борис', 'Вадим', 'Валентин', 'Валерий',
        'Василий', 'Василь', 'Виталий', 'Владимир', 'Владислав', 'Геннадий', 'Георгий', 'Григорий', 'Данил', 'Данило', 'Денис', 'Дмитрий',
        'Евгений', 'Иван', 'Игорь', 'Иосиф', 'Кирилл', 'Константин', 'Лев', 'Леонид', 'Максим', 'Мирослав', 'Михаил', 'Назар',
        'Никита', 'Николай', 'Олег', 'Павел', 'Роман', 'Руслан', 'Сергей', 'Станислав', 'Тарас', 'Тимофей', 'Федор', 'Юрий',
        'Юрій', 'Ярослав', 'анатолій', 'андрій', 'богдан', 'болеслав', 'борис', 'B\'ячеслав', 'Bалерій', 'Bолодимир', 'Bсеволод', 'Bіктор',
        'Iван', 'Iгор', 'Iлля',
    );

    protected static $firstNameFemale = array(
        'Александра', 'Алена', 'Алла', 'Анастасия', 'Анна', 'Валентина', 'Валерия', 'Вера', 'Виктория', 'Галина', 'Дарья', 'Диана', 'Евгения',
        'Екатерина', 'Елена', 'Елизавета', 'Инна', 'Ирина', 'Катерина', 'Кира', 'Лариса', 'Любовь', 'Людмила', 'Маргарита', 'Марина',
        'Мария', 'Надежда', 'Наташа', 'Нина', 'Оксана', 'Ольга', 'Полина', 'Раиса', 'Светлана', 'София', 'Тамара', 'Татьяна',
        'Юлия', 'Ярослава',
    );

    protected static $middleName = array(
        'Олександрович', 'Олексійович', 'Андрійович', 'Євгенович', 'Сергійович', 'Іванович',
        'Федорович', 'Тарасович', 'Васильович', 'Романович', 'Петрович', 'Миколайович',
        'Борисович', 'Йосипович', 'Михайлович', 'Валентинович', 'Янович', 'Анатолійович',
        'Євгенійович', 'Володимирович'
    );

    protected static $lastName = array(
        'Антоненко', 'Василенко', 'Васильчук', 'Васильєв', 'Гнатюк', 'Дмитренко',
        'Захарчук', 'Іванченко', 'Микитюк', 'Павлюк', 'Панасюк', 'Петренко', 'Романченко',
        'Сергієнко', 'Середа', 'Таращук', 'Боднаренко', 'Броваренко', 'Броварчук', 'Кравченко',
        'Кравчук', 'Крамаренко', 'Крамарчук', 'Мельниченко', 'Мірошниченко', 'Шевченко', 'Шевчук',
        'Шинкаренко', 'Пономаренко', 'Пономарчук', 'Лысенко'
    );

    /**
     * Return middle name
     * @example 'Іванович'
     * @access public
     * @return string Middle name
     */
    public function middleName()
    {
        return static::randomElement(static::$middleName);
    }
}
