$(function() {

    InitializeObjectType($(".m28-3 select[name$='ddlObjectType']").val());
    InitializeConstructionPeriod("initialize");

    // general type selection
    $(".m28-3 select[name$='ddlObjectType']").change(function() {
        InitializeObjectType($(this).val());
    });

    // period selection checkboxes control
    $(".m28-3 select[name$='ConstructionPeriod']").change(function() {    
        if ($(this).val() == '2') {
            $(this).parents('.block').find('.period-selection').slideDown();
        } else {
            $(this).parents('.block').find('.period-selection').slideUp();
        }
    });

    // select all subtype checkboxes
    $('.m28-3 .block a.select-all').click(function() {
        $(this).parents('.block').find('input:checkbox').not('.block .period-selection input:checkbox')
			.attr('checked', true).closest('span').addClass('checked');
    });

    // unselect all subtype checkboxes
    $('.m28-3 .block a.select-none').click(function() {
        $(this).parents('.block').find('input:checkbox').not('.block .period-selection input:checkbox')
			.attr('checked', false).closest('span').removeClass('checked');
    });

    // bring up M28.3.1
    $('.m28-3 .block-1 a.call-dialog').click(function() {
        HouseHelpController.Start();
        popupItem('wpM28_3_1HelpContainer');
    });

});

function InitializeObjectType(typeId) {
    switch (typeId) {
        case '1':
            $('.m28-3 .block-1, .m28-3 .block-2, .m28-3 .block-3, .m28-3 .block-4,').hide();
            break;
        case '2':
            $('.m28-3 .block-1').show();
            $('.m28-3 .block-2, .m28-3 .block-3, .m28-3 .block-4').hide();
            InitializeConstructionPeriod("house");
            break;
        case '3':
            $('.m28-3 .block-2').show();
            $('.m28-3 .block-1, .m28-3 .block-3, .m28-3 .block-4').hide();
            InitializeConstructionPeriod("appartment");
            break;
        case '4':
            $('.m28-3 .block-3').show();
            $('.m28-3 .block-1, .m28-3 .block-2, .m28-3 .block-4').hide();
            break;
        case '5':
            $('.m28-3 .block-4').show();
            $('.m28-3 .block-1, .m28-3 .block-2, .m28-3 .block-3').hide();
            InitializeConstructionPeriod("site");
            break;
        case '6':
    }
}

function InitializeConstructionPeriod(section) {
    if (section == "initialize") {
        objectType = $(".m28-3 select[name$='ddlObjectType']").val();
        if (objectType = "2") {
            section = "house";
        }
        else if (objectType = "3") {
            section = "appartment";
        }
        else if (objectType = "5") {
            section = "site";
        }
    }
    
    if (section == "house") {
        periodId = $(".m28-3 input[name$='hndHouseConstructionPeriod']").val();
        $(".m28-3 .block-1 select[name$='ConstructionPeriod']").val(periodId);
        $(".m28-3 .block-1 select[name$='ConstructionPeriod']").parents('.custom-select').find('span').text($(".m28-3 .block-1 select[name$='ConstructionPeriod'] :selected").text());
        if (periodId == '2') {
            $(".m28-3 .block-1 select[name$='ConstructionPeriod']").parents('.block').find('.period-selection').slideDown();
        } else {
            $(".m28-3 .block-1 select[name$='ConstructionPeriod']").parents('.block').find('.period-selection').slideUp();
        }
    }
    else if (section == "appartment") {
        periodId = $(".m28-3 input[name$='hndApartmentConstructionPeriod']").val();
        $(".m28-3 .block-2 select[name$='ConstructionPeriod']").val(periodId);
        $(".m28-3 .block-2 select[name$='ConstructionPeriod']").parents('.custom-select').find('span').text($(".m28-3 .block-2 select[name$='ConstructionPeriod'] :selected").text());
        if (periodId == '2') {
            $(".m28-3 .block-2 select[name$='ConstructionPeriod']").parents('.block').find('.period-selection').slideDown();
        } else {
            $(".m28-3 .block-2 select[name$='ConstructionPeriod']").parents('.block').find('.period-selection').slideUp();
        }
    }
    else if (section == "site") {
        periodId = $(".m28-3 input[name$='hndConstructionSite']").val();
        $(".m28-3 .block-4 select[name$='ConstructionSite']").val(periodId);
        $(".m28-3 .block-4 select[name$='ConstructionSite']").parents('.custom-select').find('span').text($(".m28-3 .block-4 select[name$='ConstructionSite'] :selected").text());
    }
}