(function($) {
    $.Subcategories = {
        subcategory : null,
        init : function () {
            this.subcategory = $('#frmsearchForm-subcategory');
            if (!$('#frmsearchForm-category').val()) {
                this.subcategory.hide();
            }
        },
        load : function (category_id) {
            if (category_id) {
                $.get("?do=loadsubcategories", {"category_id": category_id}, function (data) {
                    $("#subcategory_container").html(data);
                });
                this.subcategory.show();
            } else {
                this.subcategory.hide();
            }
        }
    };

    $.Branches = {
        init : function () {
            if (!$('#frmsearchForm-branch').html()) {
                $('#branch_row').hide();
            }
        },
        load : function (subject_id) {
            if (subject_id) {
                $.get("?do=loadbranches", {"subject_id": subject_id}, function (data) {
                    $("#branch_container").html(data);
                    if (data.length) {
                        $('#branch_row').show();
                    } else {
                        $('#branch_row').hide();
                    }
                });
            }
        }
    };

    $.Region = {
        region : null,
        init : function () {
            this.region = $("#frmsearchForm-region");
            if (this.region.length) {
                $.get("?do=initregion", {"region_id": this.region.val()}, function (data) {
                    $("#region_container").append(data);
                });
            }
        },
        change : function (region) {
            var new_value = $(region).val();
            this.region.val(new_value);

            var id = $(region).attr('id').toString();
            var last = id.lastIndexOf('_');
            var level = parseInt(id.substr(last + 1));

            var field_level = level + 1;

            // ak ex. region s vacsim cislom tak ich najprv zrusim
            while ($("#frm-region_" + field_level).length) {
                $("#frm-region_" + field_level).remove();
                field_level = field_level + 1;
            }

            if (new_value) {
                $.get("?do=loadregions", {"region_id": region.value, "level": level}, function (data) {
                    $("#region_container").append(data);
                });
            } else {
                var higher_value = $("#frm-region_" + parseInt(level - 1)).val();
                this.region.val(higher_value);
            }
        }
    };
})(jQuery);

$(document).ready(function(){
        $.Subcategories.init();
        $.Branches.init();
        $.Region.init();
        $("input.datepicker").datepicker($.extend(
            {duration: 'fast', firstDay: 1},
            $.datepicker.regional['sk']
        ));
});

