$(document).ready(function()
{
        var radio_btns = $("#event-submit input:radio");

        radio_btns.each(function() {
                if ($(this).attr("checked")) {
                        adjust_event_date_components($(this).val());
                }
        });
        radio_btns.click(function() {
                adjust_event_date_components($(this).val());
        });
});

function show_event_type_description(dom_id)
{
        $("li.et").each(function() { $(this).css({ display:'none' }); });
        $("li." + dom_id).css({ display:'block' }).fadeOut("fast").fadeIn("fast");
}

function adjust_event_date_components(event_type)
{
        var single_day   = '.event-end-date   label, #EventEndDateMonth, #EventEndDateDay, #EventEndDateYear';
        var multiple_day = '.event-start-date label, #EventEndDateMonth, #EventEndDateDay, #EventEndDateYear, #EventStartDateDay';
        var monthly      = '.event-end-date   label, #EventEndDateMonth, #EventEndDateDay, #EventEndDateYear';
        var all_controls = single_day + ', ' + multiple_day + ', ' + monthly;
        var blacklist    = '';

        var enabled_bg   = '#ffffff'; // '#e9e9e9';
        var disabled_bg  = '#efefef';

        // reset all controls
        $(all_controls).attr('disabled', false).css({ background:enabled_bg }).fadeTo("fast", 1);
        $('.event-start-date label, .event-end-date label').css({ background:'#e9e9e9' });
        
        $('#date-pick-start, #date-pick-end').css({ display:'block' });

        switch(event_type) {
                case '1':
                        blacklist = single_day;
                        $('#date-pick-end').css({ display:'none' });
                        break;
                case '2':
                        blacklist = '';
                        break;
                case '3':
                        blacklist = monthly;
                        $('#date-pick-end').css({ display:'none' });
                        $('#EventStartDateDay option').each(function() {
                                // set the day to 1st of a month
                                // console.log( $(this).val() );
                                ($(this).val() == '01') ? $(this).attr("selected", false) : $(this).removeAttr("selected");
                        });
                        $('#EventStartDateDay').css({ background:disabled_bg }).fadeTo("fast", .33);
                        break;
        }
        // show event type description of initially chosen event type
        show_event_type_description($('.EventEventType' + event_type).attr("class").split(" ")[1]);
        
        if (blacklist != '') {
                $(blacklist).attr('disabled', true).css({ background:disabled_bg }).fadeTo("fast", .33);
        }
}