var Modules;
(function (Modules) {
    /**
     * Class contains all functionality for the Law number 13.1.c
     * @returns
     */
    class _21_2_c {
        welcheAnbieterinnen;
        weshalbEinzigeAnbieterin;
        warumKeineAlternative;
        simapBegruendung;
        /**
         * Generates the word file for the gesetzestext
         */
        GenerateWord() {
            var template = Classes.TemplateContainer.Grund_21_2_c;
            template = template.replace("{projekt}", Modules.WordWriter.ReplaceSpecialCharacters(Classes.Decision.Projekt));
            template = template.replace("{projekt_nr}", Modules.WordWriter.ReplaceSpecialCharacters(Classes.Decision.ProjektNr));
            template = template.replace("{bob_21_2_c_1}", Modules.WordWriter.ReplaceSpecialCharacters(this.welcheAnbieterinnen));
            template = template.replace("{bob_21_2_c_2}", Modules.WordWriter.ReplaceSpecialCharacters(this.weshalbEinzigeAnbieterin));
            template = template.replace("{bob_21_2_c_3}", Modules.WordWriter.ReplaceSpecialCharacters(this.warumKeineAlternative));
            if (Classes.Decision.SIMAPPublikation() === true) {
                var simapBegruendung = Classes.TemplateContainer.SimapBegruendungTemplate;
                simapBegruendung = simapBegruendung.replace("{bob_21_2_c_simap_begruendung}", Modules.WordWriter.ReplaceSpecialCharacters(this.simapBegruendung));
                template = template.replace(/<!--bob_21_2_c_simap-->/g, simapBegruendung);
            }
            return template;
        }
        /**
         * Checks all fields if they are filled
         * @returns
         */
        CheckFields() {
            var allValid = false;
            // first fill all fields
            this.welcheAnbieterinnen = $("#welche-anbieterinnen").val();
            this.weshalbEinzigeAnbieterin = $("#weshalb-einzige-anbieterin").val();
            this.warumKeineAlternative = $("#warum-keine-alternative").val();
            //this.simapBegruendung = $("#simap-begruendung").val().replace(/(?:\r\n|\r|\n)/g, "<w:br/>");
            this.simapBegruendung = $("#simap-begruendung").val();
            if (Classes.Decision.SIMAPPublikation() === true && (this.welcheAnbieterinnen && this.weshalbEinzigeAnbieterin && this.warumKeineAlternative && this.simapBegruendung)) {
                allValid = true;
            }
            else if (Classes.Decision.SIMAPPublikation() === false && (this.welcheAnbieterinnen && this.weshalbEinzigeAnbieterin && this.warumKeineAlternative)) {
                allValid = true;
            }
            return allValid;
        }
        /**
         * Resets all the fields of the reason 13_1_c
         */
        ResetGrund() {
            $("welche-anbieterinnen").val("");
            $("#weshalb-einzige-anbieterin").val("");
            $("#warum-keine-alternative").val("");
            $("#simap-begruendung").val("");
        }
    }
    Modules._21_2_c = _21_2_c;
})(Modules || (Modules = {}));
//# sourceMappingURL=_21_2_c.js.map