var isBookingnumberRequired = false;

function showBusyMessage() {
    $('#submitButton').css('display', 'none');
    $('#busyMessage').css('display', 'block');
}

$(document).ready(function () {

    var container = $('#ciFormValidateMSG');


    $.validator.addMethod("dateGER", function(value, element) {
        var flight_date = jQuery.trim(value);
        var default_val = $("#" + element.id).attr("title");
        if (flight_date === "" || flight_date === default_val) {
          return true;
        }
        function isValidDate(dateStr, format) {
            if (format == null) {
                format = "DMY";
            }
            format = format.toUpperCase();
            if (format.length != 3) {
                format = "DMY";
            }
            if ((format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1)) {
                format = "DMY";
            }
            var reg1 = /^\d{2}(\.)\d{2}\1\d{4}$/
            if (!reg1.test(dateStr)) {
                return false;
            }
            var parts = dateStr.split(RegExp.$1);
            var mm, dd, yy;
            if (format.substring(0, 1) == "M") {
                mm = parts[0];
            } else {
                mm = format.substring(1, 2) == "M" ? parts[1] : parts[2];
            }
            if (format.substring(0, 1) == "D") {
                dd = parts[0];
            } else {
                dd = format.substring(1, 2) == "D" ? parts[1] : parts[2];
            }
            if (format.substring(0, 1) == "Y") {
                yy = parts[0];
            } else {
                yy = format.substring(1, 2) == "Y" ? parts[1] : parts[2];
            }
            /*
            if (parseFloat(yy) <= 50) {
                yy = (parseFloat(yy) + 2000).toString();
            }
            if (parseFloat(yy) <= 99) {
                yy = (parseFloat(yy) + 1900).toString();
            }
            */
            var dt = new Date(parseFloat(yy), parseFloat(mm) - 1, parseFloat(dd), 0, 0, 0, 0);
            if (parseFloat(dd) != dt.getDate()) {
                return false;
            }
            return parseFloat(mm) - 1 == dt.getMonth();
        }

        return isValidDate(flight_date, "DMY");
    });


    $('#ciFormVal').validate({
        errorContainer: container,
        errorLabelContainer: $("ul#msg", container),
        wrapper: 'li',
        meta: "validate",
        rules: {
            veranstalter: {
                required: function() {
                    var checkOption = $("#veranstalter option:selected");
                    if (checkOption.attr("value") != "OTHER") {
                        var valOne = $("#buchungsnummer").attr("value");
                        var valTwo = $("#buchungsnummer").attr("title");
                        if (valOne == valTwo) {
                            buchungsnummer: "required"
                        }
                    }
                }
            }
        },
        submitHandler: function(form) {
          showBusyMessage();
            form.submit();
        }
    });

    $('.retrieveInput').each(function() {
        var defVal = $(this).attr("title");
        if (this.value == '') {
            this.value = defVal;
        }
        $(this).focus(function() {
            if (this.value == defVal) {
                this.value = '';
            }
            $(this).addClass("retrieveInput_ac");
        });
        $(this).blur(function() {
            if (this.value == '') {
                this.value = defVal;
                $(this).removeClass("retrieveInput_ac");
            }
            else {
                $(this).addClass("retrieveInput_ac");
            }

        });
    });

    $(".ciInfoIcon").mouseover(function () {
        var ele = $(this).parent().parent().next();
        $(ele).removeClass("hide");
    });
    $(".ciInfoIcon").mouseout(function () {
        var ele = $(this).parent().parent().next();
        $(ele).addClass("hide");
    });

    $("input[name='hotel']").click(function() {
        var checkThis = $("input[name='hotel']:checked").val();
        if (checkThis == 'ja') {
            $('#hotelcheck').attr('checked', 'checked');
            $('#anredePerson2').find('option').eq(0).text('Anrede*');
            $('#namePerson2').attr('value', 'Nachname*');
            $('#vornamePerson2').attr('value', 'Vorname*');
        }
        if (checkThis == 'nein') {
            $('#anredePerson2').removeClass('error');
            $('#anredePerson2').find('option').eq(0).text('Anrede');
            $('#vornamePerson2').removeClass('error');
            $('#namePerson2').removeClass('error');
            $('#hotelcheck').removeAttr('checked');
            $('#namePerson2').attr('value', 'Nachname');
            $('#vornamePerson2').attr('value', 'Vorname');
        }
    });
    $("input:radio").click(function () {
        var getID = $(this).attr("name");
        $("input:radio[name=" + getID + "]").each(function() {
            var getLabels = $("label[id^='" + getID + "']");
            var getColor = $(getLabels).css("color");
            if (getColor == "red") {
                $(getLabels).css("color", "#0451a1");
            }
        });
    });


    $('#veranstalter').change(function() {
        var checkOption = $("#veranstalter option:selected");
        var isBookingnumberRequired = checkOption.attr("value") != "OTHER";
        var formType = $("input[name='kf_formtype']").val();
        if (formType === "SONDERSERVICES" || formType === "OCI") {
            isBookingnumberRequired = true;
        }

        if (isBookingnumberRequired) {
            $("#buchungsnummer").attr('value', 'Buchungsnummer*');
        } else {
            $('#buchungsnummer').attr('value', 'Buchungsnummer');
            $('#buchungsnummer').removeClass('error');
            $('label[for=buchungsnummer]').parent().attr('style', 'list-item');

        }
    });

    $('#veranstalter').trigger("change");


    $("input:checkbox").click(function () {
        var getID = $(this).attr("name");
        $("input:checkbox[name=" + getID + "]").each(function() {
            var getLabels = $("label[id^='" + getID + "']");
            var getLinks = $("a[id^='" + getID + "']");
            var getColor = $(getLabels).css("color");
            var getColorLink = $(getLinks).css("color");
            if (getColor == "red") {
                $(getLabels).css("color", "#0451a1");
            }
            if (getColorLink == "red") {
                $(getLinks).css("color", "#0451a1");
            }

        });
    });

});

