package cz.moneta.test.dsl.ufo.banka.pages.fop;

import cz.moneta.test.harness.support.web.*;

import static cz.moneta.test.dsl.ufo.banka.pages.fop.KUL004_S001_EditBusinessInfoPage.*;
import static cz.moneta.test.dsl.ufo.operations.shared.SharedElements.LOAD_IMG_DIV_CLASS;

@Wait(value = KUL004_S001_PAGE_LABEL_XPATH, by = Lookup.XPATH, waitSecondsForElement = 60)
@Wait(CONTINUE_BUTTON)
public interface KUL004_S001_EditBusinessInfoPage extends WebFlow<KUL004_S001_EditBusinessInfoPage> {
    String KUL004_S001_PAGE_LABEL_XPATH = "//div[text()='KUL004_S001']";

    String CONTINUE_BUTTON = "KUL004_S001_B001";
    String EDIT_PERSON_BUTTON = "KUL004_S001_B002";
    String BACK_BUTTON = "KUL004_S001_B003";
    String LOAD_BUSINESS_NAME = "KUL004_S001_B011";
    String SAVE_CHANGE_REVENUE_SHARE_BUTTON = "KUL004_S001_B005";

    String STATUTORY_AUTHORITY_SELECT = "KUL004_S001_C006";
    String BUSINESS_FOR_CERTAIN_TIME_SELECT = "KUL004_S001_C008";

    String FIRST_ECONOMIC_ACTIVITY_RADIO = "KUL004_S001_G001-0";

    String BASE_BUSINESS_CAPITAL_INPUT = "KUL004_S001_E008";
    String REVENUE_SHARE_INPUT = "KUL004_S001_E011";
    String NUMBER_OF_PERSONS_ACT_COMPANY_INPUT = "KUL004_S001_E013";
    String ECONOMICAL_SECTOR_INPUT_XPATH = "//*[@id='KUL004_S001_Y004_innerPanel']/div[28]/input[2]";
    String NUMBER_OF_EMPLOYEES_INPUT = "KUL004_S001_E021";

    String NO_ACTIVITY_INTERRUPTED_RADIO = "KUL004_S001_R001_0";
    String NO_FOP_UNION_RADIO = "KUL004_S001_R002_0";
    String NO_TRANSFORMATION_RADIO = "KUL004_S001_R003_0";
    String NO_TELCO_SCORING_RADIO = "KUL004_S001_R004_DISAGR";
    String YES_TELCO_SCORING_RADIO = "KUL004_S001_R004_CNST";

    @Select(BUSINESS_FOR_CERTAIN_TIME_SELECT)
    KUL004_S001_EditBusinessInfoPage selectBusinessForCertainTime(String businessForCertainTime);

    @TypeInto(NUMBER_OF_EMPLOYEES_INPUT)
    KUL004_S001_EditBusinessInfoPage fillNumberOfEmployees(String numberOfEmployees);

    @Click(value = FIRST_ECONOMIC_ACTIVITY_RADIO, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    KUL004_S001_EditBusinessInfoPage clickFirstEconomicActivityRadio();

    @TypeInto(REVENUE_SHARE_INPUT)
    @Click(value = SAVE_CHANGE_REVENUE_SHARE_BUTTON, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    KUL004_S001_EditBusinessInfoPage fillRevenueShare(String revenueShare);

    @TypeInto(BASE_BUSINESS_CAPITAL_INPUT)
    KUL004_S001_EditBusinessInfoPage fillBaseBusinessCapital(String baseBusinessCapital);

    @TypeInto(NUMBER_OF_PERSONS_ACT_COMPANY_INPUT)
    KUL004_S001_EditBusinessInfoPage fillNumberOfPersonsActCompany(String numberOfPersons);

    @Select(STATUTORY_AUTHORITY_SELECT)
    KUL004_S001_EditBusinessInfoPage selectStatutoryAuthority(String statutoryAuthority);

    @Click(NO_TELCO_SCORING_RADIO)
    KUL004_S001_EditBusinessInfoPage clickNoTelcoScoring();

    @Click(YES_TELCO_SCORING_RADIO)
    KUL004_S001_EditBusinessInfoPage clickYesTelcoScoring();

    @Click(NO_FOP_UNION_RADIO)
    KUL004_S001_EditBusinessInfoPage clickNoFopUnion();

    @Click(NO_ACTIVITY_INTERRUPTED_RADIO)
    KUL004_S001_EditBusinessInfoPage clickNoActivityInterrupted();

    @Click(NO_TRANSFORMATION_RADIO)
    KUL004_S001_EditBusinessInfoPage clickNoTransformation();

    @Click(CONTINUE_BUTTON)
    KUL004_S001_EditBusinessInfoPageTransitions clickContinue();

    @Click(EDIT_PERSON_BUTTON)
    KUL004_S001_EditBusinessInfoPageTransitions clickEdit();

    @Click(value = LOAD_BUSINESS_NAME, andWait = @Wait(value = LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    KUL004_S001_EditBusinessInfoPage clickLoadBusinessName();
}
