function get_data() {
    var activity_types = new Array();
    var categories = new Array();
    var levels = new Array();
    var cnt;
    /* activity-type */ 
    cnt = 0;
    $(".activity-type-js input:checkbox").each(function() {
        if(this.checked) {
            activity_types[cnt] = this.value;
            cnt++;
        }
    });
    
        /* category */
        cnt = 0;
        $(".category-js input:checkbox").each(function() {
            if(this.checked) {
                categories[cnt] = this.value;
                cnt++;
            }
        });
        /* level */
        cnt = 0;
        $(".level-js input:checkbox").each(function() {
            if(this.checked) {
                levels[cnt] = this.value;
                cnt++;
            }
        });
        
            /* cycle */
            var cycle_id = $("select.cycle").val();
        
    
    /* calendar */
    var year = '';
    var month = '';
    var day = '';
    var academic_year = "";
    var calendar_type = $("input[name=calendar-type]:checked").val();
    if(calendar_type == 'month' || calendar_type == 'day') {
        year = $("#cal-selected-year").val();
        month = $("#cal-selected-month").val();
    }
    if(calendar_type == 'day') {
        day = $("#cal-selected-day").val();
    }
    if(calendar_type == 'year') {
        academic_year = $("#academic-year-filter").val();
    }
    /* ajax call */
    $.get("/cosmocaixa-barcelona/cerca/", {ajax: "", activity_types: activity_types, categories: categories, levels: levels, cycle: cycle_id, year: year, month: month, day: day, academic_year: academic_year, calendar_type: calendar_type } , function(data) {
        $("#two-cols > tbody > tr > td.col-left").html(data);
    });
}

function get_data_from_calendar(day) {
    $("input[name=calendar-type][value=day]").attr('checked', true);
    if(day == undefined) {
        clicked_day = parseInt(this.innerHTML.replace(' ', '').replace('\n', ''));
    } else {
        clicked_day = day;
    }
    if(
        $("#cal-selected-year").val() == $("#cal-year").val()
        &&
        $("#cal-selected-month").val() == $("#cal-month").val()
        &&
        $("#cal-selected-day").val() == clicked_day
    ) {
        /* unselected */
        $("#cal-selected-year").val("");
        $("#cal-selected-month").val("");
        $("#cal-selected-day").val("");
        $("#cal td.cal-day" + clicked_day).css({'background-color': '#767568'});
    } else {
        /* selected */
        if($("#cal-selected-day").val() != "None") {
            $("#cal td.cal-day" + $("#cal-selected-day").val()).css({'background-color': '#767568'});
        }
        $("#cal-selected-year").val($("#cal-year").val());
        $("#cal-selected-month").val($("#cal-month").val());
        $("#cal-selected-day").val(clicked_day);
        $("#cal td.cal-day" + clicked_day).css({'background-color': '#'});
    }
    get_data();
    if(day == undefined) {
        return false;
    }
}

function calendar_up() {
    return get_calendar(1);
}
function calendar_down() {
    return get_calendar(-1)
}
function get_calendar(inc) {
    var year = $("#cal-year").val()
    var month = $("#cal-month").val()
    $.get("/cosmocaixa-barcelona/calendar/", { year: year, month: month, inc: inc } , function(data) {
        $("#cal").html(data);
        $("#cal-title").html($("#cal-title-src").val());
        if(
            $("#cal-selected-year").val() == $("#cal-year").val()
            &&
            $("#cal-selected-month").val() == $("#cal-month").val()
        ) {
            $("#cal td.cal-day" + $("#cal-selected-day").val()).css({'background-color': '#9b9928'});
        }
        $("#cal-selected-year").val($("#cal-year").val());
        $("#cal-selected-month").val($("#cal-month").val());
        get_data();
    });
    return false;
}
function calendar_buttons() {
    if($("#cal-selected-day").val() != "None") {
        $("#cal td.cal-day" + $("#cal-selected-day").val()).css({'background-color': '#9b9928'});
    }
    if(this.value == "year") {
        $("#calendar-header").hide();
        $("#cal").hide();
    } else if(this.value == "month") {
        $("#calendar-header").show();
        $("#cal").hide();
    } else if(this.value == "day") {
        $("#calendar-header").show();
        $("#cal").show();
    }
    get_data();
}

function academic_year_changed() {
    $("input[name=calendar-type]")[1].checked = true;
    $("#calendar-header").hide();
    $("#cal").hide();
    get_data();
}

$(document).ready(function() {
    
        $(".category-js input:checkbox").click(get_data);
        $(".level-js input:checkbox").click(get_data);
        
            $("select.cycle").change(get_data);
        
    
    $(".activity-type-js input:checkbox").click(get_data);
    /* $("#cal a.cal-day").click(get_data_from_calendar); event added to the element */
    $("#cal-left").click(calendar_down);
    $("#cal-right").click(calendar_up);
    $("input[name=calendar-type]").click(calendar_buttons);
    $("#academic-year-filter").change(academic_year_changed);
});
