var $ = jQuery;
$(function() {
    var INPUT_BORDER_COLOR = "#d7d7d7";
    var jSubjectSelect = $("select.SelectSubject");
    var jSubjectInput = $("input.InputSubject ");
    var jGradeSelect = $("select.SelectGrade");
    var jExamTypeRadio = $("input.ExamType");
    // var jCompoundSelect = $("select.SelectCompound");

    // Изменения базовых параметров дисциплины
    $(".AddDiscipline").click(function()
    {
        var errCount = 0;
        var jThis = $(this);
       jThis.attr("disabled", true);
        var bonusRate = $(".BonusRate").prop("checked");

        var subjectID = parseInt(jSubjectSelect.val());
        if ( !isNum(subjectID) || subjectID <= 0) {
            jSubjectInput.css("border-color", "red");
            ++errCount;
        }

        var gradeID = parseInt(jGradeSelect.val());
        if ( !isNum(gradeID) || gradeID <= 0) {
            jGradeSelect.css("border-color", "red");
            ++errCount;
        }

        // var CompoundID = parseInt(jCompoundSelect.val());

        var examType = jExamTypeRadio.filter(":radio:checked").val();
        if (examType === undefined) {
            jExamTypeRadio.first().parent().parent().css("background-color", "#f2b4b4");
            ++errCount;
        }

        if (errCount === 0) {
            $.post(
                g_URLdir + "handler/discipline/create",
                {
                    "gradeID": gradeID,
                    "subjectID": subjectID,
                    "facultyID": $("select.SelectFaculty").val(),
                    "lectures": $("input.InputLectureCount").val(),
                    "labs": $("input.InputLabCount").val(),
                    "practice": $("input.InputPracticeCount").val(),
                    "bonus": bonusRate,
                    "type": examType
                },
                function(data)
                {
                    var answer = $.parseJSON(data);
                    if (answer["response"]) {
                        var url = g_URLdir + "discipline/" + answer["response"].ID;
                        setTimeout("location.replace('" + url + "')", 500);
                    } else {
                        EventInspector.error("Ошибка при добавлении дисциплины");
                        jThis.removeAttr("disabled");
                    }
                }
            );
        } // errCount === 0 
        else {
            jThis.removeAttr("disabled");
            EventInspector.error("Заполнены не все поля");
        }
    });

    jSubjectSelect.change(function() {
        if (parseInt($(this).val()) > 0)
            jSubjectInput.css("border-color", INPUT_BORDER_COLOR);
    });

    jGradeSelect.change(function() {
        if (parseInt($(this).val()) > 0) {
            jGradeSelect.css("border-color", INPUT_BORDER_COLOR);
            // jCompoundSelect.prop("disabled", false);
            // $.post(g_URLdir + "handler/discipline/getCompounds", {'gradeID' : parseInt($(this).val()) },
            //     function(data){
            //         jCompoundSelect.html(data.response);
            //     }, "json");
        } else {
            // jCompoundSelect.prop("disabled", true);
        }
    });

    jExamTypeRadio.change(function() {
        var examType = $(this).val();
        if (examType === "exam" || examType === "credit")
            $(this).parent().parent().css("background-color", "#fff");
    });
    
    // В inputs часы (практ., лекц., лаб.) писать можно только цифры
    
    $("input.InputLectureCount").keydown(function(event) {
        KeyDownOnlyNumber(event);
    });
    
    $("input.InputLabCount").keydown(function(event) {
        KeyDownOnlyNumber(event);
    });
    
    $("input.InputPracticeCount").keydown(function(event) {
        KeyDownOnlyNumber(event);
    });

});