// nastaveni spravneho poctu dnu daneho mesice v roletce dnu
function updateDaySelect(type)
{
    var month_value = $('#' + type + '_month').val();
    var temp_date = new Date(parseInt(month_value.substr(0,4), 10), parseInt(month_value.substr(6,7), 10), 0);
    var month_max_day = temp_date.getDate();

    if($('#' + type + '_day option').length > month_max_day)
    {
        $('#' + type + '_day')[0].selectedIndex = Math.min( $('option:selected', '#' + type + '_day').index(), month_max_day-1 );
        $('#' + type + '_day')[0].options.length = month_max_day;
    }
    else if($('#' + type + '_day option').length < month_max_day)
    {
        for(var i = $('#' + type + '_day option').length+1; i <= month_max_day; i++) $('#' + type + '_day').append('<option value="' + i + '">' + i + '</option>');
    }
}

// po zmene datumu kalendarikem je tento datum rozsiren i do prislusnych roletek
function propagateDateFromCalendar(type, dateText)
{
    $('#' + type + '_month').val(dateText.substr(0,7));
    updateDaySelect(type);
    $('#' + type + '_day').val(parseInt(dateText.substr(8,9), 10));
}

// po zmene datumu roletkami musime tuto zmenu promitnout take do inputu odkud si ji pak muze tahat kalendarik
function propagateDateFromSelect(type)
{
    if($('#' + type + '_month').val() == '0' || $('#' + type + '_day').val() == '0') return;

    var date_regexp = new RegExp("^([0-9]{4})\-([0-9]{2})\-([0-9]{2})$");
    var date_value = $('#' + type + '_month').val() + '-' + (($('#' + type + '_day').val() < 10) ? '0' : '') + $('#' + type + '_day').val();
    
    if(date_regexp.test(date_value))
    {
        $('#' + type + '_date').datepicker('setDate', date_value);
        $('#' + type + '_date').change();
    }
}

// validni nastaveni data prijezdu pri zmene data odjezdu
function checkCorrectDates(begin, end, changed)
{
    var date_begin = new Date($('#' + begin).val());
    var date_end = new Date($('#' + end).val());
    
    if(!date_begin.getTime() || !date_end.getTime() || date_end.getTime() < date_begin.getTime())
    {
        if(changed == begin && date_begin.getTime())
        {
            $('#' + end).val($('#' + begin).val());

        }
        else if(changed == end && date_end.getTime())
        {
            $('#' + begin).val($('#' + end).val());

        }

    }
}
