﻿/**
 * Inicializuj kalendare
 */
$(document).ready(function() {

    /**
     * Zkontroluj zda je na strance kalendar
     */
    var isCalendar = $(".CalendarDateFrom").is("input");
    if (isCalendar) {

        /**
         * Nastav locale kalendare, default je "" pro anglictinu
         */
        if ($("#dateLocale").val() != "en") {
            $.datepicker.setDefaults($.datepicker.regional[$("#dateLocale").val()]);
        } else {
            $.datepicker.setDefaults($.datepicker.regional[""]);
        }
        
        /**
         * Inicializuj kalendar "od". Nastav jeho datum a minimalni datum na zitra
         */
        $(".CalendarDateFrom").datepicker({ minDate: "+1", showAnim: 'fadeIn' });
        var date = $(".CalendarDateFrom").datepicker('getDate');
        var dateFrom = new Date(Date.parse(date));
        dateFrom.setTime(dateFrom.getTime() + (24 * 60 * 60 * 1000));

        /**
        * Inicializuj kalendar "od". Nastav jeho datum a minimalni datum na pozitri
        */
        $(".CalendarDateTo").datepicker({ minDate: dateFrom, showAnim: 'fadeIn' });

        /**
        * Pokud nejsou nastavene cookie, nastav cookie na datumy "od" a "do"
        */
        if (!($.cookie("dateTo") && $.cookie("dateFrom"))) {
            var date = $(".CalendarDateFrom").datepicker('getDate');
            var expire = new Date();
            expire.setTime(expire.getTime() + (7 * 24 * 60 * 60 * 1000));
            date = $.datepicker.formatDate($.datepicker.ISO_8601, date);
            $.cookie("dateFrom", date, { path: '/', expires: expire });

            var date = $(".CalendarDateTo").datepicker('getDate');
            var expire = new Date();
            expire.setTime(expire.getTime() + (7 * 24 * 60 * 60 * 1000));
            date = $.datepicker.formatDate($.datepicker.ISO_8601, date);
            $.cookie("dateTo", date, { path: '/', expires: expire });
        }

        /**
        * Pri zmene "od" nastav datum "do" na "od" + 1 den, potom nastav cookie "od"
        */
        $(".CalendarDateFrom").change(function() {
            var date = $(this).datepicker('getDate');
            var dateFrom = new Date(Date.parse(date));
            var dateTo = Date.parse($(".CalendarDateTo").datepicker("getDate"));
            dateFrom.setTime(dateFrom.getTime() + (24 * 60 * 60 * 1000));
            if (date > dateTo) {
                $(".CalendarDateTo").datepicker('setDate', dateFrom);
            }
            $(".CalendarDateTo").datepicker('option', 'minDate', dateFrom);
            var expire = new Date();
            expire.setTime(expire.getTime() + (7 * 24 * 60 * 60 * 1000));
            //$(".CalendarDateTo").datepicker("option", "minDate", date);
            date = $.datepicker.formatDate($.datepicker.ISO_8601, date);
            $.cookie("dateFrom", date, { path: '/', expires: expire });
        });


        /**
        * Pri zmene "do" nastav cookie
        */
        $(".CalendarDateTo").change(function() {
            var date = $(this).datepicker('getDate');
            var expire = new Date();
            expire.setTime(expire.getTime() + (7 * 24 * 60 * 60 * 1000));
            date = $.datepicker.formatDate($.datepicker.ISO_8601, date);
            $.cookie("dateTo", date, { path: '/', expires: expire });
        });
    }
});