var Modules;
(function (Modules) {
    /**
     * Class contains all functionality for the Law number 36.2.d
     * @returns
     */
    class _36_2_d {
        zusätzlichNotwendig;
        zusatzleistungenGrund;
        anbieterWechselAlt;
        anbieterWechsel;
        constructor() {
        }
        GenerateWord() {
            var template = Classes.TemplateContainer.Grund_36_2_d;
            template = template.replace("{projekt}", Modules.WordWriter.ReplaceSpecialCharacters(Classes.Decision.Projekt));
            template = template.replace("{projekt_nr}", Modules.WordWriter.ReplaceSpecialCharacters(Classes.Decision.ProjektNr));
            template = template.replace("{vob_36_2_d_1}", Modules.WordWriter.ReplaceSpecialCharacters(this.zusätzlichNotwendig));
            template = template.replace("{vob_36_2_d_2}", Modules.WordWriter.ReplaceSpecialCharacters(this.zusatzleistungenGrund));
            // TODO nötig?
            template = template.replace("{vob_36_2_d_3}", "");
            switch (+this.anbieterWechselAlt) {
                case Anbieterwechsel.WirtschaftlichTechnisch: {
                    template = template.replace("{vob_36_2_d_3_1}", Modules.WordWriter.ReplaceSpecialCharacters(this.anbieterWechsel));
                    template = template.replace("{vob_36_2_d_3_2}", "");
                    template = template.replace("{vob_36_2_d_3_3}", "");
                    break;
                }
                case Anbieterwechsel.ErheblicheSchwierigkeiten: {
                    template = template.replace("{vob_36_2_d_3_1}", "");
                    template = template.replace("{vob_36_2_d_3_2}", Modules.WordWriter.ReplaceSpecialCharacters(this.anbieterWechsel));
                    template = template.replace("{vob_36_2_d_3_3}", "");
                    break;
                }
                case Anbieterwechsel.Kostensteigerung: {
                    template = template.replace("{vob_36_2_d_3_1}", "");
                    template = template.replace("{vob_36_2_d_3_2}", "");
                    template = template.replace("{vob_36_2_d_3_3}", Modules.WordWriter.ReplaceSpecialCharacters(this.anbieterWechsel));
                    break;
                }
                default: {
                    break;
                }
            }
            return template;
        }
        CheckFields() {
            var allValid = false;
            // first fill all fields
            this.zusätzlichNotwendig = $("#zusatzleistungen-notwendig").val();
            this.zusatzleistungenGrund = $("#zusatzleistungen-nötig-grund").val();
            this.anbieterWechselAlt = $("#anbieter-wechsel-36-alt").val();
            this.anbieterWechsel = $("#anbieter-wechsel-36").val();
            if (this.zusätzlichNotwendig && this.zusatzleistungenGrund && +this.anbieterWechselAlt > 0 && this.anbieterWechsel) {
                allValid = true;
            }
            return allValid;
        }
        /**
         * Resets all fields of the reason 36_2_d
         */
        ResetGrund() {
            $("#zusatzleistungen-notwendig").val("");
            $("#zusatzleistungen-nötig-grund").val("");
            $("#anbieter-wechsel-36-alt:nth-child(0)").prop("selected", true);
            $("#anbieter-wechsel-36").val("");
        }
    }
    Modules._36_2_d = _36_2_d;
})(Modules || (Modules = {}));
//# sourceMappingURL=_36_2_d.js.map