package cz.moneta.test.dsl.ufo.banka.pages.fon.newCif;

import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.Select;
import cz.moneta.test.harness.support.web.TypeInto;

public interface NewCifIdentificationDocuments extends CIF111_S001_NewCifDataNavigation {
    String FIRST_ID_SELECT = "CIF111_S001_C001";
    String FIRST_ID_NUMBER_INPUT = "CIF111_S001_E009";
    String FIRST_ID_VALID_TO_INPUT = "CIF111_S001_E017";
    String CONTROL_NUMBER_INPUT = "CIF111_S001_E061";
    String FIRST_AUTHORITIES_SELECT = "CIF111_S001_C008";

    String SECONDARY_TYPE_OF_ID_SELECT = "CIF111_S001_C019";
    String SECOND_DOCUMENT_NUMBER_INPUT = "CIF111_S001_E063";
    String SECOND_DOCUMENT_VALID_TO_INPUT = "CIF111_S001_E064";
    String SECOND_AUTHORITIES_SELECT = "CIF111_S001_C020";
    String ADD_SECOND_DOCUMENT = "CIF111_S001_L073";

    String THIRD_ID_SELECT = "CIF111_S001_C021";
    String THIRD_ID_CARD_NUMBER_INPUT = "CIF111_S001_E066";
    String THIRD_ID_CARD_VALID_TO_INPUT = "CIF111_S001_E067";
    String THIRD_AUTHORITIES_SELECT = "CIF111_S001_C022";
    String ADD_THIRD_DOCUMENT = "CIF111_S001_L066";

    @TypeInto(FIRST_ID_NUMBER_INPUT)
    NewCifIdentificationDocuments fillFirstIdNumber(String number);

    @Select(FIRST_ID_SELECT)
    NewCifIdentificationDocuments selectFirstId(String text);

    @Select(FIRST_AUTHORITIES_SELECT)
    NewCifIdentificationDocuments selectFirstIdAuthorities(String state);

    @Click(value = ADD_SECOND_DOCUMENT)
    NewCifIdentificationDocuments clickAddSecondId();

    @Click(value = ADD_THIRD_DOCUMENT)
    NewCifIdentificationDocuments clickAddThirdId();

    @Select(SECONDARY_TYPE_OF_ID_SELECT)
    NewCifIdentificationDocuments selectSecondId(String text);

    @TypeInto(FIRST_ID_VALID_TO_INPUT)
    NewCifIdentificationDocuments fillFirstIdValidity(String date);

    @TypeInto(SECOND_DOCUMENT_NUMBER_INPUT)
    NewCifIdentificationDocuments fillSecondIdNumber(String number);

    @TypeInto(SECOND_DOCUMENT_VALID_TO_INPUT)
    NewCifIdentificationDocuments fillSecondIdValidity(String date);

    @Select(SECOND_AUTHORITIES_SELECT)
    NewCifIdentificationDocuments selectSecondIdAuthorities(String state);

    @Select(THIRD_ID_SELECT)
    NewCifIdentificationDocuments selectThirdId(String text);

    @TypeInto(THIRD_ID_CARD_NUMBER_INPUT)
    NewCifIdentificationDocuments fillThirdIdNumber(String number);

    @TypeInto(THIRD_ID_CARD_VALID_TO_INPUT)
    NewCifIdentificationDocuments fillThirdIdValidity(String date);

    @Select(THIRD_AUTHORITIES_SELECT)
    NewCifIdentificationDocuments selectThirdIdAuthorities(String state);

    @TypeInto(CONTROL_NUMBER_INPUT)
    NewCifIdentificationDocuments fillControlNumber(String controlNumber);
}
