var calMonths = new Array();
var minValues = new Array();
    minValues[0] = null;
    minValues[1] = null;

$(function () {
    $('#fareOfferDetailsRow').hide();
    
    $('#show_form').click(function () {
        $('#form_block0').hide();
        $('#form_block1').show();
        $('#form_block2').show();
    });
    
    $('#fareOfferDetailsLink').click(function () {
        $('#fareOfferDetailsRow').toggle();
    });
    
    $('#help_button').click(function () {
        showOverlay();
        $('#helper').show();
    });
    $('#close_helper').click(function () {
        $('#searcher_overlay').hide();
        $('#helper').hide();
    });

    $('#calendarForm').submit(function () {
        var odchodChecked = false;
        var navratChecked = false;
        var odchod;
        var navrat;
        var isNavrat = false; 
        $('.calendarDateSelect').each(function () {
            if($(this).attr('name')=='calendarDate_2') {
                isNavrat = true;
                if($(this)[0].checked){
                    navrat = $(this).val().split('-');
                    navratChecked = true;
                }
            }
            else if($(this).attr('name')=='calendarDate_1') {
                if($(this)[0].checked){
                    odchod = $(this).val().split('-');
                    odchodChecked = true;
                }
            }
        });
        
        pocet = parseInt($('#ADT').val()) + parseInt($('#YTH').val()) + parseInt($('#CHD').val()) + parseInt($('#YCD').val()) + parseInt($('#INF').val());
        if(pocet > 9){
            alert('Bohužiaľ v jednej rezervácii môžete rezervovať maximílne 9 osôb. Opravte počet osôb a zvyšné osoby rezervujte v inej rezervácii');
            return false;
        }
        if(!odchodChecked){
            alert('Nevybrali ste si žiaden dátum odchodu. Odkliknite vyhovujúci dátum');
            return false;
        }
        if(isNavrat && !navratChecked){
            alert('Nevybrali ste si žiaden dátum návratu. Odkliknite vyhovujúci dátum');
            return false;
        }
        var navratComplete = navrat[0]+navrat[1]+navrat[2];
        var odchodComplete = odchod[0]+odchod[1]+odchod[2];
        
        var dlzkaDni = navratComplete - odchodComplete;
        if(dlzkaDni < 0){
            alert('Zvolili ste si dátum návratu pred dátumom odchodu. Vyberte správny dátum odchodu a návratu');
            return false;
        }
        showProgress();
        return true;
    });
    
    $(':button.switchDirection').click(function(){
        var ajaxData = {};
        ajaxData['offer'] = $(this).attr('rel').split('|')[1];
        ajaxData['direction'] = $(this).attr('rel').split('|')[0];
        $.ajax({
            url: Router('specialne-akcie/ajax-special-ryanair-calendar'),
            data: ajaxData,
            type: 'post',
            success: function(res) {
                $('#calendarBlock').html(res);
                $(':button.switchDirection').toggle();
                bindCalendarFunctions();
            }
        })
    });
    bindCalendarFunctions();
});

function bindCalendarFunctions() {
    $('table.calendar td div').click(function () {
        radio = $('input[@type = "radio"].calendarDateSelect',this);
        if (radio.is(':disabled')) {
            return false;   
        }
        if (radio.length) {
            radio[0].checked = true;
            calendarOnSelectDate(radio[0]);
        }
    });
    $('table.calendar input[@type = "radio"].calendarDateSelect').click(function () {
        if (this.checked) {
            calendarOnSelectDate(this);
        }
    });
    $('img.status_1').click(function () {
        window.location.reload( false );
    });
    lowestDayDate1 = $("div.daySelectMin:has(input[name='calendarDate_1']):first").attr('id');
    $("div.daySelectMin:has(input[name='calendarDate_1']):first").click();
    if ($("div.daySelectMin:has(input[name='calendarDate_2']):first").attr('id') < lowestDayDate1) {
        $("input[name='calendarDate_2'][value='"+lowestDayDate1+"']").parents('div').click();
    } else {
        $("div.daySelectMin:has(input[name='calendarDate_2']):first").click();
    };
    
}

function calendarOnSelectDate(radio) {
    $radio = $(radio);
    if ($radio.is(':disabled')) {
        return false;
    }
    //zrusime selected class na ostatne
    $('td div',$radio.parents('div.sectorCalendars').eq(0)).each(function () {
        $(this).removeClass('selected');
    });
    
    //pridame selected class na vybrate
    $radio.parents('div').eq(0).addClass('selected');
}

