package cz.moneta.test.dsl.ufo.banka.pages.products.mutual.funds;

import cz.moneta.test.dsl.ufo.banka.pages.common.pages.TIS046_S001_DocumentsProvidedToClientPage;
import cz.moneta.test.harness.support.web.*;

import static cz.moneta.test.dsl.ufo.banka.pages.products.mutual.funds.INF002_S001_InvestmentForm.DEPOSIT_ACCOUNT_RADIO_BTN;
import static cz.moneta.test.dsl.ufo.banka.pages.products.mutual.funds.INF002_S001_InvestmentForm.INF002_S001_PAGE_LABEL_XPATH;

@Wait(value = INF002_S001_PAGE_LABEL_XPATH, by = Lookup.XPATH)
@Wait(DEPOSIT_ACCOUNT_RADIO_BTN)
public interface INF002_S001_InvestmentForm extends WebFlow<INF002_S001_InvestmentForm> {

    String INF002_S001_PAGE_LABEL_XPATH = "//div[text()='INF002_S001']";
    String EDUCATION_COMBOBOX = "INF002_S001_C002";
    String DEPOSIT_ACCOUNT_RADIO_BTN = "INF002_S001_R001_1";
    String PENSION_OR_LIFE_INSURANCE_RADIO_BTN = "INF002_S001_R002_3";
    String MONETARY_OR_BOND_FUNDS_RADIO_BTN = "INF002_S001_R003_4";
    String EQUITY_FUNDS_RADIO_BTN = "INF002_S001_R004_5";
    String INDIVIDUAL_INVESTMENT_PRODUCTS_RADIO_BTN = "INF002_S001_R005_6";

    String LOWEST_RISK_SAVINGS_ACC_RADIO_BTN = "INF002_S001_R008_3";
    String HIGHEST_RISK_EQUITIES_RADIO_BTN = "INF002_S001_R009_3";
    String SAVINGS_RADIO_BTN = "INF002_S001_R010_2";
    String LESS_THAN_TWO_YEARS_AGO_RADIO_BTN = "INF002_S001_R011_3";
    String MAX_TWICE_PER_YEAR_RADIO_BTN = "INF002_S001_R012_3";
    String RAISE_VALUE_RADIO_BTN = "INF002_S001_R013_3";
    String NO_INFLUENCE_RADIO_BTN = "INF002_S001_R014_1";
    String INVESTMENT_HORIZON_COMBOBOX = "INF002_S001_C001";

    String SEND_BUTTON = "INF002_S001_B001";

    @Select(EDUCATION_COMBOBOX)
    INF002_S001_InvestmentForm selectEducationCombo(String education);

    @Click(DEPOSIT_ACCOUNT_RADIO_BTN)
    INF002_S001_InvestmentForm clickDepositAccountRadioBtn();

    @Click(PENSION_OR_LIFE_INSURANCE_RADIO_BTN)
    INF002_S001_InvestmentForm clickPensionOrLifeInsuranceRadioBtn();

    @Click(MONETARY_OR_BOND_FUNDS_RADIO_BTN)
    INF002_S001_InvestmentForm clickMonetaryOrBondFundsRadioBtn();

    @Click(EQUITY_FUNDS_RADIO_BTN)
    INF002_S001_InvestmentForm clickEquityFundsRadioBtn();

    @Click(INDIVIDUAL_INVESTMENT_PRODUCTS_RADIO_BTN)
    INF002_S001_InvestmentForm clickIndividualInvestmentProductsRadioBtn();

    @Click(LOWEST_RISK_SAVINGS_ACC_RADIO_BTN)
    INF002_S001_InvestmentForm clickLowestRiskSavingsRadioBtn();

    @Click(HIGHEST_RISK_EQUITIES_RADIO_BTN)
    INF002_S001_InvestmentForm clickHighestRiskEquitiesRadioBtn();

    @Click(SAVINGS_RADIO_BTN)
    INF002_S001_InvestmentForm clickSavingsRadioBtn();

    @Click(LESS_THAN_TWO_YEARS_AGO_RADIO_BTN)
    INF002_S001_InvestmentForm clickLessThanTwoYearsAgoRadioBtn();

    @Click(MAX_TWICE_PER_YEAR_RADIO_BTN)
    INF002_S001_InvestmentForm clickMaxTwicePerYearRadioBtn();

    @Click(RAISE_VALUE_RADIO_BTN)
    INF002_S001_InvestmentForm clickRaiseValueRadioBtn();

    @Click(value = NO_INFLUENCE_RADIO_BTN, jsClick = true)
    INF002_S001_InvestmentForm clickNoInfluenceRadioBtn();

    @Select(INVESTMENT_HORIZON_COMBOBOX)
    INF002_S001_InvestmentForm selectInvestmentHorizonCombo(String investmentHorizon);

    @Click(SEND_BUTTON)
    TIS046_S001_DocumentsProvidedToClientPage clickSendButton();

}
